这是一个后续问题分页后重新显示章节标题。Werner 的答案有效,但在titlesec
加载包时无效。是否有其他不冲突的解决方案titlesec
?
答案1
它几乎相同,但是不需要\patchcmd
;只需使用titlesec
的设施。
\documentclass{article}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{everyshi}% http://ctan.org/pkg/everyshi
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\titleformat{name=\section}
{\normalfont\bfseries\Large}
{\thesection}
{1em}
{\gdef\@section@title@{\thesection\quad#1 (continued)}#1}
\titleformat{name=\section,numberless}
{\normalfont\bfseries\Large}
{}
{0pt}
{\gdef\@section@title@{#1 (continued)}#1}
\titlespacing{\section}
{0pt}
{3ex plus 2ex minus 1ex}
{1ex plus .5ex minus .5ex}
\let\@section@title@\relax% Sectional heading storage
\def\print@section@title@{%
{\noindent\normalfont\bfseries\Large\@section@title@}\par\vspace{1ex plus .5ex minus .5ex}%
}
\EveryShipout{%
\ifdim\pagetotal>\pagegoal% There is content overflow on this page
\aftergroup\print@section@title@% Reprint/-insert sectional heading
\fi%
}
\makeatother
\begin{document}
\section{A section}\lipsum[1-6]
\subsection{A subsection}\lipsum[7-14]
\end{document}
的定义\print@section@title@
应该重现章节标题的格式。