Modificando um ambiente existente, mas mantendo o nome

Modificando um ambiente existente, mas mantendo o nome

Em meu documento, quero seguir o conselho que diz que as aspas devem ser recuadas e definidas em fonte menor.

Obviamente, isso é feito facilmente com:

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

Mas isso não é realmente fazer o melhor uso do LaTeX e eu poderia facilmente esquecer isso \small... esqueci disso \small... mais de uma vez.

Então, em vez disso, eu poderia definir um novo ambiente - algo assim:

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

E tem:

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

Mas myquote? Realmente? Não há nada de único nisso myquote, é um comportamento bastante padrão. Prefiro modificar a quotedefinição original e continuar usando:

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

(que eu acho que é um nome de ambiente muito mais sensato), mas modifique-o para que ele defina o conteúdo no \smalltamanho da fonte automaticamente.

Então eu experimentei etoolboxe usei:

\AtBeginEnvironment{quote}{\small}

Para criar este 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}

O que é bom, mas adiciona espaço vertical ao redor da citação:

insira a descrição da imagem aqui

Isso não é adicionado pelo ambiente padrão quote:

insira a descrição da imagem aqui

Como, então, eu poderia modificar quotepara adicionar a \smalldeclaração da fonte automaticamente, sem afetar nenhum outro aspecto de seu comportamento padrão e sem introduzir esse espaço vertical, que eu acho que não deveria estar lá?

Responder1

No LaTeX, o \begin{foo}e \end{foo}realmente chama os comandos \fooe \endfoo. Portanto, uma maneira de conseguir o que deseja é simplesmente redefinir \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}

citar

informação relacionada