Создание списка символов в латексе

Я пытаюсь получить автоматический сгенерированный список символов в моем латексном проекте. Вот макрос, который я имею до сих пор...

\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 в этом случае.

Это работает, все находят и денди..., когда я называю \dispsymbol в той же главе (Список главы Символов) как \addsymbol определение, Когда я пытаюсь получить маркировку для символа в другой главе, ничто, кажется, не работает.

Кто-либо мог помочь мне или предложить пакет, который сделает то, что я ищу?

7
задан Brian 21 May 2010 в 06:49
поделиться

2 ответа

Дело в том, что

\begin{listofsymbols} 
\end{listofsymbols} 

- это область видимости, и любой макрос теряется после этой группы. Вы должны определить глобальные макросы. Замените следующий

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

на

\def\setelem#1{\expandafter\gdef\csname myarray(#1)\endcsname} 
5
ответ дан 7 December 2019 в 01:17
поделиться

Для автоматического создания списка символов можно использовать пакет nomencl , а для более сложных документов, требующих также глоссарии или списки сокращений, пакет глоссарии .

Посмотрите примеры в документации;)

5
ответ дан 7 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: