在knitr中,如何使用Latex中的\ textwidth设置图形宽度

时间:2017-05-29 17:13:59

标签: latex width knitr figure

我已尝试使用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>
                        >

我做错了什么?

2 个答案:

答案 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会是什么,所以这将无法工作。您需要修复一个值,通常采用以英寸为单位的大小(但对于某些设备,它可能是像素)。

LaTeX可以在排版图形时使用

\ textwidth,将图形调整为所需大小。要使其成为默认使用

\setkeys{Gin}{width=\textwidth}

在R代码块之外。 (这假设您在LaTeX中使用graphicx包;我忘记knitr是否自动执行此操作。)