LINUX.ORG.RU

XeLaTeX и переносы в русском тексте

 , ,


0

1

TexLive 2017, Texstudio, юзается XeLaTeX. Не проставляются переносы в русском тексте. Ниже преамбула. Вопрос: чего ему не хватает?

\documentclass[oneside,final,a4paper,14pt,titlepage]{extreport} % односторонний, релизный вариант, формат А4, шрифт 14 кегль, титульная страница есть (тип: здоровенный отчет)
\usepackage[utf8]{inputenc} % кодировка UTF-8
\usepackage[cm-default]{fontspec}
\defaultfontfeatures{Mapping=tex-text}
%% устанавливаем поведение шрифтов по умолчанию
\usepackage{polyglossia}
%% подключаем пакет многоязыкой верстки
\setdefaultlanguage{russian}
%% установка языка по умолчанию
\setmainfont{NotoSans}  
%% зададим основной шрифт документа
%\usepackage[english,russian]{babel} % поддержка русского языка
%\usepackage{droid} %использование шрифта Droid вместо стандартного (выглядит не очень)
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[unicode,pdfborder={0 0 0},colorlinks,urlcolor=blue,linkcolor=black,bookmarks, bookmarksnumbered=true]{hyperref} % гиперссылки в ПДФ выделяются рамочкой
\usepackage{graphicx} % поддержка вставки изображений
\usepackage[left=1.50cm, right=1.00cm, top=1.50cm, bottom=1.50cm]{geometry} % поля документа
\usepackage{indentfirst} % отступ в первой строке первого абзаца
\usepackage{enumitem} % убрать междустрочный интервал в списках (для настройки \setlist ниже)
%\usepackage[T2A]{fontenc}
\usepackage{rotating} % для вращения текста в таблицах
\usepackage{array} % подкл. для m{0.4}
\usepackage{longtable} % длинные таблицы
\usepackage{cmap} % русский поиск в pdf
\makeatletter
\makeatother
\setlist{nolistsep} % убрать междустрочный интервал в списках

Преамбула взята из предыдущей работы, где оно работало в виндовс, но в таком же окружении нормально, там переносы не ставились только для английских терминов в русском тексте (делил такие слова ручками).

\usepackage[utf8]{inputenc} % кодировка UTF-8
\usepackage[cm-default]{fontspec}

XeLaTeX

Зачем? Вообще, убери всю преамбулу до минимального документа с текстом на несколько строк. Если и так не будут работать переносы — скинь этот пример, чтобы можно было потыкать. Если будут — возвращай пакеты по одному

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

а по логам все оканчивается корректно, а пдф с текстом, уходящим за границу листа

Kompilainenn ★★★★★ ()

мне вот это помогло

\usepackage[russian]{babel}

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

это помогает, если рендерить через PDFLaTeX, а XeLaTeX на это как раз ругается, у него там свои приблуды. В моей преамбуле эта фигня есть, но закомментирована

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

Окей. Тогда почему бы не использовать LuaLaTeX? (пользуюсь техом только неделю, вообще без понятия об их различиях). Потому что в нем у меня все работает

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

результат аналогичный. мне кажется что словарь переносов для русского языка просто не подгружается

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

УМВР. Преамбула:

\documentclass[12pt,a4paper]{extreport}

\usepackage[russian]{babel}
\usepackage{fontspec}
\setmainfont{PT Sans}
...

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

LuaLaTeX близок к XeLaTeX в смысле подключаемых пакетов. И там, и там стоит использовать polyglossia, а не babel.

utf8nowhere ★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)