将缩进添加到 \footnoterule

将缩进添加到 \footnoterule

我想显示与脚注相同的缩进的脚注规则。我尝试过类似

\renewcommand\footnoterule{%
  \kern-3\p@
  \rule{.4\columnwidth}{0.4pt}
  \kern2.6\p@}

但它会产生不一致的结果。在某些情况下,规则会缩进,而在其他情况下,它会出现与页面中最后一行文本相同的行中。

答案1

您必须避免进入水平模式,否则\rule就会发生这种情况。

\documentclass[a4paper]{article}
\makeatletter

\newlength{\@fnruleindent}
\AtBeginDocument{
  \settowidth{\@fnruleindent}{\textsuperscript{1}}
  \addtolength{\@fnruleindent}{-\parindent}
  \setlength{\@fnruleindent}{-\@fnruleindent}
}
\def\footnoterule{%
  \kern -3\p@
  \moveright\@fnruleindent\vbox to.4\p@{\hrule \@width .4\columnwidth}
  \kern 2.6\p@
}
\makeatother

\begin{document}
abc\footnote{abc}
\end{document}

这适用于最多 9 个脚注。如果您有更多脚注,请使用

\settowidth{\@fnruleindent}{\textsuperscript{11}}

然而我不认为这是一个好主意。

齐休尔德认为,脚注规则应为整行宽度,或者不存在。其他印刷师不同意这种观点。

相关内容