0

Knitr パッケージの新しいバージョンをダウンロードしましたが、Rnw ファイルにプロットを含めようとすると、突然次のエラーが表示されます。

Error in options[[sprintf("fig.%s", i)]] * options$dpi : 
  non-numeric argument to binary operator
Calls: knit ... process_group.block -> call_block -> fix_options -> %n%

多くの実験の後、問題はコマンド fig.height にあることがわかりました。明らかに数値であるはずです。このコードは次のエラーを生成します。

\documentclass{article}

\begin{document}

<<cat, fig.cap="dog", fig.height='\\textheight'>>=
plot(c(1, 2, 3), c(2, 1, 3))
@

\end{document}

このコードは次のことを行いません。

\documentclass{article}

\begin{document}

<<cat, fig.cap="dog", fig.height=6>>=
plot(c(1, 2, 3), c(2, 1, 3))
@

\end{document}

残念ながら、この 6 の測定単位が何なのかわかりません。

このコード:

\documentclass{article}

\begin{document}

<<cat, fig.cap="dog", fig.height=6cm>>=
plot(c(1, 2, 3), c(2, 1, 3))
@

\end{document}    

別のエラーが発生します。

Error in base::parse(text = code, srcfile = NULL) : 
  1:44: unexpected symbol
1: alist( 'cat', fig.cap="dog", fig.height=6cm
                                           ^
Calls: knit ... withCallingHandlers -> eval -> parse_only -> <Anonymous>
Execution halted 

全体として、knitr が実際に fig.height の数値を期待しているように見えます。これはfig.height='\\textheight'、ドキュメント全体で既に多くのコマンドを入力しているため (まだ機能していた時代に戻って)、適度に面倒です。ラテックスに対応する数値が何であるかを本当に知っています\textheight

何かアドバイスはありますか?

更新:さらに実験を行ったところ、fig.height に入力した数値は Latex ファイルのどこにも表示されず、knitr によって生成される cat.pdf 画像の寸法に直接影響することがわかりました。fig.heightこの種のことは、完全に除外することが最善の戦略である可能性があることを示唆しています. [height=\textheight]それでも、これはtex ドキュメントでを取得する方法を教えてくれません。

4

1 に答える 1

4

out.heightの代わりにチャンク オプションを使用しますfig.height

于 2015-06-16T16:37:48.260 に答える