在我正在编写的 LaTeX 报告中,我习惯\part{title of part}
将章节分成几部分。
这样就可以为每个指定部分提供不同的页面,\part
这正是我想要的。但如果我尝试在部分标题下添加文本,则会将其打印在下一页上。
是否可以将文本\part
直接放在页面上该部分的标题下?
谢谢 Christian。现在的部分页面看起来就像下面添加文本后的样子。唯一要做的就是尝试将文本稍微向上移动一点。
答案1
\newpage
命令末尾似乎有一个part
,必须是踢通过暂时放松,在一个群体中。
\documentclass{book}
\usepackage{etoolbox}
\usepackage{blindtext}
\makeatletter
\let\LaTeXStandardPart\part%
\newcommand{\unstarredpart@@noopt}[1]{%
\unstarredpart@@opt[#1]{#1}%
}%
\newcommand{\unstarredpart@@opt}[2][]{%
\cleardoublepage% (For clearing content before!!!)
\begingroup%
\let\newpage\relax%
\LaTeXStandardPart[#1]{#2}%
\endgroup%
}%
\newcommand{\starredpart}[1]{%
\LaTeXStandardPart*{#1}%
}%
\newcommand{\unstarredpart}{%
\@ifnextchar[{\unstarredpart@@opt}{\unstarredpart@@noopt}%
}%
\renewcommand{\part}{%
\@ifstar{\starredpart}{\unstarredpart}%
}%
\begin{document}
\part{Some part}%
\blindtext[10]
\chapter{First chapter}
\section{First section}%
\blindtext
\part{Other part}
\chapter{Other chapter}%
\end{document}
答案2
较少的代码xpatch
\documentclass{book}
\usepackage{xpatch}
\usepackage{blindtext}
\makeatletter
\xpatchcmd{\@endpart}{\vfil\newpage}{}{}{}
\xpatchcmd{\@endpart}{\newpage}{}{}{}
\makeatother
\begin{document}
\tableofcontents
\part{Some part}%
\blindtext[10]
\chapter{First chapter}
\section{First section}%
\blindtext
\part{Other part}
\chapter{Other chapter}%
\end{document}