哪些文档详细解释了如何使用 TeX 条件?

哪些文档详细解释了如何使用 TeX 条件?

我有一个文档需要大量纯 TeX 条件,例如:

IF #1 >= 1 AND #2 >= 10
IF #1 != “tree” OR #2 == “mountain”
IF 10 > #1 > 2

我发现有关这个主题的文档有限,而且大多数文档非常简洁且不易理解,或者它们只描述各个组件,但没有解释如何将它们一起使用。哪些文档详细介绍了如何创建纯 TeX 条件,同时提供了充足的示例代码并展示了如何避免常见错误?

答案1

正如评论中提到的,TeXBook 是这些内容的终极参考。但也值得一提的是,术语可能会在本网站或其他地方搜索免费文档时有所帮助。

条件本身\if \ifnum和朋友是 TeX原语而不是在纯 TeX 中定义。TeX 本身不提供布尔运算符,例如 OR 和 AND,尽管当然有各种宏包实现这些(通过适当嵌套原始 if 构造),但纯 TeX 实际上没有定义任何此类宏。因此,从字面上理解(但帮助不大)您的问题会导致答案是没有文档,因为纯 TeX 没有 AND 或 OR。(有一个\or与一起使用的原始函数\ifcase,但这不是您的问题所暗示的中缀连接器)。

你的第一个例子:

IF #1 >= 1 AND #2 >= 10

\ifnum#1>1 
  \ifnum#2>9
     yes
   \else
     no
   \fi
 \else
 no
\fi

你的第二个例子,这里你必须更具体一点

IF #1 != “tree” OR #2 == “mountain”

是否#1必须给出为{tree}或是否\def\x{tree}..... {\x}计为真,如果是这样,您是否只想允许一个扩展级别或任意数字。每种情况下的测试都大不相同。

但也许

\def\treetest{tree}\def\mountaintest{mountain}
\def\testa{#1}\def\testb{#2}
\ifx\treetest\testa
   \ifx\mountaintest\testb
      yes
    \else
      no
    \fi
 \else
   yes
 \fi

事实上,这个与第一个是一样的。

IF 10 > #1 > 2

相关内容