为整个 LaTeX 文档中的所有 R 代码块和图表设置全局选项

为整个 LaTeX 文档中的所有 R 代码块和图表设置全局选项

在 Overleaf 上的 LaTeX 文档中制作几个 R 图。每个 R 图都放置在一个figure环境中:

\begin{figure}[h]
\centering
<<>>=
    curve(dnorm(x))
@
\caption{normalPlot}
\label{fig:label}
\end{figure}

问题:

  1. 每个图的图边距都太宽。需要减少周围的空白,而不是像par(mar=c(1,1,1,1)每个块那样通过手动代码。
  2. 任何块中均无代码回显。需要echo=F跨块进行全局切换。

尝试使用dev.args但 Overleaf 可能还不支持它。LaTeXdev.args也有一些错误;knitr 可能已经修复了它们但也许它们没有在 Overleaf 的存储库中更新。

有什么解决办法吗?还有其他方法吗?

答案1

姆韦

\documentclass[twocolumn]{article}
\usepackage{lipsum,geometry}
\begin{document}

<<options,include=FALSE>>=
knitr::opts_chunk$set(echo = FALSE, fig.dim = c(5, 3), fig.pos="h",out.width = "106%", dev='tikz')
@

See fig. \ref{labelA} and   \ref{labelB}. \lipsum[1][1]

<<figA, fig.cap="normalPlot \\label{labelA} " >>=
curve(dnorm(x))
@

\lipsum[2][1-3]

<<figB, fig.cap="simplePlot \\label{labelB} " >>=
plot(jitter(1:40,factor=5,amount=5),xlab="foo",ylab="bar")
@

\lipsum[3-8]

\end{document}

相关内容