我正在尝试格式化我的论文,它需要单独的附录列表。感谢一篇非常有用的帖子 -使用 tocloft 创建单独的附录列表- 我已经准备好列表并开始运行。我正在使用我的大学论文课程(ut-thesis
),据我了解,它基于该report
课程。
我的问题是(是的,我是一个完全的新手),根据上述答案的设置:
- 如何让附录显示为 PDF 书签?从列表到页面的超链接已经可以使用。我只是缺少书签。
- 我的附录从章节第二页开始包含上一节的标题(参考书目)。我怎样才能将其设为正确的附录 X 标题?
这是上一篇文章中的代码。我所做的唯一修改是将节改为章(因为有UTthesis.cls
章节),将小节改为节。它包含在名为命令的单独文件中。
\newcommand{\listappendixname}{List of Appendices}
\newlistof{appendix}{app}{\listappendixname}
\setcounter{appdepth}{2}
\renewcommand{\theappendix}{\Alph{appendix}}
\renewcommand{\cftappendixpresnum}{Appendix\space}
\setlength{\cftbeforeappendixskip}{\baselineskip}
\setlength{\cftappendixnumwidth}{1in}
\newlistentry[appendix]{subappendix}{app}{1}
\renewcommand{\thesubappendix}{\theappendix.\arabic{subappendix}}
\renewcommand{\cftsubappendixpresnum}{Appendix\space}
\setlength{\cftsubappendixnumwidth}{1in}
\setlength{\cftsubappendixindent}{0em}
\newcommand{\myappendix}[1]{%
\refstepcounter{appendix}%
\chapter*{Appendix \theappendix\space #1}%
\addcontentsline{app}{appendix}{\protect\numberline{\theappendix}#1}%
\par
}
\newcommand{\subappendix}[1]{%
\refstepcounter{subappendix}%
\section*{\thesubappendix\space #1}%
\addcontentsline{app}{subappendix}{\protect\numberline{\thesubappendix}#1}%
}
如果有帮助的话,这里有一个我的附录文件的示例,名为JaccardCode
\myappendix{Code for Extension of Measure}
\begin{lstlisting}
code
\end{lstlisting}
最后,这是我的主文件的精简版。如果我包含了太多信息,我深表歉意,因为作为新手,我不确定哪些信息有用。
\documentclass[]{ut-thesis}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{tocloft}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{subfig}
\usepackage{listings}
\usepackage{xr-hyper}
\usepackage[colorlinks=true, allcolors=black]{hyperref}
\degree{Doctor of Philosophy}
\department{Computer Science}
\gradyear{1999}
\author{Fran\c{c}ois Pitt}
\title{UT-Thesis Class File Example}
\setcounter{tocdepth}{2}
\begin{document}
\input{commands}
\begin{preliminary}
\maketitle
\begin{abstract}
\end{abstract}
\tableofcontents
\listoftables
\listoffigures
\listofmyequations
\listofappendix
\end{preliminary}
\include {Introduction}
\include {RelatedLit}
\include {ObjectiveI}
\include {ObjectiveII}
\include {ObjectiveIII}
\include {ObjectiveIV}
\include {Conclusion}
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{vancouver}
\bibliography{thesis}
\include{JaccardCode}
\addcontentsline{toc}{chapter}{Appendices}
\end{document}
答案1
以下是一些粗略的建议:
请使用以下顺序/代码来包含您的附录:
\clearpage \phantomsection \addcontentsline{toc}{chapter}{Appendices} \include{JaccardCode}
它将确保 PDF 查看器中的书签面板正确超引用。
\phantomsection
由提供hyperref
。\myappendix
您的和宏应使用类似的方法\subappendix
。即建立一个\phantomsection
(用于正确的超引用),并使用添加 PDF 书签\pdfbookmark[<level>]{<text>}{<name>}
。后者调用就\pdfbookmark
足够了,因为它还会放置一个超锚点,如下\phantomsection
所示:\newcommand{\myappendix}[1]{% \refstepcounter{appendix}\pdfbookmark[1]{#1}{#1\theappendix}% \chapter*{Appendix \theappendix\space #1}% \addcontentsline{app}{appendix}{\protect\numberline{\theappendix}#1}% \par } \newcommand{\subappendix}[1]{% \refstepcounter{subappendix}\pdfbookmark[2]{#1}{#1\thesubappendix}% \section*{\thesubappendix\space #1}% \addcontentsline{app}{subappendix}{\protect\numberline{\thesubappendix}#1}% }
在上面的代码中,我将 放在
\myappendix
“节级”(<level>
is1
),而\subappendix
将 放在“子节级”(<level>
is2
)。这是因为您已将附录添加到“章级”(即 级别 )的目录中0
。因此,为了显示某种层次结构,我使用了1
和2
。有关添加 PDF 书签的更多信息,请参阅
hyperref
文档。为了将标题修改为与附录标题相同(而不是“抓取”前一个标题),请将上述内容扩展
\myappendix
为\newcommand{\myappendix}[1]{% \refstepcounter{appendix}\pdfbookmark[1]{#1}{#1\theappendix}% \chapter*{Appendix \theappendix\space #1}% \addcontentsline{app}{appendix}{\protect\numberline{\theappendix}#1}% \markboth{}{\MakeUppercase{Appendix\ \theappendix\space #1}}\par }
这用于
\markboth{<left>}{<right>}
将标题格式化<right>
为大写。由于您正在使用文档oneside
,因此无需格式化标题<left>
。如果需要,您可以格式化标题<left>
以包含您的\subappendix
详细信息。但是,如果没有更多关于文档中如何协同工作的信息\myappendix
,\subappendix
很难评估您在这里所追求的目标。一个一般性评论:
最好发布完整、可编译、最小的代码。有关更多信息,请参阅我刚刚被告知我必须写一个最小的例子;那是什么?即使您有一篇完整的论文,其中有一些问题需要帮助,也可以只提取必要的组件并发布。这是获得帮助的最佳和最完整的方法。但是,请确保您为了获得最小示例而删除的软件包之间没有冲突。如果它们确实通过发布的解决方案出现,那么您可以更新原始帖子以反映这些更改。