是否可以在内容在目录顶部生成的标题?(不是在目录中的单个项目上生成的,正如讨论的那样这里。
我认为也许titletoc
可以允许这样做,但是我没有在该包的文档中看到有关脚注的任何信息。
编辑:我使用的是文档类scrbook
(需要\multiplefootmarker
,因为作者的注释使用数字,而编辑的注释使用 * 和其他符号)。编辑需要注释内容标题。
答案1
1.book
类
方法 1 — 定义新命令
该\ftableofcontents
命令需要将脚注的文本作为参数。
\documentclass{book}
\usepackage{xpatch}
\newcommand\ftableofcontents{\renewcommand\ftableofcontents[1]}
\expandafter\ftableofcontents\expandafter{\tableofcontents}
\xpatchcmd\ftableofcontents
{\contentsname}
{\contentsname\footnote{#1}\fi}{}{}
% Omit the following lines if you want the footnote with an arabic number
\xpretocmd\ftableofcontents{\begingroup\renewcommand\thefootnote{\fnsymbol{footnote}}}{}{}
\xapptocmd\ftableofcontents{\endgroup}{}{}
\begin{document}
\frontmatter
\ftableofcontents{This is the footnote}
\mainmatter
\chapter{A chapter}
\section{A section}
Here is a footnote\footnote{A}
\end{document}
方法 2 — 重载\tableofcontents
在这种情况下,我们重新定义\tableofcontents
为接受脚注文本作为可选参数;如果没有指定可选参数,则不会发生任何事情。
\documentclass{book}
\usepackage{xpatch}
\newcommand\temp{\renewcommand\tableofcontents[1][]}
\expandafter\temp\expandafter{\tableofcontents}
\xpatchcmd\tableofcontents
{\contentsname}
{\contentsname\if\relax\detokenize{#1}\relax\else\footnote{#1}\fi}{}{}
% Omit the following lines if you want the footnote with an arabic number
\xpretocmd\tableofcontents{\begingroup\renewcommand\thefootnote{\fnsymbol{footnote}}}{}{}
\xapptocmd\tableofcontents{\endgroup}{}{}
\begin{document}
\frontmatter
\tableofcontents[This is the footnote]
\mainmatter
\chapter{A chapter}
\section{A section}
Here is a footnote\footnote{A}
\end{document}
2.scrbook
类
以前的方法不适用于该类scrbook
,并且非常很难修补生成目录的命令,因此 hack 似乎是最好的尝试(除了避免在章节标题中添加脚注)。
\documentclass{scrbook}
\begin{document}
\frontmatter
\begingroup
\makeatletter
\protected@edef\contentsname{\contentsname\unexpanded{\footnote{%
%%%% ADD HERE THE FOOTNOTE TEXT
This is a footnote%
%%%% DON'T FORGET THE FINAL %
}}%
\gdef\noexpand\contentsname{\contentsname}}
% Omit the following line if you want a number
\renewcommand\thefootnote{\fnsymbol{footnote}}
\tableofcontents
\endgroup
\mainmatter
3. 替代方法(所有类)
您可以在页眉后添加一些文本,而不是脚注。
\documentclass{scrbook}
\begin{document}
\frontmatter
\addtocontents{toc}{\unexpanded{\unexpanded{{%
\itshape\footnotesize
This is a note for the table of contents
\par\bigskip
}}}}
\tableofcontents
\mainmatter
\chapter{A chapter}
\section{A section}
\end{document}
答案2
您可以尝试这样的事情(更新(三次)以考虑到egreg
评论)
\documentclass{article}
\pagestyle{headings}
\begin{document}
\let\oldcontentsname\contentsname
\let\myif\iftrue
\def\myfootnotemark{\global\let\myif\iffalse\footnotemark}
\renewcommand\contentsname{\oldcontentsname\myif\myfootnotemark\fi}
\tableofcontents
\addtocontents{toc}{\protect\footnotetext{this is my footnote}}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\section{First}
\subsection{A}
\subsection{B}
\section{Two}
\subsection{C}
\end{document}