在哪里可以找到有关 \if 等低级 tex 条件的文档?

在哪里可以找到有关 \if 等低级 tex 条件的文档?

我想更好地理解底层的东西\if。我不是想从 Google 上找一些随机的例子来展示一些语句,而是想找一些规范——一些卑鄙无耻的东西。但搜索短语“if”很困难,因为它不符合我要找的内容。

注意:我不是在谈论\ifthen

答案1

你应该看看第 20 章电子书以及 Eijkhout 书中的第 13 章TeX 按主题分类(后一本书可能也包含在您的 TeX 发行版中 - 尝试输入“texdoc texbytopic”。)

答案2

既然你问“我在哪里可以找到...”,我相信发布链接是一个有效的答案。我非常喜欢这个解释所有 TeX 原语的页面,其中包含注释和示例:

http://www.tug.org/utilities/plain/cseq.html#Logic-fam

答案3

作为我使用的另一个快速参考特拉利奇广泛。虽然有些命令在 TeX 中没有出现,但它还是很有帮助。主要是因为它有很多低级示例。

有很多例子。例如以下\edef命令:

\edef

你可以说\edef\foo{bar}。语法与 相同\def,但主体中的标记列表已完全展开(来自​​ 的标记 \the未展开)。

\global您可以在 前面加上前缀\edef,注意\xdef与 相同\global\edef。在下面的例子中,\ifx为真。

{\catcode`\A=12 \catcode`\B=12\catcode`\R=12\gdef\fooval{ABAR}}
{\escapechar=`\A \edef\foo{\string\BAR}\ifx\foo\fooval\else \uerror\fi}

另一个示例如下。该\meaning命令返回一个标记列表,形式为macro:#1#2->OK OK,并\strip@prefix删除>符号之前的所有内容。我们输入的\Bar是五个标记、一个空格和四个 catcode 12 字母的列表。

\makeatletter
\def\strip@prefix#1>{}
\def\foo#1#2{OK OK}
\edef\Bar{\expandafter\strip@prefix\meaning\foo}

有关非平凡示例,请参阅\aftergroup

相关内容