weave tex.web
pdftex tex.tex
生成如下包含目录和文档主体的 PDF:
注意:目录位于文档下方!
我希望目录以与以下布局相同的布局列出目录中两个条目之间的所有部分“另请参阅章节”在正文的第 13 节中,所有内容都左右缩进。这样,您就可以直接从目录导航到所有部分。
这个怎么做?
这是一个后续问题在哪里可以找到 tex.web 文档的交互式 PDF 或 HTML 版本?
以下是一个后续问题如何使用 pdfwebmac 生成的 content.tex 通过 LaTeX 包向 tex.pdf 添加第二个目录?对这个问题
答案1
正如@egreg所说,您必须修改WEB
宏文件。 对于带有超链接的输出,此文件称为pdfwebmac.tex
。 (对于非pdfTeX的使用,该文件称为webmac.tex
。)
这些变化与文件的输出有关CONTENTS.tex
。此输出由宏生成\Z
,每次使用 创建带星号的部分时都会调用该宏\N
; 的定义\N
是:
\outer\def\N#1.#2.{\MN#1.\vfil\eject % beginning of starred section
\def\rhead{\uppercase{\ignorespaces#2}} % define running headline
\message{*\modno} % progress report
\edef\next{\write\cont{\Z{#2}{\modno}{\the\pageno}}}\next % to contents file
\ifon\startsection{\bf\ignorespaces#2.\quad}\ignorespaces}
重点是...\write\cont{\Z{#2}{\modno}{\the\pageno}}}
。只需将此行复制到 的定义中\M
,用于未加星号的部分(更改\Z{#2}
为\Z{#1}
以避免参数不匹配):
\outer\def\M#1.{\MN#1.\ifon\vfil\penalty-100\vfilneg % beginning of section
\edef\next{\write\cont{\Z{#1}{\modno}{\the\pageno}}}\next % to contents file
\vskip12ptminus3pt\startsection\ignorespaces}
如果您对格式不满意,那么您可以定义另一个命令,而不是与\Z
未加星号的模块一起使用,但这超出了本答案的范围。