我可以让 TeX 完全自由形式吗?

我可以让 TeX 完全自由形式吗?

我对 TeX 的语言格式感到困扰。

我的意思是我想知道为什么CR会转换为空格并且%必须位于行末以避免出现此问题。更糟糕的是,空白行意味着段落的结束。

我知道这些函数在大多数情况下都很有用。但在宏或类似的东西中,它们让我很困扰;我想很多软件包编写者也是如此。

我的问题是“我可以使用一些宏(例如\catcode)来使这些函数无效吗?”和“我可以让 TeX 完全自由形式吗?”

答案1

TeX 是一种排版系统,因此标准设置偏向于文档“文本”:正常惯例对此很有效,但代价是“编程”工作量略多。(TeX 编程模型的其他部分在这方面需要更多“工作”,但这是另一个问题。)

当然可以修改标准行为。例如,在expl3用于 LaTeX3 编程的语言中(正在进行的工作),设置基于类似于

\catcode`\^^I = 9 %
\catcode`\  = 9 %
\catcode`\^^M = 10 %
\endlinechar = `\  %
\relax
Hello world

more text
\bye

您可以将其修改为

\catcode`\^^M = 10 %
\endlinechar = `\ %
\relax
Hello world

more text
\bye

如果您只希望更改行尾行为。请注意,这需要您使用 明确添加段落\par

相关内容