
Nach meinem Verständnis \mainmatter
enthält der Befehl \cleardoublepage
. Ich möchte, dass das erste Kapitel auf der Seite beginnt, die dem Ende von „Intro 2“ folgt, ohne leere Seiten dazwischen. Derzeit sind zwei leere Seiten vorhanden, von denen mindestens eine auf zurückzuführen ist \mainmatter
.
Die andere leere Seite scheint zu sein durch
\makeatletter
\@openrightfalse
\makeatother
, die ich verwende, damit "Intro 2" direkt auf "Intro 1" folgt, ohne dass eine leere Seite erscheint. Aber wenn ich dies wieder auf den Normalwert zurücksetze mit
\makeatletter
\@openrighttrue
\makeatother
hilft meinem Problem nicht.
Auch der Befehl von \let\cleardoublepage=\clearpage
hat mir nicht geholfen. Ein alternativer Befehl, der keine Seiten löscht, könnte hier hilfreich sein.
Das folgende MWE ergibt zwei leere Seiten zwischen Intro 2 und dem ersten Kapitel. Ich möchte, dass es keine leeren Seiten gibt.
MWE:
%XeLaTeX
\documentclass[11pt]{scrbook}
\usepackage[
inner=0.5in,
outer=0.5in,
twoside,
showframe
]{geometry}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}
\begin{document}
\frontmatter
\tableofcontents
\addchap{intro 1}
\lipsum[1]
%make chapter open on left-side (or any side)
%reset it before the next chapter
\makeatletter
\@openrightfalse
\makeatother
\addchap{intro 2}
\lipsum[2-14]
%reset to opening chapter on right-side
%\makeatletter
%\@openrighttrue
%\makeatother
%\let\cleardoublepage=\clearpage
\KOMAoptions{open=left}%I need all chapters from now on to start on left page
\mainmatter
\chapter{First Chapter}
\end{document}
Antwort1
Die ursprüngliche Definition von „ \mainmatter
in class“ scrbook
lautet
\newcommand*\mainmatter{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmattertrue\pagenumbering{arabic}%
}
\pagenumbering{arabic}
setzt den Seitenzähler auf 1 zurück. Dies ist eine ungerade Zahl und ungerade Seitenzahlen müssen auf rechten Seiten stehen. \cleardoubleoddpage
Wird daher verwendet, um sicherzustellen, dass die Seite mit der ungeraden Seitenzahl 1 eine rechte Seite ist. Es ist also nicht möglich, den Hauptteil mit der Seitenzahl 1 auf einer linken Seite zu beginnen.
Wenn Sie es also in einem zweiseitigen Dokument verwenden möchten \mainmatter
, dessen Kapitel auf den linken Seiten beginnen, befindet sich vor dem ersten Kapitel im Hauptteil mindestens eine leere Seite (die rechte Seite mit der ungeraden Nummer 1).
Sie können die \mainmatter
Verwendung \clearpage
des Seitennummerierungssystems neu definieren und es nicht ändern:
\makeatletter
\renewcommand*\mainmatter{%
\clearpage
\@mainmattertrue
}
\makeatother
Wenn das Dokument arabische Seitenzahlen enthalten soll, können Sie diese ebenfalls verwenden \frontmatter\pagenumbering{arabic}
bzw. neu definieren \frontmatter
:
\renewcommand*{\frontmatter}{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmatterfalse
}
Aber brauchen Sie wirklich \frontmatter
und \mainmatter
?
Beispiel:
\documentclass[11pt]{scrbook}
\usepackage[
inner=0.5in,
outer=0.5in,
twoside,
showframe
]{geometry}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum}
%\makeatletter
%\renewcommand*{\frontmatter}{%
%\if@twoside\cleardoubleoddpage\else\clearpage\fi
%\@mainmatterfalse
%}
%\renewcommand*\mainmatter{%
%\clearpage
%\@mainmattertrue
%}
%\makeatother
\begin{document}
%\frontmatter
\tableofcontents
\addchap{intro 1}
\lipsum[1]
\KOMAoptions{open=any}% make chapter open on any side
\addchap{intro 2}
\lipsum[2-14]
%\KOMAoptions{open=right}% reset to opening chapter on right-side
\KOMAoptions{open=left}%I need all chapters from now on to start on left page
%\mainmatter
\chapter{First Chapter}
\end{document}
Man könnte auch neu definieren, \mainmatter
dass auf einer geraden Seite begonnen wird. Dann müsste man die Seitenzahl der ersten Seite im Hauptteil auf eine gerade Zahl ändern, z.B. 0 oder 2. Dann gibt es aber eine Seite mit der Nummer 0 oder Seite 1 fehlt ... Hässlich. Daher empfehle ich den folgenden Codeausschnitt nicht
\makeatletter
\renewcommand*\mainmatter{%
\cleardoubleevenpage
\@mainmattertrue\pagenumbering{arabic}%
\setcounter{page}{0}% or another even page number
}
\makeatother