我正在尝试使用 Xelatex 排版一份文档。该文档包含断言 unicode 字符 0x22a6,但无法呈现它。
我尝试了几种方法,例如使用 newunicodechar 包、fontspec 等,但无法成功呈现字符。
答案1
这应该在任何数学字体(和一些文本字体)中可用,例如拉丁现代数学:
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{latinmodern-math.otf}
\begin{document}
例如,你可以(也许)使用数学字体作为文本字体
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{xits-math.otf}
\setmainfont{xits-math.otf}
\begin{document}
[text ^^^^22a6]
$ a \assert b $
\end{document}
相同的标记适用于具有该字符的任何字体。
$ a \assert b $
\end{document}
如果你不需要它处于 Unicode 位置,则实际字符可在任何 tex 数学字体集中使用(如\vdash
)
答案2
如果您的字体没有 U+22A6 字形,您可以添加具有该字形的字体:
\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\setmainfont{Old Standard} % it has no U+22A6
\newfontface{\assertionfont}{FreeSerif} % it has U+22A6
\newunicodechar{⊦}{\mbox{\assertionfont ⊦}}
\begin{document}
This is \texttt{U+22A6}: ⊦
\end{document}
TeX Live 中的字体具有字形,您可以找到 Asana Math、Latin Modern Math、Libertinus Serif 和 Sans、Linux Libertine、Linux Biolinum、STIX 和 STIX Math、TeX Gyre {Bonum|Pagella|Schola|Termes} Math、XITS 和 XITS Math。
请注意能例如,在\newfontface
声明中使用 Asana Math。