如何在 LaTeX 中将包括最后一页的页码在内的页码范围放入目录中(见下图)?我在论坛中搜索过但未找到解决方案。
答案1
需要 MWE 来给出适用于具体案例的答案:
请帮助我们帮助您并添加最小工作示例(MWE)
\documentclass{...}
这说明了您的问题。当我们看到以 开头和结尾的可编译代码时,重现问题并找出问题所在将变得容易得多\end{document}
。与任何其他编程语言不同,如果您更改文档的序言,输出结果将有很大不同,例如冲突的软件包或页面设置因代码中的某些细节而更改等等。这就是为什么我们需要一个完整的示例以及包含序言的相关部分。否则我们可能无法重现您的问题。
(从文本构建块)
但是因为这个想法很有趣并且可以在这里证明几件事,所以我将尝试通过处理不同的情况来给出答案:
“附录 A - Y ... [页码]”已自动添加到目录 (ToC)。如果不知道自动过程,就无法知道如何更改它。它既不是
\chapter{Appendices A - Y}
,因为那样它就会是一个编号章节,也不是\chapter*{Appendices A - Y}
,因为那样它就不会在目录中列出。要更改这样的目录,可以 (下面的警告 )来更改.toc
文件,其中包含目录代码。例如,\chapter{Example}
在最简单的情况下,结果是\contentsline {chapter}{\numberline {<number/name of chapter>}Example}{<page number>}
。如果hyperref 包被使用,这将读取\contentsline {chapter}{\numberline {<number/number of chapter>}Example}{<page number>}{chapter.<number of chapter>}
- 因此 MWE 是必要的!<page number>
在.toc
文件中用“37 - 62
”替换将在再次编译文档时为您提供该信息,但编译也会覆盖文件.toc
,即您需要在每次编译运行中应用手动更改。此外,页码可能会发生变化,即您始终必须检查它是否仍然是“37 - 62
”或可能是“38 - 63
”或其他。如果hyperref
与选项linktoc=all
或一起使用linktocpage=true
(没有 MWE 我们不知道这一点),则页码将超链接到该页面,并且将条目更改为.toc
“37 - 62
”不会更改链接目标,但会创建一个仍然链接到“37”的链接“37 - 62” - 这可能是预期的,但可能需要单独的链接到“37”和“62”。假设条目“附录 A - Y ... [页码]”未自动添加到目录中,例如
\chapter*{Appendices A - Y}
使用并由创建的目录条目 - 好吧,您明白为什么 MWE 会有所帮助,不是吗?
a) 如果在 之后\addcontentsline{toc}{chapter}{Appendices A - Y}
使用了 (\addcontentsline
则为查找命令)
\chapter*{Appendix A}
,则文件中的条目.toc
可以读取
\contentsline {chapter}{Appendices A - Y}{37}{chapter*.11}
。按照说明手动37
更改“ ” (.toc
并警告 ) 多于。
b) 如果\addtocontents{toc}{\noindent Appendices A - Y \hfill \thepage}
使用,则可以轻松更改为\addtocontents{toc}{\noindent Appendices A - Y \hfill \thepage{} - \pageref{LastPage}}
,这需要\usepackage{
最后一页}
在序言中。(除了 lastpage 包,你可能需要使用页面包。)如果需要引用“附录 Y”的最后一页(并且文档中它后面还有另一页),则必须\label{EndOfY}
在“附录 Y”的最后一页设置自己的标签并引用该页而不是。如果 hyperref 包与选项或(MWE...)LastPage
一起使用,对最后一页的引用甚至会超链接,但对于给定的“附录 A”的第一页却没有超链接,这显然很丑陋,因为它是不一致的。linktoc=all
linktocpage=true
i) 无超链接:只需使用\pageref*{LastPage}
即可使超链接消失。
ii) 超链接:不需要\thepage
引用“附录 A”的开头。设置一个\label
,例如\chapter*{Appendix A\label{AppA}}
,并引用它,例如\addtocontents{toc}{\noindent Appendices A - Y \hfill \pageref{AppA} - \pageref{LastPage}}
,就可以了。
请注意,例如,hyperreflinktoc=all
还会为目录中的文本创建超链接,即需要AppY
为“附录 Y”设置标签并使用
\addtocontents{toc}{\noindent Appendices \hyperref[AppA]{A} - %
\hyperref[AppY]{Y} \hfill \pageref{AppA} - \pageref{LastPage}}
但是等一下:如果附录 Y 不再是附录 Y 而是附录 Z,因为您在附录 M 和附录 N 之间添加了附录,会发生什么情况?因此,最好使用\ref{AppA}
并确保附录的参考资料是按字母顺序排列的。
iii) 如果tocloft 包\addtocontents{toc}{
被使用,那么...的格式}
就需要改变,例如,可以用“dotfill”来代替\hfill
。(MWE!)
我希望这能给出一些关于可能性的想法,然后可以引出特定的搜索词或特定的问题(使用 MWE ;-) )。
祝你的论文顺利!