图表和目录的编号

图表和目录的编号

我想用罗马数字对图表和目录本身进行编号(而不是对其中列出的东西进行编号)。

这样做,同时将主要文本保留在大胆的,并且不格式化数字。

我似乎找不到这样做的方法。

答案1

默认情况下\tableofcontents\listoffigures使用编号标题。可以使用tocbibind包进行更改。

以下代码重新定义\tableofcontents并插入\tocchapter指令,然后.toc使用加载文件\tocfile{\contentsname}{toc}

该宏\unboldchapternumber定义章节号不加粗,并在加载时切换\Roman并重新定义潜在的超锚点。\theHchapterhyperref

  \renewcommand{\tableofcontents}{%
    \begingroup
    \unboldchapternumber%
    \tocchapter
    \tocfile{\contentsname}{toc}
    \endgroup
  }

加载后\listoffigures,章节计数器应重置为零。

\documentclass{report}

\usepackage{tocbibind}
\usepackage{blindtext}
\usepackage{hyperref}

\makeatletter
\newif\ifhyperrefloaded
% Check whether hyperref is loaded
\@ifpackageloaded{hyperref}{
  \hyperrefloadedtrue
}{}
\makeatother


\newcommand{\unboldchapternumber}{%
  \renewcommand{\thechapter}{\normalfont\Roman{chapter}\bfseries}%
  \ifhyperrefloaded
  % Change the hyperanchors to prevent wrong anchors
  \renewcommand{\theHchapter}{tocchapter.\arabic{chapter}}%
  \fi
}

  \renewcommand{\tableofcontents}{%
    \begingroup
    \unboldchapternumber%
    \tocchapter
    \tocfile{\contentsname}{toc}
    \endgroup
  }
  \renewcommand{\listoffigures}{%
    \begingroup
    \unboldchapternumber
    \tocchapter
    \tocfile{\listfigurename}{lof}
    \endgroup
  }

\begin{document}
\tableofcontents
\listoffigures

\setcounter{chapter}{0}
\chapter{One}

\blindtext

\chapter{Two}

\blindtext
\end{document}

相关内容