Note: This document is a translation of the German koma script manual


 Definition of Simple Page Styles with Three Parts in Head and Foot



Yüklə 2,49 Mb.
Pdf görüntüsü
səhifə32/47
tarix03.02.2017
ölçüsü2,49 Mb.
#7438
1   ...   28   29   30   31   32   33   34   35   ...   47

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.




Yüklə 2,49 Mb.

Dostları ilə paylaş:
1   ...   28   29   30   31   32   33   34   35   ...   47




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin