这在 LaTex 中是什么意思?

这在 LaTex 中是什么意思?

我正在尝试阅读 C++ 标准中的最新变化这一页。在最顶部附近,您会看到以下命令行(我只是猜测这个实体的名称)。这是什么意思?

\indextext{linkage specification|see{specification, linkage}}

附言:您可能已经注意到,我对 Latex 一无所知,但至少我可以识别出链接中的页面显示了Section 7 DeclarationsC++ 标准中的段落。

答案1

该宏\indextext不是标准宏;它在macros.tex您链接到的源中定义为:

\newcommand{\indextext}[1]{\index[generalindex]{#1}}

使得

\indextext{linkage specification|see{specification, linkage}}

被翻译成

\index[generalindex]{linkage specification|see{specification, linkage}}

使用标准\index宏。

因此:条目使用 进入generalindex(文档保留更多内容)\index。 的参数\index在 LaTeX 看到之前由特殊工具处理。正如您所猜测的

\index{linkage specification|see{specification, linkage}}

为 创建一个索引条目,linkage specification该条目引用另外两个索引条目:specificationlinkage

答案2

查看您提到的语句之前的几行很重要(来自declarations.tex):

%!TEX root = std.tex
\rSec0[dcl.dcl]{Declarations}%
\indextext{declaration|(}

%gram: \rSec1[gram.dcl]{Declarations}
%gram:

\indextext{linkage specification|see{specification, linkage}}

第一行,%!TEX root = std.tex包含一个“元指令”:它是不是由 TeX 处理——因为它以注释字符开头%——但它是由前端软件(通常称为“编辑器”)处理的。元指令通知编辑器,如果用户在文件declarations.tex可见时单击“编译”按钮,则要编译的文档不是declarations.tex,而是std.tex。该文件std.tex(可从与相同的网站获得declarations.tex)是一个“驱动程序”文档,它提供整体文档结构并加载文件(通过\input语句),其中包含进一步的设置信息或文档的实际章节和部分。在中std.tex,可以找到以下指令:

\documentclass[ebook,10pt,oneside,openany,final]{memoir}
...
\input{macros}
...    
\begin{document}
...
\include{declarations}
...
\end{document}

其中...表示额外的、省略的指令。该文件macros.tex包含指令

\newcommand{\indextext}[1]{\index[generalindex]{#1}}

因此,指令

\indextext{linkage specification|see{specification, linkage}}

扩展为

\index[generalindex]{linkage specification|see{specification, linkage}}

索引创建(以及参考书目创建)由 LaTeX 异步处理:在第一次 LaTeX 传递中,每个\index指令都会导致将与索引相关的元信息写入 .aux 文件(并且,根据文档类别,还会写入其他文件);但是,此时不会创建索引本身。接下来,调用诸如 之类的程序makeindex根据存储在辅助文件中的信息生成索引。索引(或可能是索引)中的条目通常按字母顺序排序,这是索引创建由 LaTeX 以外的程序处理的主要原因之一。(TeX/LaTeX 具有许多内置功能,但快速排序不在其中。)在以后的 LaTeX 运行中,LaTeX 会makeindex加载创建的索引文件,通常位于文档的最末尾。

答案3

在里面macros.tex文件(第 82 行)你可以找到 的定义\indextext

\newcommand{\indextext}[1]{\index[generalindex]{#1}}

它包含一个参数并使用该\index命令。

相关内容