amsart 中引用環境內的行間距(刪除多餘的空白)

amsart 中引用環境內的行間距(刪除多餘的空白)

這是後續引用環境內的行間距。我正在使用amsart文件類,並為整個文件專門定義了行間距。當我調整環境中的行距​​時quote,我在引用的材料上方得到了額外的空白,如下例所示。知道我怎麼能避免這種情況發生嗎?謝謝。

編輯:仔細檢查後,似乎引用環境標準地在正文和引用之間插入了一些額外的空格,以便稍微突出引用。我同意額外的空間,但我希望將其添加到間距中正文的而不是引用的內容。如果額外邊距為 e,正文間距為 m,引用間距為 q,我希望正文和引用之間的間距為 m + e,而不是 q + e。

\documentclass{amsart}
\usepackage{setspace}
\usepackage{lipsum}

\setstretch{1.5}

\begin{document}

\lipsum[2]
\begin{quote}
\singlespacing
\lipsum[1]
\end{quote}
\lipsum[2]

\end{document}

答案1

你可以quote用一個spacing1因素的環境來包圍環境;另外,為了滿足問題編輯中的新標準,您需要修正環境前後的間距:

\documentclass{amsart}
\usepackage{setspace}
\usepackage{lipsum}

\doublespacing

\let\oldquote\quote
\let\oldendquote\endquote
\renewenvironment{quote}
  {\vspace{\dimexpr-12pt-\topsep+\baselineskip\relax}\begin{spacing}{1}\oldquote}
  {\oldendquote\end{spacing}\vspace{\dimexpr-12pt-\topsep+\baselineskip\relax}}

\begin{document}

\lipsum[2]
\begin{quote}
\lipsum[1]
\end{quote}
\lipsum[2]

\end{document}

在此輸入影像描述

在範例中,我使用\doublespacing而不是原始設定\setstretch{1.15}只是為了使結果更明顯,但原始設定也會產生請求的結果。

答案2

\singlespacing根據設計,切換到它時會插入額外的空間。將其替換為\setstretch{1}.

\documentclass{amsart}
\usepackage{setspace}
\usepackage{lipsum}

\setstretch{1.15}

\begin{document}

\lipsum[2]
\begin{quote}
\setstretch{1}
\lipsum[1]
\end{quote}
\lipsum[2]

\end{document}

以下是如何在序言中應用此更改,而不是添加到文件中的\setstretch{1}每個環境:quote

\documentclass{amsart}
\usepackage{setspace}
\usepackage{lipsum}

\setstretch{1.15}

\usepackage{etoolbox}
\AtBeginEnvironment{quote}{\setstretch{1}}

\begin{document}

\lipsum[2]
\begin{quote}
\lipsum[1]
\end{quote}
\lipsum[2]

\end{document}

兩個範例的輸出:

在此輸入影像描述

相關內容