我为我的学生写了笔记,我想创建不同的版本:一个简短的版本,用于打印,另一个长版本,用于通过互联网分发。因此对于相同的内容,我想用不同的行为编译两次。
以下是我所做工作的 MWE:
- 第一章的内容是
content1.tex
\begin{document}
This is some text.
\important{This is very important.}
\remark{This is a remark.}
\end{document}
- 第 2 章的内容是
content2.tex
\begin{document}
\important{This is very very very important.}
\remark{This is a useless remark.}
This is some text
\end{document}
- 该文件
full_version.tex
包含第一组\newcommand
:
\documentclass{standalone}
\newcommand{\important}[1]{\textbf{#1}}
\newcommand{\remark}[1]{\textit{Remark: #1}}
- 该文件
short_version.tex
包含第二组\newcommand
:
\documentclass{standalone}
\newcommand{\important}[1]{\textbf{#1}}
\newcommand{\remark}[1]{}
我的解决方案如下:为了编译content1
带有full_version
序言的,我在 Linux shell 上写入此命令:
cat full_version.tex content1.tex | latex
它可以工作,但是不是很令人满意(许多奇怪的消息);并且依赖于 Linux-shell。
有没有更好的方法来实现这一点?也许使用预编译的前言?
答案1
您可以使用类似如下的方法进行编译:
latex -jobname="full_chapter1" "\input{full_version}\input{chapter1}"