我正在尝试erewhon
字体可以工作,但我mathfrak
在使用它时会错过一些特定的字体。例如,\mathfrak{h}
只显示常规的 h,而 while\mathfrak{g}
可以工作。以下示例是我的文档:
\documentclass{article}
\usepackage[proportional,scaled=1.064]{erewhon}
\usepackage[erewhon,vvarbb,bigdelims]{newtxmath}
\usepackage[T1]{fontenc}
\renewcommand*\oldstylenums[1]{\textosf{#1}}
\begin{document}
\(\mathfrak{g}\) \(\mathfrak{h}\)
\end{document}
传递给和的选项erewhon
与nextxmath
代码片段中的一样这里。
我使用 LuaTeX 将所有字体编译为 Erewhon,因为 PDFTeX 显然在这方面存在问题。在这种情况下,所有 AMS 包(amsfonts
、amsmath
和amssymb
)实际上都不起作用。那么,我遗漏了什么?
答案1
答案2
更新答案
字体中的错误已在 1.121 版本中修复。
\documentclass{article}
\usepackage[proportional,scaled=1.064]{erewhon}
\usepackage[erewhon,vvarbb,bigdelims]{newtxmath}
\renewcommand*\oldstylenums[1]{\textosf{#1}}
\begin{document}
\(\mathfrak{g}+\mathfrak{h}\)
\end{document}
原始答案
这是字体中的一个错误zutmia
,LaTeX 应该从中获取 Fraktur 数学字母。
这是字体表中的相关部分
您会发现“h”完全不合适。
如何修复此问题?您可以从其他字体中取出 Fraktur 字母。以下是使用 AMS 字体的方法。
\documentclass{article}
\usepackage[proportional,scaled=1.064]{erewhon}
\usepackage[erewhon,vvarbb,bigdelims]{newtxmath}
\renewcommand*\oldstylenums[1]{\textosf{#1}}
\DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n}
\SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n}
\begin{document}
\(\mathfrak{g}+\mathfrak{h}\)
\end{document}
答案3
另一种解决方案。
\documentclass{article}
\usepackage[proportional,scaled=1.064]{erewhon}
\usepackage[no-math]{fontspec} % For font loading
\usepackage{unicode-math} % For math font setup
\setmainfont{Erewhon}[
Extension=.otf,
UprightFont=*-Regular,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
]
\setmathfont{Erewhon-Math.otf}
\setmathfont[range={\mathfrak}]{latinmodern-math.otf} % Fallback fraktur font
\usepackage{amsmath} % For math environments and commands
\begin{document}
$\mathfrak{g}$ $\mathfrak{h}$
\end{document}