
Я использую TeXLive 2020. Этот простой код
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Fira Math}
\begin{document}
\[
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1p}\\
a_{21} & a_{22} & \cdots & a_{2p}\\
\vdots & \vdots & \ddots & \vdots\\
a_{n1} & a_{n2} & \cdots & a_{np}
\end{pmatrix}
\]
\end{document}
Приводит к этому:
Есть ли у вас какие-либо идеи, как мне сказать XeTeX "импортировать эти \vdots" откуда-то еще? Заранее спасибо.
решение1
Да, в Fira Math отсутствуют глифы.
Вы можете использовать другой математический шрифт без засечек.
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Fira Math}
\setmathfont{TeX Gyre DejaVu Math}[range={\vdots,\ddots}]
\setmathfont{Fira Math}[range=]
\begin{document}
\[
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1p}\\
a_{21} & a_{22} & \cdots & a_{2p}\\
\vdots & \vdots & \ddots & \vdots\\
a_{n1} & a_{n2} & \cdots & a_{np}
\end{pmatrix}
\]
\end{document}
Не идеально, но для презентации сойдет.
решение2
Мне пришло в голову решение, отличное от того, что было в предыдущем ответе, поэтому я решил поделиться им, хотя, на мой взгляд, оно менее элегантно.
Пакет graphicx
предоставляет команду \rotatebox
, которая позволяет вращать объекты. Поскольку \cdots
уже определена, мы можем просто использовать ее для определения двух других команд. Вот MWE:
\documentclass{article}
\usepackage{graphicx}
\usepackage{unicode-math}
\setmathfont{Fira Math}
\AtBeginDocument{
\renewcommand{\vdots}{\rotatebox[origin=c]{90}{\(\cdots\)}}
\renewcommand{\ddots}{\rotatebox[origin=c]{135}{\(\cdots\)}}
}
\begin{document}
\[
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1p}\\
a_{21} & a_{22} & \cdots & a_{2p}\\
\vdots & \vdots & \ddots & \vdots \\
a_{n1} & a_{n2} & \cdots & a_{np}
\end{pmatrix}
\]
\end{document}
и результат
Чтобы переопределить команды \vdots
и \ddots
нам нужно использовать, \AtBeginDocument
потому что unicode-math
определяет глифы в начале документа. Следовательно, если бы мы просто использовали \renewcommand
без \AtBeginDocument
, unicode-math
перезаписали бы наше пользовательское определение в начале документа.