引用环境,在末尾添加长引用 – 无寡妇

引用环境,在末尾添加长引用 – 无寡妇

我需要一个quote环境,以新行中的源引用结尾,并向右刷新。

只需使用

\begin{quote} 
   QUOTED TEXT
   \begin{flushright}
      SOURCE
   \end{flushright}
\end{quote}

或多或少给出了我想要的结果。但是当引用文本恰好在页面末尾结束时,源文本(通常只有一行)会移动到新页面,看起来很傻。

这些伪寡妇可以手动纠正(在需要的地方添加\pagebreak\enlargethispage),但对于一本包含大量块引用的整本书来说,这相当麻烦......

\nopagebreak忽略环境之间的差异。

使用

\begin{quote} 
   QUOTED TEXT
\par
\nopagebreak
\hfill 
   SOURCE
\end{quote}

相反,不会产生寡妇,但只要 SOURCE 不超过一行,其格式就会正确。

有没有办法让两个环境表现得像一个环境,从而使寡妇控制生效?

答案1

将 放在SOURCE中,\parbox[<v-align>]{<width>}{<stuff>}可让您将其显示在具有对齐的段落中\raggedleft(类似于)。它还可以减少和flushright之间的分离。结合,以下最小示例有望产生您想要的效果:QUOTESOURCE\nobreak

\documentclass{article}
\usepackage{lipsum}
\begin{document}

\newcommand{\source}[1]{%
  \nobreak\parbox[t]{\linewidth}{\raggedleft #1}% Placing a quote source
}%

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra
metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus
eu tellus sit amet tortor gravida placerat.

\lipsum[1-3]
\begin{quote}
  \lipsum[2]
  \source{%
    This is the source for this quote and it is very long. Must be an important 
    reference, otherwise it would not warrant having as much here.%
  }
\end{quote}
\lipsum[3]

\end{document}

来源坚持引用

您可能需要尝试各种SOURCE格式来适合自己的喜好。

相关内容