Отображение тире Unicode в XeLaTeX

Отображение тире Unicode в XeLaTeX

Если я правильно понимаю, при использовании XeLaTeX все эти строки должны выводиться с правильными длинными и короткими тире соответственно:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium Plus}

\begin{document}

Hello---world!

Hello—world!

Hello--world!

Hello–world!

\end{document}

Однако, какой бы шрифт я ни выбрал, я получаю сообщение об ошибке с коротким тире Unicode (длинное тире работает нормально, как и последовательность --для генерации короткого тире):

 ./dash-testing.te.tex:13: Undefined control sequence. 
 l.13 Hello\UTF
               {2013}world! \\

Но я вижу, используя InDesign glyph viewer или что-то еще, что символ 2013 действительно существует. И прямой ввод других символов, например и других, работает.

Как заставить работать тире Unicode?

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

плохой тире, плохой

решение1

Я скопировал ваш текст из браузера в новый текстовый файл и скомпилировал его с помощью xelatex, и все заработало без каких-либо проблем.Я не вижу абсолютно никаких причин, по которым ваш код не должен работать.

  • Попробуйте создать совершенно новый файл в новом каталоге, предварительно закрыв все окна консоли или, возможно, перезагрузив компьютер.

    Иногда это помогает, когда у меня возникают похожие проблемы...

  • Если это не поможет, попробуйте обновить ваш дистрибутив TeX.

длинные тире на работе

решение2

Gentium также доступен как шрифт Type 1, например, TEXMF/fonts/type1/public/gentium-tug/я предполагаю, что у вас также установлен этот шрифт, и XeLaTeX использует первый найденный. Однако вы можете заставить XeLaTeX использовать версию TrueType с помощью:

\setmainfont[
  Extension=.ttf,
  UprightFont=*-R,
  ItalicFont=*-I]{GentiumPlus}

Это XeTeX, версия 3.14159265-2.6-0.99992 (TeX Live 2015) (предварительно загруженный формат=xelatex 2016.2.13) 14 ФЕВ 2016 20:43

 fontspec-xetex.sty    2016/02/01 v2.5a Font selection for XeLaTeX and LuaLaTeX

решение3

Мне очень жаль, что я потратил ваше время. Оказывается, это "проблема" TexShop. Я не осознавал, пока не начал редактировать тестовые файлы в Vim, что TexShop не показывает мне точный исходный код. Пока я не использовал Vim, я не мог этого увидеть, когда я видел, а фактический исходный код буквально имел UTF{2013}.

Это предпочтение для поддержки pTeX, исправляемое отключением этого предпочтения, как в этом ответе StackExchange:Диакритическая кодировка TexShop

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