Ich versuche, das Erscheinungsbild der Kapitel je nachdem, ob sie auf einer geraden oder ungeraden Seite erscheinen, zu formatieren. Laut der Dokumentation von titlesec sollte es mit der Option page=even
und funktionieren page=odd
. Dies funktioniert für Abschnitte, aber nicht für Kapitel. Hier ist ein MWE:
\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage{lipsum}
\usepackage[rigidchapters,explicit]{titlesec}
\titleformat{name=\section,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\section,page=even}{}{EVEN:}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\chapter{ChapterB}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\chapter{ChapterC}
\section{Section a} \lipsum[1-2]
\section{Section b} \lipsum[1-2]
\section{Section c} \lipsum[1-2]
\end{document}
Wenn Sie beides \chapter
im Titlesec-Befehl durch ersetzen \section
, funktioniert es.
Gibt es dafür einen Grund? Wie kann ich \titleformat
für gerade und ungerade Seiten unterschiedliche Befehle verwenden?
Antwort1
Standardmäßig titlesec
wird nicht viel an der Standardmethode zum Setzen von Kapitelüberschriften geändert, das heißt, es basiert weiterhin auf \@makechapterhead
.
Sie müssen die Titelklasse neu deklarieren:
\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage[rigidchapters]{titlesec}
\usepackage{lipsum}
\titleclass{\chapter}{top}
\titleformat{name=\chapter,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\chapter,page=even}{}{EVEN:}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section a} \lipsum[1-2]
\chapter{ChapterB}
\section{Section a} \lipsum[1-2]
\end{document}
Antwort2
Ja, es scheint, dass die page
Option für nicht wirksam ist \chapter
.
Sie können dies umgehen, indem Sie etwa Folgendes deklarieren:
\titleformat{name=\chapter}{\Huge}{\ifthenelse{\isodd{\thepage}}{ODD:}{EVEN:}}{.5em}{}
mit Hilfe \ifthenelse
des ifthen
Pakets.
MWE:
\documentclass[11pt,twoside]{report}
\usepackage[a4paper]{geometry}
\geometry{a4paper, top=22mm, left=45mm, right=25mm, bottom=30mm}
\usepackage{lipsum}
\usepackage[rigidchapters,explicit]{titlesec}
\usepackage{ifthen}
\titleformat{name=\section,page=odd}{}{ODD:}{.5em}{}
\titleformat{name=\section,page=even}{}{EVEN:}{.5em}{}
\titleformat{name=\chapter}{\Huge}{\ifthenelse{\isodd{\thepage}}{ODD:}{EVEN:}}{.5em}{}
\begin{document}
\chapter{ChapterA}
\section{Section A} \lipsum[1-2]
\chapter{ChapterB}
\section{Section B} \lipsum[1-2]
\chapter{ChapterC}
\section{Section C} \lipsum[1-2]
\end{document}
Ausgabe (benötigt mindestens zwei Kompilierungen!)