四列 LaTeX 命名法,无溢出

四列 LaTeX 命名法,无溢出

我制定了一个四列命名法,我的代码如下所示:

\documentclass{article}

\usepackage{nomencl,etoolbox,ragged2e,siunitx,fullpage,parskip}

\newcommand{\DimensUnits}[2]{\hfill\makebox[18em]{#1\hfill}%
\makebox[4em]{#2\hfill}\ignorespaces}
\newcommand{\insertnomheaders}{\item[\bfseries Symbool]\textbf{Grootheid}\DimensUnits{\textbf{Eenheid}}{\textbf{Afkorting}}}
\renewcommand{\nomname}{Symbolenlijst}

\renewcommand\nomgroup[1]{\item[\large\bfseries]\insertnomheaders}

\newcommand{\nomdescr}[1]{\parbox[t]{6cm}{\RaggedRight #1}}
\newcommand{\slijst}[4]{\nomenclature{#1}{\nomdescr{#2}\DimensUnits{#3}{#4}}}

\makenomenclature

\begin{document}
\printnomenclature [6em]

\section{hoofdstuk}
\slijst{$\pi$}{lengtemaat}{meter per seconde kwadraat, met meer uitleg}{\si{m}}
random text
\slijst{$\alpha$}{hoek}{L}{\si{F.m^{-1}}}
\slijst{$\beta$}{langte van contragewicht tot basis, een hele lange uitleg}{meter}{\si{v}}

\end{document}

我唯一还存在的问题是,当我的文本太长时,它会溢出 makebox(第三和第四列)。我怎样才能让文本转到另一行,例如第二段?

答案1

在第三列中也使用\parbox。我已经精简并修复了代码。

\documentclass{article}

\usepackage{nomencl,etoolbox,ragged2e,siunitx,fullpage,parskip}

\newcommand{\DimensUnits}[2]{%
  \quad
  \parbox[t]{16em}{\RaggedRight #1}%
  \quad
  \makebox[4em][l]{#2}%
}
\newcommand{\insertnomheaders}{%
  \item[\bfseries Symbool]
  \nomdescr{\textbf{Grootheid}}\DimensUnits{\textbf{Eenheid}}{\textbf{Afkorting}}%
}
\renewcommand{\nomname}{Symbolenlijst}

\renewcommand\nomgroup[1]{\item[\large\bfseries]\insertnomheaders}

\newcommand{\nomdescr}[1]{\parbox[t]{6cm}{\RaggedRight #1}}
\newcommand{\slijst}[4]{\nomenclature{#1}{\nomdescr{#2}\DimensUnits{#3}{#4}}}

\makenomenclature

\begin{document}
\printnomenclature [6em]

\section{hoofdstuk}
\slijst{$\pi$}{lengtemaat}{meter per seconde kwadraat, met meer uitleg}{\si{m}}
random text
\slijst{$\alpha$}{hoek}{L}{\si{F.m^{-1}}}
\slijst{$\beta$}{langte van contragewicht tot basis, een hele lange uitleg}{meter}{\si{v}}

\end{document}

在此处输入图片描述

相关内容