PassOptionsToPackage 和 knitr 子文档

PassOptionsToPackage 和 knitr 子文档

我正在使用 Knitr 和可以编译的文件standalone版本.RNW主文档或单独处理和编译子文档。由于其他包,我想使用可选的文档类参数draft

但是,我不希望draft将参数的功能传递给graphicx包。我可以通过PassOptionsToPackage之前的命令 来避免这种情况documentclass,这样就可以正常工作。

问题是子文档没有传递这个选项,graphicx因此,当单独编译子文档时,我得到了图表的草稿输出。

我如何将final参数传递给graphicx子文档中的包?

我的父文件TestParent.RNW

\PassOptionsToPackage{final}{graphicx}
\documentclass[draft]{article}
\begin{document}

This is text from the main file.

<<child, child='TestChild.RNW'>>=
@

This is also text from the main file.

\end{document}

父输出

子文件TestChild.RNW

<<set-parent_stocks, echo=FALSE, cache=FALSE>>=
set_parent('TestParent.Rnw')
@

This chunk below is from the child document.

<<test-child, out.width='2in'>>=
plot(1:2)
@

子输出

答案1

您可以在本地重置图形的草稿键(针对以下图片)

 \setkeys{Gin}{draft=false}

因此,您只需确保此命令在加载 graphicx 包之后出现。从我得到的评论来看,这里可以工作:

\documentclass[draft]{article}
\setkeys{Gin}{draft=false}
\begin{document}

This is text from the main file.

<<child, child='TestChild.RNW'>>=
@

This is also text from the main file.

\end{document}

\AtBeginDocument{\setkeys{Gin}{draft=false}}但是,你也可以通过在前导码中使用来进一步延迟设置。

相关内容