![是否可以包含从 .Rnw 编译的 .TeX 文件?](https://linux22.com/image/278441/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%8C%85%E5%90%AB%E4%BB%8E%20.Rnw%20%E7%BC%96%E8%AF%91%E7%9A%84%20.TeX%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有一个具有这种结构的文档:main.TeX
其中(理想情况下)包括用...bodytext.TeX
编译knitr
的bodytext.Rnw
。
我说理想情况是因为显然事情没那么简单。我注意到knitr
在已编译的 的序言中添加了行.TeX
。然后就我的情况而言,当.TeX
(没有序言) 包含到另一个文档中时,编译main.TeX
将导致各种错误。
是否有可能包含.TeX
从那时开始编译的内容.Rnw
?
答案1
您可以将 设为main.tex
,main.Rnw
然后您将能够正确地包含include.Rnw
:
main.Rnw
:
% !Rnw weave = knitr
% !TeX program = pdfLaTeX
\documentclass[final,12pt]{article}
\usepackage[a4paper]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
<<include=FALSE>>=
opts_chunk$set(fig.width=8, fig.height=4, fig.pos='htb', out.width='\\textwidth')
@
\begin{document}
<<child-demo, child='include.Rnw'>>=
@
\end{document}
include.Rnw
:
% !TeX root = main.Rnw
% !Rnw weave = knitr
% !TeX program = pdfLaTeX
Let's plot the spectrum of $Na$:
<<'na', dev='tikz', fig.cap='Spectrum of $Na$', echo=FALSE>>=
plot(c(1:10))
@
或者,您可以手动knit
选择所需Rnw
的没有有前言,但随后您需要在 中包含其他生成的行main.tex
。我不建议这样做。