附录单独表格 - pdf 书签并避免上一章的格式

附录单独表格 - pdf 书签并避免上一章的格式

我正在尝试格式化我的论文,它需要单独的附录列表。感谢一篇非常有用的帖子 -使用 tocloft 创建单独的附录列表- 我已经准备好列表并开始运行。我正在使用我的大学论文课程(ut-thesis),据我了解,它基于该report课程。

我的问题是(是的,我是一个完全的新手),根据上述答案的设置:

  1. 如何让附录显示为 PDF 书签?从列表到页面的超链接已经可以使用。我只是缺少书签。
  2. 我的附录从章节第二页开始包含上一节的标题(参考书目)。我怎样才能将其设为正确的附录 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>is 1),而\subappendix将 放在“子节级”(<level>is 2)。这是因为您已将附录添加到“章级”(即 级别 )的目录中0。因此,为了显示某种层次结构,我使用了12

    有关添加 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很难评估您在这里所追求的目标。

  • 一个一般性评论:

    最好发布完整、可编译、最小的代码。有关更多信息,请参阅我刚刚被告知我必须写一个最小的例子;那是什么?即使您有一篇完整的论文,其中有一些问题需要帮助,也可以只提取必要的组件并发布。这是获得帮助的最佳和最完整的方法。但是,请确保您为了获得最小示例而删除的软件包之间没有冲突。如果它们确实通过发布的解决方案出现,那么您可以更新原始帖子以反映这些更改。

相关内容