我的情况是,我有一个 .toc 文件,我只想将其编译为实际的目录,而无需访问生成 .toc 文件的 .tex 文件。这可能吗?
答案1
我有一个方法,虽然不专业也不省时,但却是一种可能性。
给定一个包含以下内容的 .toc 文件:
\select@language {american}
\contentsline {chapter}{\numberline {1}{Introduction}}{1}{chapter.1}
\contentsline {chapter}{\numberline {2}{Main Part}}{2}{chapter.2}
\contentsline {section}{\numberline {2.1}{Some Section}}{2}{section.2.1}
复制 LaTeX 文件中的内容(包含编译所需的行,如\documentclass[10pt,a4paper]{book}
)。然后,删除所有不必要的行,如\select@language {american}
。LaTeX 文件现在应如下所示(不可编译):
\documentclass[10pt,a4paper]{book}
\usepackage[american]{babel}
\begin{document}
\pagestyle{empty}
\contentsline {chapter}{\numberline {1}{Introduction}}{1}{chapter.1}
\contentsline {chapter}{\numberline {2}{Main Part}}{2}{chapter.2}
\contentsline {section}{\numberline {2.1}{Some Section}}{2}{section.2.1}
\end{document}
最后一步,删除{chapter.1}
和等文本{section.2.1}
。文件将如下所示:
\documentclass[10pt,a4paper]{book}
\usepackage[american]{babel}
\begin{document}
\pagestyle{empty}
\contentsline {chapter}{\numberline {1}{Introduction}}{1}
\contentsline {chapter}{\numberline {2}{Main Part}}{2}
\contentsline {section}{\numberline {2.1}{Some Section}}{2}
\end{document}
输出如下所示:
编辑:您无需删除类似的文本{chapter.1}
,而是可以在序言中添加以下内容:
\let\oldcontentsline\contentsline
\renewcommand{\contentsline}[4]{\oldcontentsline{#1}{#2}{#3}}
重新定义\contentsline
命令。
答案2
这个答案类似于我的另一个最基本的,你可以简单地做
\documentclass{book}
\begin{document}
\input{file.toc}
\end{document}
问题最终在于修改目录工作方式的软件包(以及原始 tex 源的不可访问性)。如果hyperref
最初已加载,则需要
\usepackage[draft]{hyperref}
在序言中。如果语言选项(babel
或polyglosia
)将 utf 字符放入目录中,则需要进行相应调整。