我需要在我的报告中包含一封信,我正在使用pdfpages
包来完成这项工作。我希望当我的报告report.tex
编译并包含时letter.pdf
,它首先进行编译letter.tex
,然后在编译完成后将letter.tex
其包含letter.pdf
在报告中。我曾想过编写一个脚本来执行此操作,但解决方案需要跨平台(该报告由五个人使用 Linux 和 Windows 进行处理)。
谢谢。
答案1
可能是这样的使用或--shell-escape
(假设你的文件可以安全运行)和--enable-write18
pdflatex
letter-test.tex
\immediate\write18{...}
letter-test.tex
\documentclass{article}
\begin{document}
This is the letter.
\end{document}
report-test.tex
\documentclass{article}
\usepackage{pdfpages}
\usepackage{mwe} % http://www.ctan.org/pkg/mwe
\immediate\write18{pdflatex letter-test}
\begin{document}
This is the report with figure.
\begin{figure}
\centering
\includegraphics{example-image-a}
\end{figure}
\includepdf{letter-test}
\end{document}
答案2
我用arara
执行此操作而不是脚本
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\clearpage
\includepdf[pages={-}]{docA.pdf}
\clearpage
\includepdf[pages={-}]{docB.pdf}
\clearpage
\includepdf[pages={-}]{docC.pdf}
\end{document}
% arara: pdflatex: { files: [ docA.tex ] }
% arara: pdflatex: { files: [ docB.tex ] }
% arara: pdflatex: { files: [ docC.tex ] }
% arara: pdflatex
我更进一步,编写了一条arara
规则,调用arara
。arara
我主文档中的指令如下
% arara: arara: { files: [ docA.tex ] }
% arara: arara: { files: [ docB.tex ] }
% arara: arara: { files: [ docC.tex ] }
% arara: pdflatex
中的指令docA.tex
可能看起来像
% arara: pdflatex: { files: [ docA.tex ] }
% arara: biber: { files: [ docA.bcf ] }
% arara: pdflatex: { files: [ docA.tex ] }
% arara: pdflatex: { files: [ docA.tex ] }