10 如何定义能储存字符串的计数器(使得引用命令能够读取对应位置字符)

发布于 2024-12-13 10:57:09

如图,如何让其中显示正确:

image.png

\documentclass{article}

% 定义 section 格式 RTR
% 定义一个宏来设置计数器
\newcommand{\setStringCounter}[2]{%
  \expandafter\def\csname #1\endcsname{#2}%
}
% 定义一个宏来读取计数器
\newcommand{\getStringCounter}[1]{%
  \csname #1\endcsname
}
\setStringCounter{Reviewer}{NULL}  % 定义空白审稿人
\newcommand{\RTR}[1]{\section*{Responses to Reviewer #1}\addcontentsline{toc}{section}{Responses to Reviewer #1}\setStringCounter{Reviewer}{#1}}  % 该定义命令中填写审稿人编号
\newcommand{\Rref}[1]{Reviewer \getStringCounter{Reviewer}}  % 引用第 \Reviewer 个审稿人

\begin{document}

The following should be: \textbf{Reviewer o4m35}:

\Rref{o4m35}

% 关于为何不使用 \section:希望目录中条目开头没有编号
\tableofcontents

\RTR{o4m35}\label{o4m35}

\end{document}

关于为什么审稿人不是数字编号:有些地方,特别是计算机的一些会议,会用随机代码给审稿人编号,比如 Reviewer 6et2

查看更多

关注者
0
被浏览
205
1 个回答
Sagittarius Rover
Sagittarius Rover 2024-12-13
我要成为TikZ糕手/(ㄒoㄒ)/~~

我感觉你确实应该补充一下你的具体需求(比如一个完整的审稿回复应该是什么样子,你已经实现的是什么样子),我看不出这里的Reviewer为什么是一个计数器Counter,同时在你的聊天记录中似乎也有\ref的需求,但在你上述的代码中并未体现。

你上面出现结果为为Null,是因为你在调用\Rref{o4m35}时仍未经过\setStringCounter{Reviewer}{o4m35},于是为\setStringCounter{Reviewer}{NULL}定义的默认值。

事实上你把这两句放到\RTR{o4m35}之后即可。

我不知道是不是能回答你的问题。而且你的代码中\setStringCounter\getStringCounter给我的感觉就是把你所谓的"字符串"装进宏里面然后再拿出来,个人觉的目的不是很明确。

image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览