自動番号付けされた一連のインライン引用文を含む論文を書こうとしています。
私はこれを実行するために を定義し\newcommand
、現在の番号を変数に保存して、たとえばテーブルで参照できるようにするまではすべてうまくいきました。明らかに\label
現在のセクションを取得するので、うまくいきませんでした。2\label
番目の引数を取って記述できれば\label{mylabel}{mycounter}
完璧ですが、\label
引数は 1 つしか取れないようです。
私は、新しいラベルを定義するように (\def
または を使用して\newcommand
) 新しいコマンドを修正しようとしました (コマンドが呼び出されるたびに追加の引数として渡されますが、常に構文エラーが発生します)。現在は、定理環境を使用するように戻しましたが、それには 2 つの問題があります (1) テキストがインラインではなく、改行によって周囲のテキストから分離されることを意味します。2 番目に、図のキャプション内に定理を配置することはできないようです。\savebox
後者に を使用してみましたが、これもうまくいかないようです。
どのようなご助力でも大歓迎です! ありがとうございます。
答え1
2 つの回答をありがとうございます。2 番目の提案についてさらに詳しく調べる方法がわかりませんでしたが、その間にさらに Google 検索した結果、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}