Schmaler Textbereich im Kapiteleröffner

Schmaler Textbereich im Kapiteleröffner

Ich möchte die Kapiteleröffnungsseite ändern. Richte einen schmalen Textblock ein und platziere den Kapitelnamen im breiten Innenrand. Ich verwende die Klasse „koma-script“.

Seitenbeispiel

+--------------+--------------+
|              | title  xxxxx |
|              |        xxxxx |
|              |        xxxxx |
|              |        xxxxx |
|              |        xxxxx |
|              |        xxxxx |
|              |        xxxxx |
+--------------+--------------+

\documentclass{scrbook}
\usepackage{lipsum}
\usepackage{marginnote}
\usepackage{multicol}
\RedeclareSectionCommand[beforeskip=0pt]{chapter}

\begin{document}
\begin{multicols}{2}
\chapter{Introduction}
\vfill\null
\columnbreak
\lipsum
\end{multicols}
\lipsum

\end{document}

Es ist eine einfache, aber zufriedenstellende Lösung. Kann ich das Layout von Seite 2 automatisch auf eine Spalte ändern?

Antwort1

Das automatische Umschalten in den Zweispaltenmodus und das Platzieren der Kapitelüberschrift in der linken Spalte ist nicht das Hauptproblem. Auch das Zurückschalten in den Einspaltenmodus nach der Kapitelseite ist nicht das eigentliche Problem:

\documentclass{scrbook}
\usepackage{lipsum}
\RedeclareSectionCommand[beforeskip=0pt,afterindent=false,style=section]{chapter}
\newif\ifafterheadingnewpage
\AddToHook{cmd/@afterheading/before}{\ifafterheadingnewpage\newpage\afterheadingnewpagefalse\fi}
\AddToHook{cmd/chapter/before}{\twocolumn\afterheadingnewpagetrue}
\AddToHook{shipout/after}{\onecolumn}

\begin{document}
\chapter{Introduction}
\lipsum

\end{document}

Aber wie Sie sehen können:

nicht was du willst

das eigentliche Problem ist, dass TeX die Breite eines bereits gesetzten Absatzes nicht ändert, der teilweise (oder sogar ganz) auf die nächste Seite verschoben wird. Sie müssen solche Absätze also selbst in den Teil aufteilen, der auf die Kapitelseite passt, und den Teil, der auf die einspaltige Seite gedruckt werden soll, z. B.

\documentclass{scrbook}
\usepackage{lipsum}
\RedeclareSectionCommand[beforeskip=0pt,afterindent=false,style=section]{chapter}
\newif\ifafterheadingnewpage
\AddToHook{cmd/@afterheading/before}{\ifafterheadingnewpage\newpage\afterheadingnewpagefalse\fi}
\AddToHook{cmd/chapter/before}{\twocolumn\afterheadingnewpagetrue}
\AddToHook{shipout/after}{\onecolumn}

\begin{document}
\chapter{Introduction}
\lipsum[1-2]

Nulla malesuada porttitor diam. Donec
felis erat, congue non, volutpat at, tinci-
dunt tristique, libero. Vivamus viverra fer-
mentum felis. Donec nonummy pellentes-
que ante. Phasellus adipiscing semper elit.
Proin fermentum massa ac quam. Sed diam
turpis, molestie vitae, placerat a, molestie
nec, leo. Maecenas lacinia. Nam ipsum
ligula, eleifend at, accumsan nec, suscipit
{\parfillskip0pt\newpage}%
\noindent
a, ipsum. Morbi blandit ligula feugiat ma-
gna. Nunc eleifend consequat lorem. Sed
lacinia nulla vitae enim. Pellentesque tin-
cidunt purus vel magna. Integer non enim.
Praesent euismod nunc eu purus. Donec
bibendum quam in tellus. Nullam cursus
pulvinar lectus. Donec et mi. Nam vulpu-
tate metus eu enim. Vestibulum pellentes-
que felis eu massa.

\lipsum[4-7]
\end{document}

das ist, was Sie wollen, aber mit manueller Pause

Hinweis: Die Verwendung der Hooks cmd/<cmdname>/beforeerfordert shipout/afterein mehr oder weniger aktuelles LaTeX.

verwandte Informationen