我正在使用xelatex
,带有包polyglossia
(法语)。
我对目录的格式、使用xetex
和包polyglossia
(语言:法语)有问题。我无法获取标题前的部分数量...
下面是一个 ECM 来帮助理解这一点:
\documentclass[a4paper,12pt]{book}
\XeTeXinputencoding iso-8859-1
\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{latin}
\setotherlanguage[variant=ancient]{greek}
\begin{document}
\tableofcontents
\part{Part title}
\chapter{Chapter title}
\section{section title}
\part{another part}
\end{document}
使用此代码,目录的外观如下:
部分标题(无编号……) 1 章节标题
1.1. 章节
...
我想要这种格式:
一、标题
1 章节标题
1.1 章节标题...
我应该怎么做才能在目录中启用“I”?有人能帮助我吗?谢谢。
范吉利斯
答案1
Polyglossia 使用一种“穷人的方式”从零件页面中删除零件编号:它只是重新定义\thepart
以产生零内容。
这是该book
类别的一个更好的方法(其他类别可能需要不同的补丁\@part
)。
\documentclass[a4paper,12pt]{book}
\usepackage{etoolbox}
\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{latin}
\setotherlanguage[variant=ancient]{greek}
\makeatletter
% avoid the redefinition of `\thepart`
\patchcmd{\captionsfrench}{\def\thepart{}}{}{}{}
% patch \@part not to print the part number
\patchcmd{\@part}{\nobreakspace\thepart}{}{}{}
\makeatother
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\part{Part title}
\chapter{Chapter title}
\section{section title}
\part{another part}
\end{document}
如果你使用
\titleformat{\part}[display]
{\raggedleft\huge\fontfamily{ppl}}
{\MakeUppercase{\partname} \thepart}
{0pt}
{}
用于设置部件标题,那么补丁\@part
是无用的,你可以简单地纠正
\titleformat{\part}[display]
{\raggedleft\huge}
{\MakeUppercase{\partname}}
{0pt}
{}
当然,\fontfamily{ppl}
在那个位置上完全没用。有两种情况:您是否想使用 Palatino 作为部分标题。如果是,那么 Palatino 应该是文档的主要字体,因此您不需要指定\fontfamily{ppl}
;如果不是,您也不需要它。另一方面,如果您不遵循命令,\selectfont
它将什么也不做。
其他警告:避免指定\XeTeXinputencoding
:将您的文档保存为 UTF-8,您的生活会更好。