
Ich bin nicht in der Lage herauszufinden, wie das geht, und ich habe mir dieetoolbox Dokumentation
\clearpage
Das Problem ist einfach zu erklären: Ich verwende etoolbox, um in einem großen Dokument vor „any“ ein „anzufügen“, \section
sodass jeder Abschnitt auf einer neuen Seite beginnt. (Es handelt sich um ein Dokument im Buchstil, aber das MWE unten ist ein Artikel.)
Es gibt einige Abschnitte, die klein sind, und ich möchte etoolbox anweisen, dies für den folgenden Abschnitt nicht zu tun und es dann anzuweisen, nach Abschluss des Abschnitts erneut zu beginnen.
Wie geht das? Was ist der Etoolbox- oder Latex-Befehl hierfür?
Hier ist ein MWE
\documentclass[12pt]{article}%
\usepackage{etoolbox}\preto\section{\clearpage}
\usepackage{lipsum}
\begin{document}
\section{A}
\lipsum[75]
\section{B}
\lipsum[75]
%do not add \clearpage here, how?
\section{C}
\lipsum[75]
%now start adding \clearpage, it is ok
\section{D}
\lipsum[75]
\end{document}
Texlive 2013, Linux Mint.
Antwort1
Eine Möglichkeit besteht darin, einen Schalter zu erstellen und den \clearpage
Befehl abhängig davon auszuführen, ob der Schalter „true“ oder „false“ ist.
\documentclass[12pt]{article}%
\usepackage{etoolbox}
\usepackage{lipsum}
\newtoggle{clearpagebeforesection}
\preto{\section}{\iftoggle{clearpagebeforesection}{\clearpage}{}}
\begin{document}
\toggletrue{clearpagebeforesection}
\section{A}
\lipsum[75]
\section{B}
\lipsum[75]
%do not add \clearpage here, how?
\togglefalse{clearpagebeforesection}
\section{C}
\lipsum[75]
%now start adding \clearpage, it is ok
\toggletrue{clearpagebeforesection}
\section{D}
\lipsum[75]
\section{E}
\lipsum[75]
\end{document}
Antwort2
Eine Möglichkeit besteht darin, einen Befehl zu erstellen, der lokal (lesenin einer Gruppe) relax
es \clearpage
:
% locally disable clearpage
\newcommand{\specialsection}[1]{
\begingroup
\let\clearpage\relax
\section{#1}
\endgroup
}
Diese Methode \clearpage
ist standardmäßig auf alle Abschnitte im Dokument eingestellt, auf die \specialsection
es jedoch nicht zutrifft.
Das vollständige Beispiel:
\documentclass[12pt]{article}%
\usepackage{etoolbox}
\preto\section{\clearpage}
% locally disable clearpage
\newcommand{\specialsection}[1]{
\begingroup
\let\clearpage\relax
\section{#1}
\endgroup
}
\usepackage{lipsum}
\begin{document}
\section{A}
\lipsum[75]
\section{B}
\lipsum[75]
% we use the new command
\specialsection{C}
\lipsum[75]
\section{D}
\lipsum[75]
\end{document}