7

ラテックスプロジェクトで自動生成されたシンボルのリストを取得しようとしています。これが私がこれまでに持っているマクロです...

\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}

次に、そのような記号のリストを含めます

\begin{listofsymbols}
\input{symbols}
\end{listofsymbols}

ここで、symbols.texファイルは

\addsymbol{n}{Number of sample points}{num_points}
\addsymbol{f_s}{Sampling frequency}{samp_frequency}

次に、次のようにラベルでシンボルを取得できます。\dispsymbol{num_points}-この場合はnが表示されます。

これはすべての検索とダンディで機能します...同じ章(シンボルのリストの章)で\addsymboldefと同じ\dispsymbolを呼び出している場合。別の章でシンボルのラベルを取得しようとすると、何も機能しないようです。

誰かが私を助けてくれますか、または私が探していることをするパッケージを提案できますか?

4

2 に答える 2

5

記号のリストを自動的に生成するには、nomenclパッケージを使用できます。また、用語集や頭字語のリストも必要とするより複雑なドキュメントの場合は、用語集パッケージを使用できます。

ドキュメントの例を確認してください;)

于 2010-05-21T07:01:18.430 に答える
5

事はそれです

\begin{listofsymbols} 
\end{listofsymbols} 

はスコープであり、このグループの後でマクロはすべて失われます。グローバルマクロを定義する必要があります。次のものを置き換えます

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname} 

\def\setelem#1{\expandafter\gdef\csname myarray(#1)\endcsname} 
于 2010-05-21T07:21:01.783 に答える