memoir - Seitenstil - Kopfzeilenproblem

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Auerhahn
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: So 9. Mär 2014, 10:16

memoir - Seitenstil - Kopfzeilenproblem

Beitrag 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?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Eventuell hilft dir schon folgendes weiter: http://tex.stackexchange.com/questions/ ... n-headings
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Auerhahn
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: So 9. Mär 2014, 10:16

Beitrag 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.

Auerhahn
Forum-Anfänger
Forum-Anfänger
Beiträge: 29
Registriert: So 9. Mär 2014, 10:16

Beitrag 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.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag 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}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

Bild
Dateianhänge
gl_memnewps.png
gl_memnewps.png (18.25 KiB) 1902 mal betrachtet

Antworten