-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample29a-v4.tex
135 lines (100 loc) · 3.76 KB
/
example29a-v4.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
\documentclass{report}
\usepackage{lipsum}
\usepackage{boxedminipage}
\usepackage[a5paper]{geometry}
\usepackage{extramarks}[=v4]
\usepackage{afterpage}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{color, soul}
\newcommand{\LM}{\noindent\hl{Continued from previous page\ldots}\\[1ex]}
\newcommand{\setAP}{\afterpage{\firstxmark\setAP}}
\newcommand{\startAP}{\setAP\gdef\startAP{}}
\fancyhead[L]{Example 29a}
\fancyhead[R]{\rightmark}
\fancyfoot[R]{\lastxmark}
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrule}{}}
\newenvironment{continued}{%
\par\startAP
\extramarks{}{}%
\noindent\rule{\textwidth}{1mm}%
\extramarks{\LM}{Continued on next page\ldots}%
\\*\ignorespaces
}{%
\unskip\noindent\rule{\textwidth}{1mm}%
\extramarks{\LM}{}%
\extramarks{}{}\par
}
\begin{document}
\pagenumbering{roman}
\tableofcontents
\thispagestyle{plain}
\noindent
\begin{boxedminipage}{\textwidth}
\small
This is example 29a in the fancyhdr documentation.
\\[1ex]
\textbf{N.B.} This version uses the old \texttt{extramarks} package, where the subsection titles in the headers are sometimes incorrect. It demonstrates the unwanted interaction between the ``extra marks'' and the normal \LaTeX{} marks. See page~3 where the header is ``1.1. THE PROBLEM'', but it should be ``1.2. EVALUATION''.
\\[1ex]
It demonstrates the use of the \texttt{extramarks} package to implement
a ``Continued\ldots'' header/footer.
It defines a \texttt{continued} environment that puts \verb|\extramarks| commands around its body to force the proper header and footer when the body crosses a page boundary, and empty ones when it doesn't cross them.
In this example, the text ``Continued from previous page\ldots'' is not put in the page header, but on the top of the page body. The page header is used for normal headers. This is done by using an \verb|\afterpage| to place it there. The text that \verb|\afterpage| has to put there is put in the mark (\verb|\firstxmark|). To make it a bit more dramatic, we also highlight that text.
\begin{verbatim}
\newcommand{\LM}{\noindent
Continued from previous page\ldots\\[1ex]}
\newcommand{\setAP}{\afterpage{\firstxmark\setAP}}
\newcommand{\startAP}{\setAP\gdef\startAP{}}
\fancyhead[L]{Example 29a}
\fancyhead[R]{\rightmark}
\fancyfoot[R]{\lastxmark}
\fancypagestyle{plain}{
\fancyhead{}\renewcommand{\headrule}{}}
\newenvironment{continued}{%
\par\startAP
\extramarks{}{}%
\noindent\rule{\textwidth}{1mm}%
\extramarks{\LM}{Continued on next page\ldots}%
\\*\ignorespaces
}{%
\unskip\noindent\rule{\textwidth}{1mm}%
\extramarks{\LM}{}%
\extramarks{}{}\par
}
\end{verbatim}
\end{boxedminipage}
\pagestyle{fancy}
\newpage
\pagenumbering{arabic}
\chapter{Introduction}
\lipsum[1-4]
\section{The Problem}
\label{sec:problem}
\begin{continued}
\textbf{We want to indicate that this block of text belongs together, with
`Continued' in header and footer.}
\textit{This block crosses one page boundary.}
\lipsum[2]
\textbf{Here ends the block of text that belongs together.}\\
\end{continued}
\section{Evaluation}
\lipsum[3-6]
\begin{continued}
\textbf{We want to indicate that this block of text belongs together, with
`Continued' in header and footer.}
\textit{This block crosses several page boundaries.}
\lipsum[2-7]
\textbf{Here ends the block of text that belongs together.}\\
\end{continued}
\chapter{Another chapter}
\label{cha:another-chapter}
\lipsum[2]
\begin{continued}
\textbf{We want to indicate that this block of text belongs together, with
`Continued' in header and footer if it crosses a page boundary.}
\textit{This block stays within a page. Therefore no header/footer.}
\textbf{Here ends the block of text that belongs together.}\\
\end{continued}
\section{Another section}
\lipsum[3-4]
\end{document}