
Я хотел оформить заголовки глав, узнал об этом titlesec
и написал документ следующим образом:
\documentclass[a4paper,12pt]{book}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[serbianc]{babel}
\usepackage{titlesec}
\usepackage{xcolor}
\definecolor{crvena}{rgb}{.647,.129,.149}
\definecolor{plava}{rgb}{.204,.353,.541}
\titleformat
{\chapter} % command
[display] % shape
{\bfseries\flushright\Huge\color{crvena}} % format
{\ \thechapter} % label
{0.5ex} % sep
{
\vspace{1ex}
} % before-code
[
\vspace{-0.5ex}%
\color{plava}\rule{\textwidth}{2.3pt}
] % after-code
\begin{document}
\tableofcontents
\chapter{Лавиринт}
После этого я написал какой-то текст и закончил так:
\end{document}
Результат отличный, как видно на изображении:
Но проблема в том, что в оглавлении есть ошибки:
Содержание:
Что стало причиной 1 [Pleaseinsertintopreamble]
написания вместо 1 Лавиринт
и как это исправить?
EDIT 1: Я попытался использовать fancyhdr, но получил это:
ToC в порядке:
но заголовок не:
решение1
Модуль serbianc
for, babel
по-видимому, принудительно использует utf8x
опцию for inputenc
и пакет ucs
, что, по моему мнению, неправильно.
Обходным решением, по-видимому, является указание utf8x
до utf8
.
\documentclass[a4paper,12pt]{book}
\usepackage[T2A]{fontenc}
\usepackage[utf8x,utf8]{inputenc}
\usepackage[serbianc]{babel}
Однако я бы попросил мейнтейнера babel
удалить эту настройку, предоставив пользователю выбор, какой вариант inputenc
использовать. И я бы предпочел utf8
.