Minha primeira tentativa foi usando os comandos \newcounter{foo} e \addtocounter{foo}{1}. O primeiro, que vai no preâmbulo, define uma variável foo que vai ser incrementada ao longo do texto através do segundo comando, onde o número entre chaves é o número a somar ao contador. Esse sistema funciona para referências diretas, por exemplo, se eu estiver falando Tabela 3 em vez de tabela a seguir, basta incrementar o contador e mostrar, no texto, quanto vale o contador (eu usei o \arabic{foo}). A referência que usei para essa tentativa foi o LaTeX Counters.
Então, percebi que, se precisasse referenciar ao tal foo mais à frente do texto, perderia a referência, pois só teria o valor atual de foo (se, por exemplo, forem colocados dois foo entre onde quero referenciar e onde estou referenciando, vou obter foo+2). Se acharam confuso, aposto que este tópico está ainda mais, vejam o exemplo abaixo para esclarecer.
A solução foi com os comandos \newenvironment e \refstepcounter. No primeiro, defino o nome do novo ambiente entre chaves e o número de argumentos a ser recebido entre colchetes. O segundo serve para guardar uma referência numa label a este número. (Mais sobre o \newenvironment em Wikibooks). A seguir está o código:
- \documentclass{article}
- \newcounter{tabela} \setcounter{tabela}{0}
- \newcounter{subtabela}[tabela] \setcounter{subtabela}{0}
- \newenvironment{tabela}[1]
- {
- \refstepcounter{tabela} %contador
- \textbf{Tabela \thetabela} #1
- }
- \begin{document}
- \tabela{Primeira Tabela}\label{um}\\
- \tabela{Segunda Tabela}\label{dois}\\
- \tabela{Terceira Tabela}\label{tres}\\
- \tabela{Quarta Tabela}\label{quatro}\\
- Tabela 1 = \ref{um}\\
- Tabela 3 = \ref{tres}\\
- Tabela 2 = \ref{dois}\\
- Tabela 4 = \ref{quatro}\\
- \end{document}
O comando \tabela recebe como entrada o texto da tabela e dá como saída em negrito seu número, seguido do texto. Abaixo a saída gerada:
Um comentário:
Eu estava exatamente com essa dúvida. Meus parabens pela solução.
Postar um comentário