答案1
\endlinechar
是一个内部整数寄存器。为其赋值采用标准方式,即
\endlinechar=<integer>
就像
\count255=42
在 Knuth TeX 中,或者pdftex
您可以为其分配值 256,这将导致在丢弃操作系统特定的记录结束信号和 ASCII 代码 32 的尾随字符后,不会将任何内容附加到记录中。
如果这样做\def\endlinechar{whatever}
,您将失去改变内部寄存器值的能力。
笔记。就其本身而言,XeTeX 的行为类似于 Knuth TeX \endlinechar
,因此只有 0 到 255(含)之间的值才会导致附加一些字符。LuaTeX 将上限降低到 127。
你应该对代码没有引发错误感到惊讶。事实上,你的\endlinechar
宏从未使用过,否则\char256
会引发错误(在 Knuth TeX 或 中pdftex
)。