在一份.tex
文档中,我使用comment
包生成文档的两个不同版本(假设为:版本 A 和版本 B)。每个版本包含不同的部分(可能是段落、方程式……)。如果我使用,它将包括和\includecomment{versionA}
之间的所有内容。现在,假设每个版本中的某些部分都标有。我怎样才能让 latex 仅编译一个版本中的部分?\begin{versionA}
\end{versionA}
*
*
下面的例子可能会更清楚。假设我有
\documentclass[10pt,a4paper]{article}
\usepackage{comment}
\includecomment{versionA}
\excludecomment{versionB}
\begin{document}
\begin{versionA}
*part1
part2
*part3
\end{versionA}
\begin{versionB}
part1
*part2
\end{versionB}
\end{document}
我想要一些能够让我做到的事情:“编译版本 A 的所有内容”或“仅编译版本 A 中标有 * 的内容”(版本 B 也一样)。我希望这很清楚!
答案1
这将允许您获取文档中所有(且仅)带星号的部分(我添加了一些缩进以突出显示不同版本组):
\documentclass[10pt,a4paper]{article}
\usepackage{comment}
\includecomment{versionA}
\includecomment{versionB}
\excludecomment{versionC}
\begin{document}
\begin{versionA}
*part1
\begin{versionC}
part2
\end{versionC}
*part3
\end{versionA}
\begin{versionB}
\begin{versionC}
part1
\end{versionC}
*part2
\end{versionB}
\end{document}
此代码将允许您获取 A 版本中的所有带星号的部分(要获取 B 版本中的部分,只需反转versionA
并在序言中的命令versionB
中执行):include/excludecomment
\documentclass[10pt,a4paper]{article}
\usepackage{comment}
\includecomment{versionA}
\excludecomment{versionB}
\excludecomment{versionC}
\begin{document}
\begin{versionA}
*part1
\begin{versionC}
part2
\end{versionC}
*part3
\end{versionA}
\begin{versionB}
\begin{versionC}
part1
\end{versionC}
*part2
\end{versionB}
\end{document}