这是如何为附录添加封面?。此截图显示了学校的要求。
这个最小的例子来自 Ruben 对上一个问题的解决方案:
\documentclass[12pt,letterpaper,oneside]{book}
\usepackage[toc,page]{appendix}
\usepackage{lipsum}
\makeatletter
\def\@makeappendixhead#1{%
\null\vfill%
{\parindent \z@ \centering \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\MakeUppercase \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
#1\par\nobreak
\vfill
\clearpage
}}
\g@addto@macro\appendices{\let\@makechapterhead\@makeappendixhead}
\makeatother
\begin{document}
\tableofcontents
\chapter{No Appendix}
\lipsum
\begin{appendices}
\chapter{One}
\lipsum
\end{appendices}
\end{document}
从 Ruben 的解决方案来看,唯一缺少的是主要的附录标题(屏幕截图中的第 29 页)应该是大写并采用正常大小的字体(而不是像现在这样巨大而粗体)。
我目前的理解是:
附录包手册第 7 页显示了这段似乎正在格式化 appendixpagename 的代码,
\newcommand{\@chap@pppage}{%
\clear@ppage
\thispagestyle{plain}%
\if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
\null\vfil
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\Huge \bfseries \appendixpagename\par}%
最后一行似乎用于格式化。似乎删除\Huge
\bfseries
并添加\MakeUpperCase
应该可以做到这一点,但我该如何包装代码以将其添加到 tex 文档中?
或者也许整个方法都是错误的。请指教!
答案1
您需要的是\renewcommand
。顾名思义,这是用于重新定义现有宏,在本例中为。在和\@chap@pppage
之间添加到您的序言中\makeatletter
\makeatother
\renewcommand{\@chap@pppage}{%
\clear@ppage
\thispagestyle{plain}%
\if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
\null\vfil
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\MakeUppercase \appendixpagename\par}%
\if@dotoc@pp
\addappheadtotoc
\fi
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi
}
这是完整的(您在问题中只包含了其中的一部分)旧定义\@chap@pppage
,除了与\Huge \bfseries
互换之外\MakeUppercase
,正如您自己所说。
如果您不希望附录的起始页出现在目录中,请toc
从appendix
包中删除该选项。如果您想要目录条目但不想要页码,请\noappendicestocpagenum
在加载后添加到序言中appendix
。完整代码:
\documentclass[12pt,letterpaper,oneside]{book}
\usepackage[toc,page]{appendix}
\noappendicestocpagenum
\usepackage{lipsum}
\makeatletter
\def\@makeappendixhead#1{%
\null\vfill%
{\parindent \z@ \centering \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\MakeUppercase \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
#1\par\nobreak
\vfill
\clearpage
}}
\g@addto@macro\appendices{\let\@makechapterhead\@makeappendixhead}
\renewcommand{\@chap@pppage}{%
\clear@ppage
\thispagestyle{plain}%
\if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
\null\vfil
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\MakeUppercase \appendixpagename\par}%
\if@dotoc@pp
\addappheadtotoc
\fi
\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi
}
\makeatother
\begin{document}
\tableofcontents
\chapter{No Appendix}
\lipsum
%\addtocontents{toc}{\bigskip\scshape Appendices \hfill \par}
\begin{appendices}
\chapter{One}
\lipsum
\end{appendices}
\end{document}