¿Cómo hacer una lista de nomenclatura limpia y agrupada?

¿Cómo hacer una lista de nomenclatura limpia y agrupada?

Los grupos de nomenclatura son:

Acronyms: dos columnas (abrev. - descripción)

Roman symbols: tres columnas (símbolo - descripción - unidad)

Greek symbols: tres columnas (símbolo - descripción - unidad)

...

Los símbolos deben ordenarse alfabéticamente.

Un ejemplo

Mi configuración de nomenclatura actual:

%----------------------------------------------------------
%                        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}}

Editar1: Después de usar la configuración modificada, la nomenclatura se ve así:

ingrese la descripción de la imagen aquí

Bueno, la descripción debe estar alineada en la mitad de la columna, mientras que Unidades se alinea como símbolos en la misma línea. ¿Cómo resolver esto?

Respuesta1

Puedes definir el comando.

\newcommand{\nomunit}[1]{%
  \renewcommand{\nomentryend}{\hspace*{\fill}#1}%
  }

y utilícelo dentro de \nomenclaturelos comandos para insertar la unidad, como en el siguiente ejemplo (también lo cargué siunitxpara imprimir unidades correctamente):

\nomenclature[r]{$v$}{Fluid velocity\nomunit{\si{\metre\per\second}}}

Este es un MWE completo (también ajusté un poco tu configuración)

\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} 

El resultado es:

ingrese la descripción de la imagen aquí

Si desea que las unidades estén alineadas a la izquierda, puede cambiar la definición de \nomunita

\newcommand{\nomunit}[1]{%
  \renewcommand{\nomentryend}{\hspace*{\fill}\makebox[1cm][l]{#1}}%
  }

y el resultado será:

ingrese la descripción de la imagen aquí

Si tiene que imprimir unidades más largas, aumente 1cma un valor adecuado.


EDITAR

Para lograr lo que dices en la edición de tu pregunta, cuando tengas un artículo con una descripción larga, lo mejor es insertar la descripción en un \parbox, como este

\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}}}

El resultado es

ingrese la descripción de la imagen aquí

Ajústese .75\textwidtha sus necesidades. Tenga en cuenta que es bastante difícil modificar el thenomenclatureentorno para lograr algo que lo haga automáticamente...

información relacionada