Modificar un entorno existente, pero manteniendo el nombre.

Modificar un entorno existente, pero manteniendo el nombre.

En mi documento, quiero seguir el consejo que dice que las comillas deben tener sangría y una fuente más pequeña.

Obviamente, esto se hace fácilmente con:

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

Pero eso no es realmente hacer el mejor uso de LaTeX y podría olvidarlo fácilmente \small... lo he olvidado \small... más de una vez.

Entonces, en lugar de eso, podría definir un nuevo entorno, algo como esto:

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

Y tiene:

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

Pero myquote? ¿En realidad? No hay nada único en myquote, es un comportamiento bastante predeterminado. Prefiero modificar la quotedefinición original y seguir usando:

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

(que creo que es un nombre de entorno mucho más sensato), pero modifíquelo para que establezca el contenido en el \smalltamaño de fuente automáticamente.

Entonces probé etoolboxy usé:

\AtBeginEnvironment{quote}{\small}

Para crear 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}

Lo cual está bien, pero agrega espacio vertical alrededor de la cita:

ingrese la descripción de la imagen aquí

Eso no lo agrega el quoteentorno estándar:

ingrese la descripción de la imagen aquí

Entonces, ¿cómo podría modificarlo quotepara agregar la \smalldeclaración de fuente automáticamente, sin afectar ningún otro aspecto de su comportamiento predeterminado y sin introducir este espacio vertical, que no creo que debería estar ahí?

Respuesta1

En LaTeX, \begin{foo}y \end{foo}en realidad llaman a los comandos \fooy \endfoo. Entonces, una forma de lograr lo que desea es simplemente 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}

cita

información relacionada