修改现有环境,但保留名称

修改现有环境,但保留名称

在我的文档中,我想遵循这样的建议:引号应该缩进并采用较小的字体。

显然,这很容易做到:

\begin{quote}\small
  ...
\end{quote}

但这并没有真正充分利用 LaTeX,而且我很容易忘记这一点\small……已经忘记了这一点\small……不止一次。

因此,我可以定义一个新的环境 — — 如下所示:

\newenvironment{myquote}{\begin{quote}\small}{\end{quote}}

并且有:

\begin{myquote}
  ...
\end{myquote}

但是myquote?真的吗? 没有什么特别的myquote,这是相当默认的行为。我宁愿修改原始quote定义并继续使用:

\begin{quote}
  ...
\end{quote}

(我认为这是一个更加合理的环境名称),但修改它以便它\small自动设置字体大小的内容。

所以我尝试etoolbox并使用了:

\AtBeginEnvironment{quote}{\small}

要创建此 MWE:

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage[parfill]{parskip}
\usepackage{etoolbox}

\AtBeginEnvironment{quote}{\small}

\begin{document}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus
et magnis dis parturient montes, nascetur ridiculus mus. Donec quam
felis, ultricies nec, pellentesque eu, pretium quis, sem.
\begin{quote}
  Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
  aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut,
  imperdiet a, venenatis vitae, justo.
\end{quote}
Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras
dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend
tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a,
tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque
rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur
ullamcorper ultricies nisi. Nam eget dui.

\end{document}

这很好,但是它增加了引文周围的垂直空间:

在此处输入图片描述

quote标准环境没有添加以下内容:

在此处输入图片描述

那么,我该如何修改quote以自动添加\small字体声明,而不影响其默认行为的任何其他方面,也不引入我认为不应该存在的垂直空间?

答案1

在 LaTeX 中,\begin{foo}\end{foo}实际上调用命令\foo\endfoo。因此,实现所需目的的一种方法是简单地重新定义\quote

\documentclass{article}
\usepackage[margin=1.8cm, a4paper]{geometry}
\usepackage[parfill]{parskip}
\usepackage{lipsum}

\let\origquote=\quote
\def\quote{\origquote\small}

\begin{document}
  <what you had>
\end{document}

引用

相关内容