我正在尝试整理一篇论文提交给 APS,为此我使用了 ReVTeX 4.1。我想通过独立包将图表作为单独的文件包含在内,并可以选择将它们构建为与最终文档中所示大小相同的 pdf。
为此,我尝试使用带有类选项的独立类class=revtex4-1
,并在主文档中使用\includestandalone[mode=buildnew]
宏。但失败了,因为 pdflatex 似乎陷入了无限循环,不断构建越来越大的独立文件 pdf 文档。
这是 MWE。考虑一个文件main.tex
\documentclass[aps,prl,10pt]{revtex4-1}
\usepackage[subpreambles=true]{standalone}
\begin{document}
\includestandalone[mode=buildnew]{sketch}
\end{document}
还有一个文件sketch.tex
\documentclass[class=revtex4-1,aps,prl,10pt]{standalone}
\begin{document}
Test
\end{document}
并通过命令进行编译
pdflatex --shell-escape main.tex
编辑:我升级到 TeXlive 2016,现在我无法使用 lualatex 编译独立文档,日志文件中出现以下错误。
! Bad number (18).
\sa@buildgraphic #1->\ifeof 18
\PackageError {standalone}{Shell escape neede...
l.6 \includestandalone[mode=buildnew]{sketch}
Since I expected to read a number between 0 and 15,
I changed this one to zero.
! Package standalone Error: Shell escape needed to create graphic! Use the '-sh
ell-escape' option..
See the standalone package documentation for explanation.
Type H <return> for immediate help.
...
l.6 \includestandalone[mode=buildnew]{sketch}
This error message was generated by an \errmessage
command, so I can't give any explicit help.
Pretend that you're Hercule Poirot: Examine all clues,
and deduce the truth by order and method
答案1
的维护者找到了一个解决方法standalone
,因此我想将其复制到这里:
reftex4-1 类改变了 LaTeX 的输出例程,与 standalone 默认的页面裁剪方式不兼容。只需在子文件中的 \documentclass[..]{standalone} 行中添加“preview”选项即可解决此问题。这样,裁剪将由与更改的输出例程兼容的“preview”包完成。
https://bitbucket.org/martin_scharrer/standalone/issues/29/incompatible-with-revtex-41