数学字母字体

数学字母字体

您好,我有以下代码用于生成 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}

在此处输入图片描述

相关内容