12

In my document, I want to follow the advice that says that quotes should be indented and set in a smaller font.

Obviously, this is easily done with:

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

But that's not really making the best use of LaTeX and I could easily forget that \small ... have forgotten that \small ... more than once.

So instead, I could define a new environment - something like this:

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

And have:

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

But myquote? Really? There's nothing unique about myquote, it's pretty default behaviour. I'd much rather modify the original quote definition and carry on using:

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

(which I think is a much more sensible environment name), but modify it so that it sets the contents in the \small font size automatically.

So I tried out etoolbox and used:

\AtBeginEnvironment{quote}{\small}

To create this 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}

Which is fine, but it adds vertical space around the quote:

enter image description here

That is not added by the standard quote environment:

enter image description here

How, then, might I modify quote to add the \small font declaration automatically, without affecting any other aspects of its default behaviour, and without introducing this vertical space, which I do not think should be there?

1 Answer 1

22

In LaTeX, the \begin{foo} and \end{foo} actually call the commands \foo and \endfoo. So one way to achieve what you want is to simply redefine \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}

quote

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .