帮助命名组和 ifthenelse

帮助命名组和 ifthenelse

我正在对我的命名符号进行分组。我使用的是这篇文章中的答案: 如何在命名法中创建章节?

我使用的语法是这样的:

\renewcommand{\nomgroup}[1]{%
    \ifthenelse{\equal{#1}{C}}{\item[\textbf{Variables}]}{%
        \ifthenelse{\equal{#1}{V}}{\item[\textbf{sets}]}{}}
}

如果我将前缀设置为C和,分组效果很好。但是,当我尝试使用数字前缀(例如和 )时,V它不起作用,即56

\renewcommand{\nomgroup}[1]{%
    \ifthenelse{\equal{#1}{6}}{\item[\textbf{Variables}]}{%
        \ifthenelse{\equal{#1}{5}}{\item[\textbf{sets}]}{}}
}

我不知道为什么会这样。我不能使用字母,因为我有很多字母,大写和小写都有。对于我的文档来说,数字更有意义。

文档建议下面的引用,但我不知道这是什么意思。

请注意,对于符号和数字,您必须检查字符串“符号”和“数字”。 http://texdoc.net/texmf-dist/doc/latex/nomencl/nomencl.pdf

我该如何解决这个问题?

编辑:2019/04/04 1941GMT MWE:

\documentclass[a4paper,openany]{book}

\usepackage{siunitx}
\usepackage{nomencl}
\usepackage{ifthen}
\makenomenclature
\setlength{\nomlabelwidth}{1.45cm}
\renewcommand{\nompreamble}{text here.}

\renewcommand{\nomgroup}[1]{%
    \ifthenelse{\equal{#1}{6}}{\item[\textbf{Variables}]}{%
        \ifthenelse{\equal{#1}{V}}{\item[\textbf{sets}]}{}}
}

\begin{document}
test
\printnomenclature
\nomenclature[C1]{$\overline{\text{C}_{\text{F}}}$}{up, [1/s]}

\nomenclature[V2]{$\text{V}_{\text{D}}$}{down, [$\SI{}{\meter\per\second}$]}

\nomenclature[W]{$\overline{\text{We}}$}{left}
\nomenclature[O]{$\overline{\text{Oh}}$}{right}

\nomenclature[6K1]{$k$}{in}

\end{document}

答案1

这是 的限制makeindex。我尝试过

\index{6@66}
\index{6k@6k}

第一个条目列在“数字”中,而第二个条目出现在“符号”中。只有完全数字之前的部分@将按索引中的“数字”排序。此外,.nlo文件中记录的是

\nomenclatureentry{6K1$k$@[{$k$}]\begingroup in\nomeqref {0}|nompageref}{2}

并且在之前@总会有一些不是数字的东西。

抱歉,您运气不佳:只能使用 27 个不同的组,其中 26 个用于字母,一个用于符号。MakeIndex 在分组时不区分大小写。

\nomgroup当涉及许多字母时,我只能提供一种不那么痛苦的重新定义方法。

% arara: pdflatex
% arara: nomencl
% arara: pdflatex

\documentclass[a4paper,openany]{book}

\usepackage{siunitx}
\usepackage{nomencl}
\usepackage{xparse}
\makenomenclature
\setlength{\nomlabelwidth}{1.45cm}
\renewcommand{\nompreamble}{text here.}

\ExplSyntaxOn
\NewExpandableDocumentCommand{\checkletter}{mmm}
 {
  \str_case:nnF { #1 } { #2 } { #3 }
 }
\ExplSyntaxOff

\renewcommand{\nomgroup}[1]{%
  \checkletter{#1}{
    {A}{\item[\textbf{aaa}]}
    {B}{\item[\textbf{bbb}]}
    {C}{\item[\textbf{ccc}]}
    % other groups
    {O}{\item[\textbf{ooo}]}
    % other groups
    {V}{\item[\textbf{sets}]}
    {W}{\item[\textbf{www}]}
    {X}{\item[\textbf{xxx}]}
    {Y}{\item[\textbf{yyy}]}
    {Z}{\item[\textbf{zzz}]}
  }{\item[\textbf{Variables}]}
}

\begin{document}
test

\printnomenclature

\nomenclature[C1]{$\overline{\text{C}_{\text{F}}}$}{up, [1/s]}

\nomenclature[V2]{$\text{V}_{\text{D}}$}{down, [$\SI{}{\meter\per\second}$]}

\nomenclature[W]{$\overline{\text{We}}$}{left}
\nomenclature[O]{$\overline{\text{Oh}}$}{right}

\nomenclature[6K1]{$k$}{in}

\end{document}

这产生了

在此处输入图片描述

相关内容