\parskip 和 tikzDevice 之间的交互影响 .Rnw 中的图边距
Interaction between \parskip and tikzDevice affecting plot margins in .Rnw
我正在编织一个 .Rnw
文件,意外地,垂直 space 从我绘图的底部内边距丢失并添加到顶部外边距。
这是一个最小的工作示例:
\documentclass{article}
\setlength{\parskip}{1em}
\begin{document}
<<mwe-plot, dev="tikz", dev.args=list(bg="grey95")>>=
par(mar=rep(2,4), oma=rep(0,4))
x <- seq(0, 2*pi, length.out=21)
plot(x, sin(x), type="l")
box("inner")
@
\end{document}
knit()
生成 mwe-plot-1.pdf
,看起来像这样:
,但我期望的是:
.
这个问题显然是由于 \parskip
和 tikzDevice 之间的交互,因为通过在序言中将 \parskip
设置为零或从 dev="tikz"
切换到默认 dev="pdf"
。虽然这些都是可能的解决方案,但我正在寻找一个不需要执行任何操作的修复程序。
请注意,我尝试在块之前(在 \begin{document}
之后)添加 \setlength{\parskip}{0em}
,但这并不影响输出。
感谢任何提示...
您的近端问题是 \setlength{\parskip}{1em}
语句被包含在 tikz .tex 文件中,这会丢失间距。解决方案是将其从您的序言中移至文档正文中,即
\documentclass{article}
\begin{document}
\setlength{\parskip}{1em}
...
我通过层层下降来解决这个问题 - 首先查看 knit
创建的 .tex
输出(在 LaTeX -> PDF 转换之前),然后查看 figure/mwe-plot-1.pdf
(并意识到,正如您所建议的那样,问题不在于 knitr
放入 LaTeX 文件的内容,而在于 tikzDevice
放入 tikz-.tex
文件的内容),然后查看 figure/mwe-plot-1.tex
并意识到它嵌入了 \parskip
语句。我四处寻找可以覆盖它的 tikzDevice
选项,但后来意识到它可能只包含序言中的内容 ...
我正在编织一个 .Rnw
文件,意外地,垂直 space 从我绘图的底部内边距丢失并添加到顶部外边距。
这是一个最小的工作示例:
\documentclass{article}
\setlength{\parskip}{1em}
\begin{document}
<<mwe-plot, dev="tikz", dev.args=list(bg="grey95")>>=
par(mar=rep(2,4), oma=rep(0,4))
x <- seq(0, 2*pi, length.out=21)
plot(x, sin(x), type="l")
box("inner")
@
\end{document}
knit()
生成 mwe-plot-1.pdf
,看起来像这样:
这个问题显然是由于 \parskip
和 tikzDevice 之间的交互,因为通过在序言中将 \parskip
设置为零或从 dev="tikz"
切换到默认 dev="pdf"
。虽然这些都是可能的解决方案,但我正在寻找一个不需要执行任何操作的修复程序。
请注意,我尝试在块之前(在 \begin{document}
之后)添加 \setlength{\parskip}{0em}
,但这并不影响输出。
感谢任何提示...
您的近端问题是 \setlength{\parskip}{1em}
语句被包含在 tikz .tex 文件中,这会丢失间距。解决方案是将其从您的序言中移至文档正文中,即
\documentclass{article}
\begin{document}
\setlength{\parskip}{1em}
...
我通过层层下降来解决这个问题 - 首先查看 knit
创建的 .tex
输出(在 LaTeX -> PDF 转换之前),然后查看 figure/mwe-plot-1.pdf
(并意识到,正如您所建议的那样,问题不在于 knitr
放入 LaTeX 文件的内容,而在于 tikzDevice
放入 tikz-.tex
文件的内容),然后查看 figure/mwe-plot-1.tex
并意识到它嵌入了 \parskip
语句。我四处寻找可以覆盖它的 tikzDevice
选项,但后来意识到它可能只包含序言中的内容 ...