Cómo sangrar el elemento en el entorno del teorema del paquete ams-gsm

Cómo sangrar el elemento en el entorno del teorema del paquete ams-gsm

Utilizo el paquete gsm para escribir mi archivo de látex. Normalmente, en el entorno del teorema, los elementos tienen una sangría en un pequeño espacio desde el margen izquierdo. Quiero sangrar todo en el margen izquierdo como en la siguiente imagen:

ingrese la descripción de la imagen aquí

Aquí hay un ejemplo de trabajo mínimo:

\documentclass{gsm-l}
\usepackage{amsmath}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem} This is the theorem.
\begin{enumerate}
\item The first item
\item The second item
\item Are they indented as my purpose?
\end{enumerate}
\end{theorem}
\end{document}

Por favor, ayúdame.

Respuesta1

Esto realmente no tiene nada que ver con el theorementorno proporcionado por la clase de documento a través de \newtheorem. En cambio, es el comportamiento predeterminado de una lista (incluidos enumeratey itemize). Puede modificar la sangría utilizando algunos deenumitemLas interfaces. A continuación configuré que leftmarginse calcule automáticamente usando *, lo que da como resultado una configuración al ras a la izquierda:

ingrese la descripción de la imagen aquí

\documentclass{gsm-l}
\usepackage{amsmath,enumitem}% http://ctan.org/pkg/{amsmath,enumitem}
\setlist[enumerate]{leftmargin=*}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem} This is the theorem.
  \begin{enumerate}
    \item The first item
    \item The second item
    \item The third item that is a tad longer and should span more than 
      a single line, and naturally flow to a second line.
  \end{enumerate}
\end{theorem}
\end{document}

\setlist[enumerate]cambia el comportamiento predeterminado enumeratea nivel de documento, en todos los niveles de anidamiento. Si desea tener un cambio más localizado, puede proporcionar un argumento opcional al entorno utilizando la siguiente interfaz:

\begin{enumerate}[leftmargin=*]
  ...
\end{enumerate}

Respuesta2

Las clases de documentos basadas en amsbook(incluido gsm-l) configuran la sangría para que sea demasiado grande, como se observa aquí.

El mecanismo utilizado en ams para disminuirlo es anular la configuración de márgenes predeterminada, lo cual debe hacerse \AtBeginDocument, ya que así es como se definen inicialmente:

\AtBeginDocument{%
  \labelsep=5pt\relax
  \setcounter{enumi}{13}\setcounter{enumii}{13}%
  \setcounter{enumiii}{13}\setcounter{enumiv}{13}%
  \settowidth\leftmargini{\labelenumi\hskip\labelsep}%
%%  \advance\leftmargini by \normalparindent % this is the culprit
  \settowidth\leftmarginii{\labelenumii\hskip\labelsep}%
  \settowidth\leftmarginiii{\labelenumiii\hskip\labelsep}%
  \settowidth\leftmarginiv{\labelenumiv\hskip\labelsep}%
  \setcounter{enumi}{0}\setcounter{enumii}{0}%
  \setcounter{enumiii}{0}\setcounter{enumiv}{0}%
  \leftmarginv=10pt  \leftmarginvi=\leftmarginv
  \leftmargin=\leftmargini
  \labelwidth=\leftmargini \advance\labelwidth-\labelsep
  \@listi}

Dado que esto no está configurado como una definición de comando, no se puede parchear fácilmente mediante técnicas definidas según etoolboxtengo entendido.

información relacionada