内联定理和标题内的定理

内联定理和标题内的定理

我正在尝试写一篇论文,其中包含一系列自动编号的内联引文。

我定义了一个\newcommand来执行此操作,一切都运行良好,直到我尝试将当前数字保存到变量中,以便我可以引用它,例如在表中。显然\label会选择当前部分,所以这不起作用。如果\label采用第二个参数以便可以写入,\label{mylabel}{mycounter}那么这将是完美的,但\label似乎只采用一个参数。

我尝试修改我的 newcommand,以便它定义(使用\def\newcommand)一个新标签(每次调用时作为附加参数传递给命令,但我总是得到语法错误)。目前我已经恢复使用定理环境,但这有两个问题(1)这意味着文本不是内联的,而是通过换行符与周围文本分隔开,其次似乎不可能将定理放在图形标题内。我尝试使用\savebox后者,但似乎也不起作用。

任何帮助我都感激不尽!谢谢。

答案1

感谢你们的两次回复。我不知道该如何进一步执行第二个建议,但通过更多的谷歌搜索,我找到了这个etoolbox软件包,现在我有了一个解决方案:

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

相关内容