incrementar um contador

incrementar um contador

Pelo que entendi, um contador deve incrementar automaticamente. No entanto, quando tento usar um, tudo que obtenho são zeros. Aqui está um MWE.

\documentclass[12pt]{article}
\usepackage{lipsum}
\newcounter{mcounter}


\begin{document}
\themcounter \lipsum[1]

\themcounter \lipsum[2]

\themcounter \lipsum[3]
\end{document}

Texto lipsum impresso com zeros precedendo cada parágrafo.

Na verdade, estou tentando criar um contador de páginas no meio de uma lista de planos de ensino. A lista se parece com "Dia 1: Planilhas nº 1, nº 2 e Notas. Dia 2: Planilhas nº 3, Notas e Planilha nº 4". Se eu adicionar uma planilha (ou retirar uma), não quero renumerar tudo na lista daquele dia e dos dias subsequentes.

Alguma sugestão sobre o que estou fazendo de errado? Estou usando o LauLaTeX no Texmaker em um PC Win 10.

Responder1

Você escreveu,

Pelo que entendi, um contador deve incrementar automaticamente.

Isso não está correto. Se você criar um contador, mas nunca fizer nada com ele, exceto exibir seu valor (digamos, via \themcounter), o valor do contador permanecerá em seu valor inicial (geralmente, 0) em todo o documento.

No LaTeX, o valor de um contador pode ser modificado com os comandos \setcounter, \addtocounter, \stepcountere \refstepcounter. \setcountere \addtocounterpegue dois argumentos: o nome do contador e um número inteiro. \stepcountere \refstepcounterincrementam o valor do contador em 1, e eles recebem apenas um argumento - o nome do contador cujo valor deve ser incrementado.

Se você deseja criar uma macro LaTeX que (a) incremente o contador nomeado mycounterpor 1e (b) exiba o valor recém-incrementado de mycounter, você pode fazer isso de várias maneiras. Por exemplo, depois de criar o contador com

\newcounter{mycounter}

você pode usar uma das três definições a seguir de \showmycounter:

\newcommand\showmycounter{\addtocounter{mycounter}{1}\themycounter}
\newcommand\showmycounter{\stepcounter{mycounter}\themycounter}
\newcommand\showmycounter{\refstepcounter{mycounter}\themycounter}

Por padrão, as diretivas \themycountere \arabic{mycounter}produzem a mesma saída, ou seja, algarismos arábicos são usados ​​por padrão para mostrar o valor de um contador. Se você quisesse mostrar o valor do contador como, digamos, um algarismo romano maiúsculo, você teria que redefinir \themycounter(via \renewcommand\themycounter{\Roman{mycounter}}) ou alterar as \newcommandinstruções acima, por exemplo,

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

Ovalorde um contador pode ser qualquer número inteiro, incluindo 0números inteiros negativos. Não é de surpreender que, se o valor de mycounternão for positivo, uma tentativa de representar seu valor como um caractere alfabético ou um algarismo romano gerará uma mensagem de erro.


Um MWE (exemplo mínimo de trabalho) que se baseia nestas ideias:

insira a descrição da imagem aqui

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

informação relacionada