我文档中的参考书目使用 hyperref“合并”了目录中的附录和书签结构。目录中参考书目的页码也比所有其他页码都大,这真的很烦人。
这是部分新的独立帖子lyx hyper-ref toc 附录和参考书目和附录A.0.1 图形标签。我认为值得将其分开,因为它与发布的其他内容不同。
这是我在论文中使用的带有自定义类文件的 MWE。既是 lyx 文件,也是 .tex 文件这里
答案1
您的示例文件有几个错误,您的类文件有一个错误。
首先,您的测试文件有以下代码:
\appendix
\appendices
这是不正确的。由于您正在使用该appendix
包,因此您应该使用appendices
环境(它不是一个宏。)但是,由于您的类文件使用附录命令做了一些有趣的事情,因此您需要添加一些代码后\begin{appendices}
使附录显示字母的行:因此您应该有:
\begin{appendices}
\makeatletter
\renewcommand*{\th@DefTheChapter}{\Alph{chapter}}
\makeatother
...
\end{appendices}
此外,(虽然这在输出中并不明显)您对\begin{thebibliography}
环境的使用是不正确的。你有:
\begin{thebibliography}{Bibliography}
但环境的论点thebibliography
是不是标题(这是自动生成的),但字符串表示您将拥有的最大标签。由于您使用的是数字书目样式,因此您应该使用类似以下内容:
\begin{thebibliography}{99} % assuming you have less than 100 references
(我假设您正在使用natbib
并bibtex
编制实际的参考书目,而不是手工编制。)
您的参考书目看起来不正确(包括页码)的原因是您的类文件将其标题放在目录中,part
而不是级别chapter
。 可以通过输入以下代码来修复此问题后开始文档(即不在序言中。)
(或者,您可以简单地在您的类文件版本本身中修复此代码,在这种情况下,您不需要将代码添加到您的文档中,并且您不应该将代码包装在中\makeatletter/makeatother
。)
\makeatletter
\renewenvironment*{thebibliography}[1]{
\begin{th@OldBib}{#1}
\ULforem% set \em to underline
\begin{singlespace}
\addcontentsline{toc}{chapter}{\bibnameToC} % changed from part to chapter
}{
\end{singlespace}
\EmphReset% set \em back to the user-specified default.
\end{th@OldBib}
}
\makeatother
(这个定义很糟糕。你的大学真的要求您使用下划线而不是斜体?)
参考书目的 TOC 条目中也有一个虚假空格。这是由类文件中以下定义(第 389 行)中的额外空格引起的:
\newcommand*{\bibnameToC}{% put a comment marker here to remove the space
\normalsize\th@HdFnt Bibliography\normalfont}