多语症和 toc

多语症和 toc

我正在使用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,您的生活会更好。

相关内容