8

サードパーティのバイナリをラップするカスタムRコードを作成しました。そのバイナリの機能の1つは、図とテキストを含むLaTeXドキュメントを作成することです。私のコードの機能の1つは、そのドキュメントを解析し、図のLaTeXコードを返すことです。

目標は、RコードをRnwドキュメントに埋め込むことです。Sweaveを実行するときに、サードパーティのバイナリを使用してドキュメントを生成し、フィギュアのLaTeXコードを抽出して、Sweaveの.tex出力にドロップするようにします。次に、その出力に対してラテックスを実行すると、サードパーティのバイナリによって生成された図が、レポートに自動的に適切にフォーマットされて表示されるはずです。

代わりに、LaTeXコードは次のように出力されます。

[1] " %\\begin{landscape}"
[1] " \\begin{center}"
[1] "\\psset{linecolor=black,tnsep=2pt,tnheight=0cm,treesep=.3cm,levelsep=40pt,radius[1] "% \\def\\psedge#1#2{\\ncangle{#2}{#1}}"
[1] "% \\pstree[treemode=R]"
[1] " \\pstree{\\Tcircle{ 1 }~[tnpos=l]{\\shortstack[r]{nwsprec\\\\$\\leq$ 1.93}}}{"

等々...

SweaveにRの出力をLaTeXコードとして扱わせる方法はありますか?

前もって感謝します。-ウェズリー

4

1 に答える 1

10

私はそれを考え出した!Sweaveコードは次のようになります。

<<echo=False, results=tex, include=True>>=
...R code goes here...
@

オプションresults=texが、Rからの出力をLaTeXコードとして解釈するようにSweaveに指示する重要な変更である場合。

また、引用符と行番号を削除するにはcat、RではなくRでコマンドを使用する必要がありましprintた。具体的には、に変更print(line)しましたcat( paste(line, "\n", sep='') )

于 2011-06-15T15:06:01.410 に答える