我正在写一篇文章,需要使用预定义的类。命名法被编码为如下环境:
\documentclass[12pt]{article}
\newbox\tempbox
\newenvironment{nomenclature}{%
\newcommand\entry[2]{%
\setbox\tempbox\hbox{##1.\quad}
\hangindent\wd\tempbox\noindent{##1}\quad\ignorespaces##2\par}
\section*{NOMENCLATURE}}{\par\addvspace{12pt}}
\begin{document}
\begin{nomenclature}
\entry{$A$}{Duct cross section {[$m^2$]}}
\entry{$A^\pm$}{Acoustic waves}
\entry{$c_p$}{Specific heat capacity at constant pressure {[$J.kg^{-1}.K^{-1}$]}}
\entry{$E_0$}{Energy deposited by the energy deposition model {[$J$]}}
\entry{$He$}{Helmholtz number}
\end{nomenclature}
\end{document}
这非常简单,但我希望有带有缩进的不同变量的定义。
非常感谢您的帮助。
答案1
这是修改代码的一种方法。您需要一个固定大小的空间用于缩进,并将标签文本放入相同宽度的框中。
\documentclass[12pt]{article}
\newlength{\nomenlabelindent}
\setlength{\nomenlabelindent}{4em}
\newenvironment{nomenclature}{%
\newcommand\entry[2]{%
\hangindent\nomenlabelindent\noindent\makebox[\nomenlabelindent][l]{##1\quad}\ignorespaces##2\par}%
\section*{NOMENCLATURE}}{\par\addvspace{12pt}}
\begin{document}
\begin{nomenclature}
\entry{$A$}{Duct cross section {[$m^2$]}}
\entry{$A^\pm$}{Acoustic waves}
\entry{$c_p$}{Specific heat capacity at constant pressure {[$J.kg^{-1}.K^{-1}$]}}
\entry{$E_0$}{Energy deposited by the energy deposition model {[$J$]}}
\entry{$He$}{Helmholtz number}
\entry{$T$}{Some long text description to show how a second line
is handled when absolutely necessary}
\end{nomenclature}
\end{document}
代码设置了一个长度变量来存储标签和后续空格所需的空间。所有标签的长度应相同,否则您将无法获得统一的缩进。然后,每个条目都会构建一个具有给定缩进的 par 形状,然后打印出一个包含标签的框。如果您希望标签与框的右侧对齐,请将 from 的参数\makebox
更改[l]
为[r]
。