更改脚注文本的字体

更改脚注文本的字体

我正在尝试重新定义 footnotesize 命令,使其以不同于文档其余部分的 Computer Modern 字体显示。具体来说是 字体libertine。但是我发现这很棘手。有人能帮我吗?

以下是未改变的\footnotesize代码:

\makeatletter
\renewcommand\footnotesize{%
   \@setfontsize\footnotesize\@ixpt{11}%
   \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\makeatother

答案1

您可以找出 LaTeX 认为 Libertine 字体的名称:

\documentclass{article}
\usepackage{libertine}
\begin{document}
\rmdefault
\end{document}

编译此测试后,你会发现内部名称是

LinuxLibertineT-TLF

好的,现在我们可以修补\footnotesize

\documentclass{article}
\usepackage{etoolbox}

\apptocmd{\footnotesize}
  {\fontfamily{LinuxLibertineT-TLF}\selectfont} % choose Libertine before typesetting
  {}{}

\setlength{\textheight}{1cm} % just to make a smaller picture

\begin{document}

This is some text in the default
font\footnote{This is a footnote in Linux Libertine}

\end{document}

请注意,不仅脚注会以 Libertine 排版,而且声明范围内的所有内容也会以 Libertine 排版\footnotesize

在此处输入图片描述

另一方面,现在您看到了输出,您很可能会返回并删除该\apptocmd指令。;-)

答案2

之后,您必须加载libertine并恢复以前的字体,然后只需将包提供的\libertine1 个\footnotesize命令修补到命令中即可。我选择使用\g@addto@macro而不是完全重新定义,\footnotesize以便修补(理论上)不依赖于所使用的类或字体大小。

在此处输入图片描述

\documentclass{article}
\usepackage[a6paper]{geometry} % Just for the example

\let\saverm\rmdefault % \
\let\savesf\sfdefault % | Save the current font
\let\savett\ttdefault % /
\usepackage{libertine} % Load libertine
\let\rmdefault\saverm % \
\let\sfdefault\savesf % | Restore the font
\let\ttdefault\savett % /

\usepackage[nopar]{lipsum} % For dummy text

\makeatletter
\g@addto@macro\footnotesize\libertine % <--- Patching \libertine in
\makeatother

\begin{document}

\lipsum[2]\footnote{\lipsum[4]}

\end{document}

1对于想要将其与其他字体一起使用的人来说:并非所有软件包都定义了更改字体的命令libertine,因此可能不适用很容易,但肯定可行。

相关内容