マイナー・チェンジ、その手強さ

  • 以下、ぐちゃぐちゃになったので、整理して書きなおし→こちら
  • コンピュータを変え、ネットワーク環境を変えた後、てふを使うことになった、Sweaveを使うことになった
  • てふ歴ゼロのヒトと一緒にてふ文書を作るため…
  • さて、自分はさくさくできるかな?と試すと、山あり谷あり
  • そのログです
  • てふの自動インストーラは「あべのり さん版」で行こうと思ったら、インストール開始ほどなくエラーが出る…
    • よくわからないけれど、
★使用法
●インターネットに接続した状態で起動して「次へ」を押し続ければ自動的にインストールされると思います.たまに失敗しますが.
尚,FTP + Proxyの環境では現在使用出来ません.Proxyのない環境で使うかHTTPを使うかしてください.ごめんなさい.
    • ということでつまづいているようだ…(以前の環境では何の問題もなかったのに)
    • じゃあ、ということで、こちらを使うことに
    • こちらは「あべのり さん版」のネットアクセスの部分(proxy 云々)を乗り越えてくれるものらしく、ダウンロード自体に時間がかかる。でも、いったん手前に落としてしまえば、後は「イエス」を繰り返すだけ
  • 次にSweave
    • こちらは、自分のログだし、できて当然だけれども、引っ掛かる…
    • まず、styファイル2つ(Sweave.sty,ae.styが必要だった。とってきて(テキストファイルとして、Sweave.sty,ae.styという名前で保存して、Rnwファイルと同じフォルダに置く)
    • Sweave()関数のデフォルトではepsファイルとpdfファイルの両方ができるはずなのに、そうなってくれない(今はpdfだけしかできてくれない。これって、どこの改変?)
    • Sweave()のヘルプを見ると、「デフォルトではepsとpdfの両方を作るよ、その理由は、Standard LaTeXはeps対応でPDFLaTeXはPDF対応で、その違いをユーザが意識しなくてもいいように…ということだ
    • というわけでSweave()の出力が言うことを聞いてくれないので困ってしまったが、下流で対応できそうだったので、TeXworksのtexファイル変換ボタンのところでいくつかのコマンドが選べる(pdfpLaTeX,pdfpTeX,XeTeX,XeLaTeXなど)ようなので、pdfLaTeXを選んで、ひとまず、乗り越えた
    • その他のSweave()のpdf,eps問題について言えば、こちらにあるように
<<fig=TRUE>>=
    • の代わりに
<<echo=TRUE, fig=TRUE, label=Fig1, eps=true>>=
    • と書いたり
    • Rnwファイルの冒頭で
\documentclass{article}
\SweaveOpts{eps=true}
    • というのように宣言したりすれば、epsファイルも出るようだ
  • まずはSweave用ファイル"test.Rnw"
\documentclass{article}

\usepackage{ascmac}

\begin{document}

<<fig=TRUE>>=

data<-runif(100)
sort(data)
plot(sort(data))

@

\end{document}
  • これに対して、R上で
Sweave("test.Rnw")
  • できた"test.tex"ファイルが:
\documentclass{article}

\usepackage{ascmac}

\usepackage{Sweave}
\begin{document}

\begin{Schunk}
\begin{Sinput}
> data<-runif(100)
> sort(data)
\end{Sinput}
\begin{Soutput}
  [1] 0.01407999 0.02012799 0.03336980 0.03519416 0.03615373 0.03861408
  [7] 0.05814143 0.07195345 0.07906968 0.10899149 0.10942064 0.11142079
 [13] 0.11904896 0.12097583 0.12598474 0.13060627 0.13645413 0.14475108
 [19] 0.15022712 0.15027354 0.16826177 0.19888450 0.19966759 0.20843067
 [25] 0.21997876 0.22029324 0.23138678 0.23613199 0.24337903 0.24941483
 [31] 0.25656859 0.28885503 0.32115388 0.32263174 0.33154750 0.33407165
 [37] 0.34510053 0.36108980 0.36485089 0.36740645 0.36805703 0.39044980
 [43] 0.40014944 0.41716671 0.41782122 0.42126180 0.42567148 0.42668624
 [49] 0.43641701 0.44616666 0.45230996 0.46879833 0.48933194 0.49359113
 [55] 0.49868666 0.49990542 0.51413803 0.53066809 0.54835512 0.55680979
 [61] 0.56027846 0.56339037 0.58468491 0.59010688 0.60050215 0.60557046
 [67] 0.60722302 0.62476396 0.64165467 0.64785806 0.66343588 0.67058036
 [73] 0.68092256 0.68760414 0.70364337 0.71161641 0.72612321 0.77812708
 [79] 0.77959837 0.78500798 0.79229394 0.79949123 0.81591951 0.81757048
 [85] 0.83408653 0.88094880 0.88160666 0.89103685 0.89439521 0.89518839
 [91] 0.90964020 0.91305639 0.91992263 0.94909511 0.95408037 0.95434477
 [97] 0.95630920 0.95686668 0.97600649 0.98328232
\end{Soutput}
\begin{Sinput}
> plot(sort(data))
> 
\end{Sinput}
\end{Schunk}
\includegraphics{test-001}

\end{document}
  • 次いで、できている"test.tex"をTexWorksで開いて、pdfLatexでPlayボタンを押せば

  • さらに、以前は乗り越えていた「日本語フォント問題」も再燃!
\documentclass{article}

\usepackage{ascmac}

\begin{document}
山田
<<fig=TRUE>>=

data<-runif(100)
sort(data)
plot(sort(data))

@

\end{document}
    • ひとまず
Sweave("test2.Rnw",encoding="SJIS")
    • で出して、こちらを参考に、TeXWorksで文字化けしないように秀丸でUTF8保存したら、TexWorks上では見えるようになりました。
  • Sweave()にかけるファイルをSJISで作ってできたtexファイルをUTF8に変える(秀丸で)というのもありだし
  • Sweave()に書けるファイルを(秀丸で)UTF8保存して、Sweave()に書けるときにSweave("test2.Rnw",encoding="UTF8")とするのでもよい
  • が、dvioutにするときに止まる!
    • ま、英語で書けばいいんですが