Hyperref 目录

Hyperref 目录

我对附录的编号有问题。这是我的 MWE:

\documentclass[oneside, openright, 12pt]{book}
\sloppy

\usepackage[plainpages=false,pdfpagelabels]{hyperref}
\hypersetup{
    pdftitle={title},
    pdfsubject={subject},
    pdfauthor={author},
    pdfborder={0 0 0}
}

\usepackage[titles]{tocloft}
\newcommand\tocentry[1]{\addcontentsline{toc}{chapter}{#1}}

\begin{document}
    \pagenumbering{Alph}

    \pagenumbering{roman}
    \setcounter{page}{1}
    \tableofcontents

    \listoffigures
    \tocentry{Figures}

    \pagenumbering{arabic}
    \chapter{chapter1}
    dsfdsfdsfsdf
    \section{section1} 
    dsafdsaffdasfdasfffadsfffadsff
    \section{section2} 
    gfsdcsdfdsf
    \section{section3}
    dsfdsfdsf

    \tocentry{Appendix}
    \chapter*{appendix}
    \section{appendix1}
    \section{appendix2}

    \bibliographystyle{alpha}
    \bibliography{mwe/lit} 
    \tocentry{Literature}

\end{document}

正如您在下面的屏幕截图中看到的,附录中的编号只是从上一章继续。 错误编号 我希望它是 A、B、......我发现这\chapter*{}不会增加必要的计数器 - stackoverflow 上有很多类似的问题......我这样解决了我的问题:

\setcounter{chapter}{\thechapter+1}
\setcounter{section}{0}
\renewcommand{\thesection}{\Alph{section}}  
\chapter*{appendix}

它解决了我的问题。 正确编号 但是现在,我发现 pdf 查看器中的 Hyperref 目录存在另一个问题:我的附录和文献被放置为 chapter1->section3 的子节。 pdf 内容编号错误

有人知道如何解决这个问题吗?提前谢谢 :-)

答案1

如果您确实想将附录添加为章节而不是章节(我不推荐这样做),您可以使用:

\usepackage{xpatch}
\xapptocmd\appendix
  {\chapter*{Appendix}\addcontentsline{toc}{chapter}{Appendix}\renewcommand\thesection{\Alph{section}.}}
  {}{\PatchFailed}

\appendix
\section{appendix1}
\section{appendix2}

补充说明:

使用包tocbibind来获取列表和参考书目的目录条目,以确保目录中的页码正确。

\cleardoublepage之前使用\pagenumbering{...}

\documentclass[oneside, openright, 12pt]{book}
\usepackage[nottoc]{tocbibind}% add a ToC entry for lists, index and bibliography

\usepackage{xpatch}
\xapptocmd\appendix
  {\chapter*{Appendix}\addcontentsline{toc}{chapter}{Appendix}\renewcommand\thesection{\Alph{section}.}}
  {}{\PatchFailed}

\usepackage[plainpages=false,pdfpagelabels]{hyperref}
\hypersetup{
    pdftitle={title},
    pdfsubject={subject},
    pdfauthor={author},
    pdfborder={0 0 0}
}

\begin{document}
\pagenumbering{roman}
\tableofcontents
\listoffigures

\cleardoublepage% <-must be added before \pagenumbering
\pagenumbering{arabic}
\chapter{chapter1}
Text
\section{section1} 
Text
\section{section2} 
Text
\section{section3}
Text

\appendix
\section{appendix1}
\section{appendix2}

\bibliographystyle{alpha}
\bibliography{mwe/lit} 
\end{document}

结果:

在此处输入图片描述

在此处输入图片描述

相关内容