Latex 使用命令行参数包括/排除文本节

Latex 使用命令行参数包括/排除文本节,latex,Latex,我定义了一个主文档,我需要从中提取不同的版本。例如,在: \section*{5\\animalia} \vspace{\oneline} \includegraphics[page={33}, trim=1cm 0 0 0]{\pdfsource} \includepdf[page={34-37}]{\pdfsource} 只有在使用参数AA运行pdflatex时,才会编译最后一行。 应该有大约20个不同的版本要准备,所以如果我可以在一批中编译所有这些,而不是准备20个不同的文件,那就太好了

我定义了一个主文档,我需要从中提取不同的版本。例如,在:

\section*{5\\animalia}
\vspace{\oneline}
\includegraphics[page={33}, trim=1cm 0 0 0]{\pdfsource}
\includepdf[page={34-37}]{\pdfsource}
只有在使用参数
AA
运行
pdflatex
时,才会编译最后一行。 应该有大约20个不同的版本要准备,所以如果我可以在一批中编译所有这些,而不是准备20个不同的文件,那就太好了。没有公共元素可供选择,因此
AA
中的行将与
AB
AJ
中的行不同。 我看了一下
\newcommand
\xparse
,但我想我没有找到我需要的东西。有什么建议吗

另一个细节:参数还将传递到开头的文本行,即:

\subsection*{ARGUMENT}

将打印为
AA
。我认为这很容易做到,但我也找不到一个具体的例子。

如果您使用

pdflatex "\newcommand{\version}{KK}\input{filename.tex}"
您可以测试
\version
的值:

\documentclass{article}

\usepackage{ifthen}

\ifdefined\version
\else
\def\version{AK}
\fi

\begin{document}

\section{\version}

\ifthenelse{ \equal{\version}{KK} }{
    KK version  
}{
    other version
}

\end{document}

相关问题您能在示例中使用其他字母组合吗?看到这三个字母组合在一起会引起非常不好的感觉,至少对德国汉克斯来说,这正是我所需要的。我现在正在尝试实现第二个版本,它可以使用\或命令-但是从文档中可以看到,它不起作用\如果其他{\equal{\version}{AA}{\includepdf[pages={45}]{\pdfsource}{}似乎可以工作,但如果其他{\equal{\version}{AA}\或{BB}{\includepdf[pages={45}]{\pdfsource}{}和\ifthenalse{\equal version}{AA}或{\version}{BB includepdfsource}{pages,也许我需要摆弄括号,直到找到正确的连接为止。@jmmp你可以简单地嵌套ifthenelse,但我认为这作为一个新问题会更好好,我明白了。我没有重复整个条件:\ifthenelse{\equal{\version}{AA}\OR\equal{\version}{BB}{\includepdf[pages={45}]{\pdfsource}{},这很好,因为它使代码更加简单。