章节和附录标题的不同格式样式

章节和附录标题的不同格式样式

我正在使用appendixtitlesec包来控制章节标题和格式。我想重新定义附录章节标题的外观:如何将附录标题样式定义为 (1) 右对齐、(2) 垂直居中和 (3) 单独出现在一页上?如何在不重新定义文档正文中章节标题外观的情况下实现此目的?

以下是 MWE:

\documentclass{article}
\usepackage[title,toc,titletoc]{appendix}
\usepackage{titlesec}
\newcommand{\sectionbreak}{\clearpage} % To make each section start on a new page
\usepackage{lipsum}

\begin{document}

\section{Section title}
\lipsum[4]

\begin{appendices}
\section{Appendix title}
\lipsum[4]
\end{appendices}

\end{document}

答案1

这是我尝试评论中的建议的结果,使用来自的选项appendix在附录之前创建页面。不幸的是,这并不像人们想象的那么简单……

作为第一步,文档建议page在加载类时添加选项可能会奏效。对于监控,我还添加了一个,\tableofcontents因为问题中的 MWE 建议这是需要的。

结果:

初步结果

这是因为appendix使用文档类的\part来生成附录页面并且article.cls不会为新的部分开始新的页面。

我以为这可能不是那么糟糕,因为titlesec可以重新定义\part以及其他部分划分。然而,这没有用。它对\part{}附录页面有效,但对附录页面无效。

我也尝试了和etoolbox。然而,结果却与 不兼容,而且无论如何都没有得到预期的结果。\apptocmd\pretocmdtitlesec

查看 的代码appendix.sty,发现文档有点误导。它所做的是使用“页面”的格式,它认为给定文档类时必须有该格式。如果有章节,它会发出\clearpage。否则,它不会发出 。

appendix不是,它看起来是为了灵活性而设计的。

然后我尝试重新定义\appendixpage以发出显式的\part*{}。 结合titlesec,这让我获得了正确的页面本身的格式。

遗憾的是,这对内容造成了严重破坏。附录不是一次性添加到内容中,而是添加了四次。

最后,我选择了蛮力破解的方法。首先,安装包:

\usepackage[title,toc,page]{appendix}

我们不使用,titletoc因为我们会自己添加。现在,重新定义用于创建页面的命令:

\renewcommand\appendixpage{\clearpage\thispagestyle{empty}\mbox{}\vfill\begin{flushright}\LARGE\bfseries\addappheadtotoc\appendixpagename\vfill\mbox{}\end{flushright}\clearpage}

这实际上完成了所有工作。\addappheadtotoc正在将附录内容添加到内容中。其余的只是格式化页面。您可以根据需要在此处调整格式。

为了使标题更加灵活,最好能够以与获取“附录 A 附录标题”相同的方式获取“附录 附录标题”之类的内容。为此,我们保存了\appendixpagename和的当前定义\appendixtocname

\let\oldappendixtocname\appendixtocname
\let\oldappendixpagename\appendixpagename

然后根据新\appendixtitle命令重新定义它们:

\renewcommand*\appendixtocname{\protect\large \oldappendixtocname\quad \appendixtitle}
\renewcommand*\appendixpagename{\oldappendixpagename\\\appendixtitle}

最后,创建新命令以使用占位符保存标题:

\newcommand*\appendixtitle{Title of Appendices}% title of appendices goes here

最后结果:

附录页

完整代码:

\documentclass{article}
\usepackage{titlesec}
% % wouldn't it be easier to use titlesec to do this rather than a manual intervention for each section? (Assuming that's what this is for)
\newcommand{\sectionbreak}{\clearpage} % To make each section start on a new page
\usepackage[title,toc,page]{appendix}
\renewcommand\appendixpage{\clearpage\thispagestyle{empty}\mbox{}\vfill\begin{flushright}\LARGE\bfseries\addappheadtotoc\appendixpagename\vfill\mbox{}\end{flushright}\clearpage}
\let\oldappendixtocname\appendixtocname
\let\oldappendixpagename\appendixpagename
\renewcommand*\appendixtocname{\protect\large \oldappendixtocname\quad \appendixtitle}
\renewcommand*\appendixpagename{\oldappendixpagename\\\appendixtitle}
\newcommand*\appendixtitle{Title of Appendices}% title of appendices goes here
\usepackage{lipsum}
\begin{document}
\tableofcontents

\section{Section title}
\lipsum[4]

\begin{appendices}
  \section{Appendix title}
  \lipsum[4]
\end{appendices}

\end{document}

答案2

那这个呢?

\documentclass{article}
\usepackage[title,toc,titletoc]{appendix}
\usepackage{titlesec}
\newcommand{\sectionbreak}{\clearpage} % To make each section start on a new page
\usepackage{lipsum}

\begin{document}

\section{Section title}
\lipsum[4]

\begin{appendices}
\titleformat{\section}[block]{\null\vfill\hfill}{\thesection}{2em}{}[\vfill\aftergroup\clearpage]
\section{Appendix title}
\lipsum[4]
\end{appendices}

\end{document}

这个想法是,您只能在组\titleformat内使用appendices来更改环境内的格式。附录之后的部分将正常格式化。

您可以在 后添加格式化命令来调整格式以满足您的需要\hfill

相关内容