
При использовании шрифта Lucida Calligraphy с XeLaTeX тире работают некорректно: --
выдает два маленьких тире вместо одного длинного. Как это исправить?
МВЭ:
\documentclass[12pt]{scrartcl}
\usepackage{titlesec}
\usepackage{xltxtra}
\newfontfamily\headingfont{Lucida Calligraphy}
\titleformat{\section}{\LARGE\headingfont\filcenter}
\renewcommand{\maketitlehooka}{\headingfont}
\begin{document}
\section*{Hello-World}
\section*{Hello--World}
\section*{Hello---World}
\end{document}
решение1
Эта Ligatures=TeX
функция добавляется по умолчанию только к шрифтам, объявленным с помощью \setmainfont
, \setsansfont
. Лигатуры TeX не включены для шрифтов, объявленных с помощью , \newfontfamily
если вы их не добавите.
Вы можете использовать символы напрямую:
Или можно явно указать, что лигатуры TeX должны применяться через[Ligatures=TeX]
\documentclass[12pt]{scrartcl}
\usepackage{titlesec}
\usepackage{fontspec}
\newfontfamily\headingfont[Ligatures=TeX]{Lucida Calligraphy}
\titleformat{\section}{\LARGE\headingfont\filcenter}
\renewcommand{\maketitlehooka}{\headingfont}
\begin{document}
\section*{Hello-World}
\section*{Hello--World}
\section*{Hello---World}
\section*{Hello–World}
\section*{Hello—World}
\end{document}