我将 nomencl 与 nomgroups 和 nomunit 一起使用。图片中给出了我实现的正确对齐的唯一方法。它是使用文档中的方法生成的。
file.ist 是标准的,而 tex-file 看起来像这样:
\documentclass{scrartcl}
\usepackage{ifthen}
\usepackage[refpage,intoc]{nomencl}
\renewcommand{\nomname}{Abkürzungsverzeichnis}
\makenomenclature
%Pagenumber in nomenclature
\renewcommand{\pagedeclaration}[1]{{\hfill #1}}
\renewcommand{\nompostamble}{}%
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{[\parbox{.08\textwidth}{\centering $#1$}]}}
\newlength{\nomentrywidth}
\setlength{\nomentrywidth}{.76\textwidth}
\renewcommand{\nomgroup}[1]
{%
\ifthenelse{\equal{#1}{X}}
{\vspace{2em}\item[]\hspace*{-\leftmargin}%
\hfill \textbf{Abkürzungen} \hfill \hbox{}}
{%
\ifthenelse{\equal{#1}{A}}
{\vspace{2em}\item[]\hspace*{-\leftmargin}%
\hfill \textbf{Physikalische Größen} \hfill \hbox{}}
{%
\ifthenelse{\equal{#1}{R}}
{\vspace{2em}\item[]\hspace*{-\leftmargin}%
\hfill \textbf{Regelungstechnik} \hfill \hbox{}}
{%
\ifthenelse{\equal{#1}{XX}}
{\vspace{2em}\item[]\hspace*{-\leftmargin}%
\hfill \textbf{Schriftauszeichnungen} \hfill \hbox{}}
}
}
}
}
\begin{document}
\markright{Abkürzungsverzeichnis}
\printnomenclature[1.5cm]
\nomenclature[A]{$Re$}{Reynoldszahl\nomunit{-}}%
\nomenclature[R]{$\rho_L$}{Dichte der Luft\nomunit{\frac{kg}{m^3}}}%
\nomenclature[X]{$\eta_L$}{Dynamische Viskosität der Luft\nomunit{\frac{kg}{m \cdot s}}}%
\nomenclature[X]{$\eta_L$}{asdf\nomunit{\frac{kg}{m \cdot s}}}%
\end{document}
%% EOF
不幸的是,页码在单位之前。(请注意[refpage,intoc]
,可以将其删除。)
有人可以通过正常方式或使用长表给出完整的解决方案并解释如何操纵列顺序。
答案1
你必须“备份”:
\newcommand{\nomunit}[1]{%
\renewcommand{\nomentryend}{%
\llap{[\makebox[.08\textwidth]{$#1$}]\hspace{3em}}}}
该\nomentryend
位将具有零宽度。调整 3em 间距以适应。