Strano problema nell'uso di landscape, afterpage e split

Aug 18 2020

Ho un problema in Latex dove \ afterpage sembra in qualche modo avere problemi con un'equazione di divisione, in modo che il codice non venga compilato. Uso \ afterpage per riempire una pagina prima che venga presentata una grande figura orizzontale, per evitare lo spazio bianco che viene prodotto altrimenti. Questo è il MWE (commenta il comando \ afterpage e verrà compilato):

\documentclass[a4paper]{scrbook}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{lipsum}


\begin{document}
\lipsum[1-2][1-20]
\afterpage{
\begin{landscape}
\begin{figure}
\includegraphics[width=\textwidth]{example-image-a}
\caption{Caption}
\end{figure}
\end{landscape}}
\lipsum[1-5]
\begin{equation}
\begin{split}
x&=\frac{\pi}{2}\\
&=\frac{3}{2}
\end{split}
\end{equation}
\lipsum[1-2]
\end{document}

Risposte

1 JohnKormylo Aug 18 2020 at 21:45

Una soluzione facile è separare l'equazione dal paragrafo precedente. Questa soluzione inserisce l'equazione all'interno di un paragrafo divisibile, ma la spaziatura sulla prima e sull'ultima riga è leggermente spostata.

\documentclass[a4paper]{scrbook}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{lipsum}

\newsavebox{\tempbox}

\begin{document}
\lipsum[1-2]
\afterpage{%
\begin{landscape}
\begin{figure}
\centering
\includegraphics[width=\textheight]{example-image-a}
\caption{Caption}
\end{figure}
\end{landscape}}
\lipsum[1-3]

\setbox\tempbox=\vbox{\strut
Text in pragraph before equation.
Text in pragraph before equation.
Text in pragraph before equation.
Text in pragraph before equation.
Text in pragraph before equation.
Text in pragraph before equation.
Text in pragraph before equation.
\begin{equation}
\begin{split}
x&=\frac{\pi}{2}\\
&=\frac{3}{2}
\end{split}
\end{equation}
Text in same paragraph after equation.
}\unvbox\tempbox
\lipsum[1-2]
\end{document}