LINUX.ORG.RU

Arch, XeLaTex и кириллица

 , , , ,


0

2

Никак не могу заставить xelatex собирать простейший документ.

\newcommand{\No}{\textnumero}
\documentclass{eskdtext}
\usepackage{fontspec}
\usepackage{xecyr}

\setsansfont[Mapping=tex-text]{Liberation Sans}
\setmonofont[Mapping=tex-text]{Liberation Mono}

\ESKDtitle{dasd}
\ESKDauthor{asd}

\begin{document}
\maketitle
text
\end{document}

ошибки

Undefined control sequence. \begin{document}
Command \CYRL unavailable in encoding EU1. \begin{document}
Command \CYR* unavailable in encoding EU1. \begin{document} // таких много
No Cyrillic font encoding has been loaded so far.

Версии

Name            : texlive-core
Version         : 2017.44918-1

Name            : texlive-bin
Version         : 2017.44590-2

Name            : texlive-fontsextra
Version         : 2017.44818-1

Name            : texlive-langcyrillic
Version         : 2017.44895-1

Перерыл и перепробовал всевозможные варианты..

★★★★

Ответ на: комментарий от NoobeR
\documentclass{article}
\usepackage{fontspec}
\usepackage{xecyr}

\setsansfont[Mapping=tex-text]{Liberation Sans}
\setromanfont[Mapping=tex-text]{Liberation Sans}
\setmonofont[Mapping=tex-text]{Liberation Mono}

\begin{document}
Превед, медвед!
\end{document}

Вроде фурычит. А на eskd и правда ругается.

demidrol ★★★★★ ()
Последнее исправление: demidrol (всего исправлений: 1)
Ответ на: комментарий от XMs
\newcommand{\No}{\textnumero}
\documentclass{eskdtext}
\usepackage{polyglossia,fontspec}
\usepackage{xecyr}
\setdefaultlanguage{russian}

%\setromanfont[Mapping=tex-text]{Liberation Serif}
\setsansfont[Mapping=tex-text]{Liberation Sans}
\setmonofont[Mapping=tex-text]{Liberation Mono}
\newfontfamily\cyrillicfont{Liberation Serif}

\ESKDtitle{dasd}
\ESKDauthor{asd}

\begin{document}
\maketitle
text
\end{document}

ошибки

Command \CYRL unavailable in encoding EU1. \begin{document}
No Cyrillic font encoding has been loaded so far.
Font shape `EU1/LiberationSerif(0)/m/sl' undefined(Font) using `EU1/lmr/m/n' instead

В файле с курсачом всё осталось, как было. Там есть polyglossia и раньше собиралось. Сейчас либо я что-то не доустановил, либо накосячили мейнтейнеры арча.

NoobeR ★★★★ ()

Юникодные движки (XeLaTeX, LuaLaTeX) все еще развиваются и изменяются, в частности, экспериментальная кодировка шрифтов EU1 заменилась на TU. А eskdx, похоже про TU не в курсе (а может сам eskdx и не виноват, надо бы внимательно посмотреть внутрь). В качестве быстрого фикса могу предложить подключать fontspec с опцией euenc:

\usepackage[euenc]{fontspec}

Так работает.

TeopeTuK ★★★★ ()
Последнее исправление: TeopeTuK (всего исправлений: 1)
Ответ на: комментарий от NoobeR

В моих документах преамбула вот такая (оставил только общее для всех, чтобы ничего не мешало), обрати внимание, что пакета xecyr нет:

\newcommand{\No}{\textnumero}
\documentclass[russian, utf8, 14pt, draft]{eskdtext}
\usepackage[T2A]{fontenc}
\usepackage{indentfirst}
\frenchspacing

XMs ★★★★★ ()
Ответ на: комментарий от TeopeTuK

Действительно, не посмотрел, чем оно собирается. Вот это точно собирается XeLaTeX (часть преамбулы шаблона, который я коллегам делал):

\newcommand{\No}{\textnumero}
\documentclass[russian, utf8, columnsxxiv]{eskdtab}
\usepackage{fontspec}
\usepackage{eskdellist}
\usepackage{ulem}
\usepackage{xecyr}
\usepackage{eso-pic}

\defaultfontfeatures{Ligatures={TeX}, Renderer=Basic, Mapping=tex-text}
\setmainfont{GOST type A}
\setsansfont{GOST type A}
\setmonofont{GOST type A}

XMs ★★★★★ ()
Ответ на: комментарий от XMs

Это для XeLaTeX, верно. Но на современном дистрибутиве (TeXlive 2016 или TeXlive 2017) выдает в точности ту же ошибку, что и изначальный.

TeopeTuK ★★★★ ()
Ответ на: комментарий от TeopeTuK

Да, благодарю. Добавил эту строку до polyglossia и xecyr, xltxtra и собирается без ошибок.

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