我想为章节标题设置样式,找到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 Лавиринт
以及如何修复它?
编辑 1:我尝试使用 fancyhdr,但得到以下结果:
ToC 很好:
但标题不是:
答案1
模块serbianc
似乎babel
强制使用utf8x
选项inputenc
和包ucs
,在我看来,这是错误的。
似乎有一个解决方法是utf8x
在之前指定utf8
。
\documentclass[a4paper,12pt]{book}
\usepackage[T2A]{fontenc}
\usepackage[utf8x,utf8]{inputenc}
\usepackage[serbianc]{babel}
不过,我要求 的维护者babel
删除该设置,让用户自行选择inputenc
使用哪个选项。我更喜欢utf8
。