Hallo,

eine Frage an die Experten: Ich habe den Vorschlag von esdd unter https://texwelt.de/fragen/26624/latex-seiten-auch-im-inhaltsverzeichnis-oben-nummerieren ausprobiert aber für ein Buch:

\documentclass[twoside]{book}
\usepackage{blindtext}% nur für Beispieltext
\usepackage{tocloft}
\tocloftpagestyle{headings}
\pagestyle{headings}
\begin{document}
\tableofcontents
\listoffigures
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

Aber dann habe ich im Inhaltsverzeichnis auf der ersten Seite "CONTENTS" im Kopf stehen und auf der zweiten Seite sogar "LIST OF FIGURES". Da meine eigene Antwort auf die Frage dort offenbar nicht richtig ist und weil mit dem Beispiel auch

\documentclass[twoside]{book}
\usepackage{blindtext}% nur für Beispieltext
\usepackage{tocloft}
\tocloftpagestyle{headings}
\makeatletter
%\let\ps@plain\ps@headings% das hilft auch nicht
\def\@mkboth#1#2{\markboth{#1}{}}
\makeatother
\pagestyle{headings}
\begin{document}
\tableofcontents
\listoffigures
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

auch gar nicht funktioniert, wüsste ich gerne, wie man das richtig macht.

Zwar ist das nicht so dringend, weil ich bei meinem Buch mit meiner Lösung trotzdem zum Ziel gekommen bin. Aber vielleicht brauche ich das irgendwann einmal, falls ich doch wieder ein Buch mit Latex schreibe.

Im Voraus schon einmal herzlichen Dank für die Mühe von Rainer.

gefragt 17 Aug '20, 19:29

Rainer_Berlinghof's gravatar image

Rainer_Berli...
5114
Akzeptiert-Rate: 0%

bearbeitet 18 Aug '20, 11:58

cgnieder's gravatar image

cgnieder
22.1k243463

Ich hoffe, das war jetzt so richtig. Das mit Strg-k hat bei mir nicht funktioniert. Da bin ich immer in der Adresszeile gelandet. Aber in meiner Markdown-Anleitung stand dann, dass man auch eine Zeile mit ``` am Anfang und Ende verwenden kann. Nur die Angabe von einer Sprache hat mit latex nicht funktioniert.

(17 Aug '20, 19:30) Rainer_Berli...

@Rainer Es sollte gehen mit zuerst Text markieren, dann Strg-K oder alternativ (auch wieder bei markiertem Text) den 101010-Button über dem Eingabefeld klicken. (oder es ist ein Javascript-Thema, wenn es gar nicht geht)

(17 Aug '20, 20:12) stefan ♦♦

Im großen und ganzen war das so ziemlich perfekt. »Hallo« und den Dank im Voraus braucht es nicht. Aber sonst bin ich schwer beeindruckt.

Das Problem mit Ctrl-k hatte ich auch schon. Das passiert bei mir, wenn vor dem Drücken der Fokus aus dem Eingabefeld springt. Am Notebook passiert mir das schon einmal, wenn ich versehentlich über das Touchpad streife. Inzwischen verwende ich deshalb oft den von @stefan erwähnten Code-Button, der an den 1er und 0er zu erkennen ist.

(17 Aug '20, 20:30) gast3

Nur um Missverständnisse zu vermeiden: Das Paket tocloft diente in der verlinkten Antwort nicht zur Behebung des Problems, sondern dessen Verwendung war nur eine mögliche Ursache im Zusammenhang mit der article Klasse. Wenn Du weder Verzeichniseinträge anpassen noch neue Verzeichnisse erstellen willst, brauchst Du das Paket gar nicht.

(18 Aug '20, 13:04) esdd

Ich habe jetzt meine Antwort bei der verlinkten Frage gelöscht und dafür eine neue, passendere Frage mit dieser Antwort gestellt.

(18 Aug '20, 15:41) esdd

Statt dem Paket tocloft empfehle ich dafür ein Paket wie fancyhdr oder scrlayer-scrpage. Mit scrlayer-scrpage besteht die Lösung aus den beiden Zeilen:

\usepackage[automark]{scrlayer-scrpage}
\ohead*{\pagemark}

Option automark sorgt dabei für die automatischen Kolumnentitel, also die Wiederholung der Kapitel- und Abschnittsüberschriften in der Kopfzeile, wie man das auch von Seitenstil headings und damit der Voreinstellung von book kennt.

Mit \ohead*{\pagemark} wird sowohl auf den headings- als auch den plain-Seiten die Seitenzahl im Kopf außen erzwungen. Ohne die Anweisung würden die Seitenzahlen auf den Kapitelanfangsseiten (dazu gehören auch die jeweils erste Seite von Verzeichnissen) fehlen.

Damit ergibt also:

\documentclass{book}% twoside ist Voreinstellung und kann daher entfallen
\usepackage{blindtext}% nur für Beispieltext
\usepackage[automark]{scrlayer-scrpage}
\ohead*{\pagemark}
\begin{document}
\tableofcontents
\listoffigures
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

u. a. die (Doppel-)Seiten:

erste Seite Inhaltsverzeichniszweite Seite Inhaltsverzeichnis + erste Seite Abbildungsverzeichnistheoretisch zweite Seite Abbildungsverzeichnis + erste Seite erstes KapitelDoppelseite im Kapitel

Für das gleiche Ergebnis mit fancyhdr benötigt man beispielsweise:

\documentclass[twoside]{book}
\usepackage{blindtext}% nur für Beispieltext
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
  \fancyhf{}%
  \fancyhead[RO,LE]{\thepage}%
  \renewcommand{\headrulewidth}{\plainheadrulewidth}%
}
\begin{document}
\tableofcontents
\listoffigures
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}
Permanenter link

beantwortet 17 Aug '20, 20:16

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 18 Aug '20, 09:10

Jetzt weiß ich natürlich wieder nicht, welche der Antworten die bessere ist. Ich habe dann einfach einmal für beide gestimmt. Ich hoffe, das war nicht wieder falsch. Die obere hier finde ich super einfach und habe sie auch gleich mit meinem Buch ausprobiert. Das hätte wirklich funktioniert und ist sogar kürzer als die Google-Lösung. Etwas abschreckend finde ich aber, dass die Anleitung zu dem Paket fast 600 Seiten hat. Dafür gibt es sie auf Deutsch. Na, mal sehen.

(18 Aug '20, 11:32) Rainer_Berli...

@Rainer_Berli... Du kannst für alle Antworten stimmen, die Du gut findest. Das gilt sowohl für eigene Fragen als auch für die von anderen. Akzeptieren kannst Du dagegen immer nur eine Antwort auf eigene Fragen.

(18 Aug '20, 14:46) esdd

Nun, "wie es richtig macht" hängt von den Ansprüchen ab.

Grundsätzlich gilt, dass du zwei Seitenstile für die rechten Seiten haben willst: einen nur mit Seitenzahl, und einen mit Text daneben. Während es zwar grundsätzlich möglich ist, das mit Tricks nur mit \pagestyle{headings} zu erreichen, halte ich Lösungen, die pagestyle plain auf pagestyle headings umbiegen nicht für sauber. Besser ist es \ps@plain umzudefinieren.

book ist nicht gerade die ausgefeilteste Klasse (und die Kopfzeilen sind m.E. nicht unbedingt die schönsten), daher gibt es dafür keine Benutzerbefehle. Also hast du die Wahl

  • bessere Klasse (z.B. scrbook, memoir)
  • ein Paket wie fancyhdr
  • Low-level Umdefinition von \ps@plain:

Letzteres ginge z.B. so

\documentclass[twoside]{book}
\usepackage{blindtext}% nur für Beispieltext

\makeatletter
\def\ps@plain{\let\@mkboth\@gobbletwo
     \let\@oddfoot\empty
     \def\@oddhead{~\hfil\thepage}%
     \let\@evenhead\@empty\let\@evenfoot\@oddfoot}
\makeatother     
\pagestyle{headings}
\begin{document}
\tableofcontents

\listoffigures


\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}
Permanenter link

beantwortet 17 Aug '20, 20:27

Ulrike%20Fischer's gravatar image

Ulrike Fischer
3.6k23
Akzeptiert-Rate: 52%

Das sieht jetzt wieder so ähnlich aus wie meine Google-Lösung. Nur sind da noch mehr von diesen \@-Befehlen drin und für \@mkboth wird jetzt \let statt \def verwendet. Damit spart man sich wohl die Klammern. Jedenfalls habe ich gerade ausprobiert, ob es auch mit \def\@mkboth{\@gobbletwo} geht und das hat auch funktioniert. Dagegen funktioniert \def\@mkboth\@gobbletwo nicht. Langsam verstehe ich das. Außerdem scheint auch \renewcommand\@mkboth{\@gobbletwo} zu gehen. Was da jetzt aber der Unterschied ist? Mal sehen, was Googel sagt.

(18 Aug '20, 11:46) Rainer_Berli...

Ah, ich habe es gefunden. \def geht für neue Befehle und zum Ändern von existierenden Befehlen. Dagegen geht \renewcommand nur für solche, die es schon gibt. Und dann gibt es noch \newcommand für neue Befehle.

(18 Aug '20, 11:49) Rainer_Berli...

Übrigens gibt es unter weinelt.de tolle Erklärungen zu vielen Befehlen. \def und \let fehlen aber.

(18 Aug '20, 11:54) Rainer_Berli...
1

@Rainer weinelt.de ist uralt und berücksichtigt LaTeX bis ca. 1994, vmtl. wegen des Alters/Links auch einer der ersten Google-Treffer. \def und \let sind auch kein LaTeX, das ist noch TeX. Auch wenn man beide (und weinelt.de) weiter nutzen kann.

(18 Aug '20, 11:58) stefan ♦♦

@Rainer das golatex.de Wiki ist auch eine gute Quelle: \def und \newcommand und verwandte Befehle.

(18 Aug '20, 12:01) stefan ♦♦
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×77
×6

gestellte Frage: 17 Aug '20, 19:29

Frage wurde gesehen: 3,828 Mal

zuletzt geändert: 18 Aug '20, 15:41