miércoles, 31 de julio de 2013

Cómo editar la numeración de las ecuaciones

En esta entrada voy a explicar cómo editar la numeración de las ecuaciones. En primer lugar hablaré de cómo hacerlo para una clase sin capítulos (artículo), y en segundo lugar, para una clase con capítulos (libro); ya que cada clase utiliza su propio formato.
  • Si estamos utilizando una clase sin capítulos, por ejemplo {article}.
Por defecto, LaTeX numera las ecuaciones con números crecientes (independientemente de la sección donde se encuentre). Como se ve en la imagen siguiente:


El primer cambio que podemos hacer es reiniciar la numeración en cada sección. Para eso, justo después de \section, podemos resetear la numeración con "\setcounter":

\section{Matemáticas}
\setcounter{equation}{0}

\section{Física}
\setcounter{equation}{0}


También podemos añadir el número de la sección, en la numeración de las ecuaciones. Y para ello, conozco dos métodos:

- Opción 1. Utilizando el paquete {amsmath}. En este caso, sencillamente habría que escribir:

\usepackage{amsmath}
\numberwithin{equation}{section}


- Opción 2. Editando la "\theequation" y añadiendo el número de la sección ("\thesection"). En este caso, además, al inicio de cada sección, habría que reiniciar el número de ecuación (con "\setcounter"):

\renewcommand{\theequation}{\thesection.\arabic{equation}}

\section{Matemáticas}
\setcounter{equation}{0}

\section{Física}
\setcounter{equation}{0}

Con ambos métodos, el resultado es el mismo:


De la misma forma, podríamos añadir una palabra en la numeración (por ejemplo, "Eq."). O cambiar la forma de la numeración (en vez de números normales, usar números romanos o letras). Como se ve en el ejemplo siguiente. Por cierto, para el tipo de numeración, tenemos las opciones "\arabic" (1, 2, 3...), "\Roman" (I, II, III...), "\roman" (i, ii, iii...), "\alph" (a, b, c...), y "\Alph" (A, B, C...).

\renewcommand{\theequation}{Eq. \Roman{equation}}





  • Si estamos utilizando una clase con capítulos, por ejemplo {book}.
En este caso, por defecto, LaTeX numera las ecuaciones con dos números: el número del capítulo y el número de ecuación en dicho capítulo.


Ahora, si queremos que las ecuaciones se numeren con un único número (independiente del capítulo), se me ocurre hacer lo siguiente. 1) Edito la numeración con "\renewcommand{\theequation}". 2) Creo un contador, para ir contando las ecuaciones. 3) En cada ecuación, sumo 1 al contador, con "\adtocounter". 4) Por último, al inicio de cada capítulo, reinicio la numeración con "\setcounter" al valor del contador.

\renewcommand{\theequation}{\arabic{equation}}
\newcounter{neq}

\begin{document}

\chapter{Matemáticas}

\begin{equation}
e^{i \tau} = 1
\addtocounter{neq}{1}
\end{equation}

\begin{equation}
\chi = C - A + V = 2
\addtocounter{neq}{1}
\end{equation}

\chapter{Física}
\setcounter{equation}{\arabic{neq}}

\begin{equation}
dS \geq \frac{\partial Q}{T}

\addtocounter{neq}{1}
\end{equation}

\begin{equation}
E = m\cdot c^2
\addtocounter{neq}{1}
\end{equation}

El método funciona, pero vaya, es bastante rebuscado. Si conoces alguna forma más elegante, te animo a que la compartas. :-)

Un último comentario. La clase {report} trabaja con capítulos, y por lo tanto, se hace igual que en un libro. Pero hay veces que queremos usar esta clase, sin capítulos, y vaya, en la numeración nos aparecen cosas como un "0." en la numeración de las secciónes. Cómo evitarlo lo explico en otra entrada (click aquí).

9 comentarios:

Josele dijo...

Si en vez de \section estoy utilizando \section* como puedo hacer para ingresar manualmente la numeracion de la seccion en la ecuacion

Luis dijo...

Hola Arturus,

la verdad es que no lo sé... ¿No sería mejor usar en ese caso \section?

Josele dijo...

La verdad es que utilizo \chapter* y \section* porque necesito editar manualmente.
Lo que hice fue lo siguiente, aunque no lo considero lo mas elegante, por lo menos es practico (aplica tanto para ecuaciones como para figuras):
\renewcommand\thefigure{\arabic{section}.\arabic{figure}} % Genera numeración X.Y
\renewcommand\thetable{\arabic{section}.\arabic{table}} % Genera numeración X.Y

Luego:
\numberwithin{equation}{chapter}
\numberwithin{figure}{chapter}

Cuando escribo la primera ecuacion o cuando inserto la primera figura escribo:
\setcounter{chapter}{x}
Donde x es el capitulo en el que esta la figura y/o la ecuacion.
Saludos

Luis dijo...

Arturus, genial. ¡Muchas gracias por compartirlo!

Unknown dijo...

Hola! Cómo puedo hacer para que al cambiar el contador a tipo romano no cambie el tipo de contador para las ecuaciones escritas en esa sección (arábico por defecto). Por ejemplo, tengo mi sección numerada con "II" y la primera ecuación de esta sección numerada como "II.1", entonces la idea es que la numeración de la ecuación fuese "2.1" simplemente ¿Cómo lo puedo hacer?

Saludos y gracias!

Unknown dijo...

El siguiente código es la solución.
\renewcommand{\theequation}{esto se imprime. Números o letras; ¡Lo que sea!}
\begin{equation}
C = 3x
\end{equation}

Alonart7 dijo...

Para restablecer el contador de las ecuaciones a secuencial en estilos de documento "book" o "report" hay que hacer lo siguiente:

\counterwithout{equation}{chapter}

Examen dijo...

Y si quiero hacer dos ecuasiones en un solo nuemero, por ejemplo (3a) y (3b)

Dorian dijo...

Hola, como haría si quiero que una ecuación que cuenta con varias lineas al usar el comando "align" se enumere como una sola ecuación y no como ecuaciones diferentes?
es decir: \begin{align}
"ecuación...
...ecuación" (2.5)
\end{align}

y no

\begin{align}
"ecuación...(2.5)
...ecuación" (2.6)
\end{align}