4.2 符号
目前无法设置一般数学符号的字体,例如:
=、×、↦、∂、∅、∈、∫、⊂
我正在使用 XeLaTeX 以获得更好的字体支持。我该怎么做才能从我的字体中获取这些符号?
我尤其对(
和)
感兴趣=
。
(在使用 XeLaTeX 之前,我使用带有 LaTeX 的 mathastext 包。)
\documentclass[a4paper,twoside,12pt]{article}
\usepackage{mathspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\setmathsfont(Digits,Latin)[Uppercase=Regular,Lowercase=Regular]{Linux Biolinum O}
\setmathsfont(Greek)[Uppercase=Regular,Lowercase=Regular]{Linux Biolinum O}
\setmathrm{Linux Biolinum O}
\begin{document}
$\partial$ doesn't use the partial from Biolinum.
$∂$ doesn't typeset anything.
\end{document}
答案1
它不是不可能的当你建立了一个包含所需符号的数学字体时。这很耗时。
\documentclass[a4paper,twoside,12pt]{article}
\usepackage{amsmath}
\usepackage{mathspec}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\setsansfont[Ligatures=TeX]{Linux Biolinum O}
\setmathsfont(Digits,Latin)[Uppercase=Regular,Lowercase=Regular]{Linux Biolinum O}
\setmathsfont(Greek)[Uppercase=Regular,Lowercase=Regular]{Linux Biolinum O}
\setmathrm{Linux Biolinum O}
% "0 ordinary; "1 operator; "2 relation, "3 binary operation
\Umathcode`=="2 \csname symLatin:m:n\endcsname `=
\Umathcode`×="3 \csname symLatin:m:n\endcsname `× \def\times{×}
\Umathcode`↦="3 \csname symLatin:m:n\endcsname `↦ \def\mapsto{↦}
\Umathcode`∂="0 \csname symLatin:m:n\endcsname `∂ \def\partial{∂}
\Umathcode`∅="0 \csname symLatin:m:n\endcsname `∅ \def\emptyset{∅}
\Umathcode`∈="2 \csname symLatin:m:n\endcsname `∈ \def\in{∈}
\Umathcode`∫="1 \csname symLatin:m:n\endcsname `∫ \def\intop{∫}
\Umathcode`⊂="2 \csname symLatin:m:n\endcsname `⊂ \def\subset{⊂}
\begin{document}
$\partial$ uses the partial from Biolinum.
$∂$ does the same
\textsf{∂} is the proof
$a×b↦∂c∈d⊂∅$
$∫_a^b f(x)\,dx$
\end{document}
答案2
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\setmathfont[range="21A6]{latinmodern-math.otf}% ↦ from LM math
\begin{document}
$=, ×, ↦, ∂, ∅, ∈, ∫, ⊂$
\end{document}
unicode-math
具有更多功能。请参阅文档以了解unicode-math
如何使用其他字体中的单个字符。