2009-06-16 24 views
5

Ho un problema con la numerazione dei teoremi in LaTeX. Posso farlo numero dal comma, per esempioNumerazione dei teoremi in LaTeX

Teorema 1.2.1

per il primo teorema nella seconda sottosezione della prima sezione. Ma ho bisogno che mi mostri solo i numeri della sottosezione e il teorema, ma non il numero della sezione, come questo:

Teorema 2,1

che uso

\newtheorem{thm}{Theorem}[subsection] 

per la numerazione.

+18

Si prega di non farlo. Come frequente lettore di libri matematici, lo * odio * quando i libri usano questo stile di numerazione. Se lo fai, dire "Teorema 3.2" diventa ambiguo: può riferirsi a molti teoremi possibili in molti posti, e non rende più facile capire il materiale complicato. – kquinn

+1

Sono in ritardo di un decennio per rispondere a Kquinn, ma non ho mai trovato questo ambiguo. Dire "Teorema 3.2" significa il secondo teorema della terza sezione di questo capitolo. Per riferirsi a un altro capitolo, gli autori diranno "Teorema 3.2 del capitolo 1". Inoltre, questo rende molto più facile per me leggere i teoremi come (a) il più delle volte, i capitoli sono autonomi o hanno i risultati denominati da altri capitoli a cui fare riferimento e (b) sono più bravo nell'analisi Inglese di me a parsing sequenze di cifre. –

+0

@BenKushigian la domanda richiede la numerazione dei teoremi che si reimposta con ogni nuova * sezione *, non con ogni nuovo capitolo – McDuffin

risposta

8

Mettere il seguente codice nel preambolo sembra avere l'effetto desiderato:

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

non capisco il motivo per cui si desidera che questo particolare sistema di numerazione teorema, ma il codice fa quello che si vuole: LaTeX output

+1

Intelligente. Nota che, mentre questo fa ciò che è stato richiesto, dipende dall'interno di amsthm, quindi potrebbe essere fragile. Inoltre, non sarebbe confuso per i lettori dato che hai "Teorema 1.1" per il primo teorema in ogni sottosezione? – Naaff

+3

@Naaff, ho ragione a chiedermi perché il richiedente chiede numeri teoremi in questo modo. Personalmente eviterei l'ambiguità di riferimenti incrociati che menzioni attenendosi al default di section.subsection.theorem, o numerando teoremi consecutivamente senza reimpostare per l'intero documento. – las3rjock

+0

Cosa sta facendo questa cosa "imageshack" qui? –

1

Funziona?

\newtheorem{thm}{Theorem}[section] 

Vedere questi LaTeX tips.

+0

che ho già provato. Questo mi dà la numerazione come 'section_number.theorem_number', ma ho bisogno di' subsection_number.theorem_number' – jbradaric

+0

Il link di suggerimenti LaTeX è rotto – PaulrBear

-1

Inserire questa riga nel preambolo (o in qualsiasi altro prima dell'istruzione \ newtheorem):

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

Questo resetta il comando numerazione dell'ambiente THM di ignorare i numeri di sezione (quando numerazione teoremi) e la visualizzazione solo i numeri delle sottosezioni e i numeri del teorema. I numeri delle sezioni saranno ancora visualizzati davanti alle intestazioni delle sezioni, ma non i teoremi inclusi nelle sezioni. Quindi, proprio come descrivi, il primo teorema nella seconda sottosezione della prima sezione sarà numerato 2.1. Alternative a \ araba sono:

  • \ romano - produce numeri romani di capitale, come ad esempio II.1
  • \ romano - produce minuscole numeri romani, come II.1
  • \ Alph - produce lettere maiuscole, come ad esempio B.1
  • \ alph - produce lettere minuscole, come b.1
+0

Questo non influisce anche sulle intestazioni di sottosezione numerate? – las3rjock

+0

Sì, hai ragione, questo farà sì che sia le numerazioni dei teoremi che le numerazioni delle intestazioni di sottosezione ignorino i numeri di sezione. –

+0

I * think *, sebbene non ne sia sicuro, è possibile rendere la rinumerazione specifica dei teoremi se si include la riga \ renewcommand all'interno della definizione di ambiente \ newtheorem. Ma naturalmente ciò richiederebbe la reimplementazione manuale della definizione di ambiente \ newtheorem, che potrebbe non valerne la pena. –

1

non c'è facile modo per farlo. Il AMS Theorem Package fornisce solo un modo per controllare quando si reimposta la numerazione (sezione, sottosezione), se è legato ad altri ambienti (corollario, lemma) e ordine numerico ("Teorema 1.1" rispetto a "Teorema 1.1").

I teoremi ottengono la loro numerazione dal comando \thesection o \thesubsection. È possibile ridefinire il comando \thesubsection per ottenere la numerazione desiderata, ma ciò influirà anche su su tutto il resto che utilizza \thesubsection.

-2

È possibile utilizzare questo comando per rinnovare la sezione di comando e sottosezione e il teorema di e ...

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

In quanto leggermente modo meno hacky, è possibile creare un contatore falso che viene azzerato con subsection, e ridefinire la sua \the a proprio piacimento:

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