memoir - Seitenstil - Kopfzeilenproblem

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: memoir - Seitenstil - Kopfzeilenproblem

von esdd » Fr 19. Jun 2015, 17:25

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) 1910 mal betrachtet

von Johannes_B » Fr 19. Jun 2015, 16:34

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}

von Auerhahn » Fr 19. Jun 2015, 16:21

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.

von Auerhahn » Fr 19. Jun 2015, 15:44

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.

von Johannes_B » Fr 19. Jun 2015, 15:34

Eventuell hilft dir schon folgendes weiter: http://tex.stackexchange.com/questions/ ... n-headings

memoir - Seitenstil - Kopfzeilenproblem

von Auerhahn » Fr 19. Jun 2015, 15:16

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?

Nach oben