![Nomencl 带有 nomentbl 选项和目录中的自定义章节](https://linux22.com/image/458018/Nomencl%20%E5%B8%A6%E6%9C%89%20nomentbl%20%E9%80%89%E9%A1%B9%E5%92%8C%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E7%AB%A0%E8%8A%82.png)
我正在尝试使用nomentbl
该nomencl
包中的选项,同时向目录中添加一个编号章节,其中我为命名法章节标题指定了一个自定义名称。
如果不尝试使用该nomentbl
选项,自定义章节部分可以正常工作,但使用该选项时,它会失败。输出显示如下错误:
l.4 \item &
{a}&\begingroup acceleration\endgroup &\begingroup \meter/\seco...
./test.nls:4: Misplaced alignment tab character &.
thenomenclature
我从其他问题中重新定义了这个) 我猜我的问题就在这里,但我不知道如何使它适应我的需要。
梅威瑟:
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\usepackage[nomentbl]{nomencl}
\makenomenclature
\makeatletter
\def\thenomenclature{%
\@ifundefined{chapter}%
{
\section{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\fi%
}%
{
\chapter{\nomname}
\if@intoc\addcontentsline{toc}{chapter}{\nomname}\fi%
}%
\nompreamble
\list{}{%
\labelwidth\nom@tempdim
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\itemsep\nomitemsep
\let\makelabel\nomlabel}
}
\makeatother
\begin{document}
\tableofcontents
\chapter{Introduction}
\lipsum[1]
\nomenclature{COM}{Commissioning}{}{}%
\nomenclature{a}{acceleration}{\meter/\second\squared}{}%
\renewcommand{\nomname}{My title for definitions}
\printnomenclature
\end{document}
答案1
以下示例中的更改似乎修复了此问题。摘自文档。
\documentclass[a4paper,12pt]{report}
\usepackage{lipsum}
\usepackage[nomentbl]{nomencl}
\makenomenclature
\makeatletter
\def\thenomenclature{%
\@ifundefined{chapter}%
{
\section{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\fi%
}%
{
\chapter{\nomname}
\if@intoc\addcontentsline{toc}{chapter}{\nomname}\fi%
}%
\nompreamble
\let\itemOrig=\item
\def\item{\gdef\item{\\}}%
\expandafter\longtable\expandafter{\@nomtableformat}%
}
\makeatother
\begin{document}
\tableofcontents
\chapter{Introduction}
\lipsum[1]
\nomenclature{COM}{Commissioning}{}{}%
\nomenclature{a}{acceleration}{\meter/\second\squared}{}%
\renewcommand{\nomname}{My title for definitions}
\printnomenclature%
\end{document}