我有几个未编号的章节想添加到目录中。目前这不是问题,因为有人慷慨地提供了以下宏,它可以将未命名的章节添加为正确的水平对齐方式(即,它与其余章节标题对齐,而不是与编号对齐):
\ProvideDocumentCommand{\addchap}{ s o m }{%
\typeout{providing a minimal version of addchapp.
You might want to use a KOMA class for full
features
}%
\chapter*{#3}%
\IfBooleanTF{#1}{
\markboth{}{}
}{
\IfNoValueTF{#2}{
\addcontentsline{toc}{chapter}{#3}
\markboth{#3}{#3}%
}{%
\addcontentsline{toc}{chapter}{#2}
\markboth{#2}{#2}%
}
}
}
然后我需要使用:
\addchap{{Preface}}
我遇到的问题与其他未命名的章节有关。
第一个是索引。我不能使用\addchap
索引,因为它使用
\begin{theindex}
\end{theindex}
基于.ind
文件。因此,我的第一个问题是:如何确保\begin{theindex}
使用它\addchap
而不是使用章节或其他任何内容?
我的第二个问题与参考文献有关。
我目前正在使用以下命令:
\bibliographystyle{apalike}
\bibliography{myref}
它完成了工作(添加了一个名为 的新章节Bibliography
),但没有向目录添加任何内容。同样,我怀疑我需要进行更改,以便 bibliography 命令使用\addchap
而不是它正在使用的其他任何内容。
这两个问题有解决办法吗?
答案1
该包提供了自动将和包含在 ToC 中的tocbibind
方法。index
bibliography
仅当不使用 KOMA 类时才需要该命令\addchap
(加载 KOMA 时将被忽略)
以下是myref.bib
@Book{Knuth:90,
author = {Knuth, Donald E.},
title = {The {\TeX}book},
year = {1990},
publisher = {Addison\,\textendash\,Wesley},
}
@Book{Lamport:94,
author = {Lamport, Leslie},
title = {\LaTeX: A Document Preparation System},
year = {1994},
publisher = {Addison\,\textendash\,Wesley},
}
\documentclass{book}
\usepackage[nottoc]{tocbibind}
\usepackage{makeidx}
\usepackage{blindtext}
\usepackage{xparse}
\ProvideDocumentCommand{\addchap}{ s o m }{%
\typeout{providing a minimal version of addchapp.
You might want to use a KOMA class for full
features
}%
\chapter*{#3}%
\IfBooleanTF{#1}{%
\markboth{}{}%
}{%
\IfNoValueTF{#2}{%
\addcontentsline{toc}{chapter}{#3}%
\markboth{#3}{#3}%
}{%
\addcontentsline{toc}{chapter}{#2}%
\markboth{#2}{#2}%
}%
}%
}%
\makeindex
\begin{document}
\tableofcontents
\blinddocument
\addchap{Unnumbered chapter}
\chapter{Dummy chapter}
In his book \cite{Knuth:90}
\index{dummyindex}
\section{Dummy section}
\printindex
\bibliographystyle{apalike}
\bibliography{myref}
\end{document}