软件包 titletoc 不会对希伯来语文档进行更改

软件包 titletoc 不会对希伯来语文档进行更改

在希伯来语文档中,这似乎\titlecontents{chapter}...不会对目录中章节的显示方式进行任何格式更改。但对于章节和小节,它工作正常。

章节应以大斜体打印,并且章节名称应位于章节编号之前。

知道原因是什么以及怎样解决吗?

在此处输入图片描述

% !TEX TS-program = xelatex
\documentclass{book}
\usepackage[showframe]{geometry}
\usepackage{titletoc}

\titlecontents{chapter}
  [0pt]
  {\Large\itshape}
  {\chaptername\ \thecontentslabel:\ }
  {}
  {\hfill\contentspage}
  []

\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\englishfont{Times New Roman}[Script=Latin]
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]

\begin{document}
\tableofcontents
\chapter{אלגברה}
\section*{הקדמה}\addcontentsline{toc}{section}{הקדמה}
\section{א}
\section{ב}
\section{ג}
\section{ד}
\chapter{גיאומטריה}
\section{א}
\section{ב}
\section{ג}
\section{ד}
\section{ה}
\end{document}

答案1

polyglossiabidi当文档中使用希伯来语时,加载一个调用的包。bidi重新定义宏\l@chapter,以便中的章节条目toc能够适合 RTL 文档。

因此,您只需在加载\titlecontents后使用即可:bidi

% !TEX TS-program = xelatex
\documentclass{book}
\usepackage[showframe]{geometry}
\usepackage{titletoc}



\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\englishfont{Times New Roman}[Script=Latin]
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]

\titlecontents{chapter}
[0pt]
{\Large\itshape}
{\chaptername\ \thecontentslabel:\ }
{}
{\hfill\contentspage}
[]

\begin{document}
    \tableofcontents
    \chapter{אלגברה}
    \section*{הקדמה}\addcontentsline{toc}{section}{הקדמה}
    \section{א}
    \section{ב}
    \section{ג}
    \section{ד}
    \chapter{גיאומטריה}
    \section{א}
    \section{ב}
    \section{ג}
    \section{ד}
    \section{ה}
\end{document}

相关内容