LINUX.ORG.RU

XeLaTeX, STIX Two, fontspec и Debian Bulleye

 , ,


0

1

Использую Debian Bullseye.

Решил последовать современным тенденциям и воспользоваться в LaTeX шрифтами STIX Two для текста и математики.

Минимальный пример:

\documentclass{article}

\usepackage[english,russian]{babel}

\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{STIX Two Text}
\setmathfont{STIX Two Math}

\begin{document}

Немного текста.

\[
        \tilde f(\omega)=\frac{1}{2\pi}
        \int_{-\infty}^\infty f(x)e^{-i\omega x}\,dx\,,
\]
или
\[
        \dot{\vec \omega}=\vec r\times\vec I\,.
\] 

\end{document}

fontspec жалуется, что среди доступных ему шрифтов STIX Two найти не может. Пакет texlive-fonts-extra установлен, в /usr/share/texlive/texmf-dist/fonts/opentype/public/stix2-otf/ шрифты лежат (математический, правда, только обычного начертания).


Это скорее всего потому, что система о них не знает (именно не знает, а не то, что они где-то лежат). У меня собралось с помощью xelatex после следующих действий:

  • Скачал STIX Two Text с google fonts
  • Скачал STIX Two Math откуда-то ещё
  • В директории ~/.fonts создал директорию STIX куда переместил архивы со шрифтами и распаковал их
  • Сказал fc-cache

Теперь шрифты доступны всем и xelatex тоже.

Evgueni ★★★★★
()

xelatex почему-то так устроен, что не умеет искать шрифты в дереве TeXа по имени семейства. Может искать только по имени файла. По имени семейства ищет только среди шрифтов, установленных в системе, как уже сказал Evgueni.

Так что у тебя несколько возможностей (перечисляю в порядке, который мне кажется предпочтительным):

  1. Использовать lualatex, который практически по всем параметрам лучше xelatexа, но несколько медленнее работает.
  2. Подключать шрифты по имени файла \setmainfont{STIXTwoText-Regular.otf}, \setmathfont{STIXTwoMath-Regular.otf} (не экспериментироал, возможно придется добавить варианты для полужирного и курсивного начертаний).
  3. Установить шрифты в систему.
TeopeTuK ★★★★★
()
24 августа 2023 г.
Ответ на: комментарий от TeopeTuK

Спасибо, господа! Решение нашёл благодаря вам сразу. И забыл сразу поблагодарить.

akj
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.