为什么`\the\le`会排版`12820`?
TeX 基元参考说原始人\the可以 排版参数值(整数、dimen、glue 或 muglue)或内部数量(\font 除外) 为 token 参数生成 token 列表的副本 \the\le排版12820和\the\ge排版12821。 这是否意味着\le是一个参数值或内部量,或者这种行为是否与的数学模式定义\le有关\mathchar"3214? ...
TeX 基元参考说原始人\the可以 排版参数值(整数、dimen、glue 或 muglue)或内部数量(\font 除外) 为 token 参数生成 token 列表的副本 \the\le排版12820和\the\ge排版12821。 这是否意味着\le是一个参数值或内部量,或者这种行为是否与的数学模式定义\le有关\mathchar"3214? ...
在这个帖子中,我发现了一段非常有趣且有用的代码,但我不知道它是如何工作的:https://tex.stackexchange.com/a/584979/261033 以下是有问题的代码,供参考: \def\addto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}} \def\matr#1{\def\matrL{}\matrA#1\end} \def\matrA#1{\ifx\end#1\pmatrix{\matrL}\else \ifx,#1\addto\matrL{&}\else ...
我目前想知道像这样的软件包tikz是如何工作的。我读过TeX 书并且没有发现任何 TeX 基元能够绘制东西的证据。LaTeX 只是宏的集合,因此使用 LaTeX 无法提供此功能。 是个pdfTeX引擎是否提供了生成绘图所需的图元?如果是,这些图元是什么? ...
在这本书的第 10 页TeXbook,它表示\show\cs,其中\cs是任何控制序列,都可以输出其含义。例如,\show\thinspace输出 > \thinspace=macro: ->\kern .16667em . 为什么\show\ 输出: > \^^M=macro: ->\ . 为什么这里会有这个^^M?我知道这^^M是指键盘上的回车键,但你能告诉我原因吗? ...
我在阅读软件包文档时遇到了麻烦。我阅读文档的方式似乎有问题。我应该如何阅读文档,才能学会如何正确有效地使用软件包? 另外,有没有地方可以学习 LaTeX 中与排版相关的主题,比如胶水和盒子?我发现他们没有讲太多,即使讲了,他们也不会教我为什么需要这样做。除了摆弄 MS Word 之外,我还没有学习排版的细节。 我想学习如何使字体和字体大小相对于每行的平均字符来说不会太长。 ...
我对定义新命令的多种方式有疑问。我浏览了网络和 TeX.SE,但找不到完整的答案(只有一些部分答案,例如,这里,这里,这里, 或者这里)。 我知道有几种方法: \newcommand, \DeclareRobustCommand, \newrobustcmd, \NewDocumentCommand, \NewExpandableDocumentCommand 仅举几例,其中大多数也有带星号的版本,当然还有像 \def, \gdef, \edef等等。 我得出的结论是,使用 LaTeX 宏来定义新命令通常比使用原语更好。支持宏的一些论点是更好的语法(...
我最近注意到一个新的原始\deferredluatex 中添加了一个新的原语(相关的 texlive git 更改)。 这luatex 手册在大多数事情的例子和解释上都很严肃,我基本上没有看到\deferred除了提到作为字首在第 47 页(不确定这是否是同一件事)以及它在第 207 页的原语大列表中的出现。 它有什么\deferred用?根据 git 更改,我天真地猜测它是\immediate,可能与新的“晚期特殊”功能有关。除了它的作用之外,是否有人有示例文档,其中使用新原语来执行以前不可能完成的事情? 附言如果你的 texlive 不够新,你可以看到它...
考虑以下代码 \TeXXeTstate=1 Hello World \beginR Hello World\endR \bye 生成以下文档,XeTeX其中pdfTeX 现在,以下代码的输出与pdfLaTeX \documentclass{article} \TeXXeTstate=1 \begin{document} Hello World \beginR Hello World\endR \end{document} 但XeLaTeX输出是 XeLaTeX 的实现方式TeX--XeT是否不同?如果是,为什么? ...
在 TeXbook 中,有一个名为的宏\ignorespaces: \ignorespaces ⟨optional spaces⟩。TeX 读取(并扩展)标记,直到遇到非 ⟨space 标记⟩ 的标记为止不执行任何操作。 还有另外一个宏,\relaxTeX 对其不做任何操作。 \ignorespaces既然看起来\relax可以实现\ignorespaces的功能,那么这是否是多余的?请参见以下示例: a\ignorespaces b\ignorespaces c\ignorespaces \hskip1em d a\relax b\rel...
以下是我尝试定义的一些宏(基于这个问题): \odef{foo}{bar}foo将定义一个具有名称和值的“对象” bar。 \objRef{foo}将插入“对象”的值foo。 这些宏应该允许我引用定义的变量任何地方在我的文档中。例如,执行以下操作: Lorem ipsum dolor \objRef{sentence-Ends/lipsum}. % INSERT OTHER PARTS OF MY DOCUMENT HERE (CHAPTERS, SECTIONS, FIGURES, TABLES, ETC.) Defining variables ...
在 TeXbook 的第 20 章中,Donald Knuth 介绍了 的用法\ifcat,并给出了一个例子: 例如, \catcode`[=13 \catcode`]=13 \def[{*} 测试后\ifcat\noexpand[\noexpand]和\ifcat[*将为真,但测试\ifcat\noexpand[*将为假。 我在我的机器(mac,texlive2022)上测试了上述示例,有两个问题: 有! Undefined control sequence.错误。(编辑:由于我的打字错误,我很抱歉。) 后面应该有一个控制序列\def,那为什么可以写...
这个答案包含以下声明: 它需要当前的 tex 系统(texlive 2021 或当前的 miktex),因为它需要一些新的原语。 较新的 tex 系统是否添加了 TeX 中尚不存在的原语?它们是否添加到tex.web源代码中?如果是,它们是否利用了 TeX:程序第 53 部分中提到的扩展概念? 或者我误解了所引用的陈述? ...
为了更好地理解/控制 \expandafter,我编写了这段代码。 \count100 = 0 \count101 = 1 \def\c{% \the \count100 \advance \count100 by \count101\relax}% % \everypar{\count100 = 0\relax} % the ending dot-brace sequence remembers me the commands executed on each line \expandafter\c\c\c \hfil $...$ \e...
如果我想使用 \newlinechar 和 \endlinechar 原语输出每行文本开始和结束的位置信息,我该怎么做? ...