
這是後續引用環境內的行間距。我正在使用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
用一個spacing
有1
因素的環境來包圍環境;另外,為了滿足問題編輯中的新標準,您需要修正環境前後的間距:
\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}
兩個範例的輸出: