2009-06-16 30 views
5

Tengo un problema con la numeración de teoremas en LaTeX. Puedo hacer que el número por la subsección, por ejemploNumeración de teoremas en LaTeX

Teorema 1.2.1

por primera teorema en la segunda subsección de la primera sección. Pero necesito que me muestre sólo los números de la subsección y el teorema, pero no el número de sección, así:

Teorema 2,1

que utilizo

\newtheorem{thm}{Theorem}[subsection] 

para la numeración.

+18

Por favor, no hagas esto. Como lector frecuente de libros matemáticos, lo * odio * cuando los libros usan este estilo de numeración. Si haces esto, decir "Teorema 3.2" se vuelve ambiguo: puede referirse a muchos teoremas posibles en muchos lugares, y no hace que el material complicado sea más fácil de entender. – kquinn

+1

Tengo una década de retraso en responder a kquinn pero realmente nunca he encontrado que esto sea ambiguo. Decir "Teorema 3.2" significa el segundo teorema de la tercera sección de este capítulo. Para referirse a otro capítulo, los autores dirán "Teorema 3.2 del capítulo 1". Además, esto hace que sea mucho más fácil para mí leer los teoremas ya que (a) la mayoría de las veces, los capítulos son independientes o tienen nombres de resultados de otros capítulos para referirse a ellos, y (b) soy mejor analizando Inglés de lo que soy en el análisis de secuencias de dígitos. –

+0

@BenKushigian la pregunta pregunta por la numeración de teoremas que se restablece con cada nueva * sección *, no con cada nuevo capítulo – McDuffin

Respuesta

8

Poner el código siguiente en el preámbulo parece tener el efecto deseado:

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

No entiendo por qué quiere este sistema de numeración teorema particular, pero el código hace lo que quiere: LaTeX output

+1

Inteligente. Tenga en cuenta que, si bien esto hace lo que se solicitó, depende de las partes internas de amsthm, por lo que podría ser frágil. Además, ¿no sería esto confuso para los lectores ya que tiene el "Teorema 1.1" para el primer teorema en cada subsección? – Naaff

+3

@Naaff Estoy de acuerdo con que te preguntes por qué la pregunta asker quiere numerar los teoremas de esta manera. Personalmente, evitaría la ambigüedad de referencia cruzada que mencionas al seguir con el teorema section.section predeterminado, o numerando teoremas consecutivamente sin restablecer el documento completo. – las3rjock

+0

¿Qué está haciendo esta cosa "imageshack" aquí? –

1

¿Funciona?

\newtheorem{thm}{Theorem}[section] 

ver estas LaTeX tips.

+0

Ya lo he intentado. Eso me da una numeración como esta 'section_number.theorem_number', pero necesito' subsection_number.theorem_number' – jbradaric

+0

El enlace LaTeX tips está roto – PaulrBear

-1

Inserte esta línea en su preámbulo (o en cualquier otro lugar antes de la instrucción \ newtheorem):

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

Esto restablecerá el comando numeración del entorno de THM a ignorar los números de sección (cuando se numeran teoremas) y la pantalla solo los números de subsección y teorema. Los números de las secciones aún se mostrarán delante de los títulos de las secciones, pero no los teoremas incluidos en las secciones. Entonces, tal como lo describes, el primer teorema en la segunda subsección de la primera sección estará numerado 2.1. Alternativas a \ árabe incluyen:

  • \ Romano - produce números romanos de capital, tales como II.1
  • \ romano - produce números romanos en minúscula, como II.1
  • \ Alph - produce mayúsculas, como B.1
  • \ Alph - produce letras en minúscula, como b.1
+0

¿No afectará esto también a los títulos de las subsecciones numeradas? – las3rjock

+0

Sí, tienes razón, esto hará que tanto las numeraciones de los teoremas como las numeraciones de los títulos de las subsecciones ignoren los números de las secciones. –

+0

Creo *, aunque no estoy seguro, que pueda hacer que la renumeración sea específica de los teoremas si incluye la línea \ renewcommand dentro de la definición del entorno \ newtheorem. Pero, por supuesto, esto requeriría volver a implementar manualmente la definición del entorno \ newtheorem, que quizás no valga la pena. –

1

no hay fácil manera de hacer esto. El AMS Theorem Package solo proporciona una forma de controlar cuándo se numeran los restablecimientos (sección, subsección), si está vinculado a otros entornos (corolario, lema) y orden numérico ("1.1 Teorema" vs. "Teorema 1.1").

Los teoremas obtienen su numeración del comando \thesection o \thesubsection. Puede redefinir el comando \thesubsection para obtener la numeración que desea, pero eso también afectará a todo lo demás que usa \thesubsection.

-2

puede utilizar este comando para la sección y subsección de comandos y el teorema de y renovar ...

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

En lo la ligera forma menos hacky, es posible crear un contador falso que se restablece con subsection y redefinir su \the a su gusto:

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