Новая среда Latex сдвигает заголовок среды в конец страницы, если содержимое длинное

Новая среда Latex сдвигает заголовок среды в конец страницы, если содержимое длинное

Я пытаюсь выяснить, почему \newenvironmentсдвигает заголовок среды вниз страницы, когда содержимое среды длиннее 1 страницы. Ниже приведен пример. Я хотел бы, чтобы заголовок в среде longabstractвел себя так же, как и заголовок shortabstract(т. е. заголовок и содержимое оставались на одной странице).

\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}

Буду признателен за любую оказанную помощь.

Длинный

решение1

Полагаю, предполагается, что текст longabstractбудет длиннее одной страницы, поэтому центрировать его на странице не имеет смысла.

Определения сред должны быть в преамбуле. Избегайте команд, о которых вы не знаете, таких как \null, и используйте вместо них стандартные команды LaTeX.

Здесь краткая аннотация выравнивается по вертикали; удалите интерлиньяж, \vspace*{\fill}если вы хотите, чтобы она была вровень с верхним полем.

\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}

введите описание изображения здесь

решение2

Благодаря комментариям @UlrikeFischer я теперь нашел ответ: просто удалите начальную строку \vfill в этих средах.

\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}

Связанный контент