如何设置 blockquote 的样式?

如何设置 blockquote 的样式?

我使用这个代码:

\begin{quote}
my quote
\end{quote}

我想将其设置为单倍行距,尽管其余文本的格式为单倍行距和半倍行距。我还想设置字体大小。我该怎么做?

答案1

(2021/06/22:我根据 @moewe 的非常有用的评论更新了这个答案,lipsum自从我在 2016 年发布这个答案以来,包中的一些设置发生了变化。下面的更新包括\par在的第二个参数中添加一个指令\AtBeginEnvironment。如果您不使用该lipsum包,您可能不需要添加的\par指令。)

假设你使用设置空间\onehalfspacing包和修改文档行距的指令,您可以通过在序言中包含以下指令来实现您的目标:

\usepackage{etoolbox}
\AtBeginEnvironment{quote}{\par\singlespacing\small}

在我熟悉的文档类中,如果主文档字体大小为12pt,则指令\small将切换11pt为字体大小。

完整的 MWE (最小工作示例):

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage{lipsum}   % for filler text
\usepackage{setspace} % for \onehalfspacing and \singlespacing macros
\onehalfspacing 

\usepackage{etoolbox}
\AtBeginEnvironment{quote}{\par\singlespacing\small}

\begin{document}
\lipsum[2]  % filler text
\begin{quote}
\lipsum[2]
\end{quote}
\lipsum[2]
\end{document}

答案2

因为这是我在 Google 上搜索“latex block quote”得到的第一个结果,所以我想提一下csquotes我通过以下方式找到的包这篇 Overleaf 文章。似乎做了同样的事情,只是没有进行 OP 要求的字体大小调整。

\documentclass[12pt]{book}
\usepackage[english]{babel}
\usepackage{csquotes}
\usepackage{lipsum}

\begin{document}

\lipsum[1]

\begin{displayquote}
\lipsum[2]
\end{displayquote}

\lipsum[3]

\end{document} 

... 让你得到这个....

在此处输入图片描述

答案3

您可以使用以下包来实现etoolbox

 \documentclass[12pt]{book}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{etoolbox}
\AtBeginEnvironment{quote}{\singlespace\vspace{-\topsep}\small}
\AtEndEnvironment{quote}{\vspace{-\topsep}\endsinglespace}

\onehalfspacing

\begin{document}

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

\lipsum[3]

\end{document} 

在此处输入图片描述

答案4

正如建议的那样阿霍根回答csquotes是排版各种引文的好方法。

csquotes定制块引用的最简单方法之一是\SetBlockEnvironment通过基于的自定义环境quote

不幸的是,我们需要定义一个新的辅助命令来输入单倍行距而不进行空格校正(\singlespacingNoVspace),因为我们已经通过添加了足够的空间quote

\documentclass[12pt]{article}
\usepackage{csquotes}
\usepackage[onehalfspacing]{setspace}

\makeatletter
\newcommand*{\singlespacingNoVspace}{%
  \setstretch{\setspace@singlespace}}
\makeatother

\newenvironment{singlequote}
  {\quote\small\singlespacingNoVspace}
  {\endquote}

\SetBlockEnvironment{singlequote}

\usepackage{lipsum} % for dummy lorem ipsum text

\begin{document}
\lipsum[1]
\begin{displayquote}
\lipsum[2]
\end{displayquote}
\lipsum[3]
\end{document}

半倍行距环绕文本,单倍行距引文

相关内容