18.3. Definition of Simple Page Styles with Three Parts in Head and Foot
Beside predefined page styles and the definition of new pairs of page styles, package
scrlayer-scrpage also provides the definition of page styles with three parts in head and foot.
But this user interface exists for compatibility with scrpage2 only. However, it has been ex-
tended beyond the functionality of scrpage2 to provide a more consistent set of commands.
Nevertheless, for new documents it is recommended to instead use the advanced features
described in the previous section.
\deftriplepagestyle{name of the page style }
[thickness of the outer line ][thickness of the inner line ]
{inner head element }{centre head element }{outer head element }
{inner foot element }{centre foot element }{outer foot element }
\newtriplepagestyle{name of the page style }
[thickness of the outer linen ][thickness of the inner linen ]
{inner head element }{centre head element }{outer head element }
{inner foot element }{centre foot element }{outer foot element }
\renewtriplepagestyle{name of the page style }
[thickness of the outer line ][thickness of the inner line ]
{inner head element }{centre head element }{outer head element }
{inner foot element }{centre foot element }{outer foot element }
\providetriplepagestyle{name of the page style }
[thickness of the outer line ][thickness of the inner line ]
{inner head element }{centre head element }{outer head element }
{inner foot element }{centre foot element }{outer foot element }
With these commands you can define a single page style, whose head and foot are parted into
three elements: an inner element, a centre element, and an outer element. The contents of
the elements are stated via three mandatory arguments for the head and three mandatory
arguments for the foot.
Each of the two inner elements will be printed right aligned on left pages and left aligned
on right pages. The centre elements will be printed centred in the head respectively foot of
left and right pages. Each of the two outer elements will be printed left aligned on left pages
and right aligned on right pages.
Please note once again: There are only right pages in single side layout!
The two optional arguments can be used to activate horizontal lines in the head and foot of
the page style. To do so, you put the wanted thickness of the line as an optional argument.
The first optional argument is the thickness of the outer line in both, the page head
and footer. In the page head it will be printed above the head contents. In the page footer it
will be printed below the foot contents. The second optional argument is the thickness of
the inner line
. This will be printed below the page head and additionally above the page
footer. If you have only one optional argument, this is the thickness of the inner line .
367
Chapter 18.
outer−→
←−inner
←−centre−→
inner−→
←−outer
←−centre−→
inner head element
centre head element
outer head element
6
6
6
6
6
6
outer−→
←−inner
←−centre−→
inner−→
←−outer
←−centre−→
inner foot element
centre foot element
outer foot element
?
?
?
?
?
?
6
6
?
?
thickness of the inner lines
-
-
thickness of the outer lines
Figure 18.1.: Schematic double page with the elements of a tripartite page style of com-
mands \deftriplepagestyle, \newtriplepagestyle, \providetriplepagestyle, and
\renewtriplepagestyle
In this case no outer line will be printed. And if you omit both optional arguments, both lines
will be omitted.
Please note, an empty optional argument is not the same like omitting the optional argu-
ment! Empty optional arguments are not allowed in this case. But you may use simple dimen-
sion expressions as explained for KOMA-Script option headwidth (see
section 5.5
,
page 225
)
for the optional arguments.
Figure 18.1
shows a sketch for the interpretation of the arguments on a schematic double
page. Thereby “outer”, “inner”, and “centre” are example contents. The corresponding
arrows illustrate the expansion of those contents. The coloured texts inside the pages are only
the names of the arguments of these commands. The related arrows in the same colour point
to the corresponding elements of the page.
Using the described commands it is not possible to draw only a single line, e. g., only below
the page head but not above the page footer. If you need to do so, please consult the previous
or following section.
The length of a single element is not limited by the existence of a neighbour element. So
in unfortunate circumstances it can happen that one elements overwrites a neighbour element
or even both of them. The user himself is responsible to avoid such inappropriate usage.
With automatic running heads this could, e. g., be done using the optional argument of the
368
Chapter 18.
section commands. See the manual of the document class for more information about those
commands.
Command \deftriplepagestyle defines a page style independent from whether or not
a page style with the same name of the page style already exists. In difference to this
\newtriplepagestyle
and \providetriplepagestyle define the page style only, if the
name of the page style
is not the name of an already defined page style. Otherwise
\providepagestyle
simply does nothing, but \newtriplepagestyle throws an error. Com-
mand \renewtriplepagestyle is something like the opposite of \newtriplepagestyle. It
throws an error, if there has not been a page style with the name of the page style before,
and defines the page style only, if there has been already a page style with the given name.
The command \deftriplestyle of scrpage2 corresponds to \deftriplepagestyle. Be-
cause of unification reasons it has been renamed and should not be used with it’s old name
any longer. Using the old name would result in a warning message. Nevertheless, the result
would be the expected one.
18.4. Definition of Complex Page Styles
Beside predefined page styles, the definition of new pairs of page styles and the deprecated
definition of page styles with tripartite head and foot, the package scrlayer-scrpage additionally
provides basic features to define new page styles. All already described page style definitions
of scrlayer-scrpage use internally these basic features. Because of the complexity of this user
interface it is recommended for advanced users only. As all most all imaginable use cases of
page styles can handled using the features described previous section, less advanced users may
skip this section.
\defpagestyle{name }{head specification }{foot specification }
\newpagestyle{name }{head specification }{foot specification }
\providepagestyle{name }{head specification }{foot specification }
\renewpagestyle{name }{head specification }{foot specification }
These commands can be used to define a single page style with maximum flexibility. Thereby
name
is the name of the page style that should be defined.
The arguments head specification and foot specification have identical structure:
(length of the line above ,thickness of the line above )%
{specification for the left page in two-side layout }%
{specification for the right page in two-side layout }%
{specification for all pages in one-side laypout }%
(length of the line below ,thickness of the line below )
The arguments in the round brackets are options. This means, you may omit them together
with the brackets. In that case, the length and thickness of the corresponding horizontal line
369
Chapter 18.
Table 18.1.: The layers scrlayer-scrpage defines to a page style name
Name of the layer
Meaning of the layer
Name .head.above.line
horizontal line above the page head
Name .head.odd
page head of odd pages in two-side layout
Name .head.even
page head of even pages in two-side layout
Name .head.oneside
page head in single-side layout
Name .head.below.line
horizontal line below the page head
Name .foot.above.line
horizontal line above the page foot
Name .foot.odd
page foot of odd pages in two-side layout
Name .foot.even
page foot of even pages in two-side layout
Name .foot.oneside
page foot in single-side layout
Name .foot.below.line
horizontal line below the page foot
would be given by the KOMA-Script options headtopline, headsepline, footsepline or
footbotline
(see
section 5.5
,
page 226
).
All three arguments in the curly brackets are mandatory. They hold arbitrary content
specifications depending on the page and the layout settings. But for page styles with running
heads usage of \headmark, \leftmark, or \rightmark is recommended inside the specification.
Section numbers or section headings must not be used in the specifications. Due to the
asynchronous page building of L
A
TEX, using them could result in wrong numbers or texts in
the page header or footer.
Command \defpagestyle defines the page style no matter if a page style with the same
name
already exists. Command \newpagestyle would throw an error, if such a page style
already exists. In contrast to this, \providepagestyle simple does nothing in such a case. In
contrast to \newpagestyle command \renewpagestyle throws an error, if a page style with
the name does not already exist, and therefore may be used to redefine an existing page style.
All these commands are based on the command \DeclarePageStyleByLayers of package
scrlayer.
Table 18.1
shows the layers that are defined for a page style name . More information
about layers and layer page styles can be found starting on
page 335
in
chapter 17
of
part II
.
Example: Assume you want to colour the whole background of page style scrheadings’ head.
Because you read the introduction to this chapter, you know, that scrheadings
last but not least is a layer page style with, e. g., layers scrheadings.head.even,
scrheadings.head.odd
, and scrheadings.head.oneside. So you define three
more layers for the backgrounds and add them at the very beginning of the page
style:
\documentclass{scrartcl}
\ usepackage[automark]{scrlayer-scrpage}
370
Chapter 18.
\usepackage{xcolor}
\usepackage{blindtext}
\DeclareLayer[clone=scrheadings.head.oneside,
contents={%
\color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}%
}%
]{scrheadings.head.oneside.background}
\DeclareLayer[clone=scrheadings.head.odd,
contents={%
\color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}%
}%
]{scrheadings.head.odd.background}
\DeclareLayer[clone=scrheadings.head.even,
contents={%
\color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}%
}%
]{scrheadings.head.even.background}
\AddLayersAtBeginOfPageStyle{scrheadings}{%
scrheadings.head.oneside.background,%
scrheadings.head.odd.background,%
scrheadings.head.even.background%
}
\pagestyle{scrheadings}
\ begin{document}
\blinddocument
\end{document}
As you can see, the example uses three layers, so the position and size of that
background layers may simply be copied from the corresponding head layer using
option clone. This is much easier than using only one background layer and
dynamically calculate the position time by time.
In this example the coloured background is printed using a \rule command. The
size arguments of this \rule are given by \layerwidth and \layerheight which
contain the current width and height of the layer itself. The optional argument of
\rule
is used to move the rule down by the height of a descender.
Instead of using new layers to colour the background in the example above, \colorbox and
\chead
could have been used. It is recommended to build such a solution as an exercise.
Another approach could be to add the background layers one by one and just before the
contents layers. You may do this as an exercise too.
hmode=simple switch
Package scrpage2 outputs page heads and page foots in horizontal mode always. In opposite
to this scrlayer-scrpage does not switch into horizontal mode itself, but the output of horizontal
371
Chapter 18.
material will do so. Nevertheless, you can activate option hmode gain compatibility to scrpage2
in this aspect. But this would have side effects, i. e., white spaces at the start of the output
or the vertical alignment of the output.
The options allows for the standard values for simple switches that are given at
table 2.5
on
page 38
. The option is deactivated by default.
372
Chapter 19.
Note Columns with scrlayer-notecolumn
Up to version 3.11b KOMA-Script supported note columns only by marginal notes that get
their contents from \marginpar and \marginline (see
section 3.21
,
page 131
). This kind of
note columns has several disadvantages:
• Marginal notes can be output only completely on one page. Page breaks inside marginal
notes are not possible. Sometimes this results in margin notes located close to the lower
page margin.
• Marginal notes near page breaks sometimes float to the next page and then in case of two-
sided layout with alternating marginal notes can be output at the wrong margin.. This
problem can be solved by additional packages like mparhack or usage of \marginnote
provided by package marginnote.
• Marginal notes inside floating environments or footnotes are not possible. This problem
can be solved using \marginnote of package marginnote, too.
• There is only one marginal note column or at most two, if you work
with \reversemarginpar and \normalmarginpar.
You should know, that
\reversemarginpar
is of less usability on two-sided documents.
Usage of marginnote results in one more problem. Because the package does not have any
collision detection, marginal notes that are set near to each other can partially or totally
overlap. Moreover, usage of \marginnote sometimes and depending on the used settings can
result in changes of the baseline distance of the normal text.
Package scrlayer-notecolumn should solve all these problems. To do so, it uses the basic
functionality of scrlayer. Nevertheless, there is a disadvantage of using this package: Notes
can be output only on pages that use a scrlayer based page style. This disadvantage may be
easily resolved and maybe changed into an advantage using scrlayer-scrpage.
19.1. Note about the State of Development
Originally the package has been made as a so called proof of concept to demonstrate the
potential of scrlayer. Despite the fact that it currently is in a very early state of development,
the stability of most parts is less a question of scrlayer-notecolumn but of scrlayer. Nevertheless
it is assumed that there are still bugs in scrlayer-notecolumn. You are welcome to report such
bugs whenever you find one. Some of the disabilities are caused by minimisation of complexity.
As an example note columns can break to several pages, but there is not a new line break of
the paragraphs. TEX itself does not provide this.
Because the package is more experimental, the user manual belongs to the second part of
the KOMA-Script manual, recommended for experienced users. If you are a beginner or a user
373
Chapter 19.
on the way to become an expert, some explanations could be ambiguous or incomprehensible.
Please understand that I try to minimise the effort in time and work for the manual of an
experimental package.
19.2. Early or late Selection of Options
All of what is described in
section 2.4
is generally applicable.
19.3. Declaration of new Note Columns
Loading the package already declares a note column named marginpar automatically. The
name already adumbrates that this note column is placed in the area of the normal marginal
note column used by \marginpar and \marginline. It even recognises the setting of
\reversemarginpar
and \normalmarginpar page by page instead of note by note. So these
switches are irrelevant when the user defines a note but relevant when the package outputs
the note during L
A
TEX’s page building. If you want to use notes at the left and at the right
margin within one page, you should declare at least one more note column.
The default settings for every newly declared note column is the same like that of the
predefined marginpar. But you can easily change them during declaration.
You should note that note columns can be output only on pages that use a page style
made with package scrlayer. Package scrlayer-notecolumn automatically loads scrlayer, which
by default provides only page style empty. If you need additional page styles, the use of
scrlayer-scrpage is recommended.
\DeclareNoteColumn[option list ]{note column name }
\DeclareNewNoteColumn[option list ]{note column name }
\ProvideNoteColumn[option list ]{note column name }
\RedeclareNoteColumn[option list ]{note column name }
These commands can be used to declare note columns. \DeclareNoteColumn declares the
note column independent of whether or not they already exist. \DeclareNewNoteColumn
throws an error message if note column name has already been used for another note column.
\ProvideNoteColumn
simply does nothing in the same case. \RedeclareNoteColumn can be
used only to declare an already existing note column again.
By the way: Already existing notes of a already existing note column are not lost if you
re-declare it using \DeclareNoteColumn or \RedeclareNoteColumn.
Declaring a new note column does also define a new element of which you can change the
font attributes using \setkomafont and \addtokomafont if such a element does not already
exist. The name of the new element is notecolumn.note column name . Because of this
the predefined note column marginnote has a element notecolumn.marginpar. The initial
setting of the element’s font can be done using option font as part of the option list .
374
Chapter 19.
The option list is a comma separated list of keys with or without values, also known as
options. The available options are shown in
table 19.1
. Option marginpar is set by default.
But you can overwrite this default with your individual settings.
Because note columns are implemented using scrlayer, each note column also defines a layer.
The name of the layer is the same as the name of the element, notecolumn.note column
name
. For more information about layers see
section 17.4
, from
page 337
.
Example: Assuming, you are a German professor of weird rights and like to write a paper
about the new “Gesetz über die ausgelassene Verbreitung allgemeiner Späße e”,
GüdaVaS. The main focus of the work should consist of comments to each section.
So you use a two-columned layout. The comments would be the main text in the
main column. The sections should be placed in a smaller note column on the right
side of the main column using a smaller font and a different colour.
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}
\usepackage[T1]{fontenc}
\ usepackage{lmodern}
\usepackage{xcolor}
\usepackage{scrjura}
\setkomafont{contract.Clause}{\bfseries}
\setkeys{contract}{preskip=-\dp\strutbox}
\usepackage{scrlayer-scrpage}
\usepackage{scrlayer-notecolumn}
\newlength{\paragraphscolwidth}
\AfterCalculatingTypearea{%
\setlength{\paragraphscolwidth}{%
.333\textwidth}%
\addtolength{\paragraphscolwidth}{%
-\marginparsep}%
}
\recalctypearea
\ DeclareNewNoteColumn[ %
position=\oddsidemargin+1in
+.667\textwidth
+\marginparsep,
width=\paragraphscolwidth,
375
Chapter 19.
Table 19.1.: Options for the declaration of note columns
font=font declaration
The initial font attributes to be used for the note column. Everything, that is allowed
to be set by \setkomafont or \addtokomafont can be used as font declaration
(see
section 3.6
,
page 53
). Note that \normalfont\normalsize will be used before.
So you don’t need one of them at your own initialisation.
Default: empty
marginpar
Sets up position and width to use the marginal note column of \marginpar. Note
that this option does not expect or allow any value.
Default: yes
normalmarginpar
Sets up position and width to use the normal marginal note column and ignore
\reversemarginpar
and \normalmarginpar. Note that this option does not expect
or allow any value.
Default: no
position=offset
Sets up the horizontal offset of the note column from the left edge of the paper. The
horizontal offset
can be either a L
A
TEX length, a TEX dimension, a TEX skip, a
length value, or a dimensional expression using +, -, *, / and parenthesis (see [
Tea98
,
section 3.5] for more information about dimensional expressions). The value will be
calculated at usage time not at definition time.
Default: by option marginpar
reversemarginpar
Sets up position and width to use the reverse marginal note column and ignore
\reversemarginpar
and \normalmarginpar. Note that this option does not expect
or allow any value.
Default: no
width=length
Sets up the horizontal size of the note column. You can use the same values for size
like for offset of option position.
Default: by option marginpar
376
Chapter 19.
font=\raggedright\footnotesize
\color{blue}
]{paragraphs}
The paper should be a single-sided article. The German language (new spelling)
is selected with package babel. The input encoding is selected and detected with
package selinput automatically. The font is Latin Modern in 8-bit coding. The
colour selection uses package xcolor.
For usage of package scrjura to typeset laws and contracts see the German manual
of that package.
Next package scrlayer-notecolumn is loaded. The required width of the note column
is calculated within \AfterCalculatingTypearea after package typearea’s each
new calculation of the typing area. It should be one third of the typing area minus
the distance between the main text and the note column.
With all this information we define the new note column. For the positions we
simply use a dimension expression. Doing so, we have to note that \oddsidemargin
is not the total left margin but for historical reasons the left margin minus 1 inch.
So we have to add this value.
That is all of the declaration. But we have to note that currently the note column
would be output inside the typing area. This means that the note column would
overwrite the text.
\begin{document}
\title{Kommentar zum GüdaVaS}
\author{Professor R. O. Tenase}
\date{11.\,11.~2011}
\maketitle
\tableofcontents
\section{Vormerkung}
Das GüdaVaS ist ohne jeden Zweifel das wichtigste
Gesetz, das in Spaßmanien in den letzten eintausend
Jahren verabschiedet wurde. Die erste Lesung fand
bereits am 11.\,11.~1111 im obersten spaßmanischen
Kongress statt, wurde aber vom damaligen Spaßvesier
abgelehnt. Erst nach Umwandlung der spaßmanischen,
aberwitzigen Monarchie in eine repräsentative,
witzige Monarchie durch W. Itzbold,
den Urkomischen, am 9.\,9.~1999 war der Weg für
dieses Gesetz endlich frei.
Because the text area has not been reduced, the preamble is output with the whole
377
Chapter 19.
width of the typing area. To test this, you can temporarily add:
\end{document}
Until now, the example does not give any answer to the question, how the text of the comments
will be printed with a smaller width. You will find this in the continuation of the example
below.
19.4. Making a Note
After having declared a note column, we can make notes for this column. But these notes will
not be output immediately. Instead of this, they are written into a helper file with extension
“.slnc”. If you want to know the exactly workout: First they are written to the aux-file
and while reading the aux-file inside of \end{document} they will be copied to the slnc-file.
Thereby setting of \nofiles will be respected. At the next L
A
TEX run, the helper file will be
read step by step depending on the progress of the document and at the end of the page the
note will be output.
But you should note that note columns are output only in pages with a page style of
package scrlayer. This package will be loaded by scrlayer-notecolumn automatically and by
default provides only one page style, empty. Usage of additional package scrlayer-scrpage is
recommended, if you need more page styles.
\makenote[note column name ]{note }
This command may be used to make a new note . The current vertical position is used
as the vertical position of the start of the note . The horizontal position depends only on
the defined position of the note column. To work correct, the package needs \pdfsavepos,
\pdflastypos
, and \pdfpageheight. Without these primitives scrlayer-notecolumn cannot be
used. The primitives should act exactly as they would using PDFTEX.
However, if the package recognises a collision with the output of a former note , then the
new note will be delayed until the end of the former note . If the note does not fit into the
page, it will be moved at whole or only at part to the next page.
The optional argument note column name determines which note column should be used
for the note . The predefined note column marginpar is used, if the optional argument is
omitted.
Example: Let’s add a commented section into the example of the previous section. The
section itself is put into the note column:
\section{Analyse}
\begin{addmargin}[0pt]{.333\textwidth}
\makenote[paragraphs]{%
\protect\begin{contract}
\protect\Clause{%
378
Chapter 19.
title={Kein Witz ohne Publikum}%
}
Ein Witz kann nur dort witzig sein, wo er
auf ein Publikum trifft.
\protect\end{contract}%
}
Dies ist eine der zentralsten Aussagen des
Gesetzes. Sie ist derart elementar, dass es
durchaus angebracht ist, sich vor der Weisheit
der Verfasser zu verbeugen.
Environment addmargin, which is described in
section 3.18
,
page 112
, is used to
reduce the width of the main text by the width of the section column.
Here you can see one of the few problems of using \makenote. Because the manda-
tory argument will be written into a helper file, commands inside this argument
unfortunately can break. To avoid this, it is recommended to use \protect in front
of all commands that should not expand while writing the helper file. Otherwise
using a command inside this argument could result in an error message.
In principle you could finish this example already with:
\end{addmargin}
\end{document}
to see a first result.
If you’ll test this example, you will see that the paragraphs column is longer than the com-
ment. If you would add one more paragraph with one more section and comment, you may
have the problem, that the new command will be put immediately after the comment above
and not after the section. So the new section would move away from the corresponding com-
ment. Next we will get a solution of this problem.
\syncwithnotecolumn[note column name ]
This command adds a synchronisation point into the note column and into the main text of
the document. Whenever a synchronisation point is found while output of a note column or
the main text, a mark will be generated that consists of the current page and the current
vertical position.
Together with the generation of synchronisation points it is recognised whether a mark has
been set into the note column or the main text while the previous L
A
TEX run. If so, the values
will be compared. If the mark of the note column is lower at the current page or on a later
page, the main text will be moved down to the position of the mark.
It is recommended to use synchronisation points not inside paragraphs of the main text
but only between paragraphs. If you use \syncwithnotecolumn inside a paragraph, the
379
Chapter 19.
synchronisation point will be delayed until the current line has been output. This behaviour
is similar to the usage of, e. g., \vspace.
Because recognition of synchronisation points can be done first at the next L
A
TEX run,,
the mechanism needs at least three L
A
TEX runs. Because of the new synchronisation later
synchronisation points may be moved. This would result in the need of additional L
A
TEX runs.
You should have a look at the message: “L
A
TEX Warning: Label(s) may have changed. Rerun
to get cross-references right.”to find out whether or not additional L
A
TEX runs are needed.
If you do not use the optional argument, the predefined note column marginpar will be used.
Please note, an empty optional argument is not the same as omitting the optional argument!
You must not use \syncwithnotecolumn inside a note itself, this means inside the manda-
tory Argument of \makenote! Currently the package cannot recognise such a mistake and
would result in synchronisation point movement at each L
A
TEX run. So the process will never
terminate. So synchronise two or more note columns, you have to synchronise each of them
with the main text. The recommended command for this will be described next.
Example: Let’s extend the example above, now by adding a synchronisation point and one
more section with one more comment:
\syncwithnotecolumn[paragraphs]\bigskip
\makenote[paragraphs]{%
\protect\begin{contract}
\protect\Clause{title={Komik der Kultur}}
\setcounter{par}{0}%
Die Komik eines Witzes kann durch das
kulturelle Umfeld, in dem er erzählt wird,
bestimmt sein.
Die Komik eines Witzes kann durch das
kulturelle Umfeld, in dem er spielt,
bestimmt sein.
\protect\end{contract}
}
Die kulturelle Komponente eines Witzes ist
tatsächlich nicht zu vernachlässigen. Über die
politische Korrektheit der Nutzung des
kulturellen Umfeldes kann zwar trefflich
gestritten werden, nichtsdestotrotz ist die
Treffsicherheit einer solchen Komik im
entsprechenden Umfeld frappierend. Auf der
anderen Seite kann ein vermeintlicher Witz im
falschen kulturellen Umfeld auch zu einer
echten Gefahr für den Witzeerzähler werden.
Beside the synchronisation point a vertical distance is added by \bigskip to better
separate the section and the corresponding comments.
380
Chapter 19.
Again, one more potential problem is shown. Because the note columns uses boxes,
that are build and split, counters inside note columns can sometimes jitter. In the
example the first paragraph would be numbered 2 instead of 1. This can easily be
fixed by a courageous reset of the counter.
Now, the example is almost finished. You just have to finish the environments:
\end{addmargin}
\end{document}
In fact, all other section of the law should also be commented. But let us focus on
the main purpose.
But stop! What, if the section in the paragraphs note column wouldn’t fit to the last page?
Would it be output on the next pages? We will answer this question in the next paragraph.
\syncwithnotecolumns[list of note column names ]
This command will synchronise the main text with all note columns of the comma-separated
list of note column names
. To do so, the main text will be synchronised with the note
column, that have the mark closest to the end of the document. As a side effect the note
columns will be synchronised with each other.
If the optional argument is omitted or empty (or begins with \relax), synchronisation will
be done with all currently declared note columns.
19.5. Force Output of Note Columns
Sometimes it is necessary to have not only the normal note column output but to be able to
output all notes that haven’t been output already. An example for this effort could be that
large notes result in moving lots of notes to new pages. A good occasion to force the output
could be the end of a chapter or the end of the document.
\clearnotecolumn[note column name ]
This command can be used to force the output of all notes of a selected note column that
haven’t been output until the end of the current page, but has been made in this page or
previous pages. To force the output empty pages will be generated. During the output of the
delayed notes of the selected note column, notes of other note columns are also output, but
only as long as there are still delayed notes of the selected note column.
During the output of the delayed notes, notes may be output by mistake that have been
placed to one of the inserted empty pages in the previous L
A
TEX run. This will be solved
automatically by one of the next L
A
TEX runs. You can realise such movement of notes by the
message: “L
A
TEX Warning: Label(s) may have changed. Rerun to get cross-references right.”
381
Chapter 19.
The note column related to the output, is given by the optional argument, note column
name
. If this argument is omitted, the notes of the predefined note column marginpar will be
output.
Attentive readers will have noticed that the forced output is something similar to the syn-
chronisation. But if the forced output really results in an output you will be at the start of
a new page and not just at the end of the output afterwards. Nevertheless, a forced output
terminates with less L
A
TEX runs.
\clearnotecolumns[ list of note column names ]
This command is similar to \clearnotecolumns with the difference that the optional argu-
ment is not only the name of one note column but a comma-separated list of note column
names
. It forces the output of the notes of all these note columns.
If you omit the optional argument, all delayed notes of all note columns will be output.
autoclearnotecolumns=simple switch
Usually you would like to force the output of notes whenever a document implicitly — e. g.
because of a \chapter command — or explicitly executes \clearpage. Note that this is also
the case at the end of the document inside \end{document}. Option autoclearnotecolumns
manages whether or not \clearpage should also executes \clearnotecolumns without any
optional argument.
According to the author’s preference the option is active by default. But you can change
this with proper values for simple switches (see
table 2.5
,
page 38
) at any time.
You should note, that deactivation of the option can result in lost notes at the end of the
document. So you should insert \clearnotecolumns before \end{document} if you deactivate
the option.
This should answer the question from the end of the last section. By default the section
would be output even if it would need the output of one more page. But because this would be
done after the end of the addmargin environment, the forced output could overlap with main
text after that environment. So it would be useful to either add one more synchronisation
point or to force the output explicitly immediately at the end of the addmargin environment.
The result of the example is shown in
figure 19.1
.
382
Chapter 19.
Figure 19.1.: An example page to the example of
this chapter
Kommentar zum GüdaVaS
Professor R. O. Tenase
11. 11. 2011
Inhaltsverzeichnis
1 Vormerkung
1
2 Analyse
1
1 Vormerkung
Das GüdaVaS ist ohne jeden Zweifel das wichtigste Gesetz, das in Spaßmaniern in den let-
zten eintausend Jahren verabschiedet wurde. Die erste Lesung fand bereits am 11. 11 1111
im obersten spaßmanischen Kongress statt, wurde aber vom damalige Spaßvesier abgelehnt.
Erst nach Umwandlung der spaßmanischen, aberwitzigen Monarchie in eine repräsenta-
tive, witzige Monarchie durch W. Itzbold, den urkomischen, am 9. 9. 1999 war der Weg
für dieses Gesetz endlich frei.
2 Analyse
Dies ist eine der zentralsten Aussagen des Gesetzes. Sie ist
derart elementar, dass es durchaus angebracht ist, sich vor
der Weisheit der Verfasser zu verbeugen.
Die kulturelle Komponente eines Witzes ist tatsächlich
nicht zu vernachlässigen. Über die politische Korrektheit
der Nutzung des kulturellen Umfeldes kann zwar trefflich
gestritten werden, nichtsdestotrotz ist die Treffsicherheit
einer solchen Komik im entsprechenden Umfeld frappierend.
Auf der anderen Seite kann ein vermeintlicher Witz im
falschen kulturellen Umfeld auch zu einer echten Gefahr
für den Witzeerzähler werden.
Dostları ilə paylaş: |