El nuevo entorno de Latex lleva el título del entorno al final de la página cuando el contenido es largo

El nuevo entorno de Latex lleva el título del entorno al final de la página cuando el contenido es largo

Estoy tratando de descubrir por qué \newenvironmentempuja el título del entorno al final de la página cada vez que el contenido del entorno tiene más de 1 página. Lo siguiente es un ejemplo. Me gustaría que el título en el longabstractentorno se comportara como el de shortabstract(es decir, el título y el contenido permanecen en la misma página).

\documentclass[12pt]{book}
\usepackage{setspace}
\usepackage{lipsum}
\begin{document}
\clearpage
\newenvironment{shortabstract}%
    {\cleardoublepage\thispagestyle{empty}\null\vfill\begin{center}%
    \bfseries \LARGE Short Abstract \end{center}}%
    {\vfill\null}
    \setstretch{1.5}
      \begin{shortabstract} 
      \lipsum[1]
       \end{shortabstract}
\newenvironment{longabstract}%
    {\cleardoublepage\null\vfill\begin{center}%
    \bfseries \LARGE Long Abstract\end{center}}%
    {\vfill\null}
        \begin{longabstract}
      \lipsum[2-5]
       \end{longabstract}
\end{document}

Cualquier ayuda es muy apreciada.

Largo

Respuesta1

Supongo que longabstractse supone que tiene más de una página, por lo que centrarlo en una página no tiene sentido.

Las definiciones de los entornos deberían ir en el preámbulo. Evite comandos que no conozca, como \nully en su lugar, utilice comandos estándar de LaTeX.

Aquí el breve resumen está centrado verticalmente; retire el interlineado \vspace*{\fill}si desea que quede al ras del margen superior.

\documentclass[12pt]{book}
\usepackage{setspace}
\usepackage{lipsum}

\newenvironment{shortabstract}
 {\cleardoublepage\thispagestyle{empty}\vspace*{\fill}\begin{center}%
  \bfseries \LARGE Short Abstract\end{center}}%
 {\vspace*{\fill}\cleardoublepage}

\newenvironment{longabstract}
 {\cleardoublepage\begin{center}%
  \bfseries \LARGE Long Abstract\end{center}}%
 {\cleardoublepage}

\setstretch{1.5}

\begin{document}

\begin{shortabstract} 
\lipsum[1]
\end{shortabstract}

\begin{longabstract}
\lipsum[2-5]
\end{longabstract}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Gracias a los comentarios de @UlrikeFischer, ahora descubrí la respuesta: simplemente borre el principio \vfill en estos entornos.

\documentclass[12pt]{book}
\usepackage{setspace}
\usepackage{lipsum}
\begin{document}
\clearpage
\newenvironment{shortabstract}%
    {\cleardoublepage\thispagestyle{empty}\null\begin{center}%
    \bfseries \LARGE Short Abstract \end{center}}%
    {\vfill\null}
    \setstretch{1.5}
      \begin{shortabstract} 
      \lipsum[1]
       \end{shortabstract}
\newenvironment{longabstract}%
    {\cleardoublepage\null\begin{center}%
    \bfseries \LARGE Long Abstract\end{center}}%
    {\vfill\null}
        \begin{longabstract}
      \lipsum[2-5]
       \end{longabstract}
\end{document}

información relacionada