您好,我有以下代码用于生成 Times 的数学字体,但默认情况下它会加载 CMR,因为 unicode-math 包。这里我需要 unicode-math 包。请建议如何在不删除 unicode-math 包的情况下修复此问题。
梅威瑟:
\documentclass{book}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{xltxtra}
\usepackage{xunicode}
\defaultfontfeatures{Ligatures=TeX}
\usepackage{unicode-math}%
\usepackage{mathspec}
\setmainfont[Mapping=tex-text, Path = ../Fonts/TimesLTStd/ ,
UprightFont= TimesLTStd-Roman.otf ,
BoldFont=TimesLTStd-Bold.otf ,
ItalicFont=TimesLTStd-Italic.otf,
BoldItalicFont=TimesLTStd-BoldItalic.otf
]
{TimesLTStd-Roman}
\begin{document}
This $\mathbf{A}_{\mathbf{A}}$ is a sample text $\text{-g}100$
\end{document}
答案1
您unicode-math
必须使用\mathbfup
而不是(或在加载字体时\mathbf
使用该选项)。mathbf=sym
\documentclass{book}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{TimesLTStd}[
Extension = .otf,
UprightFont = *-Roman,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,
]
% Set the fallback math font
\setmathfont{TeX Gyre Termes Math}
% Load desired ranges
\setmathfont[range={up}]{TimesLTStd-Roman.otf}
\setmathfont[range={it}]{TimesLTStd-Italic.otf}
\setmathfont[range={bfup}]{TimesLTStd-Bold.otf}
\setmathfont[range={bfit}]{TimesLTStd-BoldItalic.otf}
\setmathrm{TimesLTStd-Roman.otf}
% Apply empty range from fallback font to get correct metrics
\setmathfont[range={}]{TeX Gyre Termes Math}
\begin{document}
This $\mathbfup{A}_{\mathbfup{A}}$ is a sample text $\text{-g}100$
\end{document}
我建议您使用 TeX Gyre Termes Math,而不是尝试使用文本字体进行数学运算。TeX Gyre Termes Math 是 Times 的克隆,因此应该可以很好地融入其中。(您可能还可以使用 TeX Gyre Termes 作为文本字体,而且没有人会注意到它不是 TimesLTStd :)
)
\documentclass{book}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{TimesLTStd}[
Extension = .otf,
UprightFont = *-Roman,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,
]
\setmathfont{TeX Gyre Termes Math}
\begin{document}
This $\mathbfup{A}_{\mathbfup{A}}$ is a sample text $\text{-g}100$
\end{document}