TeX/else
外观
< TeX
\else 命令用于包含 TeX 中许多 if-then-else 控制结构的可选 else 结构,这些结构包括
- \if
- \ifcase
- \ifcat
- \ifdim
- \ifeof
- \iffalse
- \ifhbox
- \ifhmode
- \ifinner
- \ifmmode
- \ifnum
- \ifodd
- \iftrue
- \ifvbox
- \ifmode
- \ifvoid
- \ifx
这些命令的使用形式如下:
\if*<arguments> <TeX code 1> \else <TeX code 2> \fi
其中 \if* 是上述命令之一,<arguments> 是 \if* 所需的所有参数(如果有),<TeX code 1> 和 <TeX code 2> 都是一段 TeX 代码。代码 "\if*<arguments>" 会计算为真或假;如果为真,则 TeX 会处理 <TeX code 1> 并忽略 <TeX code 2>;如果为假,则 TeX 会忽略 <TeX code 1> 并处理 <TeX code 2>。
考虑以下代码
\ifmmode \mathcal{A} \else $\mathcal{A}$ \fi
\ifmmode 检查 TeX 是否处于数学模式;它不需要任何参数,因此 <arguments> 为空。如果 TeX 处于数学模式,则 \ifmmode 计算为真。因此,如果以上代码用于数学模式,则整个表达式将简化为 "\mathcal{A}",否则为 "$\mathcal{A}$"。
现在考虑以下代码
\ifodd2 odd \else even \fi
在这种情况下,\ifodd 需要一个计算为整数的参数。"\ifodd2" 计算为假,因此 TeX 将排版单词 "even"。