我正在使用乳胶课程报告。
我找不到办法将一个章节标题同时放在页面中央和页面顶部。我尝试使用这方法,但我无法使用命令\chapter*
。你知道我该怎么做吗?
答案1
如果它只是一个章节的一个实例,您可以实施一个解决方案特别指定它能完成正常情况\chapter
下的所有操作:
- 在正确的一侧开始新的一页:
\cleardoublepage
- 以正确的方式增加章节计数器(适用于
\label
):\refstepcounter{chapter}
- 将该章节添加到目录中:
\addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}<title of chapter here>}
- 设置页码:
\chaptermark{<title of chapter here>}
report
之后,你就可以“手工”制作标题了。你可以从课堂上复制一些章节的风格:打开report.cls
(在 .log 文件上找到它的路径)并搜索命令的定义\@makechapterhead
。
我将所有内容放在下面的 MWE 中,并在 中做出定义\customchapter
。
\documentclass{report}
\usepackage{ifthen}
% a no numbered custom chapter
\newcommand{\nonumberchapter}[2][]{%
% handle optional short chapter title
\ifthenelse{\equal{#1}{}}%
{\def\customchapterShortTitle{#2}}%
{\def\customchapterShortTitle{#1}}%
% start a new page at correct side
\cleardoublepage
% providing an anchor for hyperref
\csname phantomsection\endcsname
% add chapter to Table of Contents
\addcontentsline{toc}{chapter}{\customchapterShortTitle}%
% set page marks
\chaptermark{\customchapterShortTitle}%
% draw chapter title
{\centering
% \vspace{20pt} % space before Chapter N
\Huge\bfseries #2\par\nobreak
\vspace{40pt}}}
% a custom chapter
\newcommand{\customchapter}[2][]{%
% handle optional short chapter title
\ifthenelse{\equal{#1}{}}%
{\def\customchapterShortTitle{#2}}%
{\def\customchapterShortTitle{#1}}%
% start a new page at correct side
\cleardoublepage
% providing an anchor for hyperref
\csname phantomsection\endcsname
% increment chapter counter the proper way
\refstepcounter{chapter}%
% add chapter to Table of Contents
\addcontentsline{toc}{chapter}{%
\protect\numberline{\thechapter}\customchapterShortTitle}%
% set page marks
\chaptermark{\customchapterShortTitle}%
% draw chapter title
{\centering
% \vspace{20pt} % space before Chapter N
\huge\bfseries Chapter \thechapter\par\nobreak
\vspace{20pt}%
\Huge #2\par\nobreak
\vspace{40pt}}}
\begin{document}
\tableofcontents
\chapter{A normal chapter}
Some text.
\customchapter{A custom chapter}
Some text.
\nonumberchapter{A custom nonumber chapter}
Some text.
\end{document}
编辑:在未编号版本之后也添加。
编辑2:添加了 \phantomsection 以便可以使用hyperref
。