该MinionPro
软件包提供了选项footnotefigures
。激活后,脚注将使用特殊字形,看起来比普通数字要粗一些。
该选项定义为
\DeclareOption{footnotefigures}{%
\def\@makefnmark{%
\begingroup
\normalfont
\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont
\@thefnmark
\endgroup}}
此选项的问题在于会覆盖所有文本环境的设计,这当然不太吸引人。那么有没有办法使用特殊的脚注字形而不改变脚注的外观,例如衬线文本?
平均能量损失
\documentclass{scrbook}
\usepackage{MinionPro}
\makeatletter
\def\@makefnmark{%
\begingroup
\normalfont
\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont
\@thefnmark
\endgroup}
\makeatother
\begin{document}
Some more\footnote{Second footnote} text.
\textsf{Some more\footnote{Second footnote} text.}
\texttt{Some more\footnote{Second footnote} text.}
\end{document}
编辑
基于此回答我尝试编写代码来检测 MinionPro 当前是否是活动字体,但没有成功。 if 条件似乎永远不会成立。
\documentclass{scrbook}
\usepackage{ifthen}
\usepackage{MinionPro}
\def\@makefnmark{%
\begingroup%
\ifthenelse{\equal{\f@family{}}{MinionPro-OsF}}%
{\f@family\normalfont\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont\@thefnmark}%
{\f@family\textsuperscript{\@thefnmark}}%
\endgroup}
\makeatother
\begin{document}
Some more\footnote{Second footnote} text.
\textsf{Some more\footnote{Second footnote} text.}
\texttt{Some more\footnote{Second footnote} text.}
\end{document}
答案1
更新
此版本处理具有不同名称的其他 MinionPro 系列(每种图形风格一个),根据评论中的请求,不依赖于嵌套\if...\fi
循环。
一种方法是将当前字体系列与符合条件的系列的逗号分隔列表进行比较。各种软件包都实现了这种功能。在这里,我依靠解释3以及较低级别的@
东西。
\documentclass{article}
\usepackage{MinionPro,expl3}
\ExplSyntaxOn
\tl_new:N \l_maetra_fontfamily_tl
\clist_const:Nn \c_maetra_MPs_clist { MinionPro-OsF, MinionPro-TOsF, MinionPro-LF, MinionPro-TLF }
\makeatletter
\let\@makefnmarkorig\@makefnmark
\def\@makefnmark{%
\group_begin:
\tl_set:Nx \l_maetra_fontfamily_tl { \f@family }
\clist_if_in:NVTF \c_maetra_MPs_clist \l_maetra_fontfamily_tl
{
\normalfont
\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont
\@thefnmark
}
{
\textsuperscript{ \@thefnmark }
}
\group_end:
}
\makeatother
\ExplSyntaxOff
\begin{document}
Some more\footnote{Second footnote} text.
0123456789
\fontfamily{MinionPro-TOsF}\selectfont
Some more\footnote{Second footnote} text.
0123456789
\fontfamily{MinionPro-LF}\selectfont
Some more\footnote{Second footnote} text.
0123456789
\fontfamily{MinionPro-TLF}\selectfont
Some more\footnote{Second footnote} text.
0123456789
\textsf{Some more\footnote{Second footnote} text.}
\texttt{Some more\footnote{Second footnote} text.}
\end{document}
原来的 (无 解释3)
你想要这样的东西吗?
\documentclass{article}
\usepackage{MinionPro}
\makeatletter
\let\@makefnmarkorig\@makefnmark
\def\@makefnmark{%
\begingroup
\edef\tempa{\f@family}%
\edef\tempb{MinionPro-OsF}%
\ifx\tempa\tempb
\normalfont
\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont
\@thefnmark
\else
\@makefnmarkorig
\fi
\endgroup
}
\makeatother
\begin{document}
Some more\footnote{Second footnote} text.
\textsf{Some more\footnote{Second footnote} text.}
\texttt{Some more\footnote{Second footnote} text.}
\end{document}
请注意,脚注标记使用衬线是默认设置,而不是Minion专业版:
如果你不想要这样,你可能更喜欢:
\documentclass{article}
\usepackage{MinionPro}
\makeatletter
\let\@makefnmarkorig\@makefnmark
\def\@makefnmark{%
\begingroup
\edef\tempa{\f@family}%
\edef\tempb{MinionPro-OsF}%
\ifx\tempa\tempb
\normalfont
\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont
\@thefnmark
\else
\textsuperscript{\@thefnmark}%
\fi
\endgroup
}
\makeatother
\begin{document}
Some more\footnote{Second footnote} text.
\textsf{Some more\footnote{Second footnote} text.}
\texttt{Some more\footnote{Second footnote} text.}
\end{document}