我正在向章节标题添加两个脚注:
\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage[stable]{footmisc}
\usepackage{titlesec}
\begin{document}
\section{test
\footnote{This is footnote no1.}
\footnote{This is footnote no2.}
}
\lipsum[4]
\end{document}
标题将包含两个脚注,但在页面末尾仅显示第二个脚注。问题似乎是\usepackage{titlesec}
,因为没有它也可以正常工作。
我指定的内容\usepackage{titlesec}
:
\renewcommand\thesection{\arabic{section}}
\renewcommand\thesubsection{\arabic{subsection}}
\renewcommand\thesubsubsection{\arabic{subsubsection}}
\titleformat{\section}[block]{\Large\scshape\centering}{\thesection}{1em}{}
\titleformat{\subsection}[block]{\large\scshape}{\thesection.\thesubsection}{1em}{}
\titleformat{\subsubsection}[block]{\large\scshape}{\thesection.\thesubsection.\thesubsubsection}{1em}{}
提前致谢!
答案1
包在处理章节标题时titlesec
会重新定义\footnote
将脚注文本存储在保存箱(称为)中的方式\ttl@fn
。第二个脚注会覆盖此存储箱的内容,因此最终您只会得到最后一个脚注。
一种解决方法是仅在需要两个脚注的情况(我希望这种情况很少见)下使用\footnotemark
and机制。我的建议是永远不要在标题中使用脚注。\footnotetext
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[stable]{footmisc}
\usepackage{titlesec}
\usepackage{lipsum}
\renewcommand\thesection{\arabic{section}}
\renewcommand\thesubsection{\arabic{subsection}}
\renewcommand\thesubsubsection{\arabic{subsubsection}}
\titleformat{\section}[block]
{\Large\scshape\centering}
{\thesection}
{1em}
{}
\titleformat{\subsection}[block]
{\large\scshape}
{\thesection.\thesubsection}
{1em}
{}
\titleformat{\subsubsection}[block]
{\large\scshape}
{\thesection.\thesubsection.\thesubsubsection}
{1em}
{}
\begin{document}
\section[test]{test\footnotemark\ \footnotemark}
\addtocounter{footnote}{-1}\footnotetext{This is footnote no1.}
\addtocounter{footnote}{1}\footnotetext{This is footnote no2.}
\lipsum[4]
\end{document}
不要忘记没有脚注的可选参数,否则它们也会出现在目录和标题中。
笔记该图像是通过降低文本高度生成的