我遇到了一个问题,因为我想让我的附录看起来像部分。
我已经找到了一种针对目录执行此操作的解决方案,即\chapter
在附录环境中的命令之前使用此代码:
\makeatletter
\addtocontents{toc}{\let\protect\l@chapter\protect\l@section}
\makeatother
现在,我想让书签“实现”这一点。当我打开 PDF 文件时,附录出现在章节级别,但附录的标题也出现在章节级别。
我所有的书签都来自该hyperref
包,所以我想我无法使用该bookmark
包来寻找解决方案。
有什么办法可以让它看起来像书签中章节附录的一部分吗?
这是我在 LaTeX 程序中使用的代码:
\begin{appendices}
\makeatletter
\addtocontents{toc}{\let\protect\l@chapter\protect\l@section}
\makeatother
\chapter{Appendix1}
\chapter{Appendix2}
...
\end{appendices}
我已经尝试过使用该\section
函数代替\chapter
,但是它似乎不起作用。
答案1
方法通过\bookmarksetupnext
使用这个包bookmark
可以实现以下功能:
\bookmarksetupnext{level=-1}
\addappheadtotoc
覆盖“附录”的书签设置,并将其移至更高级别,即部分级别。然后附录章节将成为“部分”附录的子级。
\documentclass{report}
\usepackage{appendix}
\usepackage{hyperref}
\usepackage{bookmark}
\begin{document}
\tableofcontents
\chapter{A chapter}
\section{A section}
\chapter{Another chapter}
\section{A section}
\begin{appendices}
\bookmarksetupnext{level=-1}
\addappheadtotoc
\makeatletter
\addtocontents{toc}{\let\protect\l@chapter\protect\l@section}
\makeatother
\chapter{Appendix1}
\chapter{Appendix2}
...
\end{appendices}
\end{document}
该示例基于 Werner 的回答。
方法通过\toclevel@<section>
包在宏中hyperref
配置书签级别\toclevel@chapter
:\toclevel@section
...
\def\toclevel@chapter{0}
\def\toclevel@section{1}
\def\toclevel@subsection{2}
\def\toclevel@subsubsection{3}
\def\toclevel@paragraph{4}
\def\toclevel@subparagraph{5}
...
这些宏可以重新定义:
\begin{appendices}
\makeatletter
\addtocontents{toc}{\let\protect\l@chapter\protect\l@section}
\def\toclevel@chapter{1}
\def\toclevel@section{2}
\def\toclevel@subsection{3}
% ... (add deeper levels if needed)
\makeatother
\chapter{Appendix1}
\chapter{Appendix2}
...
\end{appendices}
备注:您可以bookmark
同时使用该套件以hyperref
获取更快更新的书签和更多功能。
答案2
也许你正在寻找这样的内容:
\documentclass{report}
\usepackage{appendix,bookmark,xpatch}% http://ctan.org/pkg/{appendix,bookmark,xpatch}
\begin{document}
\tableofcontents
\chapter{A chapter}
\section{A section}
\chapter{Another chapter}
\section{A section}
\begin{appendices}
\makeatletter
\addappheadtotoc
\addtocontents{toc}{\let\protect\l@chapter\protect\l@section}
% \xpatchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\xpatchcmd{\Hy@org@chapter}{{toc}{chapter}}{{toc}{section}}{}{}%
\xpatchcmd{\Hy@org@chapter}{{toc}{chapter}}{{toc}{section}}{}{}%
\makeatother
\chapter{Appendix1}
\chapter{Appendix2}
...
\end{appendices}
\end{document}
缺失的拼图由xpatch
包裹。它用于修补\@chapter
存储在\Hy@org@chapter
(由hyperref
和/或bookmark
)。
本质上,该补丁将 ToC 条目从 更改chapter
为section
。
该解决方案适用于hyperref
和bookmark
。