incrementar un contador

incrementar un contador

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}

Texto lipsum impreso con ceros antes de cada párrafo.

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, \stepcountery \refstepcounter. \setcountery \addtocountertoma dos argumentos: el nombre del contador y un número entero. \stepcountere \refstepcounterincrementan 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 mycounterpor 1y (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 \themycountery \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 \newcommandinstrucciones anteriores, por ejemplo,

\newcommand\showmycounter{\stepcounter{mycounter}\Roman{mycounter}}

Elvalorde un contador puede ser cualquier número entero, incluidos 0los números enteros negativos. Como era de esperar, si el valor de mycounterno 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:

ingrese la descripción de la imagen aquí

\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}

información relacionada