如何缩进段落的所有行以使其看起来像块引用?

如何缩进段落的所有行以使其看起来像块引用?

我知道有一个\quote宏可以做到这一点(如果我错了请纠正我);但我正在将它用于其他用途(不是散文)。我还希望它遵循右边距。下面的最小工作示例要求我猜测宽度\parbox,这不是最佳实践。参见带有\newcommand{\myquote}...

\documentclass{article}

\newcommand{\myquote}[1]{\vskip6pt\noindent\hangindent=5em\hangafter=0\parbox{4in}{#1}\vskip6pt}

\begin{document}

The quick brown fox jumps over the lazy dog.

\myquote{The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.}

The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

$E=mc^2$ by Einstein

\end{document}

答案1

我一直觉得各种 quote 环境都是通过 generic 环境实现的,这有点违反直觉list(如果我没记错的话,adjustwidthfrom memoir 也是这样实现的)。最近,我在结合adjustwidthwith \obeylines(和一些其他东西)时遇到了麻烦,出现了“缺失\item”错误。然后我在 TeXbook 中找到了\leftskipand 。我认为这就是你想要的:\rightskip

\documentclass{article}
\usepackage{lipsum}

\newenvironment{blockquote}{%
  \par%
  \medskip
  \leftskip=4em\rightskip=2em%
  \noindent\ignorespaces}{%
  \par\medskip}

\begin{document}

\lipsum[1]

\begin{blockquote}
  \lipsum[2]

  \lipsum[3]
\end{blockquote}

\lipsum[4]

\end{document}

平均能量损失

如果希望引文的第一段缩进,只需删除\noindent。如果不希望引文后的第一段缩进,请\aftergroup\@afterindentfalse\aftergroup\@afterheading在最后一个 之后插入 ,并在 之前/之后\medskip放置一个\makeatletter/对。\makeatother\newenvironment

答案2

在内部,quote使用环境定义list,您可以通过复制和修改其原始定义来定义自己的

\newenvironment{myquote}{%
   \list{}{\rightmargin\leftmargin}\item\relax
   % and maybe do more stuff
}{\endlist}

答案3

老问题了,但我想提一下\narrower,它增加了\left- 和 ,\rightskip这样\parindent事情就保持一致了。在 TeXbook 练习 14.15 中,它与\smallskip前后以及初始一起使用\noindent

\documentclass{article}
\usepackage{lipsum}
\newcommand{\blockquote}[1]{%
  {\narrower\smallskip\noindent#1\smallskip}}
\begin{document}
\lipsum[41]
\blockquote{\lipsum[34]}
\lipsum[12]
\end{document}

答案4

通过使用该changepage包,可以实现相同的结果:

在此处输入图片描述

\documentclass{article}
\usepackage{lipsum}
\usepackage{changepage}

\begin{document}

\lipsum[1]

\begin{adjustwidth*}{4em}{2em}
  \lipsum[2]

  \lipsum[3]
\end{adjustwidth*}

\lipsum[4]

\end{document}

相关内容