我正在使用 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}}
但是,你也可以通过在前导码中使用来进一步延迟设置。