Latex新環境在內容較長時將環境標題推送到頁面末尾

Latex新環境在內容較長時將環境標題推送到頁面末尾

我試圖弄清楚為什麼\newenvironment每當環境內容長於一頁時就會將環境標題推到頁面底部。下面是一個例子。我希望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}

相關內容