
Я готовлю документ для докторской диссертации на греческом языке и у меня возникают проблемы при наборе греческих символов в \section{}
, \part{}
, \chapter{}
. При компиляции раздел получается в порядке, хотя я получаю много предупреждений hyperref, однако, когда дело доходит до частей и глав, он компилирует нераспознанные символы.
Для минимального рабочего примера (MWE) я получаю следующие предупреждения:
Пакет hyperref Предупреждение: токен не допускается в строке PDF (PDFDocEncoding): (hyperref) удаляет `\begingroup' в строке ввода 17.
Я получаю следующую ошибку:
! Ошибка пакета ucs: Неизвестный символ Unicode 909 = U+038D,
(ucs) возможно объявлен в uni-3.def.
(ucs) Введите H, чтобы узнать, доступен ли он с опциями.
Подробности см. в документации по пакету ucs.
Наберите H для немедленной помощи.
...
l.17 \part{Тироль и мёртвое сердце}
? ч
Имя персонажа неизвестно
Символ не определен в файлах uni-*.def.
Введите I!, чтобы определить глиф.
Отчет о компиляции PDFTeXify (Страницы: 4)
Ошибки: 1 Предупреждения: 97 Неисправные ящики: 0
Это мой MWE:
\documentclass[12pt]{thesis}
\usepackage[LGR]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[english,greek.polutoniko]{babel}
\usepackage{color}
\usepackage[colorlinks=true, pdfstartview=FitV, linkcolor=blue, citecolor=blue, urlcolor=black]{hyperref}
\newcommand{\en}{\selectlanguage{english}}
\newcommand{\gr}{\selectlanguage{greek}}
\begin{document}
\tableofcontents
\part{Τίτλος μέρους}
\chapter{Τίτλος κεφαλαίου}
\section{Τίτλος}
\chapter{\en Chapter name}
\end{document}
Это часть вывода:
решение1
Используемый вами класс thesis
не поддерживается с 1996 года.
Основная проблема в том, что он использует \uppercase
вместо \MakeUppercase
в нескольких местах. Другая проблема в использовании utf8x
, которое не поддерживается и глючит.
Незначительной проблемой является hyperref
непонимание \acctonos
и \textfinalsigma
, которую можно решить, добавив для нее поддержку.
\documentclass[12pt]{thesis}
\usepackage[english,greek.polutoniko]{babel}
\usepackage{color}
\usepackage{etoolbox}
%%% fix the faulty bits of thesis.cls
\makeatletter
\patchcmd{\@part}{\uppercase}{\MakeUppercase}{}{}
\patchcmd{\@spart}{\uppercase\expandafter}{\MakeUppercase}{}{}
\patchcmd{\@makechapterhead}{\uppercase}{\MakeUppercase}{}{}
\patchcmd{\@makechapterhead}{\uppercase}{\MakeUppercase}{}{}
\patchcmd{\@makechapterhead}{\uppercase}{\MakeUppercase}{}{}
\patchcmd{\@makechapterhead}{\uppercase}{\MakeUppercase}{}{}
\patchcmd{\@makeschapterhead}{\uppercase\expandafter}{\MakeUppercase}{}{}
\makeatother
\usepackage[
unicode,
colorlinks=true,
pdfstartview=FitV,
linkcolor=blue,
citecolor=blue,
urlcolor=black,
]{hyperref}
\DeclareTextCompositeCommand{\acctonos}{PU}{\textalpha}{\9003\254}
\DeclareTextCompositeCommand{\acctonos}{PU}{\textepsilon}{\9003\255}
\DeclareTextCompositeCommand{\acctonos}{PU}{\texteta}{\9003\256}
\DeclareTextCompositeCommand{\acctonos}{PU}{\textiota}{\9003\257}
\DeclareTextCompositeCommand{\acctonos}{PU}{\textomicron}{\9003\314}
\DeclareTextCompositeCommand{\acctonos}{PU}{\textomega}{\9003\316}
\DeclareTextCommand{\textfinalsigma}{PU}{\9003\302}
\begin{document}
\tableofcontents
\part{Τίτλος μέρους}
\chapter{Τίτλος κεφαλαίου}
\section{Τίτλος}
\begin{otherlanguage}{english}
\chapter{Chapter name}
\end{otherlanguage}
\end{document}
Если глава на английском языке, лучше использовать otherlanguage
около нее.