.tex 输入文件中每行的最大字符数是多少?

.tex 输入文件中每行的最大字符数是多少?

根据 TeXbook,TeX 会逐行预处理 .tex 输入文件(将行中的所有字符转换为 TeX 的内部字符表示方案(ASCII 或 Unicode)、截断行尾的空格字符序列、附加由 指定的字符\endlinechar)。

因此出现了以下问题:

  1. .tex-input 文件每行的最大字符数是多少?
  2. 当读取时遇到太长的行时,TeX 会如何表现?

您可以使用 TeX 编写外部文本文件。

  1. 当尝试将一行太长或字符数多于 TeX 可以放入外部文本文件一行中的字符数时,TeX 会如何表现?

-primitive\write总是将整行写入外部文本文件。

  1. 有没有办法
    • 刚刚开始外部文本文件的新行?
    • 将字符附加到外部文本文件的当前行?

答案1

这取决于系统,并且可由 web2c 实现用户设置。

texlive 2021texmf.cnf

% Buffer size.  TeX uses the buffer to contain input lines, but macro
% expansion works by writing material into the buffer and reparsing the
% line.  As a consequence, certain constructs require the buffer to be
% very large, even though most documents can be handled with a small value.
buf_size = 200000

如果超过这个,你会得到:

$ pdftex aa408
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021) (preloaded format=pdftex)
 restricted \write18 enabled.
entering extended mode
(./aa408.tex! Unable to read an entire line---bufsize=200000.
Please increase buf_size in texmf.cnf.

TeX 没有附加到文件的机制。

相关内容