在引用前使用拉伸时删除分页符

在引用前使用拉伸时删除分页符

我正在尝试创建一个环境,它的作用类似于长文档的致谢或摘要部分:标题居中且文本比正常情况略窄的页面。此外,它应该从页面顶部下方的较短位置开始。

到目前为止,我尝试使用引文环境。对于少于一页的部分,它工作得很好,如下面的“摘要”示例,但如果内容超过一页,如“致谢”示例,则会在页眉前插入一个额外的分页符。为什么会发生这种情况?我如何设置此环境,使其从页面顶部以下开始,当内容较短时,顶部/底部会像 MWE 一样垂直拉伸,但当内容变长时会做一些合理的事情?

梅威瑟:

\documentclass[11pt]{article}
\usepackage{lipsum}

\newenvironment{pseudochapter}[1]
  {\clearpage
   \vspace*{\stretch{1}}
   \begin{quotation}
   \begin{center} \large \textbf{#1} \\[.7em] \end{center}
  }
  {\end{quotation}
   \vspace*{\stretch{3}}
   \clearpage
  }

\begin{document}

\begin{pseudochapter}{Abstract}
  \lipsum[1]
\end{pseudochapter}

\begin{pseudochapter}{Acknowledgments}
  \lipsum[1-4]
\end{pseudochapter}

\end{document}

答案1

这个提议很可能有些过头了。它主要是为了宣传很好的宏,可以让人知道是否在第一行。它似乎可以做你想做的事。

\documentclass[a4paper,12pt]{article}
\usepackage{lipsum}
\usepackage[pagewise]{lineno}
\pagewiselinenumbers
\makeatletter
\def\storepagewiselineno#1{%from https://tex.stackexchange.com/a/413117/121799
    \bgroup % This group is to keep the value of \c@linenumber local
    \testNumberedPage % store the page-wise line number into \c@linenumber
    \expandafter\egroup % smuggle \c@linenumber out of the scope
    \expandafter\edef\expandafter#1\expandafter{\the\c@linenumber}%
}
\makeatother


\def\testinglinenumber{\storepagewiselineno\temp
    \ifnum\temp>1\relax\clearpage\else I am in first line\fi\par
}

\renewcommand\LineNumber{} %turn off showing the line numbers
\newenvironment{pseudochapter}[1]
  {\storepagewiselineno\temp
  \ifnum\temp>1\relax~\clearpage\else\relax\vspace*{\stretch{1}}\fi
\begin{quotation}\interlinepenalty=10000
   \begin{center} \large \textbf{#1} \\[.7em] \end{center}\nobreak
  }
  {\vspace*{\stretch{3}}
  \end{quotation}%
%   \clearpage
}
\begin{document}
\lipsum[1]
\begin{pseudochapter}{Abstract}
  \lipsum[1]
\end{pseudochapter}
\begin{pseudochapter}{Acknowledgments}
  \lipsum[1-4]
\end{pseudochapter}

\end{document}

相关内容