如何理解和编写LaTeX代码?

如何理解和编写LaTeX代码?

LaTeX 就像一门语言。为了编写 LaTeX 代码,我必须理解“单词”“句子结构”。我在 wiki 上搜索过一些 LaTeX 书籍,但它们只提供 LaTeX 命令,而不是如何为某些特定目的编写 LaTeX 代码或理解 LaTeX 代码。

以下是一个例子:

\renewenvironment{svgraybox}%
       {\fboxsep=12pt\relax
        \begin{shaded}%
        \list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}%
        \expandafter\item\parindent=\svparindent
        \hskip-\listparindent}%
       {\endlist\end{shaded}}%
%
\renewenvironment{svtintedbox}%
       {\fboxsep=12pt\relax
        \begin{tinted}%
        \list{}{\leftmargin=12pt\rightmargin=2\leftmargin\leftmargin=\z@\topsep=\z@\relax}%
        \expandafter\item\parindent=\svparindent
        \relax}%
       {\endlist\end{tinted}}%
%
}}
%
\let\SVMonoOpt\@empty

我不知道什么是\z@,什么是\relax,什么是\fboxsep......并且如果我想以自己的形式设计我的 LaTeX 文件,我知道我必须了解许多其他事情。

请注意,我可以在数学中编写简单的 LaTeX 环境(如矩阵、对齐、环境),但它并不能帮助我理解上述代码。

那么,我该怎么办?我应该读什么书?或者我应该学习哪种编程语言?

答案1

TeXbook 是了解底层 TeX 语言的最佳场所,尽管texdoc texbytopic大多数发行版中的 TeX-by-Topic ( ) 是一种很好的免费替代方案。但您展示的大部分内容并非直接使用 TeX 原语,而是使用诸如\listlatex 格式中定义的构造。LaTeX Companion 对此有详细信息,或者免费的 LaTeX 文档来源texdoc source2e有很多信息。

当然也可以使用这个网站。例如

答案2

你可以通过询问 LaTeX 本身来了解任何命令的作用。只需打开控制台窗口并运行latex(或你喜欢的任何变体),然后你就可以逐行发出命令。

例如,要找出平均值\z@,你可以使用

$ latex
**\makeatletter
*\show\z@

LaTeX 会给你

> \z@=\dimen12.

(该\makeatletter命令允许您使用@登录命令。)

如果你想知道存储在的长度\dimen12,你可以使用

*\showthe\dimen12

这将给你

> 0.0pt

因此该\z@命令是零长度的简写。

\show命令将告诉您除原始命令之外的任何命令的定义;您可以使用 Google 搜索在线查找这些命令。

相关内容