在latex中创建符号列表

Bri*_*ian 7 macros latex lookup-tables

我正在尝试在我的乳胶项目中获得一个自动生成的符号列表.这是我到目前为止的宏...

\newcommand{\addsymbol}[3]{%
  \symboldisplay{#1}{#2}\\%
  \setelem{#3}{#1}
}
\newcommand{\symboldisplay}[2]{%
  $#1$ \parbox{5in}{\dotfill #2}%
}

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname}
\def\dispsymbol#1{\csname myarray(#1)\endcsname}
Run Code Online (Sandbox Code Playgroud)

然后我包括我的符号列表

\begin{listofsymbols}
\input{symbols}
\end{listofsymbols}
Run Code Online (Sandbox Code Playgroud)

symbols.tex文件的位置

\addsymbol{n}{Number of sample points}{num_points}
\addsymbol{f_s}{Sampling frequency}{samp_frequency}
Run Code Online (Sandbox Code Playgroud)

然后我可以通过标签来获取我的符号:\ dispsymbol {num_points} - 在这种情况下显示n.

当我在同一章(符号列表章节)中调用\ dispsymbol作为\ addsymbol def时,这可以找到并且花花公子... 当我试图在另一章中获得符号的标签时似乎没有任何效果.

任何人都可以帮助我,或建议一个能满足我需求的套餐吗?

Ale*_*tin 5

要自动生成符号列表,您可以使用nomencl包,或者对于需要词汇表或首字母缩写词列表的更复杂文档,词汇包.

检查文档中的示例;)


Ale*_*tov 5

事情就是这样

\begin{listofsymbols} 
\end{listofsymbols} 
Run Code Online (Sandbox Code Playgroud)

是范围,任何宏在此组后丢失.您应该定义全局宏.替换以下内容

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname} 
Run Code Online (Sandbox Code Playgroud)

\def\setelem#1{\expandafter\gdef\csname myarray(#1)\endcsname} 
Run Code Online (Sandbox Code Playgroud)