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

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

関連情報