primitives

为什么`\the\le`会排版`12820`?
primitives

为什么`\the\le`会排版`12820`?

TeX 基元参考说原始人\the可以 排版参数值(整数、dimen、glue 或 muglue)或内部数量(\font 除外) 为 token 参数生成 token 列表的副本 \the\le排版12820和\the\ge排版12821。 这是否意味着\le是一个参数值或内部量,或者这种行为是否与的数学模式定义\le有关\mathchar"3214? ...

Admin

尝试理解我发现的一段代码
primitives

尝试理解我发现的一段代码

在这个帖子中,我发现了一段非常有趣且有用的代码,但我不知道它是如何工作的: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 ...

Admin

绘图的图元来自哪里?
primitives

绘图的图元来自哪里?

我目前想知道像这样的软件包tikz是如何工作的。我读过TeX 书并且没有发现任何 TeX 基元能够绘制东西的证据。LaTeX 只是宏的集合,因此使用 LaTeX 无法提供此功能。 是个pdfTeX引擎是否提供了生成绘图所需的图元?如果是,这些图元是什么? ...

Admin

“\show\ ”在 TeX 中输出“^^M”?
primitives

“\show\ ”在 TeX 中输出“^^M”?

在这本书的第 10 页TeXbook,它表示\show\cs,其中\cs是任何控制序列,都可以输出其含义。例如,\show\thinspace输出 > \thinspace=macro: ->\kern .16667em . 为什么\show\ 输出: > \^^M=macro: ->\ . 为什么这里会有这个^^M?我知道这^^M是指键盘上的回车键,但你能告诉我原因吗? ...

Admin

如何学习阅读包文档和 LaTeX 排版概念,如胶水和盒子(原始)?
primitives

如何学习阅读包文档和 LaTeX 排版概念,如胶水和盒子(原始)?

我在阅读软件包文档时遇到了麻烦。我阅读文档的方式似乎有问题。我应该如何阅读文档,才能学会如何正确有效地使用软件包? 另外,有没有地方可以学习 LaTeX 中与排版相关的主题,比如胶水和盒子?我发现他们没有讲太多,即使讲了,他们也不会教我为什么需要这样做。除了摆弄 MS Word 之外,我还没有学习排版的细节。 我想学习如何使字体和字体大小相对于每行的平均字符来说不会太长。 ...

Admin

定义新命令的方法的一般优缺点
primitives

定义新命令的方法的一般优缺点

我对定义新命令的多种方式有疑问。我浏览了网络和 TeX.SE,但找不到完整的答案(只有一些部分答案,例如,这里,这里,这里, 或者这里)。 我知道有几种方法: \newcommand, \DeclareRobustCommand, \newrobustcmd, \NewDocumentCommand, \NewExpandableDocumentCommand 仅举几例,其中大多数也有带星号的版本,当然还有像 \def, \gdef, \edef等等。 我得出的结论是,使用 LaTeX 宏来定义新命令通常比使用原语更好。支持宏的一些论点是更好的语法(...

Admin

新的 luatex 原语 \deferred 有什么作用?
primitives

新的 luatex 原语 \deferred 有什么作用?

我最近注意到一个新的原始\deferredluatex 中添加了一个新的原语(相关的 texlive git 更改)。 这luatex 手册在大多数事情的例子和解释上都很严肃,我基本上没有看到\deferred除了提到作为字首在第 47 页(不确定这是否是同一件事)以及它在第 207 页的原语大列表中的出现。 它有什么\deferred用?根据 git 更改,我天真地猜测它是\immediate,可能与新的“晚期特殊”功能有关。除了它的作用之外,是否有人有示例文档,其中使用新原语来执行以前不可能完成的事情? 附言如果你的 texlive 不够新,你可以看到它...

Admin

XeLaTeX 会修改 \beginR 前缀吗?
primitives

XeLaTeX 会修改 \beginR 前缀吗?

考虑以下代码 \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是否不同?如果是,为什么? ...

Admin

\ignorespaces 与 \relax
primitives

\ignorespaces 与 \relax

在 TeXbook 中,有一个名为的宏\ignorespaces: \ignorespaces ⟨optional spaces⟩。TeX 读取(并扩展)标记,直到遇到非 ⟨space 标记⟩ 的标记为止不执行任何操作。 还有另外一个宏,\relaxTeX 对其不做任何操作。 \ignorespaces既然看起来\relax可以实现\ignorespaces的功能,那么这是否是多余的?请参见以下示例: a\ignorespaces b\ignorespaces c\ignorespaces \hskip1em d a\relax b\rel...

Admin

.aux 文件中定义宏的宏不起作用
primitives

.aux 文件中定义宏的宏不起作用

以下是我尝试定义的一些宏(基于这个问题): \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 ...

Admin

关于 TeXbook 中的 \ifcat 的一个问题
primitives

关于 TeXbook 中的 \ifcat 的一个问题

在 TeXbook 的第 20 章中,Donald Knuth 介绍了 的用法\ifcat,并给出了一个例子: 例如, \catcode`[=13 \catcode`]=13 \def[{*} 测试后\ifcat\noexpand[\noexpand]和\ifcat[*将为真,但测试\ifcat\noexpand[*将为假。 我在我的机器(mac,texlive2022)上测试了上述示例,有两个问题: 有! Undefined control sequence.错误。(编辑:由于我的打字错误,我很抱歉。) 后面应该有一个控制序列\def,那为什么可以写...

Admin

不属于 TeX 的新原语
primitives

不属于 TeX 的新原语

这个答案包含以下声明: 它需要当前的 tex 系统(texlive 2021 或当前的 miktex),因为它需要一些新的原语。 较新的 tex 系统是否添加了 TeX 中尚不存在的原语?它们是否添加到tex.web源代码中?如果是,它们是否利用了 TeX:程序第 53 部分中提到的扩展概念? 或者我误解了所引用的陈述? ...

Admin

测试 \expandafter (纯 Tex) 的“连续性” - 奇怪的结果
primitives

测试 \expandafter (纯 Tex) 的“连续性” - 奇怪的结果

为了更好地理解/控制 \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...

Admin