使用评论包

使用评论包

在一份.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}

相关内容