> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/es/formato/10-counters.md).

# Contadores

## Introducción a los contadores de LaTeX

La composición tipográfica basada en LaTeX es una forma especializada de programación: usted utiliza un lenguaje de composición tipográfica (comandos de LaTeX) para proporcionar “instrucciones” que dan como resultado una salida: el documento LaTeX compilado en forma de un archivo PDF. Como en cualquier tarea de programación, es probable que necesite que LaTeX almacene temporalmente valores enteros para reutilizarlos más adelante en su documento (código): quizá quiera:

* componer esos enteros almacenados en su documento
* proporcionar numeración automática de ciertos elementos de su documento
* usarlos como variables para controlar código condicional (o bucles)
* cambiar y actualizar sus valores incrementando/disminuyendo mediante algún valor fijo
* restablecerlos a valores completamente distintos

Estas actividades de procesamiento de enteros son extremadamente comunes en lenguajes de programación “normales” como Javascript, C, Lua o cualquier otro lenguaje de su elección, donde normalmente declara (crea un nombre para) una variable (para contener un entero) y luego le asigna un valor. El lenguaje de composición tipográfica LaTeX ofrece capacidades similares, aunque implementadas de una manera bastante diferente, como veremos a continuación.

En esencia, un contador de LaTeX es el nombre de una “variable de LaTeX” usada para almacenar valores enteros que pueden emplearse para las actividades enumeradas arriba, y mucho más. El propio LaTeX usa numerosos contadores internos que proporcionan numeración de páginas, secciones, tablas, figuras, listas con viñetas/numeradas, etc. Este artículo explica cómo acceder y modificar esos contadores y cómo crear y usar otros nuevos.

## Comandos de LaTeX para trabajar con contadores

Aquí tiene una lista de los comandos de contadores de LaTeX vinculados con su descripción en las siguientes secciones.

Creación e incremento de contadores:

* [`\newcounter{somecounter}[anothercounter]`](#newcountersomecounteranothercounter)
* [`\setcounter{somecounter}{number}`](#setcountersomecounternumber)
* [`\addtocounter{somecounter}{number}`](#addtocountersomecounternumber)
* [`\stepcounter{somecounter}`](#stepcountersomecounter)
* [`\refstepcounter{somecounter}`](#refstepcountersomecounter)

Acceso e impresión de valores de contadores:

* [`\arabic{somecounter}`](#arabicsomecounter)
* [`\roman{somecounter}`](#romansomecounter)
* [`\Roman{somecounter}`](#romanoutput)
* [`\alph{somecounter}`](#alphsomecounter)
* [`\Alph{somecounter}`](#alphoutput)
* [`\fnsymbol{somecounter}`](#fnsymbolsomecounter)
* [`\value{somecounter}`](#valuesomecounter)

Otros comandos de contadores:

* [`\counterwithin{somecounter}{anothercounter}`](#counterwithinsomecounteranothercounter)
* [`\counterwithout{somecounter}{anothercounter}`](#counterwithoutsomecounteranothercounter)

### Creación e incremento de contadores

#### \newcounter{somecounter}\[anothercounter]

Se usa para definir un contador nuevo. El segundo argumento, encerrado en `[]`, es opcional, pero cuando se usa define `*somecounter*` como un contador nuevo que se restablece cuando `*anothercounter*` se incrementa. `\newcounter` se usa a menudo en su forma más simple `\newcounter{*somecounter*}` que crea `*somecounter*` y lo inicializa con 0.

* **Nota**: Para cada contador creado por el `\newcounter` comando, *también* define un comando que puede usarse para componer el valor del contador. Por ejemplo, `\newcounter{*mycounter*}` define un comando llamado `\the*mycounter*`. Se muestra un ejemplo en el siguiente fragmento de código de LaTeX, que puede abrir en Overleaf, como un documento completo, mediante el enlace proporcionado:

```latex
\newcounter{mycounter}
\setcounter{mycounter}{42}
Ahora puede escribir \verb|\themycounter| para obtener \themycounter.
```

[Abra este fragmento de LaTeX en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bmycounter%7D%0A%5Csetcounter%7Bmycounter%7D%7B42%7D%0AYou+can+now+write+%5Cverb%7C%5Cthemycounter%7C+to+obtain+%5Cthemycounter.%0A%5Cend%7Bdocument%7D)

Este ejemplo produce $$\text{You can now write }\verb|\themycounter|\text{ to obtain 42.}$$

* **Nota**: Si `*mycounter*` ya ha sido definido, LaTeX emitirá el error `c@mycounter already defined`, como demuestra el siguiente ejemplo que puede abrir en Overleaf.

```latex
\newcounter{mycounter}
...mucho código... pero nos olvidamos y escribimos \verb|\newcounter{mycounter}| otra vez
\newcounter{mycounter}
```

[Abre este ***código que genera error*** en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bmycounter%7D%0A...lots+of+code...+but+we+forget+and+write+%5Cverb%7C%5Cnewcounter%7Bmycounter%7D%7C+again%0A%5Cnewcounter%7Bmycounter%7D%0A%5Cend%7Bdocument%7D)

#### \setcounter{somecounter}{number}

Establece `*somecounter*` que contenga el valor `*número*`.

* **Nota**: `*número*` puede ser positivo o negativo.

Se muestra un ejemplo en el siguiente fragmento de código de LaTeX, que puede abrir en Overleaf, como un documento completo, mediante el enlace proporcionado:

```latex
\noindent Cree un nuevo contador \texttt{myvar} y asígnele el valor \texttt{42}.
\vspace{10pt}

\newcounter{myvar}
\setcounter{myvar}{42}

\noindent Escribir \verb|\themymar| compone \texttt{\themyvar}.
\vspace{10pt}

\noindent A continuación, cambiaremos \texttt{myvar} a \texttt{-42}, escribiendo \verb|\setcounter{myvar}{-42}|
\setcounter{myvar}{-42}. Ahora, escribir \verb|\themyvar| produce \texttt{\themyvar}.
```

[Abra este fragmento de LaTeX en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+newcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Create+a+new+counter+%5Ctexttt%7Bmyvar%7D+and+assign+it+the+value+%5Ctexttt%7B42%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnewcounter%7Bmyvar%7D%0A%5Csetcounter%7Bmyvar%7D%7B42%7D+%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5Cthemymar%7C+typesets+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+Next%2C+we%27ll+change+%5Ctexttt%7Bmyvar%7D+to+%5Ctexttt%7B-42%7D%2C+writing+%5Cverb%7C%5Csetcounter%7Bmyvar%7D%7B-42%7D%7C%0A%5Csetcounter%7Bmyvar%7D%7B-42%7D.+Now%2C+writing+%5Cverb%7C%5Cthemyvar%7C+outputs+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cend%7Bdocument%7D)

#### \addtocounter{somecounter}{number}

Incrementa el contador `*somecounter*` en la cantidad `*número*`.

* **Nota**: `*número*` puede ser positivo, para aumentar el valor del contador, o negativo para disminuirlo. Por ejemplo:

```latex
\addtocounter{somecounter}{-1} % disminuye somecounter en 1
```

Se muestra un ejemplo en el siguiente fragmento de código de LaTeX, que puede abrir en Overleaf, como un documento completo, mediante el enlace proporcionado:

```latex
\noindent Cree un nuevo contador \texttt{myvar} y asígnele el valor \texttt{42}.
\vspace{10pt}

\newcounter{myvar}
\setcounter{myvar}{42}

\noindent Escribir \verb|\themymar| compone \texttt{\themyvar}.
\vspace{10pt}

\noindent A continuación, cambiaremos \texttt{myvar} a \texttt{142} escribiendo \verb|\addtocounter{myvar}{100}|\addtocounter{myvar}{100}. Ahora, escribir \verb|\themyvar| produce \texttt{\themyvar}.
```

[Abra este fragmento de LaTeX en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+addtocounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Create+a+new+counter+%5Ctexttt%7Bmyvar%7D+and+assign+it+the+value+%5Ctexttt%7B42%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnewcounter%7Bmyvar%7D%0A%5Csetcounter%7Bmyvar%7D%7B42%7D+%0A%0A%5Cnoindent+Writing+%5Cverb%7C%5Cthemymar%7C+typesets+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+Next%2C+we%E2%80%99ll+change+%5Ctexttt%7Bmyvar%7D+to+%5Ctexttt%7B142%7D+by+writing+%5Cverb%7C%5Caddtocounter%7Bmyvar%7D%7B100%7D%7C%5Caddtocounter%7Bmyvar%7D%7B100%7D.+Now%2C+writing+%5Cverb%7C%5Cthemyvar%7C+outputs+%5Ctexttt%7B%5Cthemyvar%7D.%0A%5Cend%7Bdocument%7D)

#### \stepcounter{somecounter}

Incrementa `*somecounter*` en 1. Se muestra un ejemplo en el siguiente fragmento de código de LaTeX, que puede abrir en Overleaf, como un documento completo, mediante el enlace proporcionado:

```latex
Si creamos un nuevo contador escribiendo \verb|\newcounter{mycounter}|
\newcounter{mycounter}, entonces se crea el contador \texttt{mycounter} y
se inicializa a cero, como puede ver si escribe \verb|\themycounter|:
\texttt{mycounter} actualmente almacena: \themycounter.

Si ahora escribimos \verb|\stepcounter{mycounter}|\stepcounter{mycounter}, entonces
\verb|\themycounter| ahora contiene el valor \themycounter.
```

[Abra este fragmento de LaTeX en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stepcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIf+we+create+a+new+counter+by+writing+%5Cverb%7C%5Cnewcounter%7Bmycounter%7D%7C%0A%5Cnewcounter%7Bmycounter%7D+then+the+counter+%5Ctexttt%7Bmycounter%7D+is+created+and+%0Ainitialized+to+zero%2C+as+you+can+see+if+you+write+%5Cverb%7C%5Cthemycounter%7C%3A%0A%5Ctexttt%7Bmycounter%7D+currently+stores%3A+%5Cthemycounter.+%0A%0AIf+we+now+write+%5Cverb%7C%5Cstepcounter%7Bmycounter%7D%7C%5Cstepcounter%7Bmycounter%7D+then+%0A%5Cverb%7C%5Cthemycounter%7C+now+contains+the+value+%5Cthemycounter.%0A%5Cend%7Bdocument%7D)

#### \refstepcounter{somecounter}

Incrementa `*somecounter*` en 1 y lo hace visible para el mecanismo de referencia, estableciendo también el valor para que pueda usar `\label` después.

**Ejemplo usando \refstepcounter**

El siguiente ejemplo usa `\refstepcounter` para crear un nuevo contador para un `ejemplo` entorno y usa `\label` y `\ref` para ilustrar la referenciación usando la variable de `ejemplo` contador.

```latex
\documentclass{article}

\newcounter{example}[section]
\newenvironment{example}[1][]{\refstepcounter{example}\par\medskip
   \noindent\textbf{Example~\theexample. #1} \rmfamily}{\medskip}

\begin{document}
\section{Tres ejemplos}
\begin{example}
Cree una etiqueta en este primer ejemplo \verb|\label{ex:1}|\label{ex:1}. Este es el primer ejemplo. El contador \texttt{example} se restablecerá al inicio de cada nueva \verb|\section| de cada documento.
\end{example}

\begin{example}
Y aquí hay otro ejemplo numerado. Cree una segunda \verb|\label{ex:2}|\label{ex:2} para referirse a este más adelante. En el Ejemplo \ref{ex:1} leemos... algo.
\end{example}

\begin{example}
Y aquí hay otro ejemplo numerado: use \verb|\theexample| para componer el número asignado actualmente al contador \texttt{example}: es \theexample.
\end{example}

\section{Otra sección}
Acabamos de empezar una nueva sección, lo que significa que el contador \texttt{example} se ha establecido en \theexample.
Haremos referencia a ejemplos de la sección anterior (Ejemplos \ref{ex:1} y \ref{ex:2}). Esta es una sección ficticia sin ningún propósito, salvo contener texto. El contador \texttt{section} de esta sección puede componerse usando \verb|\thesection|: actualmente tiene asignado el valor de \thesection.

\begin{example}
Este es el primer ejemplo de esta sección: el contador \texttt{example} se ha incrementado y ahora está establecido en \theexample.
\end{example}
\end{document}
```

[Abre este `\refstepcounter` ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=An+example+using+refstepcounter\&snip=%5Cdocumentclass%7Barticle%7D%0A%0A%5Cnewcounter%7Bexample%7D%5Bsection%5D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%5Crefstepcounter%7Bexample%7D%5Cpar%5Cmedskip%0A+++%5Cnoindent%5Ctextbf%7BExample%7E%5Ctheexample.+%231%7D+%5Crmfamily%7D%7B%5Cmedskip%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BThree+examples%7D%0A%5Cbegin%7Bexample%7D%0ACreate+a+label+in+this+first+example+%5Cverb%7C%5Clabel%7Bex%3A1%7D%7C%5Clabel%7Bex%3A1%7D.+This+is+the+first+example.+The+%5Ctexttt%7Bexample%7D+counter+will+be+reset+at+the+start+of+each+new+each+document+%5Cverb%7C%5Csection%7C.%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0AAnd+here%27s+another+numbered+example.+Create+a+second+%5Cverb%7C%5Clabel%7Bex%3A2%7D%7C%5Clabel%7Bex%3A2%7D+to+later+reference+this+one.+In+Example+%5Cref%7Bex%3A1%7D+we+read...+something.+%0A%5Cend%7Bexample%7D%0A%0A%5Cbegin%7Bexample%7D%0AAnd+here%27s+another+numbered+example%3A+use+%5Cverb%7C%5Ctheexample%7C+to+typeset+the+number+currently+assigned+to+the+%5Ctexttt%7Bexample%7D+counter%3A+it+is++%5Ctheexample.%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BAnother+section%7D%0AWe%27ve+just+started+a+new+section+meaning+that+the++%5Ctexttt%7Bexample%7D+counter+has+been+set+to+%5Ctheexample.++%0AWe%27ll+reference+examples+from+the+previous+section+%28Examples+%5Cref%7Bex%3A1%7D+and+%5Cref%7Bex%3A2%7D%29.++This+is+a+dummy+section+with+no+purpose+whatsoever+but+to+contain+text.+The+%5Ctexttt%7Bsection%7D+counter+for+this+section+can+be+typeset+using+%5Cverb%7C%5Cthesection%7C%3A+it+is++currently+assigned+the+value+of+%5Cthesection.%0A%0A%5Cbegin%7Bexample%7D%0AThis+is+the+first+example+in+this+section%3A+the+%5Ctexttt%7Bexample%7D+counter+has+been+stepped+and+now+set+to+%5Ctheexample.+%0A%5Cend%7Bexample%7D%0A%5Cend%7Bdocument%7D)

**Resumen del código**

En este ejemplo, se define el nuevo entorno `ejemplo` , este entorno tiene 3 comandos específicos de conteo:

* `\newcounter{example}[section]`: Crea un nuevo contador llamado `ejemplo` que se restablecerá a 0 cada vez que el `section` contador se incremente. Puede poner cualquier otro contador en lugar de `section` u omitir el parámetro si no desea que su contador se restablezca automáticamente.
* `\refstepcounter{example}`: Incrementa el `ejemplo` contador en 1 y lo hace visible para el mecanismo de referencia, de modo que pueda usar `\label` después.
* `\theexample`: Imprime el valor actual del contador `ejemplo`.

Para más información sobre entornos definidos por el usuario, vea [el artículo sobre la definición de nuevos entornos](/latex/es/comandos/02-environments.md#defining-a-new-environment)

### Acceso e impresión de valores de contadores

Las siguientes explicaciones se basan en los valores predeterminados de LaTeX antes de cualquier personalización aplicada por paquetes cargados por el usuario.

#### \arabic{somecounter}

Muestra la representación de `*somecounter*` como números arábigos: 1, 2, 3...

#### \roman{somecounter}

Muestra la representación de `*somecounter*` como un número romano en minúsculas: i, ii, iii...

* **Nota**: Si `*somecounter*` $$\leq$$ `0` no se produce ninguna salida. Además, convertir *extremadamente* valores enteros grandes a números romanos en minúsculas puede llevar mucho tiempo, y produce una larga secuencia de `m` caracteres (que representan el número `1000`).
* **CONSEJO**: Si le interesa el algoritmo que TeX usa para convertir números arábigos a números romanos, puede leer sobre ello en este artículo sobre [Algoritmos para números romanos](https://www.hanshq.net/roman-numerals.html#tex).

#### \Roman{somecounter}

Muestra la representación de `*somecounter*` como un número romano en mayúsculas: I, II, III...

* **Nota**: Si `*somecounter*` $$\leq$$ `0` no se produce ninguna salida. Además, convertir *extremadamente* valores enteros grandes a números romanos en mayúsculas puede llevar mucho tiempo, y produce una larga secuencia de `M` caracteres (que representan el número `1000`).
* **CONSEJO**: Si le interesa el algoritmo que TeX usa para convertir números arábigos a números romanos, puede leer sobre ello en este artículo sobre [Algoritmos para números romanos](https://www.hanshq.net/roman-numerals.html#tex).

#### \alph{somecounter}

Muestra la representación de `*somecounter*` como una letra minúscula donde a=1, b=2, c=3...

* **Nota**: `*somecounter*` debe estar en el intervalo `1` $$\leq$$ `*somecounter*` $$\leq$$ `26`, de lo contrario activará el error `! Error de LaTeX: contador demasiado grande.`

#### \Alph{somecounter}

Muestra la representación de `*somecounter*` como una letra mayúscula donde A=1, B=2, C=3...

* **Nota**: `*somecounter*` debe estar en el intervalo `1` $$\leq$$ `*somecounter*` $$\leq$$ `26`, de lo contrario activará el error `! Error de LaTeX: contador demasiado grande.`

#### \fnsymbol{somecounter}

Muestra la representación de `*somecounter*` como un símbolo de nota al pie donde 1 =∗, 2 =†...

* **Nota**: `*somecounter*` debe estar en el intervalo `1` $$\leq$$ `*somecounter*` $$\leq$$ `9`, de lo contrario activará el error `! Error de LaTeX: contador demasiado grande.`

|                          |                                    |
| ------------------------ | ---------------------------------- |
| Valor de `*somecounter*` | Carácter compuesto por `\fnsymbol` |
| 1                        | \*                                 |
| 2                        | †                                  |
| 3                        | ‡                                  |
| 4                        | §                                  |
| 5                        | ¶                                  |
| 6                        | ∥                                  |
| 7                        | ∗∗                                 |
| 8                        | ††                                 |
| 9                        | ‡‡                                 |

#### Ejemplo de impresión de valores de contadores

El siguiente ejemplo demuestra el uso de los comandos `\arabic{*somecounter*}`, `\roman{*somecounter*}`, `\Roman{*somecounter*}`, `\alph{*somecounter*}`, `\Alph{*somecounter*}`y `\fnsymbol{*somecounter*}`.

```latex
\newcounter{somecounter}
\setcounter{somecounter}{9}
\begin{itemize}
    \item \verb|\arabic{somecounter}| compone el valor \texttt{somecounter} de \thesomecounter{} como \arabic{somecounter}
    \item \verb|\roman{somecounter}| compone el valor \texttt{somecounter} de \thesomecounter{} como \roman{somecounter}
    \item \verb|\Roman{somecounter}| compone el valor \texttt{somecounter} de \thesomecounter{} como \Roman{somecounter}
    \item \verb|\alph{somecounter}| compone el valor \texttt{somecounter} de \thesomecounter{} como \alph{somecounter}
   \item \verb|\Alph{somecounter}| compone el valor \texttt{somecounter} de \thesomecounter{} como \Alph{somecounter}
    \item \verb|\fnsymbol{somecounter}| compone el valor \texttt{somecounter} de \thesomecounter{} como \fnsymbol{somecounter}
\end{itemize}
```

[Abra este fragmento de LaTeX en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Converting+counter+values\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcounter%7Bsomecounter%7D%0A%5Csetcounter%7Bsomecounter%7D%7B9%7D%0A%5Cbegin%7Bitemize%7D%0A++++%5Citem+%5Cverb%7C%5Carabic%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as+%5Carabic%7Bsomecounter%7D+%0A++++%5Citem+%5Cverb%7C%5Croman%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Croman%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5CRoman%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5CRoman%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5Calph%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Calph%7Bsomecounter%7D%0A+++%5Citem+%5Cverb%7C%5CAlph%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5CAlph%7Bsomecounter%7D%0A++++%5Citem+%5Cverb%7C%5Cfnsymbol%7Bsomecounter%7D%7C+typesets+the+%5Ctexttt%7Bsomecounter%7D+value+of++%5Cthesomecounter%7B%7D+as++%5Cfnsymbol%7Bsomecounter%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Ejemplo de conversión de contadores en LaTeX](/files/203a784439b8659fefefc85cc7d18eb85b6d2879)

#### \value{somecounter}

El propósito de este comando, como se describe en el código fuente de LaTeX, es “Para acceder al valor del contador como un número TeX”: es decir, se usa `\value{somecounter}` para situaciones en las que LaTeX espera procesar un valor numérico.

**Notas de contexto opcionales sobre el comando \value**

Es tentador pensar que el comando `\value{*somecounter*}` va a *directamente* componer el valor de `*somecounter*`, pero no es así. Está pensado para usarse dentro de otros comandos para acceder al valor del contador como un número TeX, a diferencia del comando `\thesomecounter` que produce la representación impresa de `*somecounter*`.

Dentro del código fuente de LaTeX, `\value` se define como:

```latex
\def\value#1{\csname c@#1\endcsname}
```

En consecuencia, `\value{*somecounter*}` crea una instancia de la secuencia de control interna de LaTeX `\c@somecounter` que contiene el valor del contador `*somecounter*`.

**Ejemplo**

El siguiente ejemplo muestra un caso de uso básico de `\value`.

```latex
\noindent Comience declarando dos nuevos contadores:
\begin{verbatim}
\newcounter{first}
\newcounter{second}
\end{verbatim}

\newcounter{first}
\newcounter{second}

\noindent Algún tiempo después en su código, establece sus valores:
\begin{verbatim}
\setcounter{first}{100}
\setcounter{second}{50}
\end{verbatim}

\setcounter{first}{100}
\setcounter{second}{50}
\noindent Luego escribe más código \LaTeX{}...\vspace{10pt}

\noindent En algún momento podríamos querer sumar el valor del contador \texttt{second} al contador \texttt{first}. Una forma de hacerlo es usar \verb|\value| para obtener el valor \textit{actual} almacenado en el contador \texttt{second}:

\begin{verbatim}
\addtocounter{first}{\value{second}}
\end{verbatim}

\addtocounter{first}{\value{second}}\noindent El valor de \texttt{first} puede obtenerse con \verb|\thefirst|: \thefirst. También podemos escribir \verb|\the\value{first}|, que también compone \the\value{first}. Sin embargo, escribir \verb|\value{first}| generará el error \texttt{Missing number, treated as zero} porque \LaTeX{} intenta entonces ejecutar el comando interno \verb|\c@first|. Descomente la siguiente línea para generar el error:
\begin{verbatim}
%\value{first}
\end{verbatim}
%\value{first}
```

[Abra este fragmento de código en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+the+value+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnoindent+Start+by+declaring+two+new+counters%3A%0A%5Cbegin%7Bverbatim%7D%0A%5Cnewcounter%7Bfirst%7D%0A%5Cnewcounter%7Bsecond%7D++++%0A%5Cend%7Bverbatim%7D%0A%0A%5Cnewcounter%7Bfirst%7D%0A%5Cnewcounter%7Bsecond%7D%0A%0A%5Cnoindent+Sometime+later+in+your+code+you+set+their+values%3A%0A%5Cbegin%7Bverbatim%7D%0A%5Csetcounter%7Bfirst%7D%7B100%7D%0A%5Csetcounter%7Bsecond%7D%7B50%7D++++%0A%5Cend%7Bverbatim%7D%0A%0A%5Csetcounter%7Bfirst%7D%7B100%7D%0A%5Csetcounter%7Bsecond%7D%7B50%7D++%0A%5Cnoindent+Then+you+write+more+%5CLaTeX%7B%7D+code...%5Cvspace%7B10pt%7D%0A%0A%5Cnoindent+At+some+point+we+might+want+to+add+the+value+of+counter+%5Ctexttt%7Bsecond%7D+to+counter+%5Ctexttt%7Bfirst%7D.+One+way+to+do+that+is+using+%5Cverb%7C%5Cvalue%7C+to+obtain+the+%5Ctextit%7Bcurrent%7D+value+stored+in+the+%5Ctexttt%7Bsecond%7D+counter%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Caddtocounter%7Bfirst%7D%7B%5Cvalue%7Bsecond%7D%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Caddtocounter%7Bfirst%7D%7B%5Cvalue%7Bsecond%7D%7D%5Cnoindent+The+value+of+%5Ctexttt%7Bfirst%7D+can+be+output+by+%5Cverb%7C%5Cthefirst%7C%3A+%5Cthefirst.+We+can+also+write+%5Cverb%7C%5Cthe%5Cvalue%7Bfirst%7D%7C+which+also+typesets+%5Cthe%5Cvalue%7Bfirst%7D.+However%2C++writing+%5Cverb%7C%5Cvalue%7Bfirst%7D%7C+will+generate+the+error+%5Ctexttt%7BMissing+number%2C+treated+as+zero%7D+because+%5CLaTeX%7B%7D+then+tries+to+execute+the+internal+command+%5Cverb%7C%5Cc%40first%7C.+Uncomment+the+following+line+to+generate+the+error%3A%0A%5Cbegin%7Bverbatim%7D%0A%25%5Cvalue%7Bfirst%7D%0A%5Cend%7Bverbatim%7D%0A%25%5Cvalue%7Bfirst%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Ejemplo usando el comando \value](/files/8504a3fa592a751ed4a18bef3aeea695e618afae)

### Otros comandos de contadores

Aquí describimos los comandos `\counterwithin` y `\counterwithout` que se originaron en [`chngcntr` paquete](https://ctan.org/pkg/chngcntr) pero ahora se han integrado en el propio LaTeX; vea [Noticias de LaTeX, abril de 2018](https://www.latex-project.org/news/latex2e-news/ltnews28.pdf). El `chngcntr` [documentación del paquete](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/chngcntr/chngcntr.pdf) hace los siguientes comentarios que ayudan a entender el propósito de estos comandos:

Activado `\counterwithin`:

> A veces es deseable cambiar un contador que ha sido definido por `\newcounter{<ctr>}` para que actúe como si hubiera sido definido como `\newcounter{<ctr>}[<within>]`. El paquete proporciona el comando `\counterwithin{<ctr>}{<within>}` que logra esto.

Activado `\counterwithout`:

> Asimismo, el comando `\counterwithout{<ctr>}{<within>}` cambia un contador que ha sido creado por `\newcounter{<ctr>}[<within>]` para que actúe como si hubiera sido creado por `\newcounter{<ctr>}`.

En esencia, estos dos comandos proporcionan un método para vincular (`\counterwithin`) o desvincular (`\counterwithout`) dos contadores después de que han sido definidos.

**\counterwithin{somecounter}{anothercounter}**

Restablece `*somecounter*` a 0 cada vez que `*anothercounter*` se incrementa, un mecanismo que vincula los dos contadores. Además de crear un vínculo, este comando redefine lo que compone `\the*somecounter*`: en lugar de mostrar el valor del contador `*somecounter*` produce `<value of anothercounter>**.**<value of somecounter>`. La forma con asterisco (`\counterwithin*{somecounter}{anothercounter}`) no redefine el formato de impresión de `*somecounter*`, como demuestra el siguiente ejemplo: seleccione el enlace debajo del código para abrirlo en Overleaf:

```latex
\documentclass{article}
\begin{document}
\section{Un ejemplo breve}
\newcounter{example}
\counterwithin{example}{section}
\newcounter{exampletwo}
\counterwithin*{exampletwo}{section}
\setcounter{example}{100}
\setcounter{exampletwo}{100}
\begin{itemize}
\item \verb|\theexample| compone \theexample
\item \verb|\theexampletwo| compone \theexampletwo
\end{itemize}
\end{document}
```

[Abre este `\counterwithin` ejemplo en Overleaf](https://www.overleaf.com/docs?engine=\&snip_name=Example+of+starred+version+of+counterwithin\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BA+short+example%7D%0A%5Cnewcounter%7Bexample%7D%0A%5Ccounterwithin%7Bexample%7D%7Bsection%7D%0A%5Cnewcounter%7Bexampletwo%7D%0A%5Ccounterwithin%2A%7Bexampletwo%7D%7Bsection%7D%0A%5Csetcounter%7Bexample%7D%7B100%7D%0A%5Csetcounter%7Bexampletwo%7D%7B100%7D%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Ctheexample%7C+typesets+%5Ctheexample%0A%5Citem+%5Cverb%7C%5Ctheexampletwo%7C+typesets+%5Ctheexampletwo%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Uso del comando \counterwithin](/files/7ea46fa42fa7ea359236b1d4cada2b854b92871b)

Puede usar `\counterwithin` con los contadores estándar proporcionados por LaTeX, como:

* `section`: usado por `\section` comando
* `equation` usado por el `equation` entorno

o con los contadores que usted haya creado.

**Ejemplo de \counterwithin y \counterwithin\***

El siguiente código proporciona un ejemplo más completo del uso de `\counterwithin` y `\counterwithin*`; seleccione el enlace debajo del código para abrirlo en Overleaf:

```latex
\documentclass{article}
\counterwithin{equation}{section}
\newcounter{example}
\counterwithin*{example}{section}
\newenvironment{example}[1][]{%
\stepcounter{example}%
\par\vspace{5pt}\noindent
\fbox{\textbf{Example~\thesection.\theexample}}%
\hrulefill\par\vspace{10pt}\noindent\rmfamily}%
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt\par}
\begin{document}
\section{Primera ecuación}
Algún texto introductorio...
\begin{example}
\begin{equation}
    f(x)=\frac{x}{1+x^2}
\end{equation}
\end{example}

\subsection{Más detalle}
\begin{example}
Aquí discutimos
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
... pero no digamos nada
\end{example}

\subsubsection{Aún más detalle}
\begin{example}
\begin{equation}
    f(x)=\frac{x^2}{1+x^3}
\end{equation}
\begin{equation}
    f(x+\delta x)=\frac{(x+\delta x)^2}{1+(x+\delta x)^3}
\end{equation}
\end{example}

\section{Tercera ecuación}
\begin{example}
La siguiente función...
\begin{equation}
    f_1(x)=\frac{x+1}{x-1}
\end{equation}
..es una función
\begin{equation}
    f_2(x)=\frac{x^2}{1+x^3}
\end{equation}
\begin{equation}
    f_3(x)=\frac{3+ x^2}{1-x^3}
\end{equation}
\end{example}
\end{document}
```

[Abre este `\counterwithin` ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+counterwithin\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Ccounterwithin%7Bequation%7D%7Bsection%7D%0A%5Cnewcounter%7Bexample%7D%0A%5Ccounterwithin%2A%7Bexample%7D%7Bsection%7D%0A%5Cnewenvironment%7Bexample%7D%5B1%5D%5B%5D%7B%25%0A%5Cstepcounter%7Bexample%7D%25%0A%5Cpar%5Cvspace%7B5pt%7D%5Cnoindent%0A%5Cfbox%7B%5Ctextbf%7BExample%7E%5Cthesection.%5Ctheexample%7D%7D%25%0A%5Chrulefill%5Cpar%5Cvspace%7B10pt%7D%5Cnoindent%5Crmfamily%7D%25%0A%7B%5Cpar%5Cnoindent%5Chrulefill%5Cvrule+width10pt+height2pt+depth2pt%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BFirst+equation%7D%0ASome+introductory+text...%0A%5Cbegin%7Bexample%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%7D%7B1%2Bx%5E2%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%0A%5Csubsection%7BMore+detail%7D%0A%5Cbegin%7Bexample%7D%0AHere+we+discuss%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%2B1%7D%7Bx-1%7D%0A%5Cend%7Bequation%7D%0A...+but+don%27t+say+anything%0A%5Cend%7Bexample%7D%0A%0A%5Csubsubsection%7BEven+more+detail%7D%0A%5Cbegin%7Bexample%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%29%3D%5Cfrac%7Bx%5E2%7D%7B1%2Bx%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cbegin%7Bequation%7D%0A++++f%28x%2B%5Cdelta+x%29%3D%5Cfrac%7B%28x%2B%5Cdelta+x%29%5E2%7D%7B1%2B%28x%2B%5Cdelta+x%29%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%0A%5Csection%7BThird+equation%7D%0A%5Cbegin%7Bexample%7D%0AThe+following+function...%0A%5Cbegin%7Bequation%7D%0A++++f_1%28x%29%3D%5Cfrac%7Bx%2B1%7D%7Bx-1%7D%0A%5Cend%7Bequation%7D%0A..is+a+function%0A%5Cbegin%7Bequation%7D%0A++++f_2%28x%29%3D%5Cfrac%7Bx%5E2%7D%7B1%2Bx%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cbegin%7Bequation%7D%0A++++f_3%28x%29%3D%5Cfrac%7B3%2B+x%5E2%7D%7B1-x%5E3%7D%0A%5Cend%7Bequation%7D%0A%5Cend%7Bexample%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Uso del comando \counterwithin](/files/2dcff7d0f810ba99e7df37611e6e0dc6507a1b43)

**Resumen del código**

* `\newcounter{example}`: Esto crea un nuevo contador para usar en nuestro entorno, también llamado `ejemplo`
* `\counterwithin*{example}{section}`: Esto vincula nuestro `ejemplo` contador con el `section` contador usado dentro del `\section` comando: cada vez que emitimos un `\section` comando, el `ejemplo` contador se restablece a cero. Observe que usamos la versión con asterisco `\counterwithin*` para evitar la redefinición de `\theexample`
* A continuación, creamos un nuevo entorno también llamado `ejemplo`. Dentro de ese entorno usamos `\stepcounter{example}` para incrementar el contador del entorno. Observe también que escribimos `\textbf{Example~\thesection.\theexample}` para mostrar **Ejemplo** `<número de sección>.<número de ejemplo>`

```latex
\newenvironment{example}[1][]{%
\stepcounter{example}%
\par\vspace{5pt}\noindent
\fbox{\textbf{Example~\thesection.\theexample}}%
\hrulefill\par\vspace{10pt}\noindent\rmfamily}%
{\par\noindent\hrulefill\vrule width10pt height2pt depth2pt}
```

**\counterwithout{somecounter}{anothercounter}**

`\counterwithout{*somecounter*}{*anothercounter*}` elimina el vínculo entre `*somecounter*` y `*anothercounter*` para que sean independientes. Para cualquier par de contadores, puede alternar entre usar `\counterwithout` y `\counterwithin`, como muestra el siguiente ejemplo para los contadores de `ejemplo` y `section` —puede abrir este ejemplo en Overleaf usando el enlace proporcionado debajo del código.

```latex
\section{Primera ecuación}
\begin{example}
\begin{equation}
    f(x)=\frac{x}{1+x^2}
\end{equation}
\end{example}

\subsection{Segunda ecuación}
\begin{example}
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
\end{example}
\vspace{6pt}\noindent Observe cómo el contador \texttt{example} se restablece al inicio de la Sección \ref{sec:n0}.
\section{Tercera ecuación}
\label{sec:n0}
\begin{example}
\begin{equation}
    f(x)=\frac{x+1}{x-1}
\end{equation}
\end{example}
\vspace{6pt}\noindent Aquí escribimos \verb|\counterwithout{example}{section}| para que \texttt{example} ya no se restablezca al inicio de una sección. En las Secciones \ref{sec:n1} y \ref{sec:n2} el contador \texttt{example} sigue aumentando. \counterwithout{example}{section}
\section{Cuarta ecuación}
\label{sec:n1}
\begin{example}
\begin{equation}
    f(x)=\frac{x^2+x^3}{1+x^3}
\end{equation}
\end{example}
\section{Quinta ecuación}
\label{sec:n2}
\begin{example}
\begin{equation}
    f(x,k)=\frac{x^2-x^k}{1+x^3}
\end{equation}
\end{example}
```

[Abre este `\counterwithout` ejemplo en Overleaf](<https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+using+counterwithout\&snip=\documentclass{article}&#xA;\counterwithin{equation}{section}&#xA;\newcounter{example}&#xA;\counterwithin*{example}{section}&#xA;\newenvironment{example}\[1]\[]{%&#xA;\stepcounter{example}%&#xA;\par\vspace{3pt}\noindent&#xA;\fbox{\textbf{Example~\thesection.\theexample}}%&#xA;\hrulefill\par\vspace{3pt}\noindent\rmfamily}%&#xA;{\par\noindent\hrulefill\vrule+width10pt+height2pt+depth2pt\par}&#xA;\begin{document}&#xA;\section{First+equation}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x}{1+x^2}&#xA;\end{equation}&#xA;\end{example}&#xA;&#xA;\subsection{Second+equation}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x+1}{x-1}&#xA;\end{equation}&#xA;\end{example}&#xA;\vspace{6pt}\noindent+Note+how+the+\texttt{example}+counter+is+reset+at+the+start+Section+\ref{sec:n0}.+&#xA;\section{Third+equation}&#xA;\label{sec:n0}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x+1}{x-1}&#xA;\end{equation}&#xA;\end{example}&#xA;\vspace{6pt}\noindent+Here,+we+wrote+\verb|\counterwithout{example}{section}|+so+that+\texttt{example}+is+no+longer+reset+at+the+start+of+a+section.+In+Sections+\ref{sec:n1}+and+\ref{sec:n2}+the+\texttt{example}+counter+keeps+increasing.+\counterwithout{example}{section}&#xA;\section{Fourth+equation}&#xA;\label{sec:n1}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x)=\frac{x^2+x^3}{1+x^3}&#xA;\end{equation}&#xA;\end{example}&#xA;\section{Fifth+equation}&#xA;\label{sec:n2}&#xA;\begin{example}&#xA;\begin{equation}&#xA;++++f(x,k)=\frac{x^2-x^k}{1+x^3}&#xA;\end{equation}&#xA;\end{example}&#xA;\end{document}>)

Este ejemplo produce la siguiente salida:

![Uso del comando counterwithout](/files/9146facb86ed004d862acc42e5a22f70c6e1e51a)

## Ejemplo

### enumerate

El `enumerate` el entorno list usa cuatro *contador* variables que llevan el seguimiento del valor actual de la etiqueta para cada nivel:

|           |                                      |
| --------- | ------------------------------------ |
| **Nivel** | **`enumerate`** variable de contador |
| Nivel 1   | `enumi`                              |
| Nivel 2   | `enumii`                             |
| Nivel 3   | `enumiii`                            |
| Nivel 4   | `enumiv`                             |

Estos contadores se pueden cambiar usando el `\setcounter` comando. Vea el ejemplo abajo—which is not necessarily the best solution (vea el [Overleaf enumera](/latex/es/conceptos-basicos-de-latex/04-lists.md) artículo para más información):

```latex
Este ejemplo muestra una forma de cambiar la numeración de una lista; aquí, cambiando el valor del contador \texttt{enumi} para empezar la numeración de la lista en 4 (se incrementa con el comando \verb|\item|):

\begin{enumerate}
\setcounter{enumi}{3}
\item Algo.
\item Otra cosa.
\item Otro elemento.
\item El último elemento de la lista.
\end{enumerate}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Modifying+an+enumerate+counter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AThis+example+shows+one+way+to+change+the+numbering+of+a+list%3B+here%2C+changing+the+value+of+the+%5Ctexttt%7Benumi%7D+counter+to+start+the+list+numbering+at+4+%28it+is+incremented+by+the+%5Cverb%7C%5Citem%7C+command%29%3A%0A%0A%5Cbegin%7Benumerate%7D%0A%5Csetcounter%7Benumi%7D%7B3%7D%0A%5Citem+Something.%0A%5Citem+Something+else.%0A%5Citem+Another+element.%0A%5Citem+The+last+item+in+the+list.%0A%5Cend%7Benumerate%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Modificar un contador de enumerate](/files/f516c8c247b94ac8e85acacda9d59dca74d5eb68)

## Contadores predeterminados en LaTeX

| Uso                              | Nombre                                                                                                                |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Para la estructura del documento | <p>- parte<br>- capítulo<br>- sección<br>- subsección<br>- subsubsección<br>- párrafo<br>- subpárrafo<br>- página</p> |
| Para elementos flotantes         | <p>- ecuación<br>- figura<br>- tabla</p>                                                                              |
| Para notas al pie                | <p>- nota al pie<br>- mpfootnote</p>                                                                                  |
| Para los `enumerate` entorno     | <p>- enumi<br>- enumii<br>- enumiii<br>- enumiv</p>                                                                   |

## Lectura adicional

Para más información, consulte:

* [Entornos](/latex/es/comandos/02-environments.md)
* [Comandos](/latex/es/comandos/01-commands.md)
* [Listas](/latex/es/conceptos-basicos-de-latex/04-lists.md)
* [Numeración de páginas](/latex/es/formato/03-page-numbering.md)
* [Secciones y capítulos](/latex/es/estructura-del-documento/01-sections-and-chapters.md)
* [Expresiones matemáticas](/latex/es/matematicas/01-mathematical-expressions.md)
* [Inserción de imágenes](/latex/es/mas-temas/27-inserting-images.md)
* [artículo sobre tablas](/latex/es/figuras-y-tablas/01-tables.md)
* [Escritura de exámenes en LaTeX](/latex/es/especifico-de-un-campo/09-typesetting-exams-in-latex.md)
* [Escribir su propio paquete](/latex/es/archivos-de-clase/03-writing-your-own-package.md)
* [Escribir su propia clase](/latex/es/archivos-de-clase/04-writing-your-own-class.md)
* [La introducción no tan breve a LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/es/formato/10-counters.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
