我经常需要回忆不同的\tracing
命令;有几次我偶然发现了一些对我来说很好用的网页;可惜的是,我没有保留它们,而且我的搜索也不再带我到那里。
所以我想问一下可以在哪里阅读\tracing
命令列表的链接?
例如,TRALICS:LaTeX 到 XML 转换器 (T)提及:
\tracingall
\tracingassigns
\tracingcommands
\tracinggroups
\tracingifs
\tracinglostchars
\tracingmacros
\tracingnesting
\tracingonline
\tracingoutput
\tracingpages
\tracingparagraphs
\tracingrestores
\tracingstats
\tracingscantokens
..但我很确定有类似的东西\tracingboxes
(不太确定是否有类似的东西\tracingglues
);但我找不到任何提及这些内容的资源。
答案1
扫描TeX 书和TeX 程序提供有关\tracing...
命令的最详细信息。此外,还在线提供了列表TeX 基本控制序列。合并后的清单包括:
\tracingcommands
[pi] 如果为正数,则将命令写入文件.log
。\tracinglostchars
[pi] 如果为正数,则将当前字体中没有的字符写入文件.log
。\tracingmacros
.log
[pi] 如果为正数,则在扩展宏和参数时写入文件。\tracingonline
[pi] 如果为正,则将诊断输出写入终端和文件.log
。\tracingoutput
[pi] 如果为正,则将运出箱子的内容写入文件.log
。\tracingpages
[pi] 如果为正数,则将页面成本计算写入文件.log
。\tracingparagraphs
[pi] 如果为正数,则将换行计算的摘要写入文件.log
。\tracingrestores
[pi] 如果为正,则将保存堆栈详细信息写入文件.log
。\tracingstats
[pi] 如果为正数,则将内存使用情况统计信息写入文件.log
。\tracingall
开启所有可能的交互模式
标有 [π] 的p
函数以整数形式接受参数i
。例如,可以使用\tracingcommands1
。
电子特克斯引入了以下形式的许多新功能:
\tracingassigns
[pi] 当程序使用用于收集统计信息的代码进行编译并且\tracingassigns
其值为 1 或更大时,将跟踪所有受 TEX 分组机制约束的分配。\tracinggroups
[pi] 进一步帮助调试失控组问题,\tracinggroups
(内部读/写整数)导致 e-TeX 在设置为正非零值时跟踪每个组的进入和退出。\tracingifs
[pi] 当\tracingifs
其值为 1 或更大时,将跟踪所有条件(包括\unless
、\or
、\else
和\fi
),以及起始行和嵌套级别;该\showifs
命令显示所有当前活动条件的状态。\tracingscantokens
[pi] 一个内部读/写整数,为其分配一个正非零值将导致每次\scantokens
调用时都显示一个开括号和空格;扫描完成后将记录匹配的闭括号。如果在扩展期间发生回溯\scantokens
,则显示的第一个行号将反映从参数创建的伪文件的逻辑行号\scantokens
;因此启用\tracingscantokens
可以帮助识别为什么看似不合理的行号被显示为错误来源(回溯始终持续,直到显示实际源文件的行号)。
这些补充内容在e-TeX 系统文档。
缺乏耐心的 TeX 定义 \tracingboxes
:
\def\tracingboxes{\showboxbreadth = \maxdimen
\showboxdepth = \maxdimen}%
\tracingboxes
使框在被跟踪时完整显示。(TeX 通常只显示三个级别的框和每个框内的五个项目。)
这xcolor
包裹添加\tracingcolors
(来自文档, 部分2.13 颜色信息,第28-29页):
\tracingcolors=<int>
控制写入文件的信息量.log
:<int>
≤ 0:没有特定的颜色记录。<int>
≥ 1:由于\providecolor
记录而忽略的颜色定义。<int>
≥ 2:记录多个(即覆盖的)颜色定义。<int>
≥ 3:每个定义颜色的命令都将被记录。<int>
≥ 4:每个设置颜色的命令都将被记录。
这etoolbox
包裹添加\tracingpatches
(来自文档, 部分3.4 修补,第11-12页):
另请注意,如果修补失败,本节中的命令不会自动发出任何错误消息。相反,它们会采取 <失败> 参数应提供合适的后备代码或错误消息。
\tracingpatches
在前言中发出将导致命令将调试信息写入记录文件。[...]
\tracingpatches
启用所有修补命令的跟踪,包括
\ifpatchable
。调试信息将写入记录文件。如果补丁未应用或产生的原因\ifpatchable
<错误的> 并不明显。此命令必须在序言中发出。
类似地,regexpatch
补给品\tracingxpatches
。
multicol
定义了柜台 tracingmulticols
可以使用 进行修改\setcounter{tracingmulticols}{<number>}
。从multicol
文档(部分2.7 跟踪输出,第 5 页):
为了理解 TeX 在处理环境时所做决定背后的原因
multicols
,我们提供了一种跟踪机制。如果你将计数器设置tracingmulticols
为正数,<number>
那么你将在终端和记录文件中得到一些跟踪信息:
<number>
= 1. TeX 现在会告诉您,每当它进入或离开multicols
环境时,它正在处理的列数以及它决定在环境之前或之后开始新页面的决定。
<number>
= 2. 在这种情况下,您还可以从平衡例程中获取信息:尝试左侧和右侧列的高度、如果声明\raggedcolumns
有效则收缩的信息以及unbalance
计数器的值(如果为正)。
<number>
= 3。设置<number>
为此值将另外跟踪标记处理算法。它将显示找到了哪些标记、考虑了哪些标记等。要完全理解这些信息,您可能需要仔细阅读实施。
<number>
>= 4。设置<number>
为如此高的值还会将一个添加\hrule
到输出中,将上一页已经考虑过的文本部分与其余部分分开。显然,此设置应该不是用于最终输出。它还将激活更多用于标记处理的调试代码。
tabularx
提供\tracingtabularx
(部分4.1 终端输出,第 2 页,tabularx
文档):
如果做出了这样的声明,比如在文档序言中,那么所有后续
tabularx
环境都将打印有关列宽的信息,因为它们会反复重置表格以找到正确的宽度。作为使用声明的替代方法,可以在加载的命令中给出
\tracingtabularx
选项infoshow
或,或者作为命令中的全局选项。debugshow
\usepackage
tabularx
\documentclass
多年来ltoutput.dtx
包含一些隐藏代码,用于追踪 LaTeX 浮动放置算法的详细行为。受 StackExchange 上问题的启发,我们现在将这些代码提取到一个新的
fltrace
包裹要查看浮动算法的实际效果(或了解为什么它决定将所有浮动元素放在文档的最末端),请使用
\usepackage{fltrace} \tracefloats
要在文档中的某个位置停止跟踪,请使用
\tracefloatsoff
,要查看各种浮点参数的当前值,请使用\tracefloatvals
。由于该包与添加了跟踪的内核代码相同,因此如果您加载任何其他操纵该部分内核代码的包,它可能会或可能不会工作。在这种情况下,最好的选择是先加载fltrace
。
这tracefnt
包裹提供跟踪与加载、替换和使用字体有关的操作。该包接受以下选项:
errorshow
将所有关于字体更改等的信息写入记录文件,除非发生错误。这意味着有关字体替换的信息不会显示在终端上。
warningshow
在终端上显示所有字体警告。此设置对应于未使用此 tracefnt 包时的默认行为!
infoshow
在终端上显示所有字体警告和所有字体信息消息(通常仅写入转录文件)。这是
tracefnt
加载此包时的默认设置。debugshow
除了所显示的内容之外
infoshow
,还显示数学字体的变化(尽可能):注意,此选项可能会产生大量输出。loading
显示外部字体文件加载时的名称。此选项仅显示“新加载”的字体,而不显示此
tracefnt
包激活之前已在格式或类文件中预加载的字体。pausing
将所有字体警告转变为错误,以便 LaTeX 停止。
警告:此包的操作可以改变文档的布局,甚至在极少数情况下产生明显错误的输出,因此不应将其用于“真实文档”的最终格式化。
\pdftracingfonts
(pdfTeX):
控制字体扩展跟踪的整数变量。默认情况下为零;然后我们得到一个这样的日志(带有字体扩展)
...\tenrm t
...\tenrm (+20) e
如果没有字体扩展,此默认值应与 TeX 的原始日志输出兼容。如果
\pdftracingfonts
设置为1
(或更大),我们会得到更详细的日志:
...\xivtt ([email protected]) t
...\xivtt ([email protected]) e
另请参阅错误 304。
(https://www.tug.org/applications/pdftex/NEWS)
\XeTeXtracingfonts
(XeTeX):
如果非零,则报告在日志文件中找到字体的位置。
答案2
根据最近的一些添加和修改TeX Live 指南。
TeX Live 2021(直播链接在 TeX Live 指南---2023 中):
\tracinglostchars
(Knuth TeX 除外)如果设置为 3 或更多,则会导致错误而不是信息。如果
\tracinglostchars
设置为 3 或更多,则缺少的字符将导致错误,而不仅仅是日志文件中的消息,并且缺少的字符代码将以十六进制显示。\tracingstacklevels
(除了 Knuth TeX)已添加。\tracingstacklevels
如果为正数,并且\tracingmacros
也为正数,则会导致在每个相关日志行上输出一个表示宏扩展深度的前缀(例如,~..
深度为 2)。此外,宏日志记录在深度 ≥ 参数值时被截断。