我想\usepackage{filecontents}
稍后使用 \write18 将我的文档的另一个版本写入文件并进行编译。
我的问题是:如何创建一个自定义文件\begin{document}
来处理我的文件的写入template1.tex
并在稍后将其包括在内?
我想要这样的东西:
\documentclass{beamer}
\begin{customdocument}
//frames
\end{customdocument}
意图:我的自定义文档环境将自定义文档的内容写入第二个 tex 文件并使用不同的选项对其进行编译。
输出:两个文件 (一个有注释,一个没有注释),但只有一个工作文件。
我尝试创建一个新的环境,但随后出现了缺失的错误\begin{document}
最小示例:
\documentclass{beamer}
\usepackage{filecontents}
\usepackage{docmute}
\begin{filecontents*}{template1.tex}
\documentclass{beamer}
\begin{document}
\begin{frame}{A frame}
Foo
\end{frame}
\end{document}
\end{filecontents*}
\immediate\write18{pdflatex -jobname=\jobname _notes\space template1}
\begin{document}
\input{template1}
\end{document}
答案1
我不清楚该文件的用途是什么template1.tex
。但语法可以修复。filecontents
可以加载包前 \documentclass
通过\RequirePackage
:
\RequirePackage{filecontents}
\begin{filecontents*}{template1.tex}
\documentclass{beamer}
\begin{document}
\begin{frame}{A frame}
Foo
\end{frame}
\end{document}
\end{filecontents*}
\immediate\write18{pdflatex -jobname=\jobname _notes\space template1}
\input{template1}
document
那么就不需要重新定义环境。