Latex \tracing 命令列表?

Latex \tracing 命令列表?

我经常需要回忆不同的\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\usepackagetabularx\documentclass


LaTeX 新闻,第 21 期,2014 年 5 月

多年来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):

如果非零,则报告在日志文件中找到字体的位置。

http://mirrors.ctan.org/info/xetexref/xetex-reference.pdf

答案2

根据最近的一些添加和修改TeX Live 指南

TeX Live 2021(直播链接在 TeX Live 指南---2023 中):

  • \tracinglostchars(Knuth TeX 除外)如果设置为 3 或更多,则会导致错误而不是信息。

    如果\tracinglostchars设置为 3 或更多,则缺少的字符将导致错误,而不仅仅是日志文件中的消息,并且缺少的字符代码将以十六进制显示。

  • \tracingstacklevels(除了 Knuth TeX)已添加。

    \tracingstacklevels如果为正数,并且\tracingmacros也为正数,则会导致在每个相关日志行上输出一个表示宏扩展深度的前缀(例如,~..深度为 2)。此外,宏日志记录在深度 ≥ 参数值时被截断。

相关内容