我想结合自定义脚注符号的方法它允许如下命令:
\footnote[*]{foo}
和将脚注放入章节标题的方法这样它们就不会出现在目录中。
如果您尝试简单地将这两种方法结合在一起:
\makeatletter
\def\@xfootnote[#1]{\protected@xdef\@thefnmark{#1}\@footnotemark\@footnotetext}
\makeatother
\makeatletter
\def\titlefootnote{\ifx\protect\@typeset@protect\expandafter\footnote\else\expandafter\@gobble\fi}
\makeatother
这让我可以做到,例如:
\section{My new section\titlefootnote[*]{This section has footnotes}}
但目录如下:
1 我的新部分*]此部分有脚注
我如何调整代码以允许使用\footnote[*]
-type 命令和调整\titlefootnote
?
以下是 MWE:
\documentclass{article}
% Allow footnotes to chapter (and other heading) titles without them
% appearing in the table of contents and running titles at the top of the page
\makeatletter
\def\@xfootnote[#1]{\protected@xdef\@thefnmark{#1}\@footnotemark\@footnotetext}
\makeatother
\makeatletter
\def\titlefootnote{\ifx\protect\@typeset@protect\expandafter\footnote\else\expandafter\@gobble\fi}
\makeatother
\begin{document}
\tableofcontents
\section{My new section\titlefootnote[*]{This section has footnotes}}
\end{document}
(顺便说一句,我知道有些人说你不应该在章节标题中使用脚注。)
答案1
正如我的评论所建议的,使用可选参数\section
可以避免目录中的脚注。
\documentclass{article}
\makeatletter
\def\@xfootnote[#1]{\protected@xdef\@thefnmark{#1}\@footnotemark\@footnotetext}
\makeatother
\makeatletter
\def\titlefootnote{\ifx\protect\@typeset@protect\expandafter\footnote\else\expandafter\@gobble\fi}
\makeatother
\textheight 2in% FOR DEMONSTRATION PURPOSES ONLY
\begin{document}
\tableofcontents
\noindent\hrulefill
\section[Title]{Title\titlefootnote[*]{my footnote}}
\end{document}