
我需要黑板粗體 1 bbold
。
\DeclareSymbolFond{bbold}{U}{bbold}{m}{n}
\DeclareMathAlphabet{\bbold}{bbold}
或類似的情況,我收到一條too many math alphabets used
無法解決的錯誤訊息,因為我非常複雜的包混合了許多字體並產生了錯誤,而我想要的組合是有效的組合,我不想對字體進行混亂的編輯包裹絕對是巨大的。我找到了解決方法這裡這讓我想到:
\documentclass[a4paper]{report}
\usepackage{amsmath,amssymb,amsfonts}
\begin{document}
\[\mathbb{Z}\quad{\fontencoding{U}\fontfamily{bbold}\fontseries{m}\fontshape{n}\selectfont 1\csname U/bbold/m/n\endcsname1}.\]
\fontencoding{U}\fontfamily{bbold}\fontseries{m}\fontshape{n}\selectfont1
\end{document}
這輸出:
我注意到字體選擇命令僅在文字模式下有效。當然,現在我可以在每次需要黑板粗體 1 時切換到文字模式,這種情況並不常見,但我不太喜歡這個想法。所以我想知道:為什麼數學模式下的 1 保持正常字體?為什麼沒有任何關於此字體替換的警告?如何使這些命令在數學模式下工作,或者無論如何在數學模式下選擇該字體(當然沒有問題頂部的命令)?
答案1
字體設定分為文字配置和數學配置。其中一個的設定不會影響另一個的設定。因此,每次切換到數學模式時,都會啟動一組不同的字體。當然,如果你使用\text{}
什麼,你會暫時切換回文字。但是,在數學模式下,您正在使用數學字體。對於 (pdf)TeX,16 種字體的限制是硬性限制。我認為你無能為力。但是,您可以定義一個包裝器以在數學模式下無縫切換到文字和黑板字體。
例如,您可以執行類似這樣的操作,它會切換到文字模式,但不需要每次都拼出開關:
\documentclass[a4paper]{report}
\usepackage{amsmath,amssymb,amsfonts}
\DeclareRobustCommand{\mybbold}{%
\fontencoding{U}%
\fontseries{m}%
\fontshape{n}%
\fontfamily{bbold}%
\selectfont}
\DeclareTextFontCommand{\textbb}{\mybbold}
\begin{document}
\[
\mathbb{Z}\quad{\fontencoding{U}\fontfamily{bbold}\fontseries{m}\fontshape{n}\selectfont 1\csname U/bbold/m/n\endcsname1}.
\]
\fontencoding{U}\fontfamily{bbold}\fontseries{m}\fontshape{n}\selectfont Z 1
\[
\textbb{Z 1}
\]
\end{document}