我有一些标准文本,但它的某些部分是不同的。但是在这些不同的部分中只有少数存在。
例如我想:
\mytext{...}{a}
\mytext{...}{b}
产生:
\section{Item: ...}\label{item...}
This is a standard item. Items of type a are very precious.
\section{Item: ...}\label{item...}
This is a standard item. Items of type b are cheap.
一个简单的解决方案是定义命令mytexta和mytextb,但是由于我有更多的选项,我想要更多的东西,比如编程语言中的if或switch。有没有人解决这个问题?
答案 0 :(得分:3)
ifthen
包(包含在标准LaTeX安装中)定义了一个命令\ifthenelse
,使用如下:
\usepackage{ifthen}
\ifthenelse{test}{then-code}{else-code}
所以你可以做类似的事情:
\newcommand\mytext[1]{%
\ifthenelse{\equal{#1}{a}}{very precious}{%
\ifthenelse{\equal{#1}{b}}{cheap}{unknown}}}
对于LaTeX编程,我建议您获取The LaTeX Companion的副本。对于这些东西来说,这是一个非常好的参考。
答案 1 :(得分:2)
您可以使用\ newif \ iffoo声明新条件。 然后\ footrue或\ foofalse将其设置为true或false,您可以通过\ iffoo ... \ else ... \ fi使用它。
有更多条件,请参阅TeXbook中的第209页。