Seite 1 von 1
memoir - Seitenstil - Kopfzeilenproblem
Verfasst: Fr 19. Jun 2015, 15:16
von Auerhahn
Ich bin jetzt sehr verwirrt. Kann mir einer erklären, wo mein Denkfehler liegt? Ich meine, dass dieses Beispiel bewirken müsste, dass im Kopf der linken Seite der Titel des Teils und in dem der rechten Seiten der des Kapitels erscheint:
\documentclass{memoir}
\usepackage{blindtext}
\newcommand*{\TeilTitel}{}
\newcommand*{\KapitelTitel}{}
\renewcommand*{\partmark}[1]{\renewcommand*{\TeilTitel}{#1}}
\renewcommand*{\chaptermark}[1]{\renewcommand*{\KapitelTitel}{#1}}
\makepagestyle{MeinSeitenStil}
%\copypagestyle{MeinSeitenStil}{ruled}
\makeevenhead{MeinSeitenStil}{\TeilTitel}{}{}
\makeoddhead{MeinSeitenStil}{}{}{\KapitelTitel}
\begin{document}
\pagestyle{MeinSeitenStil}
\part{Erster Teil}
\chapter{Dunkle Schatten}
\blindtext[15]
\chapter{Helles Licht}
\blindtext[15]
\end{document}
Das ist auch so, aber nur, weil die Zeile »\copypagestyle{MeinSeitenStil}{ruled}» auskommentiert ist. Wenn ich sie wieder hineinnehme, stimmt zwar noch alles für die linke (gerade) Seite, aber rechts erscheint gar nichts mehr. Ich habe schon herausbekommen, wie ich das umgehen kann, aber ich verstehe nicht, warum das so ist. Natürlich kann ich meine eigene Linie usw. definieren, aber ich dachte, der Sinn von »copypagestyle« ist, dass man alle Bestandteile einfach übernimmt, die man haben möchte, und die anderen ändert. Wenn das aber nicht so ist, verstehe ich den Sinn dieses Befehls gar nicht.
Anscheinend sehe ich mal wieder den Wald vor lauter Bäumen nicht. Kann mir den vielleicht jemand zeigen?
Verfasst: Fr 19. Jun 2015, 15:34
von Johannes_B
Verfasst: Fr 19. Jun 2015, 15:44
von Auerhahn
Vielen Dank. Das ging ja mal wieder irrsinnig schnell...
Leider beantwortet diese Diskussion meine Frage nicht. Die war nicht, wie ich das hinkriege, das habe ich schon geschafft, sondern warum es nicht funktioniert, wie man denken sollte, und wozu der Befehl \copypagestyle überhaupt dient. So wie ich das verstehe, kann ich die Kopie nur genauso einsetzen wie das Original oder aber vollkommen neu definieren, was ohne das vorherige Kopieren ja auch geht. Das ist mir irgendwie noch rätselhafter als die Funktion des Befehls \aliaspagestyle, nach der ich lieber gar nicht erst forsche
Wie gesagt: Ich habe das Ziel erreicht, aber ich hab es nicht gern, wenn sich eine Sache so vollständig meinem Verständnis entzieht. Daher die Frage.
Verfasst: Fr 19. Jun 2015, 16:21
von Auerhahn
Wie es scheint, habe ich es raus. Allem Anschein nach ist diese Stelle auf S. 107 des Handbuchs falsch: »Each sectioning command, say \sec, calls a macro called \secmark. A pagestyle usually defines this command so that it picks up the Titel, and perhabs the number, of the sec. The pagestyle can then use the information for its own purposes.« Das Beispiel zeigt, dass \partmark aufgerufen wird, \chaptermark aber nicht. So wie hier beschrieben, klappt es anscheinend nur bei einem eigenen Seitenstil. Wenn man einen Seitenstil kopiert, wird \chaptermark offenbar nicht aufgerufen, so dass man den Namen des Kapitels nicht auf diese Weise speichern kann. Das ist seltsam, aber immerhin eine Erklärung für das irritierende Verhalten.
Verfasst: Fr 19. Jun 2015, 16:34
von Johannes_B
Genau, chaptermark wird erst gar nicht aufgerufen. ruled setzt \makepsmarks{ruled}{\@ruledmarks}.
Das selbst ist definiert als
\renewcommand*{\@ruledmarks}{%
\nouppercaseheads
\createmark{chapter}{left}{shownumber}{}{. \space}
\createmark{section}{right}{shownumber}{}{. \space}
\createplainmark{toc}{both}{\contentsname}
\createplainmark{lof}{both}{\listfigurename}
\createplainmark{lot}{both}{\listtablename}
\createplainmark{bib}{both}{\bibname}
\createplainmark{index}{both}{\indexname}
\createplainmark{glossary}{both}{\glossaryname}}
\documentclass{memoir}
\usepackage{blindtext}
\renewcommand*{\chaptermark}[1]{\def\KapitelTitel{#1}}
\makepagestyle{bob}
\copypagestyle{bob}{ruled}%<- works, if commented
\makeoddhead{bob}{}{}{\KapitelTitel}
\usepackage{showframe}
\begin{document}
\pagestyle{bob}
\chapter{munging marsupilami}
\blindtext[15]
\end{document}
Verfasst: Fr 19. Jun 2015, 17:25
von esdd
Dein Seitenstil übernimmt die Definition von \chaptermark und \sectionmark vom Seitenstil ruled und aktiviert diese, wenn Du Deinen Seitenstil aufrufst. Damit wird Dein \chaptermark Befehl überschrieben, weshalb dann \KapitelTitel nicht umdefiniert wird.
Du kannst aber den Seitenstil ruled kopieren und anschließend neu bestimmen, wie die Marken für den Seitenstil gesetzt werden. Dann brauchst Du auch die zusätzlichen Befehle nicht mehr.
\documentclass{memoir}
\usepackage{blindtext}
\copypagestyle{MeinSeitenStil}{ruled}
\makepsmarks{MeinSeitenStil}{%
\nouppercaseheads%
\createmark{part}{left}{nonumber}{}{}%
\createmark{chapter}{right}{nonumber}{}{}%
\clearmark{section}%
}
\begin{document}
\pagestyle{MeinSeitenStil}
\part{Erster Teil}
\chapter{Dunkle Schatten}
\blindtext[15]
\chapter{Helles Licht}
\blindtext[15]
\end{document}
Diese \createmark Befehle definieren \chaptermark und Co.
Gruß
Elke
