在描述环境中执行自定义命令

在描述环境中执行自定义命令

我有以下代码来将新文本附加到字符串。但该命令在描述环境中不起作用:

%preamble
\makeatletter
\global\newcommand{\reqfI}{}
\global\newcommand{\appendFI}[1]{
    \let\OldreqfI\reqfI
    \renewcommand{\reqfI}{\OldreqfI , #1}
}
\makeatother

在普通文本中这可以正常工作:

\appendFI{RS001}
\reqfI{}

但是,这个没有效果:

\begin{description}

    \item[RS001:] \appendFI{RS001}
    Must describe the alarms...

\end{description}
\reqfI{}

我想使用 \item 旁边的按钮来识别哪些项已被选中。

此致,

完整最小示例

\documentclass[12pt,a4paper]{report}
\usepackage[brazil]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[left=2.00cm, right=2.00cm, top=2.00cm, bottom=2.00cm]{geometry}

\newcommand{\reqfI}{}
\newcommand{\appendFI}[1]{
    \let\OldreqfI\reqfI
    \renewcommand{\reqfI}{\OldreqfI , #1}
}

\begin{document}
    \appendFI{RS---}
    \reqfI{}
    \begin{description}
        \item[RS001] \appendFI{RS001}
        Must show the alarms description...
    \end{description}
\reqfI{}

\end{document}

结果如下:

最小示例的结果

答案1

内置宏\g@addto@macro执行此操作(无需扩展)。

\documentclass{article}

\makeatletter
\newcommand{\reqfI}{}
\newcommand{\appendFI}[1]{\g@addto@macro\reqfI{#1}}
\makeatother

\begin{document}

\appendFI{RS001}
\reqfI{}

But, this one has no effect:

\begin{description}

    \item[RS001:] \appendFI{RS001}
    Must describe the alarms...

\end{description}
\reqfI{}

\end{document}

在此处输入图片描述

相关内容