![四列 LaTeX 命名法,无溢出](https://linux22.com/image/322100/%E5%9B%9B%E5%88%97%20LaTeX%20%E5%91%BD%E5%90%8D%E6%B3%95%EF%BC%8C%E6%97%A0%E6%BA%A2%E5%87%BA.png)
我制定了一个四列命名法,我的代码如下所示:
\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}