我目前正在使用 Springer 的“svmono”类重新编译专著草稿。编译文件时,一切似乎都运行正常,但 TeX 第一次遇到脚注时会抛出错误消息
! LaTeX Error: Font U/shuffle/m/n/4.25 not found.
这是一个产生错误的最小示例:
\documentclass{svmono}
\usepackage{shuffle}
\begin{document}
This is a footnote.
\footnote{This generates an error message.}
\end{document}
如果注释掉“脚注”行,它就可以正常工作。如果有人想尝试,这里有一个指向 svmono 类的 Dropbox 链接:https://dl.dropboxusercontent.com/u/2623632/svmono.cls。有人知道如何修复这个问题吗?
虽然我需要在正文中使用随机符号,但我从来不需要在脚注中使用随机符号,因此我很乐意找到一种解决方案,以破坏 \footnote 命令中的 \shuffle 命令为代价来修复错误消息。如果有帮助的话,我在 OS X 上使用 TeX Live 2013。非常感谢您的任何提示!
答案1
定义的数学尺寸svmono
是非标准的。
这是一条出路
\documentclass{svmono}
\usepackage{fix-cm} % avoid tons of warnings
\usepackage{shuffle}
\DeclareFontFamily{U}{shuffle}{}
\DeclareFontShape{U}{shuffle}{m}{n}{ <-8>shuffle7 <8->shuffle10}{}
\begin{document}
This is a footnote.
\footnote{This generates an error message.}
\end{document}
答案2
快速解决。
重新定义与 中的定义\footnotesize
不同,而是:\small
svmono.sty
\makeatletter
\renewcommand\footnotesize{%
\@setfontsize\footnotesize{8}{10}%
\abovedisplayskip 8.5\p@ % \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ %\@plus2\p@
\belowdisplayshortskip 4\p@ %\@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\parsep \z@ \@plus\p@ \@minus\p@
\topsep 6\p@ \@plus2\p@ \@minus4\p@
\itemsep\z@}%
\belowdisplayskip \abovedisplayskip
}
梅威瑟:
\documentclass{svmono}
\usepackage{shuffle}
\makeatletter
\renewcommand\footnotesize{%
\@setfontsize\footnotesize{8}{10}%
\abovedisplayskip 8.5\p@ % \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ %\@plus2\p@
\belowdisplayshortskip 4\p@ %\@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\parsep \z@ \@plus\p@ \@minus\p@
\topsep 6\p@ \@plus2\p@ \@minus4\p@
\itemsep\z@}%
\belowdisplayskip \abovedisplayskip
}
\begin{document}
This is a footnote.
\footnote{This doesn't generates an error message.}
\end{document}
输出:
另一种方法是覆盖 中包含的定义Ushuffle.fd
,即在序言中添加以下几行:
\DeclareFontFamily{U}{shuffle}{}
\DeclareFontShape{U}{shuffle}{m}{n}{%
<4-8>shuffle7%
<8->shuffle10%
}{}
MWE(结果同上):
\documentclass{svmono}
\usepackage{shuffle}
\DeclareFontFamily{U}{shuffle}{}
\DeclareFontShape{U}{shuffle}{m}{n}{%
<4-8>shuffle7%
<8->shuffle10%
}{}
\begin{document}
This is a footnote.
\footnote{This doesn't generates an error message.}
\end{document}