我正在按照nomencl
软件包文档的建议对我的命名法进行排序,但\dot{q}
在和之前进行排序a
,v
而所需的排序是:
a
\dot{q}
v
默认前缀的存在没有帮助,因此noprefix
使用。前缀用于区分罗马[1]
和希腊[2]
变量。
\documentclass[oneside,paper=a4,fontsize=12pt,english]{scrreprt}
\usepackage[noprefix]{nomencl}
\makenomenclature
\begin{document}
\printnomenclature
\nomenclature[1]{\(a\)}{Semimajor axis}
\nomenclature[1]{\(v\)}{Velocity}
\nomenclature[1]{\(\dot{q}\)}{Heat flux}
\nomenclature[2]{\(\rho\)}{Density}
% makeindex.exe Test.nlo -s nomencl.ist -o Test.nls
Lorem ipsum.
\end{document}
使用[1q]
作为前缀会导致\dot{q}
排序在罗马变量的末尾。我怎样才能nomenclature
忽略\dot{}
?
答案1
只需添加全部具有 ASCII 版本以供排序的条目:
% arara: pdflatex
% arara: nomencl
% arara: pdflatex
\documentclass[oneside,paper=a4,fontsize=12pt,english]{scrreprt}
\usepackage[noprefix]{nomencl}
\makenomenclature
\begin{document}
\printnomenclature
\nomenclature[1a]{\(a\)}{Semimajor axis}
\nomenclature[1v]{\(v\)}{Velocity}
\nomenclature[1q]{\(\dot{q}\)}{Heat flux}
\nomenclature[2rho]{\(\rho\)}{Density}
Lorem ipsum.
\end{document}
您arara
不需要记住生成文件的命令.nls
。:)
答案2
为了防止符号按周围的命令进行排序,例如\dot{q}
,在前缀中附加符号的数学模式,而不添加任何其他命令,如下所示:
\nomenclature[1\(q\)]{\(\dot{q}\)}{Heat flux}
在完整的示例中,我们看到仅单个问题变量需要这种附加语法:
\documentclass[oneside,paper=a4,fontsize=12pt,english]{scrreprt}
\usepackage[noprefix]{nomencl}
\makenomenclature
\begin{document}
\printnomenclature
\nomenclature[1]{\(a\)}{Semimajor axis}
\nomenclature[1]{\(v\)}{Velocity}
\nomenclature[1\(q\)]{\(\dot{q}\)}{Heat flux}
\nomenclature[2]{\(\rho\)}{Density}
% makeindex.exe Test.nlo -s nomencl.ist -o Test.nls
Lorem ipsum.
\end{document}