我想用罗马数字对图表和目录本身进行编号(而不是对其中列出的东西进行编号)。
这样做,同时将主要文本保留在大胆的,并且不格式化数字。
我似乎找不到这样做的方法。
答案1
默认情况下\tableofcontents
不\listoffigures
使用编号标题。可以使用tocbibind
包进行更改。
以下代码重新定义\tableofcontents
并插入\tocchapter
指令,然后.toc
使用加载文件\tocfile{\contentsname}{toc}
。
该宏\unboldchapternumber
定义章节号不加粗,并在加载时切换\Roman
并重新定义潜在的超锚点。\theHchapter
hyperref
\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}