Если я правильно понимаю, при использовании 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