命名组包括:
Acronyms
:两列(缩写 - 描述)
Roman symbols
:三列(符号 - 描述 - 单位)
Greek symbols
:三列(符号 - 描述 - 单位)
...
符号应按字母顺序排列。
我当前的命名法设置:
%----------------------------------------------------------
% 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}}
編輯1:使用修改后的设置后,命名规则如下:
嗯,描述应该在中间一列对齐,而单位像符号一样在同一行对齐。如何解决?
答案1
您可以定义命令
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}%
}
并在命令中使用它\nomenclature
来插入单位,如下例所示(我还加载了siunitx
以正确打印单位):
\nomenclature[r]{$v$}{Fluid velocity\nomunit{\si{\metre\per\second}}}
这是一个完整的 MWE(我还调整了一些设置)
\documentclass{article}
\usepackage{siunitx}
\sisetup{%
inter-unit-product=\ensuremath{{}\cdot{}},
per-mode=symbol
}
\usepackage{nomencl}
\usepackage{ifthen}
\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{Greek 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
{}}}}}}}}
\renewcommand*{\nompreamble}{\markboth{\nomname}{\nomname}}
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}#1}%
}
\makenomenclature
\begin{document}
\section{Test}
$\textrm{CFD}$ and $v$ and $\phi$
\nomenclature[a]{CFD}{Computational Fluid Dynamics}
\nomenclature[r]{$v$}{Fluid velocity\nomunit{\si{\metre\per\second}}}
\nomenclature[g]{$\phi$}{Coefficient of viscosity\nomunit{\si{\pascal\second}}}
\printnomenclature
\end{document}
结果是:
如果希望单位左对齐,可以将定义更改\nomunit
为
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{\hspace*{\fill}\makebox[1cm][l]{#1}}%
}
结果是:
如果必须打印更长的单位,请增加到1cm
合适的值。
编辑
为了实现您在编辑问题时所说的内容,当您有一个带有长描述的项目时,最好的办法是将描述插入到中\parbox
,就像这样
\nomenclature[x]{$x$}{\parbox[t]{.75\textwidth}{Unknown variable with a very very very
very very very very very very very very very very long description}\nomunit{\si{\second}}}
结果是
根据您的需要进行调整.75\textwidth
。请注意,修改环境thenomenclature
以实现自动执行的操作非常困难...