\vdots отсутствуют в Fira Math?

\vdots отсутствуют в Fira Math?

Я использую 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перезаписали бы наше пользовательское определение в начале документа.

Связанный контент