我发现的关于 \string 的最佳文档是https://en.wikibooks.org/wiki/LaTeX/Plain_TeX#Special_control_sequence_name
我查阅了以下资料,但是都没有解释\string。
- http://tug.org/texinfohtml/latex2e.html
- http://ctan.org/
- https://tug.org/texlive/Contents/live/doc.html
- http://texdoc.org/
- http://mirrors.ctan.org/macros/latex/base/usrguide.pdf
我想我在其他一些命令上也遇到了类似的文档缺失问题。我在哪里可以找到全面的在线参考资料?
答案1
你可以在 V. Eijkhout 的《TeX by Topic》中找到关于 TeX 基元的相当详细的信息,它是在 CTAN 上免费下载。
您提到的特定原语,即\string
,很容易描述:它将扩展为下一个标记的可打印表示(将在此过程中使用)。结果将是类别代码为 12 的字符串(但空格的类别代码为 10);如果下一个标记是控制序列,则该字符串将表示其名称,前面是与 的当前值相对应的字符,但如果参数的值不在 0-255 范围内(对于 XeTeX 或 LuaTeX 为– ) \escapechar
,则没有字符。0x000000
0x10FFFF
例如,
\string\x
\x
如果\escapechar
默认值为 92(反斜杠的 ASCII 代码),则将生成(类别代码为 12 的两个字符标记)。不会对后面的标记进行任何解释\string
,并且只有一个标记在其范围内。
使用 e-TeX 引擎(如pdftex
),您可以用来\detokenize
一次将更多标记字符串化。