你能告诉我如何制作如下的目录吗:
前言.................................i
第 1 章 决定................................1
1.1 啦啦啦........................6
1.2 啦啦啦........................7
第 2 章 会议 ..................................10
2.1 啦啦啦 ........................16
*2.2 啦啦啦........................17
2.3 啦啦啦........................19
*2.4 啦啦啦........................21
2.5 啦啦啦........................25
结论.................................30
附录A.................................35
参考书目.................................40
2.2 和 2.4 节前面加星号以表示级别hard
。标题标记与目录中的相同。
答案1
一种方法是创建一个可以改变节号格式的环境。然后,一点点tocloft
魔法就能让目录条目看起来很漂亮。
\documentclass{book}
\usepackage{tocloft}
\usepackage{lipsum} % for dummy text
\newenvironment{hard}
{\renewcommand{\thesection}{*\thechapter.\arabic{section}}}
{}
% set section numbers in TOC flush right (from the tocloft documentation)
\newlength{\extralen}
\setlength{\extralen}{0.5em} % need some extra space at end of number
\renewcommand{\cftsecpresnum}{\hfill} % note the double ‘l’
\renewcommand{\cftsecaftersnum}{\hspace*{\extralen}}
\addtolength{\cftsecnumwidth}{\extralen}
\begin{document}
\tableofcontents
\chapter{A chapter}
\section{A regular section}\label{easylabel}
In Section~\ref{easylabel} we see\ldots
\lipsum
\begin{hard}
\section{A hard section}\label{hardlabel}
\lipsum
\end{hard}
In Section~\ref{hardlabel} we see\ldots
\end{document}
请注意,此解决方案还会使参考文献中的章节编号带有 *,并且硬章节中的子章节也会带有 *。(对于子章节,您还需要添加适当的tocloft
代码以使其编号也向右对齐。)如果您不想要这样,那么事情就会变得有点复杂。
答案2
以下解决方案与您想要的非常相似,但不会对文档中的硬部分进行编号。为此,您可能需要调整titlesec
标题格式:
\documentclass{book}
\usepackage{tocloft}
\usepackage{lipsum}
\newcommand{\hardsection}[1]{%
\section*{#1}%
\addcontentsline{toc}{section}{$^*$~\thesection~#2}
}
\begin{document}
\tableofcontents
\chapter{First chapter}
\section*{A section here}
\lipsum
\hardsection{And a hard section there}
\lipsum
\chapter{Second chapter}
\section*{And another section}
\lipsum
\end{document}