<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to HowTo_HeaderSeparateNumberText</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_HeaderSeparateNumberText/</link><description>Recent changes to HowTo_HeaderSeparateNumberText</description><atom:link href="https://sourceforge.net/p/koma-script/wiki-de/HowTo_HeaderSeparateNumberText/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 03 Jun 2025 06:45:18 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/koma-script/wiki-de/HowTo_HeaderSeparateNumberText/feed" rel="self" type="application/rss+xml"/><item><title>HowTo_HeaderSeparateNumberText modified by Markus Kohm</title><link>https://sourceforge.net/p/koma-script/wiki-de/HowTo_HeaderSeparateNumberText/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="wie-in-der-kopfzeile-die-kapitelnummer-auen-und-der-kapiteltitel-innen-ausgegeben-werden-kann"&gt;Wie in der Kopfzeile die Kapitelnummer außen und der Kapiteltitel innen ausgegeben werden kann&lt;/h1&gt;
&lt;p&gt;Die meisten Klassen verwenden &lt;code&gt;\chaptermark&lt;/code&gt;, um die Marken für den lebenden Kolumnentitel, also üblicherweise die Kopfzeile, zu setzen. Bei &lt;code&gt;scrreprt&lt;/code&gt; ist die voreingestellt Definition im Seitenstil &lt;code&gt;headings&lt;/code&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\if@twoside\expandafter\markboth\else\expandafter\markright\fi&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="k"&gt;\Ifnumbered&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;chapter&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
      &lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
    &lt;span class="nb"&gt;}{}&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;#1&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="nb"&gt;}{}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Bei &lt;code&gt;scrbook&lt;/code&gt; kommt noch ein Test auf den Hauptteil (&lt;code&gt;\mainmatter&lt;/code&gt;) hinzu. Bei Verwendung von &lt;code&gt;scrlayer-scrpage&lt;/code&gt; sieht die Definition etwas komplizierter aus, läuft auf ebenfalls darauf hinaus, dass die (in &lt;code&gt;\chaptermarkformat&lt;/code&gt; definierte Formatierung der) Nummer vor dem Titeltext (in &lt;code&gt;#1&lt;/code&gt;) ausgegeben wird.&lt;/p&gt;
&lt;p&gt;Wollte man die Nummer linksbündig und den Titel rechtsbündig setzen, könnte man einfach bei &lt;code&gt;\chaptermarkformat&lt;/code&gt; ansetzen und in dessen Definition:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\newcommand*\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chapappifchapterprefix&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\&lt;/span&gt; &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\thechapter\autodot\enskip&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;den Abstand von einem halben Geviert &lt;code&gt;\enskip&lt;/code&gt; durch einen unendlich dehnbaren Abstand &lt;code&gt;\hspace{.5em plus 1fill}&lt;/code&gt; ersetzen:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\renewcommand*\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chapappifchapterprefix&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\&lt;/span&gt; &lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\thechapter\autodot\hspace&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;.5em plus 1fill&lt;span class="nb"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Wir wollen aber, dass bei einem doppelseitigen Dokument auf rechten (=ungerade) Seiten die Position von Nummer und Text vertauscht wird. Daher benötigen wir eine neue Anweisung, die genau das erledigt:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\documentclass&lt;/span&gt;&lt;span class="na"&gt;[headsepline]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scrbook&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="na"&gt;[ngerman]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;babel&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;blindtext&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\DeclareRobustCommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[2]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\ifodd\value&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;page&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;% Das funktioniert so nur im Kopf oder Fuß sonst wird&lt;/span&gt;
                    &lt;span class="c"&gt;% stattdessen \Ifthispageodd benötigt!!!&lt;/span&gt;
    #2&lt;span class="k"&gt;\hfill&lt;/span&gt; #1&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\else&lt;/span&gt;
    #1&lt;span class="k"&gt;\hfill&lt;/span&gt; #2&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\fi&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\csname&lt;/span&gt; @mkboth&lt;span class="k"&gt;\endcsname&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;#1&lt;span class="nb"&gt;}}}&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;#1&lt;span class="nb"&gt;}}}&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\sectionmark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{}&lt;/span&gt;&lt;span class="c"&gt;% \section soll keine Marke setzen&lt;/span&gt;
&lt;span class="k"&gt;\begin&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\blinddocument&lt;/span&gt; 
&lt;span class="k"&gt;\end&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Wichtig ist hier die Verwendung von &lt;code&gt;\DeclareRobustCommand&lt;/code&gt; (oder alternativ &lt;code&gt;\NewDocumentCommand&lt;/code&gt;), damit die Anweisung nicht zu früh expandiert. Bei Verwendung von &lt;code&gt;\newcommand&lt;/code&gt; würde der Test, ob die Seite gerade oder ungerade ist, beim Setzen der Marke innerhalb von &lt;code&gt;\chapter&lt;/code&gt; erfolgen und nicht erst bei deren Verwendung.&lt;/p&gt;
&lt;p&gt;Selbstverständlich funktioniert das auch noch bei Verwendung von &lt;code&gt;scrlayer-scrpage&lt;/code&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\documentclass&lt;/span&gt;&lt;span class="na"&gt;[headsepline]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scrbook&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="na"&gt;[ngerman]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;babel&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;blindtext&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scrlayer-scrpage&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\automark&lt;/span&gt;&lt;span class="na"&gt;[chapter]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;chapter&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\NewDocumentCommand&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;m+m&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\ifodd\value&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;page&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;% Das funktioniert so nur im Kopf oder Fuß sonst wird&lt;/span&gt;
                    &lt;span class="c"&gt;% stattdessen \ifthispageodd benötigt!!!&lt;/span&gt;
    #2&lt;span class="k"&gt;\hfill&lt;/span&gt; #1&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\else&lt;/span&gt;
    #1&lt;span class="k"&gt;\hfill&lt;/span&gt; #2&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\fi&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\csname&lt;/span&gt; @mkboth&lt;span class="k"&gt;\endcsname&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;#1&lt;span class="nb"&gt;}}}&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;#1&lt;span class="nb"&gt;}}}&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\begin&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\blinddocument&lt;/span&gt; 
&lt;span class="k"&gt;\end&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Es geht auch mit &lt;code&gt;scrlayer-scrpage&lt;/code&gt; und einer Standardklasse, allerdings muss man dann noch die Seitenzahl aus dem Kopf in den Fuß verschieben, da sich diese sonst wahlweise mit der Nummer oder dem Text der Kapitelmarke überschneidet:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;\documentclass&lt;/span&gt;&lt;span class="na"&gt;[headsepline]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;book&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="na"&gt;[ngerman]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;babel&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;blindtext&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\usepackage&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;scrlayer-scrpage&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\automark&lt;/span&gt;&lt;span class="na"&gt;[chapter]&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;chapter&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\clearpairofpagestyles&lt;/span&gt;
&lt;span class="k"&gt;\ohead&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\headmark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\ofoot*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\pagemark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\NewDocumentCommand&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;m+m&lt;span class="nb"&gt;}{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\ifodd\value&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;page&lt;span class="nb"&gt;}&lt;/span&gt;&lt;span class="c"&gt;% Das funktioniert so nur im Kopf oder Fuß sonst wird&lt;/span&gt;
                    &lt;span class="c"&gt;% stattdessen \ifthispageodd benötigt!!!&lt;/span&gt;
    #2&lt;span class="k"&gt;\hfill&lt;/span&gt; #1&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\else&lt;/span&gt;
    #1&lt;span class="k"&gt;\hfill&lt;/span&gt; #2&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\fi&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\renewcommand*&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermark&lt;/span&gt;&lt;span class="nb"&gt;}&lt;/span&gt;[1]&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="c"&gt;%&lt;/span&gt;
  &lt;span class="k"&gt;\csname&lt;/span&gt; @mkboth&lt;span class="k"&gt;\endcsname&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;#1&lt;span class="nb"&gt;}}}&lt;/span&gt;
  &lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\MakeMarkcase&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\FlipNumberText&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\chaptermarkformat&lt;/span&gt;&lt;span class="nb"&gt;}{&lt;/span&gt;#1&lt;span class="nb"&gt;}}}&lt;/span&gt;
&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\begin&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;\blinddocument&lt;/span&gt; 
&lt;span class="k"&gt;\end&lt;/span&gt;&lt;span class="nb"&gt;{&lt;/span&gt;document&lt;span class="nb"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Option &lt;code&gt;headsepline&lt;/code&gt; habe ich in den Beispielen übrigens nur verwendet, um den Kopfbereich besser zu verdeutlichen. Was es mit dem &lt;code&gt;\MakeMarkcase&lt;/code&gt; auf sich hat, kann in der KOMA-Script-Anleitung nachgelesen werden.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Markus Kohm</dc:creator><pubDate>Tue, 03 Jun 2025 06:45:18 -0000</pubDate><guid>https://sourceforge.netfc1d8271332bfc64409078fd99110f29f044494d</guid></item></channel></rss>