替换页末的 vspace

替换页末的 vspace

我正在排版一段文本,其中的各节之间用 分隔\vspace{1em}(各节没有标题)。有时节的结尾与页面的结尾重合。在这种情况下,读者看不到节的结尾分隔符。我想实现此问题的以下解决方案。当新节在页面末尾结束时,我想用\vspace三个星号 替换分隔符***。我该怎么做?

答案1

该类memoir提供这种匿名分隔。\plainfancybreak如果分隔发生在页面的开头或结尾,宏会在页面中间的段落之间插入一些空白或更花哨的东西。请阅读手册以了解如何使用此功能的详细信息(texdoc memoir第 6.7 节花哨的匿名分隔符,第 108-110 页)

答案2

以下内容可能不是万无一失的(取决于您的文档构造),但值得尝试:

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}\sloppy% Just for this example

% Taken from http://tex.stackexchange.com/a/36726/5764
% Taken from the needspace package (http://ctan.org/pkg/needspace)
\makeatletter
% \needspace{<len>}{<less than len>}{<more than len>}
\newcommand{\needspace}[3]{\par \penalty-100\begingroup
  \setlength{\dimen@}{#1}%
  \dimen@ii\pagegoal \advance\dimen@ii-\pagetotal
  \ifdim \dimen@>\dimen@ii
    #3
  \else
    #2
  \fi\endgroup}
\makeatother

\renewcommand{\section}{%
  \unskip\par
  \needspace{3\baselineskip}
    {\vspace{1em}}
    {\newpage\noindent\makebox[\linewidth]{* \quad * \quad *}%
     \par}%
}

\begin{document}

\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]

\end{document}

一些代码来自needspace检查当前页面上的可用空间,以及如果空间不足则输出的内容。


下面使用页脚插入\section与分页符一致的“break”:

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}\sloppy% Just for this example
\usepackage{fancyhdr}

% Taken from http://tex.stackexchange.com/a/36726/5764
% Taken from the needspace package (http://ctan.org/pkg/needspace)
\makeatletter
% \needspace{<len>}{<less than len>}{<more than len>}
\newcommand{\needspace}[3]{\par \penalty-100\begingroup
  \setlength{\dimen@}{#1}%
  \dimen@ii\pagegoal \advance\dimen@ii-\pagetotal
  \ifdim \dimen@>\dimen@ii
    #3
  \else
    #2
  \fi\endgroup}
\makeatother

\renewcommand{\section}{%
  \unskip\par
  \needspace{3\baselineskip}
    {\vspace{1em}}
    {\renewcommand{\sectionend}{* \quad * \quad *}%
     \newpage
     \renewcommand{\sectionend}{}}%
}

\newcommand{\sectionend}{}
\pagestyle{fancy}
\fancyhf{}% Clear fancy header/footer
\renewcommand{\headrulewidth}{0pt}% No header rule
\fancyfoot[C]{\begin{tabular}[b]{@{}c@{}} \sectionend \\ \thepage \end{tabular}}

\begin{document}

\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]
\section\lipsum[1-4]

\end{document}

相关内容