标题就是我想问的。更详细地说,命名条目应按以下组进行排序:
Nomenclature
Acronyms
Symbol Description % no Dimensions and Units
...
Greek Symbols
Symbol Description Dimensions Units
...
Roman Symbols
Symbol Description Dimensions Units
S Surface area vector L^2 m^2
...
Superscripts
Symbol Description % no Dimensions and Units
...
Dimensionless Numbers
Symbol Description Definition
...
例如预期的条目如下:
我目前对 [书籍类别] 分组的命名法设置:
%----------------------------------------------------------
% Nomenclature
%----------------------------------------------------------
%\renewcommand{\nomname}{List of Symbols and Abbrev.}
\renewcommand\nomgroup[1]{%
\ifthenelse{\equal{#1}{A}}{%
\item[\textbf{Acronyms}] }{% A - Acronyms
\ifthenelse{\equal{#1}{R}}{%
\item[\textbf{Roman Symbols}]}{% R - Roman
\ifthenelse{\equal{#1}{G}}{%
\item[\textbf{•} Symbols }]}{% G - Greek
\ifthenelse{\equal{#1}{S}}{%
\item[\textbf{Superscripts }]}{{% S - Superscripts
\ifthenelse{\equal{#1}{U}}{%
\item[\textbf{Subscripts }]}{{% U - Subscripts
\ifthenelse{\equal{#1}{X}}{%
\item[\textbf{Other Symbols }]}% X - Other Symbols
{{}}}}}}}}}}
%\ifpdf
\renewcommand{\nomlabel}[1]{\hspace{1 em}#1}%{\hspace{1.5 em}#1}
\renewcommand*{\nompreamble}{\markboth{\nomname}{\nomname}}
但是如何用和来扩展它Dimensions
呢Units
?
答案1
nomenclature 包的文档包含将所有内容放入 longtable 环境中的代码,但这涉及对.ist
文件的一些破解。一种可能就足够的更简单的方法是定义一些在普通列表中工作的辅助宏:
\documentclass{article}
\usepackage{nomencl,etoolbox,ragged2e,siunitx}
\newcommand{\DimensUnits}[2]{\hfill\makebox[8em]{#1\hfill}%
\makebox[4em]{#2\hfill}\ignorespaces}
\newcommand{\insertnomheaders}{\item[\bfseries Symbol]%
\textbf{Description}\DimensUnits{\textbf{Dimensions}}{\textbf{Units}}}
\renewcommand\nomgroup[1]{%
\item[\large\bfseries
\ifstrequal{#1}{A}{Acronyms}{%
\ifstrequal{#1}{R}{Roman Symbols}{%
\ifstrequal{#1}{G}{Greek Symbols}{%
\ifstrequal{#1}{S}{Superscripts}{%
\ifstrequal{#1}{U}{Subscripts}{%
\ifstrequal{#1}{X}{Other Symbols}{}}}}}}]
\insertnomheaders
}
\renewcommand*{\nompreamble}{\markboth{\nomname}{\nomname}}
\newcommand{\nomdescr}[1]{\parbox[t]{4cm}{\RaggedRight #1}}
\newcommand{\nomwithdim}[5]{\nomenclature[#1]{#2}%
{\nomdescr{#3}\DimensUnits{#4}{#5}}}
\makenomenclature
\begin{document}
\mbox{}
\nomwithdim{R}{\(a,b,c\)}{half axes of ellipsoid}{L}{\si{m}}
\nomwithdim{R}{\(C\)}{dimensionless coefficient (e.g.\ for drag model)}{--}{1}
\nomwithdim{G}{\( \varepsilon_0 \)}{vacuum permittivity}{F/L}{\si{F.m^{-1}}}
\printnomenclature[6em]
\end{document}
可选参数\printnomenclature
设置符号可用的空间。然后我们将每行设置为其\item
标签为符号的,后面跟着一个包含描述的固定宽度的段落,后面跟着一个尺寸框,最后是一个单位框。 etoolbox
已加载以避免使用弃用的ifthen
包。sunitx
已加载用于打印单位。
当然,要编译这个,你需要通过 (pdf)latex 运行文件,然后运行
makeindex file.nlo -s nomencl.ist -o file.nls
将“ file
”替换为你的作业名称(即主文件所在的位置)(两次)file.tex
。然后你需要再次运行 (pdf)latex。
添加以回应评论这是针对不同类别具有不同样式的版本。 再次更新现在可以将可选参数传递给排序键。
\documentclass{article}
\usepackage{nomencl,etoolbox,ragged2e,siunitx,mathtools}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\newcommand{\DimensUnits}[2]{\hfill\makebox[8em]{#1\hfill}%
\makebox[4em]{#2\hfill}\ignorespaces}
\newcommand{\DefinitionCol}[1]{\hfill\parbox[t]{12em}{#1}\ignorespaces}
\newcommand{\nomsubtitle}[1]{\item[\large\bfseries #1]}
\renewcommand\nomgroup[1]{\def\nomtemp{\csname nomstart#1\endcsname}\nomtemp}
\newcommand{\nomstartR}{\nomsubtitle{Roman Symbols}%
\item[\bfseries Symbol]%
\textbf{Description}\DimensUnits{\textbf{Dimensions}}{\textbf{Units}}}
\newcommand{\nomstartG}{\nomsubtitle{Greek Symbols}%
\item[\bfseries Symbol]%
\textbf{Description}\DimensUnits{\textbf{Dimensions}}{\textbf{Units}}}
\newcommand{\nomstartD}{\nomsubtitle{Dimensionless Numbers}%
\item[\bfseries Symbol]\textbf{Description}\DefinitionCol{\textbf{Definition}}}
\renewcommand*{\nompreamble}{\markboth{\nomname}{\nomname}}
\newcommand{\nomdescr}[1]{\parbox[t]{4cm}{\RaggedRight #1}}
\newcommand{\nomwithdim}[5]{\nomenclature[#1]{#2}%
{\nomdescr{#3}\DimensUnits{#4}{#5}}}
\newcommand{\nomtypeR}[5][]{\nomwithdim{R#1}{#2}{#3}{#4}{#5}}
\newcommand{\nomtypeG}[5][]{\nomwithdim{G#1}{#2}{#3}{#4}{#5}}
\newcommand{\nomtypeD}[4][]{\nomenclature[D#1]{#2}{\nomdescr{#3}\DefinitionCol{#4}}}
\makenomenclature
\begin{document}
\mbox{}
\nomtypeR[abc]{\(a,b,c\)}{half axes of ellipsoid}{L}{\si{m}}
\nomtypeR[C]{\(C\)}{dimensionless coefficient (e.g.\ for drag model)}{--}{1}
\nomtypeG{\( \varepsilon_0 \)}{vacuum permittivity}{F/L}{\si{F.m^{-1}}}
\nomtypeD{\( \mathcal A_r \)}{Archimedes number}{\(\displaystyle
\frac{d^3g\rho_c\abs{\Delta\rho}}{\mu_c^2} = \sqrt{\frac{\mathcal
E_0^3}{\mathcal M_0}} \)}
\nomtypeR[CC]{\(\mathbf{C}\)}{another dimensionless coefficient}{--}{1}
\nomtypeR[A]{\(A\)}{a dimensionless coefficient}{--}{1}
\nomtypeR[Z]{\(Z\)}{a dimensionless coefficient}{--}{1}
\printnomenclature[6em]
\end{document}