我目前正在用 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}