TeX 3.14159265 版本有哪些新功能?

TeX 3.14159265 版本有哪些新功能?

新版 Knuth TeX 已于本月初发布,版本号为3.14159265点击此处下载

此版本有哪些新功能?

还有一个问题,在哪里可以找到 TeX 本身的更改日志,DEK 自己会在某处总结这些更改吗?

答案1

有两个错误修复,一个在 TeX 中,一个在 Metafont 中。如果你查看 tarball,你会发现一个名为 的子目录errata。在其中你会发现

tex82.bug
mf84.bug
errorlog.tex

最后一个文件总结了修改内容,前两个文件则列出了实际的修改内容。1

TeX 中的错误修复与空名称的控制序列有关。

428​. \endcsname\csname 在 print_cs 中应该后面跟着空格,就像所有其他多字母控制序列一样(由 Oleg Bulatov 于 2008 年 9 月 14 日发现)

@x 模块 262
      开始 print_esc("csname"); print_esc("endcsname");
@y
      开始 print_esc("csname"); print_esc("endcsname"); print_char(" ");
@z

如果运行(确实很奇怪的)TeX 文件

\endlinechar=-1
% define the empty control sequence
\def\
{foo}
% define another macro
\def\baz{\
text}
% show \baz
\show\baz

终端上的输出是

> \baz=macro:
->\csname\endcsnametext .
l.9 \show\baz

而修复错误后,

> \baz=macro:
->\csname\endcsname text.
l.9 \show\baz

\show正如所料。应用于空控制序列的结果始终表示为\csname\endcsname:该错误产生了无效的输出,这一点显而易见。

Metafont 中的错误修复与内存泄漏有关:

572​. 在没有 x 轴点的对称笔上,make_ellipse 发生内存泄漏(Eberhard Mattes,2008 年 6 月 3 日)
@x module 536
done1:link(p):=s; beta:=-y_coord(h);
@y
done1:if (link(p)<>null) then free_node(link(p),knot_node_size);
link(p):=s; beta:=-y_coord(h);
@z

祝贺 Oleg Bulatov 和 Eberhard Mattes(顺便说一下,他是 emTeX 的创建者)获得 DEK 的支票。


顺便说一下,错误列表中有一个错误:在上面报告的第一行中应该是

\csname\endcsname

并不是

\endcsname\csname

这值得检查吗?;-)


脚注

1 Knuth 在 TUGboat 上发表的一篇文章在我写完这个答案之后发布。

答案2

在文件中./errata/TeX82.bug,你会找到你想要的内容:

428. \endcsname\csname should be followed by space in print_cs, just as all
other multiletter control sequences are (found by Oleg Bulatov, 14 Sep 2008)

@x module 262
      begin print_esc("csname"); print_esc("endcsname");
@y
      begin print_esc("csname"); print_esc("endcsname"); print_char(" ");
@z

我不认为这可以称为‘新(功能)’,但是,我们的 TeX 刚刚迈进了版本pi。哦,如果你读了下面的消息,你可能不喜欢这个‘坏消息’。:(

999. The absolutely final change (to be made after my death)
@x module 2
@d banner=='This is TeX, Version 3.14159265' {printed when \TeX\ starts}
@y
@d banner=='This is TeX, Version $\pi$' {printed when \TeX\ starts}
@z
When this change is made, the corresponding line should be changed in
Volume B, and also on page 23 of The TeXbook.
My last will and testament for TeX is that no further changes be made
under any circumstances. Improved systems should not be called simply `TeX';
that name, unqualified, should refer only to the program for which I have
taken personal responsibility.  -- Don Knuth

相关内容