3

Sweaveレポートから作成されたすべてのgraphics.pdfで、シェルスクリプトベースのpdfcropを使用したいと思います。したがって、すべてのグラフィックが.aux .logファイル(など)のようなすべてのラテックスのものが配置されている場所にドロップされるのではなく、サブフォルダーに保存されていると便利です。特定のディレクトリ内のすべてのファイルでcropスクリプトを使用する必要がある場合は、はるかに簡単です。

これが私のSweaveチャンクです:

\begin{figure}[htbp]
  \begin{center}
  <<fig=true,echo=false>>=
  print(mygraph)
  @
\caption{my graph}
\end{center}
\end{figure}

スウィーブコードを実行すると、mygraph.pdfはreport.texファイル自体と同じディレクトリに保存されます。

このファイルを/graphicsのような既存のサブフォルダーに保存する方法はありますか?

4

2 に答える 2

9

これを挿入します:

\SweaveOpts{prefix.string=foo/bar}

Sweave ソース ファイルに、できればプリアンブルの一番上に追加します。上記の行は Sweave FAQ から取得したもので、作成された図が (Sweave ソースがあるディレクトリの) サブディレクトリに保存され、foo各画像ファイル名が で始まることを示していbarます。これと、さらに多くのことがSweave FAQ で議論されています。

于 2011-01-12T22:29:27.580 に答える
6

オーケー、RTFM、ラン 2。

方法は次のとおりです。

 \SweaveOpts{prefix.string=graphics/report} 

参照:マニュアル.

graphics はディレクトリであり、report は使用したい部分文字列です。少なくとも、あなたはグーグルでSOをより良く見つけるでしょう:)

編集:

完全を期すために、ここに数行のシェル スクリプトを追加します。

#!/bin/sh
R CMD Sweave report.Rnw   
for file in `ls graphics`;
do pdfcrop "$file" graphics/"$file"
done
pdflatex report.tex
open report.pdf

ディレクトリ引数として $1 を使いたいと思う人もいるでしょう。

于 2011-01-12T22:28:58.280 に答える