2009-06-16 14 views
5

Ich habe ein Problem mit Theorem Nummerierung in LaTeX. Ich kann es Zahl von Unterabschnitt machen, zTheorem Nummerierung in LaTeX

Theorem 1.2.1

für den ersten Satz im zweiten Teilabschnitt des ersten Abschnitts. Aber ich muss es mir zeigen nur die Zahlen des Unterabschnitts und dem Satz, aber nicht die Abschnittsnummer, wie folgt aus:

Satz 2,1

Ich benutze

\newtheorem{thm}{Theorem}[subsection] 

für die Nummerierung.

+18

Bitte tu das nicht. Als ein häufiger Leser mathematischer Bücher hasse ich es, wenn Bücher diesen Nummerierungsstil benutzen. Wenn Sie dies tun, wird "Satz 3.2" mehrdeutig: Er kann sich an vielen Stellen auf viele mögliche Sätze beziehen und kompliziertes Material nicht leichter verständlich machen. – kquinn

+1

Ich bin ein Jahrzehnt zu spät auf Kquinn reagieren, aber ich habe wirklich nie das mehrdeutig gefunden. Die Aussage "Satz 3.2" bedeutet den zweiten Satz des dritten Abschnitts dieses Kapitels. Um auf ein anderes Kapitel zu verweisen, sagen die Autoren "Satz 3.2 von Kapitel 1". Weiterhin ist es für mich viel einfacher, die Sätze als (a) zu lesen, Kapitel sind entweder eigenständig oder haben benannte Ergebnisse aus anderen Kapiteln, um darauf Bezug zu nehmen, und (b) ich bin besser beim Parsen Englisch als ich bin bei der Analyse von Ziffernfolgen. –

+0

@BenKushigian die Frage fragt nach Theorem Nummerierung, die mit jedem neuen * Abschnitt *, nicht mit jedem neuen Kapitel zurückgesetzt – McDuffin

Antwort

8

den folgenden Code in der Präambel Einlochen scheint die gewünschte Wirkung zu haben:

\usepackage{amsthm} 
\newtheorem{thm}{Theorem}[subsection] 
\renewcommand{\thethm}{\arabic{subsection}.\arabic{thm}} 

Ich verstehe nicht, warum Sie dieses Nummerierungssystem insbesondere Satz wollen, aber der Code tut, was Sie wollen: LaTeX output

+1

Clever. Beachten Sie, dass das, was angefordert wurde, von den Interna von amsthm abhängt, daher könnte es fragil sein. Wäre das nicht verwirrend für Leser, weil Sie "Theorem 1.1" für den ersten Satz in jedem Unterabschnitt haben? – Naaff

+3

@Naaff Ich bin richtig mit dir fragen, warum der Fragesteller Theoreme auf diese Weise nummerieren will. Ich persönlich würde die Kreuzreferenz-Ambiguität vermeiden, die Sie erwähnen, indem Sie mit dem Standard von section_section.theorem fortfahren, oder indem Sie Theoreme fortlaufend nummerieren, ohne für das gesamte Dokument zurückzusetzen. – las3rjock

+0

Was macht dieses "imageshack" Ding hier? –

1

Funktioniert das?

\newtheorem{thm}{Theorem}[section] 

Siehe diese LaTeX tips.

+0

Ich habe das schon versucht. Das gibt mir die Nummerierung wie diese 'section_number.theorem_number', aber ich brauche' subsection_number.theorem_number' – jbradaric

+0

Die LaTeX Tipps Link ist gebrochen – PaulrBear

-1

Legen Sie diese Zeile in der Präambel (oder anderswo vor der \ newtheorem-Anweisung):

\renewcommand{\thesubsection}{\arabic{subsection}} 

Dies wird die Nummerierung Befehl der thm Umgebung setzen Sie die Abschnittsnummern (wenn die Nummerierung Theoreme) und Anzeige zu ignorieren nur die Teilzahlen und Theoremzahlen. Abschnittsnummern werden immer noch vor Abschnittsüberschriften angezeigt, nur nicht die in den Abschnitten enthaltenen Sätze. Also, genau wie Sie es beschreiben, wird der erste Satz im zweiten Unterabschnitt des ersten Abschnitts mit 2.1 nummeriert. Alternativen zu \ arabicum umfassen:

  • \ Roman - produziert Hauptstadt römische Zahlen, wie II.1
  • \ roman - Klein römischen Zahlen erzeugt, wie ii.1
  • \ Alph - produziert Großbuchstaben, wie B.1
  • \ alph - Kleinbuchstaben erzeugt, wie b.1
+0

Wird dies nicht auch die nummerierten Unterabschnitte beeinflussen? – las3rjock

+0

Ja, Sie haben Recht, dies führt dazu, dass sowohl die Theoremenummern als auch die Nummerierungen der Unterabschnittsüberschriften die Abschnittsnummern ignorieren. –

+0

Ich * denke *, obwohl ich nicht sicher bin, dass Sie die Neunummerierung speziell für Theoreme machen könnten, wenn Sie die \ renewcommand-Zeile innerhalb der Umgebungsdefinition \ newtheorem eingefügt haben. Aber das würde natürlich erfordern, die \ newtheorem-Umgebungsdefinition manuell neu zu implementieren, was sich möglicherweise nicht lohnt. –

1

Es gibt keine leicht Weg, dies zu tun. Die AMS Theorem Package bietet nur eine Möglichkeit zur Kontrolle bei der Numerierung von Resets (Abschnitt, Unterabschnitt), wenn sie an andere Umgebungen gebunden ist (Korollar, Lemma) und Zahlenreihenfolge ("1.1 Theorem" vs. "Theorem 1.1").

Theorem erhalten ihre Nummerierung aus dem \thesection oder \thesubsection Befehl. Sie können den Befehl \thesubsection neu definieren, um die gewünschte Nummerierung zu erhalten. Dies wirkt sich jedoch auch auf aus, alles andere, das \thesubsection verwendet.

-2

können Sie diesen Befehl verwenden, für Befehlsabschnitt und Abschnitt zu erneuern und Theorem und ...

\renewcommand{\theequation}{\thesection.\arabic{equation}} 
\renewcommand{\thesection}{\arabic{section}} 
\renewcommand{\thesubsection}{(\alph{subsection})}‎‎‎ 
0

In als leicht weniger hacky Weise können Sie einen gefälschten Zähler erstellen, die mit subsection zurückgesetzt und neu definieren seine \the nach Ihren Wünschen:

\newcounter{fakecnt}[subsection] 
\def\thefakecnt{\arabic{subsection}} 
\newtheorem{thm}{Theorem}[fakecnt]