我已尝试使用knitr和LaTeX设置图宽度:
\documentclass{paper}
\begin{document}
<<fig.width=\textwidth>>
x = runif(1000)
plot(x)
@
\end{document}
但是,我收到以下错误:
<to be read again>
>
l.54 <<fig.width=\textwidth>
>
我做错了什么?
答案 0 :(得分:8)
out.width
选项应该是数字,用于设置图形本身的大小。要控制LaTeX显示图形的方式,请使用out.height
和<<plot1, fig.width = 5, fig.height = 5, out.width = "0.48\\textwidth">>=
@
选项。这些选项需要是字符串,你需要转义反斜杠。
块
plot1-1.pdf
将生成一个5英寸乘5英寸的图形,占用最终文档中48%的文本宽度。也就是说,文件\includegraphics[width=0.48\textwidth]{figure/plot1-1}
是一个五英寸乘五英寸的图形,而LaTeX代码
{{1}}
将放在生成的.tex文件中。
答案 1 :(得分:0)
fig.width
的值必须是R在设置图形设备时可以使用的值。它不知道\ textwidth会是什么,所以这将无法工作。您需要修复一个值,通常采用以英寸为单位的大小(但对于某些设备,它可能是像素)。
\ textwidth,将图形调整为所需大小。要使其成为默认使用
\setkeys{Gin}{width=\textwidth}
在R代码块之外。 (这假设您在LaTeX中使用graphicx
包;我忘记knitr
是否自动执行此操作。)