我需要一个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
之间的分离。结合,以下最小示例有望产生您想要的效果:QUOTE
SOURCE
\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
格式来适合自己的喜好。