如何格式化命名法的名称

如何格式化命名法的名称

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

相关内容