10

(奇妙な)問題に遭遇しました。(pdf)LaTeX原稿をElsevierジャーナルに提出するとき、pdfの構築とチェックシステムで見つけるために図のファイル名を完全にする必要があります。

\includegraphics{picture.pdf}

Sweaveまたはknitrにそれを行うように指示する簡単で便利な方法はありますか?

編集:

  • 私はsweaveのinclude=FALSEオプションに精通しています
  • また、パッチを適用する能力も十分にあると感じていますutils:::RweaveLatexRuncode

しかし、今のところ、もっと便利でエレガントなものがあることを願っています。

また、.Rnw ファイルを補足資料またはビネットとして配布することも重要です。教訓的な観点から言えば、ソースコードをより複雑にするこれらの微調整は、新しいユーザーに読んでもらいたいと思っています。

print=TRUE(これが、Sweaveで最近導入された機能に本当に感謝している理由でもあります)

4

2 に答える 2

3

強引な解決策は、R スニペットで自分でファイルを明示的に作成することです。グラフィックスなどのオプションをfalseに設定しますが、ファイルが作成されるようにコードを評価してから、表示された呼び出しでラテックスを呼び出し\includegraphics{}ます。

単純なキャッシュに同様のスキームを使用しました。ターゲット ファイルが存在する場合は、コードの作成をスキップします。

于 2012-08-11T14:48:16.010 に答える
3

plotフックを少し変更してknitr、ファイル拡張子を追加できます。

<<>>=
knit_hooks$set(plot = function(x, options) {
  x = paste(x, collapse = '.') # x is file.ext now instead of c(file, ext)
  paste0('\\end{kframe}', hook_plot_tex(x, options), '\\begin{kframe}')
})
@

完全な例については、033-file-extension.Rnwを参照してください。バックグラウンドで何が行われているかを理解するには、 にあるデフォルトの LaTeX フックのソース コードを参照してくださいknitr

于 2012-08-12T04:35:45.760 に答える