わかりやすくグループ化された命名リストを作成するにはどうすればよいでしょうか?

わかりやすくグループ化された命名リストを作成するにはどうすればよいでしょうか?

命名グループは次のとおりです。

Acronyms: 2列(略語 - 説明)

Roman symbols: 3つの列(記号 - 説明 - 単位)

Greek symbols: 3つの列(記号 - 説明 - 単位)

...

シンボルはアルファベット順に並べる必要があります。

例

現在の命名設定:

%----------------------------------------------------------
%                        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環境を変更してこれを自動的に実行するのは非常に難しいことに注意してください...

関連情報