Mac で Sweave
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
SIZE(20){COLOR(blue){Mac で Sweave --- Mac OS X El Capita...
SIZE(18){COLOR(blue){UpTeX を使うのであれば,TeXLive は不...
OS のクリーンインストールでない場合,うまくいかない(こと...
* 0. R のインストール [#f5c3679f]
R の出力を表組みにするためには xtable パッケージをインス...
// * 1. MacTeX のインストール [#be080a3f]
// http://d.hatena.ne.jp/pyopyopyo/20150710/p1 に従う
// けちくさいことをいわずに、MacTeX をインストール。
// http://www.tug.org/mactex/mactex-download.html で、Mac...
// ダブルクリックでインストール(途中 パスワードを聞かれ...
// 「ターミナル」を起動し、tlmgr 自身とインストール済みパ...
// まずは tlmgr 自身を更新(プロンプトの後に以下をコピー...
// sudo tlmgr update --self
// 次に導入済みパッケージの更新(プロンプトの後に以下をコ...
// sudo tlmgr update --all
* 1. UpTeX のインストール [#z1939e5f]
http://www2.kumagaku.ac.jp/teacher/herogw/index.html から...
ダブルクリッックしてできる UpTeX.app を「アプリケーション...
同梱されている説明書を読み,環境設定。
一番最初に UpTeX.app を起動するには,control+クリック(右...
UpTeX.app の「環境設定」メニューを選び,dvipdfmx のフォン...
texbin のパスをクリップボードにコピーしておいて,次の TeX...
* 2. TeXShop のインストール [#u675fd21]
http://pages.uoregon.edu/koch/texshop/obtaining.html から...
ダブルクリッックしてできる TeXShop.app を「アプリケーショ...
TeXShop を起動して「環境設定」
「書類」タブの「設定プロファイル」で「upTeX(ptex2pdf)」に...
(「書類」タブの[エンコーディング」が「Unicode(UTF-8)」...
「内部設定」タブでは,texbin のパス設定は,UpTeX を使うな...
/Applications/UpTeX.app/Contents/Resources/TEX/texbin
(前述の UpTeX の環境設定ウインドウでコピーした texbin の...
LaTeX の設定は,UpTeX を使うなら,
ptex2pdf -u -l -ot "-synctex=1 -file-line-error"
(Sweave では,synctex と file-line-error は猫に小判かも)
TeXShop の環境設定を変更したら,その設定で TeXShop を使い...
* 3. スタイルファイルなど [#webd7039]
ファインダーの option+「移動」メニューで「ライブラリ」デ...
システムのライブラリではなく,
Macintosh HD-->ユーザ-->hoge-->ライブラリ-->texmf-->tex-...
置いた後には必ず sudo mktexlsr の実行を忘れないこと。
なお,*.Rnw,*.tex ファイルは utf-8 エンコーディングとす...
* 4. ソースファイルは *.Rnw,*.tex [#u23b093e]
もっぱら *.Rnw を使うなら,TeXShop の環境設定の[タイプセ...
ソースファイルの encoding は utf-8 。
dvipdfmx,uplatex の使用は document class で指定する。
\documentclass[dvipdfmx,uplatex] {jsarticle}
* 5. タイプセットの方法 [#fdef66a2]
** 5.1. TeXShop からの場合 [#q38c031b]
Rscript で書いた TeXShop の Engine の例
以下の内容のファイル Sweave.engine を,ファインダーの opt...
Macintosh HD-->ユーザ-->hoge-->ライブラリ-->TeXShop-->En...
アクセスモードは chmod 777 Sweave.engine で,実行可能に設...
書類の種類を選択するボタン(通常は LaTeX などになっている...
ファイルを分割して main.Rnw から \SweaveInput{foo.Rnw} で...
% ! TEX root = main.Rnw
と書いておくと,エディタで foo.Rnw を編集中でも,foo.Rnw ...
&ref(Sweave.engine);
#!/usr/local/bin/Rscript --vanilla
ms <- function(file, silent = TRUE, ...) {
if (grepl("\\.", file) == FALSE) {
file <- paste(file, "Rnw", sep = ".")
}
Sys.setlocale(locale = "ja_JP.UTF-8")
Sweave(file, encoding = "utf-8")
base <- sub(".(R|S)nw", "", file)
file <- paste(base, ".tex", sep = "")
dir <- "/Applications/UpTeX.app/Contents/Resources/TEX/...
cmd <- sprintf("%s/ptex2pdf -u -l -s %s%s", dir, file, ...
repeat {
system(cmd)
con <- file(sub(".tex", ".log", file), open = "r", enc...
log <- readLines(con)
close(con)
no.error <- TRUE
if (sum(grepl("Emergency stop", log)) > 0) {
no.error <- FALSE
break
}
if (sum(grepl("Rerun to get", log)) == 0)
break
}
if (no.error) {
system(sprintf("%s/dvipdfmx -V 5 %s", dir, sub(".tex",...
}
}
# 以下の xfigure 関数は,src パラメータで渡された描画プ...
xfigure <- function(src, caption = "caption", fn, label ...
base = "figure", size = 320, width = size * 6/320, heigh...
mgp = c(1.8, 0.6, 0), mar = c(3, 3, 1, 1), rev = -3, htb...
height <- width * height
pdf(sprintf("%s/%s.pdf", base, fn), width = width, heigh...
par(mgp = mgp, mar = mar)
parsed <- parse(text = src)
results <- eval(parsed)
dev.off()
header <- sprintf("\\begin{figure}[%s]\n\t\\centering",
htbp)
trailer <- sprintf("\t\\vspace{%smm}\\caption{%s}\n\t\\l...
rev, caption, label)
cat(sprintf("%s\n\t\\includegraphics[bb=0 0 %sin %sin, c...
header, width, height, size, base, fn, trailer), fill =...
invisible(results)
}
grDevices::pdf.options(family="Japan1")
arg <- commandArgs()
ms(arg[7])
warn <- warnings()
if (length(warn)) head(warn, 2)
** 5.2. コマンドラインからの例 [#jdeeff62]
foo ディレクトリに foo.Rnw があるとき,最終的に foo.pdf ...
$ cd /foo
$ Rscript --vanilla -e "Sweave('foo.Rnw', encoding='utf-...
$ ptex2pdf -u -l -ot "-synctex=1 -file-line-error" foo.tex
** 5.3. シェルスクリプトの例 [#qd3933a5]
#!/bin/sh
# make Sweave
#
Rscript --vanilla -e "Sweave('$1.Rnw', encoding='utf-8')"
/uptex/UpTeX.app/Contents/Resources/texbin/ptex2pdf -u -...
終了行:
SIZE(20){COLOR(blue){Mac で Sweave --- Mac OS X El Capita...
SIZE(18){COLOR(blue){UpTeX を使うのであれば,TeXLive は不...
OS のクリーンインストールでない場合,うまくいかない(こと...
* 0. R のインストール [#f5c3679f]
R の出力を表組みにするためには xtable パッケージをインス...
// * 1. MacTeX のインストール [#be080a3f]
// http://d.hatena.ne.jp/pyopyopyo/20150710/p1 に従う
// けちくさいことをいわずに、MacTeX をインストール。
// http://www.tug.org/mactex/mactex-download.html で、Mac...
// ダブルクリックでインストール(途中 パスワードを聞かれ...
// 「ターミナル」を起動し、tlmgr 自身とインストール済みパ...
// まずは tlmgr 自身を更新(プロンプトの後に以下をコピー...
// sudo tlmgr update --self
// 次に導入済みパッケージの更新(プロンプトの後に以下をコ...
// sudo tlmgr update --all
* 1. UpTeX のインストール [#z1939e5f]
http://www2.kumagaku.ac.jp/teacher/herogw/index.html から...
ダブルクリッックしてできる UpTeX.app を「アプリケーション...
同梱されている説明書を読み,環境設定。
一番最初に UpTeX.app を起動するには,control+クリック(右...
UpTeX.app の「環境設定」メニューを選び,dvipdfmx のフォン...
texbin のパスをクリップボードにコピーしておいて,次の TeX...
* 2. TeXShop のインストール [#u675fd21]
http://pages.uoregon.edu/koch/texshop/obtaining.html から...
ダブルクリッックしてできる TeXShop.app を「アプリケーショ...
TeXShop を起動して「環境設定」
「書類」タブの「設定プロファイル」で「upTeX(ptex2pdf)」に...
(「書類」タブの[エンコーディング」が「Unicode(UTF-8)」...
「内部設定」タブでは,texbin のパス設定は,UpTeX を使うな...
/Applications/UpTeX.app/Contents/Resources/TEX/texbin
(前述の UpTeX の環境設定ウインドウでコピーした texbin の...
LaTeX の設定は,UpTeX を使うなら,
ptex2pdf -u -l -ot "-synctex=1 -file-line-error"
(Sweave では,synctex と file-line-error は猫に小判かも)
TeXShop の環境設定を変更したら,その設定で TeXShop を使い...
* 3. スタイルファイルなど [#webd7039]
ファインダーの option+「移動」メニューで「ライブラリ」デ...
システムのライブラリではなく,
Macintosh HD-->ユーザ-->hoge-->ライブラリ-->texmf-->tex-...
置いた後には必ず sudo mktexlsr の実行を忘れないこと。
なお,*.Rnw,*.tex ファイルは utf-8 エンコーディングとす...
* 4. ソースファイルは *.Rnw,*.tex [#u23b093e]
もっぱら *.Rnw を使うなら,TeXShop の環境設定の[タイプセ...
ソースファイルの encoding は utf-8 。
dvipdfmx,uplatex の使用は document class で指定する。
\documentclass[dvipdfmx,uplatex] {jsarticle}
* 5. タイプセットの方法 [#fdef66a2]
** 5.1. TeXShop からの場合 [#q38c031b]
Rscript で書いた TeXShop の Engine の例
以下の内容のファイル Sweave.engine を,ファインダーの opt...
Macintosh HD-->ユーザ-->hoge-->ライブラリ-->TeXShop-->En...
アクセスモードは chmod 777 Sweave.engine で,実行可能に設...
書類の種類を選択するボタン(通常は LaTeX などになっている...
ファイルを分割して main.Rnw から \SweaveInput{foo.Rnw} で...
% ! TEX root = main.Rnw
と書いておくと,エディタで foo.Rnw を編集中でも,foo.Rnw ...
&ref(Sweave.engine);
#!/usr/local/bin/Rscript --vanilla
ms <- function(file, silent = TRUE, ...) {
if (grepl("\\.", file) == FALSE) {
file <- paste(file, "Rnw", sep = ".")
}
Sys.setlocale(locale = "ja_JP.UTF-8")
Sweave(file, encoding = "utf-8")
base <- sub(".(R|S)nw", "", file)
file <- paste(base, ".tex", sep = "")
dir <- "/Applications/UpTeX.app/Contents/Resources/TEX/...
cmd <- sprintf("%s/ptex2pdf -u -l -s %s%s", dir, file, ...
repeat {
system(cmd)
con <- file(sub(".tex", ".log", file), open = "r", enc...
log <- readLines(con)
close(con)
no.error <- TRUE
if (sum(grepl("Emergency stop", log)) > 0) {
no.error <- FALSE
break
}
if (sum(grepl("Rerun to get", log)) == 0)
break
}
if (no.error) {
system(sprintf("%s/dvipdfmx -V 5 %s", dir, sub(".tex",...
}
}
# 以下の xfigure 関数は,src パラメータで渡された描画プ...
xfigure <- function(src, caption = "caption", fn, label ...
base = "figure", size = 320, width = size * 6/320, heigh...
mgp = c(1.8, 0.6, 0), mar = c(3, 3, 1, 1), rev = -3, htb...
height <- width * height
pdf(sprintf("%s/%s.pdf", base, fn), width = width, heigh...
par(mgp = mgp, mar = mar)
parsed <- parse(text = src)
results <- eval(parsed)
dev.off()
header <- sprintf("\\begin{figure}[%s]\n\t\\centering",
htbp)
trailer <- sprintf("\t\\vspace{%smm}\\caption{%s}\n\t\\l...
rev, caption, label)
cat(sprintf("%s\n\t\\includegraphics[bb=0 0 %sin %sin, c...
header, width, height, size, base, fn, trailer), fill =...
invisible(results)
}
grDevices::pdf.options(family="Japan1")
arg <- commandArgs()
ms(arg[7])
warn <- warnings()
if (length(warn)) head(warn, 2)
** 5.2. コマンドラインからの例 [#jdeeff62]
foo ディレクトリに foo.Rnw があるとき,最終的に foo.pdf ...
$ cd /foo
$ Rscript --vanilla -e "Sweave('foo.Rnw', encoding='utf-...
$ ptex2pdf -u -l -ot "-synctex=1 -file-line-error" foo.tex
** 5.3. シェルスクリプトの例 [#qd3933a5]
#!/bin/sh
# make Sweave
#
Rscript --vanilla -e "Sweave('$1.Rnw', encoding='utf-8')"
/uptex/UpTeX.app/Contents/Resources/texbin/ptex2pdf -u -...
ページ名: