![So rücken Sie das Element in der Theoremumgebung des ams-gsm-Pakets ein](https://rvso.com/image/281599/So%20r%C3%BCcken%20Sie%20das%20Element%20in%20der%20Theoremumgebung%20des%20ams-gsm-Pakets%20ein.png)
Ich verwende das GSM-Paket, um meine Latex-Datei zu schreiben. Normalerweise werden die Elemente in der Theorem-Umgebung ein kleines Stück vom linken Rand eingerückt. Ich möchte alles bis zum linken Rand einrücken, wie im folgenden Bild:
Hier ist ein minimales funktionierendes Beispiel:
\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}
Bitte hilf mir.
Antwort1
Dies hat eigentlich nichts mit der Umgebung zu tun, theorem
die von der Dokumentklasse über bereitgestellt wird \newtheorem
. Stattdessen ist es das Standardverhalten einer Liste (einschließlich enumerate
und itemize
). Sie können die Einrückung mithilfe einiger der folgenden ändern:enumitem
's-Schnittstellen. Unten habe ich so eingestellt, leftmargin
dass automatisch mit berechnet wird *
, was zu einer linksbündigen Einstellung führt:
\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]
ändert das Standardverhalten enumerate
auf Dokumentebene über alle Verschachtelungsebenen hinweg. Wenn Sie eine stärker lokalisierte Änderung wünschen, können Sie der Umgebung stattdessen mithilfe der folgenden Schnittstelle ein optionales Argument übergeben:
\begin{enumerate}[leftmargin=*]
...
\end{enumerate}
Antwort2
Dokumentklassen, die auf amsbook
(einschließlich gsm-l
) basieren, richten die Einrückung zu groß ein, wie hier zu beobachten ist.
Der Mechanismus, der bei ams zum Verringern verwendet wird, besteht darin, die Standard-Randeinstellungen zu überschreiben, was getan werden muss \AtBeginDocument
, da sie ursprünglich so definiert wurden:
\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}
da dies nicht als Befehlsdefinition eingerichtet ist, kann es, etoolbox
soweit ich es verstehe, nicht ohne Weiteres durch die darin definierten Techniken gepatcht werden.