Estou tentando escrever um artigo onde tenho uma sequência de citações embutidas numeradas automaticamente.
Eu defini um \newcommand
para fazer isso e tudo funcionou bem até o ponto em que tentei salvar o número atual em uma variável para poder consultá-lo, por exemplo, em uma tabela. Obviamente \label
pega a seção atual, então não funcionou. Se \label
fosse necessário um segundo argumento para que se pudesse escrever \label{mylabel}{mycounter}
, isso seria perfeito, mas \label
parece levar apenas um argumento.
Tentei alterar meu novo comando para que ele definisse (usando \def
or \newcommand
) um novo rótulo (passado como um argumento adicional ao comando cada vez que ele era chamado, mas sempre recebia erros de sintaxe). No momento, voltei a usar um ambiente de teorema, mas isso tem dois problemas (1) significa que o texto não está embutido, mas separado do texto circundante por novas linhas e, em segundo lugar, não parece ser possível colocar um teorema dentro de um legenda da figura. Eu tentei usar \savebox
para o último, mas também não pareceu funcionar.
Qualquer ajuda aceita com gratidão! Obrigado.
Responder1
Obrigado pelas duas respostas. Não consegui descobrir como prosseguir com as segundas sugestões, mas mais pesquisas no Google me levaram ao etoolbox
pacote e agora tenho uma solução:
\documentclass{article}
\usepackage{xcolor}
\usepackage{etoolbox}
\newcounter{promptcounter}
\setcounter{promptcounter}{0}
\def\prompt#1#2{\addtocounter{promptcounter}{1}\csdef{#1}{\thepromptcounter}\underline{Prompt-\thepromptcounter: }{\textcolor{teal}{\emph{#2}}}}
\begin{document}
This is a test document. \\prompt\{x\}\{y\} should expand to \textcolor{red}{Prompt-1: y} but also define \\x to be the value of {\textbackslash}thepromptcounter.
\prompt{xxx}{some text}. The value of {\textbackslash}xxx is \xxx. The use of {\textbackslash}etoolbox and {\textbackslash}csdef was critical - it gives an error with plain {\textbackslash}def.
End of test document
\end{document}