分页后重新显示章节标题

分页后重新显示章节标题

我想在分页符后自动重复章节标题。我天真的尝试是检查页数计数器,并在计数器增加时打印额外的文本:

\newcounter{pagecnt}                                                                                                                                                      
\setcounter{pagecnt}{\value{page}}

...

\ifnum \value{page} > \value{pagecnt}% are we on a new page?
  \normalfont\Large\bfseries\sectionheadinghere% print heading again                                                                                                                                                                                                                                                                  
  \setcounter{pagecnt}{\value{page}}% reset counter                                                                                                                                         
\fi% 

但我不太确定什么应该“触发”此代码?是否可以或可取地在每次换行(或每个单词)后检查页面是否已翻转?

答案1

以下补丁(通过etoolbox)将部分内容(编号、标题和字体)保存在宏中,该宏在页面输出时重新评估(由everyshi)是否存在文本溢出。溢出是使用条件

\ifdim\pagetotal>\pagegoal
  % <do something>
\fi

检查收集的页面内容(高度\pagetotal)是否超出允许的总数(高度\pagegoal)。

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{everyshi}% http://ctan.org/pkg/everyshi
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\let\@section@title@\relax% Sectional heading storage
\patchcmd{\@sect}% <cmd>
  {\@xsect}% <search>
  {\gdef\@section@title@{% Store sectional heading
    {\noindent#6\@svsec#8\normalfont\ \smash{(continued)}}\par\bigskip}\@xsect}% <replace>
  {}{}% <success><failure>
\EveryShipout{%
  \ifdim\pagetotal>\pagegoal% There is content overflow on this page
    \aftergroup\@section@title@% Reprint/-insert sectional heading
  \fi%
}
\makeatother
\begin{document}
\section{A section}\lipsum[1-6]
\subsection{A subsection}\lipsum[7-14]
\end{document}

捕获了分区内容\@section@title@并包括使用的最新分区标题(从级别 1 =\section到级别 5 = 的任何内容\paragraph)。

定制包括仅使用具体的分段单元(例如\section)。此外,在传统使用分段标题后复制空格,而不是发出\bigskip

上述内容在标准 LaTeX 文档类(如bookarticlereport)的上下文中有效,如果在其他文档类中使用或与其他部分标题包结合使用,则可能需要进行额外的修改。

答案2

我认为您正在寻找页眉和页脚的定义。这可以通过以下软件包完成fancyhdr或者scrpage21.但是大多数文档类都定义了一些预定义的样式,这些样式可供命令使用\pagestyle。允许的参数包括:

  • empty-- 不打印页眉或页脚
  • plain-- 仅打印页码
  • headings-- 取决于类别。例如scrartcl将打印该部分。

1文档scrpage2位于 KOMA 手册中

这里有一个小例子:

\documentclass{scrartcl}
\usepackage{kantlipsum}
\pagestyle{headings}
\begin{document}
\section{My section}
\kant
\end{document}

相关内容