我正在使用该nomencl
包来制作缩写列表。
我希望命名法的名称“缩写”能够以与 相同的方式格式化和编号\section{}
。
例如:
\documentclass{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\section{Introduction}
\nomenclature{A}{First one}
\nomenclature{B}{Second one}
\renewcommand{\nomname}{Abbreviations}
\printnomenclature
\section{Methods}
\end{document}
我希望这能产生:
1 简介
2 缩写
第一个
B 第二个
3 方法
我怎样才能做到这一点 ?
答案1
该包使用\section*
(如果\chapter
在当前文档类中不可用)将标题格式化为未编号的部分;您可以修补(例如,使用etoolbox
包)\thenomenclature
来使用的命令\section
:
\documentclass{article}
\usepackage{nomencl}
\usepackage{etoolbox}
\makenomenclature
\makeatletter
\patchcmd{\thenomenclature}{\section*}{\section}{}{}
\makeatother
\begin{document}
\section{Introduction}
\nomenclature{A}{First one}
\nomenclature{B}{Second one}
\renewcommand{\nomname}{Abbreviations}
\printnomenclature
\section{Methods}
\end{document}
如果您不想使用附加包,则需要更改定义\thenomenclature
:
\documentclass{article}
\usepackage{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}
\section{Introduction}
\nomenclature{A}{First one}
\nomenclature{B}{Second one}
\renewcommand{\nomname}{Abbreviations}
\printnomenclature
\section{Methods}
\end{document}