如何在词汇表文件中使用用户定义的命令?

如何在词汇表文件中使用用户定义的命令?

我有一个像这样的用户定义符号:

\newcommand{\myexclam}{\mathrel{\stackinset{c}{}{t}{}{\rotatebox{-45}{\scalebox{.5}{$/$}}}{$!$}}}

此符号应在我的词汇表的某个条目中使用,如下所示(gloss.tex):

\newglossaryentry{mykey}{name={\ensuremath{\delta_{\text{act}}(a,\tau)\myexclam}}, description={Activity automaton}}

下面是main.tex

\documentclass[doublespaced,12pt]{article}

\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[english]{babel}
\usepackage[symbols]{glossaries}
\usepackage{stackengine}
\usepackage{hyperref}

\newcommand{\myexclam}{\mathrel{\stackinset{c}{}{t}{}{\rotatebox{-45}{\scalebox{.5}{$/$}}}{$!$}}}

\makenoidxglossaries
\loadglsentries{gloss}

\begin{document}

    Here is my formula \gls{mykey}

    \printnoidxglossary[sort=standard,title={List of Symbols}]      

\end{document}

但编译时抛出了undefined control sequence相应的\myexclam

如何在我的词汇表中正确使用此命令?

答案1

在这种情况下,\myexclam必须\protect在 中进行编辑\newglossaryentry

已编辑,根据 Nicola 的指示,为 添加了一个sort=\newglossaryentry,因为name不是字母表。此外,hyperref在 之前加载glossaries

\documentclass[doublespaced,12pt]{article}
\usepackage{filecontents}
\begin{filecontents*}{gloss.tex}
\newglossaryentry{mykey}{name={\ensuremath{\delta_{\text{act}}(a,\tau)\protect\myexclam}}, 
  description={Activity automaton},sort={delta activity}}
\end{filecontents*}

\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[english]{babel}
\usepackage{hyperref}
\usepackage[symbols]{glossaries}
\usepackage{stackengine}

\newcommand{\myexclam}{\mathrel{\stackinset{c}{}{t}{}{\rotatebox{-45}{%
  \scalebox{.5}{$/$}}}{$!$}}}

\makenoidxglossaries
\loadglsentries{gloss}

\begin{document}

    Here is my formula \gls{mykey}

    \printnoidxglossary[sort=standard,title={List of Symbols}]      

\end{document}

在此处输入图片描述

如果有多个宏需要保护(例如,如果\myexclam使用多次),则可能更容易以这种方式定义它,以便只\protect需要一个:

\begin{filecontents*}{gloss.tex}
\newcommand\newname{\ensuremath{\myexclam\delta_{\text{act}}(a,\tau)\myexclam}}
\newglossaryentry{mykey}{name={\protect\newname}, description={Activity automaton},
  sort={delta activity}}
\end{filecontents*}

相关内容