XeLaTeX 中的符号

XeLaTeX 中的符号

来自mathspec 文档

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如何使用其他字体中的单个字符。

相关内容