我有以下代码来将新文本附加到字符串。但该命令在描述环境中不起作用:
%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}