问题背后的想法:我试图了解在哪里可以找到\ifdefined
和的文档\ifx
。甚至谷歌似乎也不知道在哪里可以找到它。
然后我尝试使用 texdef:
$texdef -t latex -F ifx
\ifx is defined by (La)TeX.
\ifx:
\ifx
这对我没什么帮助。
在哪里可以找到该文档?
答案1
某些命令无法在 (La)TeX 中进一步分解——它们是 TeX 原语,基本上是elementary particles
TeX 的原语,可以从中构建其他宏来简化 (La)TeX 的使用。
最后,如果已读取\ifx
或\def
或 ,则必须指示编译器或解释器进行操作\openin
。这种情况类似于C
- 源文件:C
编译器必须知道基本命令for
或return
的含义——它们是关键字,不能进一步简化。
这就是为什么texdef \ifx
会“失败”,因为它只能报告\ifx
“定义”为\ifx
。
查找此类构造需要一些经验和知识
texdoc tex
将报告 Knuth 的大部分 TeXtexdoc etex
将更深入地了解 20 世纪 90 年代末推出的“新” e-TeX 发明texdoc source2e
提供有关 LaTeX 核心的信息。texdoc texbytopic
将简要介绍 DE Knuth 版 TeX 的工作原理texdoc pdftex
很高兴阅读有关 PDF 扩展的内容。
类似地,luatex
和xelatex
可source3
用于了解有关LuaTeX
和XeTeX
扩展的见解expl3
。
例如,\ifdefined
是引入的一个新原语e-TeX
,除了二进制中写的内容外,它没有进一步的定义。
请注意,pdfTeX
引入了一些更多原语,例如\pdfminorversion
等。
不幸的是,The TeXBook
现在仍然无法编译源代码。