Koma 解决方案

Koma 解决方案

为什么 footmisc 包禁用了我的脚注字体设置?我想要无衬线字体的脚注,并且找到了使用 的方法\addtokomafont,但我还想要一个使用包启用的悬挂缩进样式footmisc。它们似乎不能很好地协同工作。

\documentclass[paper=6in:9in,10pt,twoside,pagesize=pdftex,openright]{scrbook}
%\usepackage[hang]{footmisc}
\addtokomafont{footnote}{\footnotesize\sffamily}
\begin{document}
this is text\footnote{this is the footnote in sans serif font}
\end{document}

上面的代码块将生成无衬线字体的脚注。如果取消注释该\usepackage行,脚注段落的格式将更合适,但字体不再是无衬线字体。如何同时获得悬挂缩进格式和无衬线字体?

答案1

问题是在其重新定义中footmisc包括,其等同于。然后它发出一个,因此您最终会得到默认字体系列中脚注大小的文本。如果是衬线字体,您将得到衬线字体。如果是无衬线字体,您将得到无衬线字体。这通常是您想要的:希望脚注文本排版在与正文不同的系列中根本不常见。\reset@font\@footnotetext\normalfont\footnotesize

至少有两个解决方案。一个使用 Koma 已经提供的设施,如果你不需要的话,这绝对是更干净的解决方案footmisc。另一个修补\@footnotetext命令 footmisc已将其重新定义为直接插入对 sans 系列的调用。(您可以将其设置为使用 Koma 的字体命令,但如果您决定使用 serif,则删除补丁会更容易。)

Koma 解决方案

\documentclass[paper=6in:9in,10pt,twoside,pagesize=pdftex,openright]{scrbook}
\addtokomafont{footnote}{\footnotesize\sffamily}
\deffootnote{1.5em}{1em}{% modified example from page 83
  \makebox[1.5em][l]{\textsuperscript{\thefootnotemark}}}
\begin{document}
  this is text\footnote{this is the footnote in sans serif font but it needs to be a lot longer than it was if the actual effect is to be clearly illustrated}
\end{document}

无悬挂脚注

修补footmisc

这需要etoolbox进行修补。控制台输出和/或日志文件将记录修补是否成功。

\documentclass[paper=6in:9in,10pt,twoside,pagesize=pdftex,openright]{scrbook}
\usepackage[hang]{footmisc}
\usepackage{etoolbox}
\makeatletter
  \patchcmd{\@footnotetext}{\reset@font}{\reset@font\sffamily}{\typeout{Footnotes patched successfully.}}{\typeout{Footnote patching failed.}}
\makeatother
\begin{document}
  this is text\footnote{this is the footnote in sans serif font}
\end{document}

修补脚注

请注意,从排版角度来说,我绝对不推荐这样做。我认为,如果正文是衬线字体,而脚注是无衬线字体,看起来就很不对劲。(那么应该如何处理标记呢?它们应该是无衬线字体以匹配注释,还是衬线字体以匹配文本?或者,为了混淆人们,应该在两个地方以不同的方式排版相同的标记?)但是,本网站并不关心排版美学。

相关内容