我正在尝试使用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}