LaTeX 命名法使用数字来表示各个部分

LaTeX 命名法使用数字来表示各个部分

我想使用命名法来创建目录中文件的自定义索引。只要我的部分以字母开头,就没有问题。但如果我想用数字来划分它,那就行不通了。

我从命名法部分

\documentclass{article}
\usepackage{nomencl}
\usepackage{ifthen}
\renewcommand{\nomgroup}[1]{%
    \ifthenelse{\equal{#1}{A}}{\item[\textbf{A}]}{%
    \ifthenelse{\equal{#1}{0}}{\item[\textbf{0}]}
        {}
    }
    }
}
\makenomenclature
  \nomenclature[A]{$\Omega_N$}{Set of all buses (nodes).}
  \nomenclature[A]{$n,m$}{Index of all buses (nodes). $m$ is alias of $n$.}
  \nomenclature[A]{$\Omega_L$}{Set of all Transmission lines.}
  \nomenclature[A]{$l$}{Index of transmission lines.}
  \nomenclature[0]{$\Omega_{K}$}{Set of all genetors.}
\begin{document}
  Some text
  \printnomenclature
\end{document} 

应该发生什么:我得到一个包含两个部分的索引:一个从 0 开始(一个条目),另一个部分 A 有四个条目。

我得到的是这样的:我得到的索引中有一个部分没有标签,只有一个条目,另一个部分 A 有四个条目。出于某种原因,无法识别 0。

我试过了

\ifthenelse{#1=0}}{\item[\textbf{0}]}

以及...没有运气。也许 0 是一个数字,不喜欢被当作字符串进行比较……?!

编辑: 我的索引需要 0-9 和 az 部分。

任何想法都值得赞赏。

答案1

由于包没有答案nomencl,因此您可以使用glossaries包来实现它。这不使用makeindex的分组系统,而是利用 提供的层次结构glossaries

\documentclass{article}

\usepackage[
 nopostdot,% suppress automatic post-description full stop
 automake,% automatically run makeindex if restricted shell escape enabled
 nonumberlist,% suppress location lists
 nogroupskip,% suppress group skips (we're overriding the default grouping)
 style=tree% hierarchical display style required
]{glossaries}

\makeglossaries

% \newentry{letter/number}{label}{settings}
\newcommand*{\newentry}[3]{%
  \ifglsentryexists{#1}{}%
  {%
    \newglossaryentry{#1}{name={#1},description={\nopostdesc}}%
  }%
  \newglossaryentry{#2}{parent={#1},sort={#2},#3}%
}

\newentry{A}{omegaN}
 {name={$\Omega_N$},description={Set of all buses (nodes).}}

\newentry{A}{nm}
 {name={$n,m$},description={Index of all buses (nodes). $m$ is alias of $n$.}}

\newentry{A}{omegaL}
 {name={$\Omega_L$},description={Set of all Transmission lines.}}

\newentry{A}{l}
 {name={$l$},description={Index of transmission lines.}}

\newentry{0}{omegaK}
 {name={$\Omega_{K}$},description={Set of all genetors.}}

\begin{document}
Some text
\glsaddall% index all defined entries

\printglossaries
\end{document}

\newentry如果尚未定义父条目(针对组),则此命令将定义父条目。然后,它将实际条目定义为子条目。由于所有name字段都使用命令或特殊字符(如\Omega$),sort因此默认情况下将键设置为标签以协助 的makeindex排序。如果需要,可以在 的第三个参数中更改此设置\newentry

结果如下:

词汇表图片

如果需要,可以更改样式。有许多预定义样式。您需要一个可以支持分层条目的样式。表 15.1用户指南中提供了摘要。您需要一个最大级别大于 0 但没有选中“同形异义词”列的摘要。

相关内容