自定义命名组排序

自定义命名组排序

我正在使用手册中描述的 nomencl 组:

\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\RequirePackage{ifthen}
\renewcommand{\nomgroup}[1]{%
\ifthenelse{\equal{#1}{R}}{\item[\textbf{Variables}]}{%
\ifthenelse{\equal{#1}{G}}{\item[\textbf{Constants}]}{}}}

\begin{document}
\nomenclature[ga ]{$\alpha$}{Constant}
\nomenclature[rx ]{$x$}{Variable}
\printnomenclature
\end{document}

在此处输入图片描述

现在,在我完成我的文档后,我发现如果我可以Variables先打印组,Constants然后再打印组,它将与我的命名法中的分页符完美对齐。

我如何自定义组的排序顺序?请注意,无法更改组的前缀,因为我的文本中有 100 多个命名条目,我想避免浏览所有这些条目。

答案1

您应该修复输入命名条目的方式。

下面是在变量之前获取常量的示例:

\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\usepackage{ifthen}

% The order will be 1. constants, 2. variables
% because C comes before V
\renewcommand{\nomgroup}[1]{%
  \ifthenelse{\equal{#1}{V}}{\item[\textbf{Variables}]}{%
  \ifthenelse{\equal{#1}{C}}{\item[\textbf{Constants}]}{}}%
}

\newcommand{\nomconst}[1][]{\nomenclature[C#1]}
\newcommand{\nomvar}[1][]{\nomenclature[V#1]}

\begin{document}
Some text
\nomconst[a]{$\alpha$}{Constant}
\nomvar[x]{$x$}{Variable}
\printnomenclature
\end{document}

在此处输入图片描述

只需进行少量更改在序言中而文档中没有,我们可以得到相反的顺序:

\documentclass{article}
\usepackage{nomencl}
\makenomenclature

\usepackage{ifthen}

% The order will be 1. variables, 2. constants
% because A comes before B
\renewcommand{\nomgroup}[1]{%
  \ifthenelse{\equal{#1}{A}}{\item[\textbf{Variables}]}{%
  \ifthenelse{\equal{#1}{B}}{\item[\textbf{Constants}]}{}}%
}

\newcommand{\nomconst}[1][]{\nomenclature[B#1]}
\newcommand{\nomvar}[1][]{\nomenclature[A#1]}

\begin{document}
Some text
\nomconst[a]{$\alpha$}{Constant}
\nomvar[x]{$x$}{Variable}
\printnomenclature
\end{document}

在此处输入图片描述

\nomconst和的可选参数\nomvar是您已经在使用的 MakeIndex 的排序提示。

相关内容