Según tengo entendido, se supone que un contador se incrementa automáticamente. Sin embargo, cuando intento usar uno, todo lo que obtengo son ceros. Aquí hay un MWE.
\documentclass[12pt]{article}
\usepackage{lipsum}
\newcounter{mcounter}
\begin{document}
\themcounter \lipsum[1]
\themcounter \lipsum[2]
\themcounter \lipsum[3]
\end{document}
La verdad es que estoy intentando crear un contador de páginas en medio de una lista de planes de enseñanza. La lista se parece a "Día 1: Hojas de trabajo n.° 1, n.° 2 y notas. Día 2: Hojas de trabajo n.° 3, notas y hoja de trabajo n.° 4". Si agrego una hoja de trabajo (o quito una), no quiero volver a numerar todo lo que está en la lista para ese día y los días siguientes.
¿Alguna sugerencia sobre lo que estoy haciendo mal? Estoy usando LauLaTeX en Texmaker en una PC con Win 10.
Respuesta1
Tu escribiste,
Según tengo entendido, se supone que un contador se incrementa automáticamente.
Eso no es correcto. Si crea un contador pero nunca hace nada con él excepto mostrar su valor (por ejemplo, a través de \themcounter
), el valor del contador permanecerá en su valor inicial (generalmente, 0
) durante todo el documento.
En LaTeX, el valor de un contador se puede modificar con los comandos \setcounter
, \addtocounter
, \stepcounter
y \refstepcounter
. \setcounter
y \addtocounter
toma dos argumentos: el nombre del contador y un número entero. \stepcounter
e \refstepcounter
incrementan el valor del contador en 1
, y toman solo un argumento: el nombre del contador cuyo valor se va a incrementar.
Si desea crear una macro LaTeX que (a) incremente el contador nombrado mycounter
por 1
y (b) muestre el valor recién incrementado de mycounter
, puede hacerlo de varias maneras. Por ejemplo, después de crear el contador con
\newcounter{mycounter}
podría utilizar una de las siguientes tres definiciones de \showmycounter
:
\newcommand\showmycounter{\addtocounter{mycounter}{1}\themycounter}
\newcommand\showmycounter{\stepcounter{mycounter}\themycounter}
\newcommand\showmycounter{\refstepcounter{mycounter}\themycounter}
De forma predeterminada, las directivas \themycounter
y \arabic{mycounter}
producen el mismo resultado, es decir, los números arábigos se utilizan de forma predeterminada para mostrar el valor de un contador. Si quisiera mostrar el valor del contador como, por ejemplo, un número romano en mayúscula, tendría que redefinir \themycounter
(a través de \renewcommand\themycounter{\Roman{mycounter}}
) o cambiar las \newcommand
instrucciones anteriores, por ejemplo,
\newcommand\showmycounter{\stepcounter{mycounter}\Roman{mycounter}}
Elvalorde un contador puede ser cualquier número entero, incluidos 0
los números enteros negativos. Como era de esperar, si el valor de mycounter
no es positivo, un intento de representar su valor como un carácter alfabético o como un número romano generará un mensaje de error.
Un MWE (ejemplo de trabajo mínimo) que se basa en estas ideas:
\documentclass{article}
\newcounter{mycounter} % create a new counter, called 'mycounter'
% default def'n of '\themycounter' is '\arabic{mycounter}'
%% command to increment 'mycounter' by 1 and to display its value:
\newcommand\showmycounter{\stepcounter{mycounter}\themycounter}
\usepackage{lipsum}
\newcommand\showlips{\stepcounter{mycounter}\lipsum[\value{mycounter}]}
\begin{document}
\showmycounter, \showmycounter, \showmycounter
\showlips
% verifying that the preceding command used '4':
\lipsum[4]
\end{document}