同时使用 Titlesec、titletoc 和 titleps 会影响命令 \tableofcontents

同时使用 Titlesec、titletoc 和 titleps 会影响命令 \tableofcontents

我正在用阿拉伯语写一本概率书,我想用 包titleps制作不同的精美页眉,在我的文件中我用它titletoc来制作部分目录。一切都很好,直到我把 包titleps和 一起titlesec使用titletoc。当我输入命令 时\tableofcontents,编译并没有结束,但似乎进入了一个无限循环……我试过使用titlesectitletoc,并用 获得内容\tableofcontents,一切都很顺利,但使用这三个包时就不行了。为什么会发生这种情况?我怎样才能同时写入内容和部分内容,并同时使用titleps

这是在 Windows 8.1 上与 Texmaker 一起使用的 WME,我将阿拉伯语名称替换为拉丁语名称,以观察编译效果。不要担心从右到左的文本,因为这里的主要语言是阿拉伯语,一种从右到左的语言……

\documentclass[14pt,a4paper]{extbook}
\usepackage{titlesec}
\usepackage{titletoc}
\usepackage{etoolbox}
\usepackage{multicol}
\usepackage{titleps}

\setlength{\columnseprule}{0.1pt}

\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}

\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,AutoFakeSlant=-0.02]{Traditional Arabic}
\setsansfont[Script=Arabic,Scale=1.5]{Traditional Arabic}

\gappto\captionsarabic{\renewcommand{\chaptername}{Chaptername}}
\gappto\captionsarabic{\renewcommand{\contentsname}{Contents}}

\begin{document}

\titlecontents{lsection}
  [2.3em]{\small}{\contentslabel{2.3em}}
  {\hspace*{-2.3em}}
  {}
\titlecontents{lsubsection}
  [4.6em]{\small}{\contentslabel{2.3em}}
  {\hspace*{-2.3em}}
  {}


\newpagestyle{Mystyle}{
  \setheadrule{.1pt}% Header rule
  \sethead[\thepage\hspace*{14pt}
    Titlebook]% even left
    []% even centre
    [\sectiontitle \hspace*{5pt} .\thesection]% even right
    {}% odd left
    {}% odd centre
    {\chaptertitle
    \hspace*{14pt}
    \thepage}% odd right
}  

\pagestyle{Mystyle}


%  \tableofcontents

\chapter{Chapter 1}
\startcontents[chapters]
{\large\bf Minicontents}
\vspace*{5pt}
\hrule \vspace*{-10pt} 
\begin{multicols}{2}
  \printcontents[chapters]{l}{1}{\setcounter{tocdepth}{1}}
\end{multicols}
\vspace*{-5pt} \hrule

\section{Section 1}
\section{Section 2}
\newpage
\section{Section 3}
\section{Section 4}

\end{document}

编译生成此 pdf 文件,当我取消注释时% \tableofcontents,编译永远不会停止。我只想将命令放在\tableofcontents文件的开头! 在此处输入图片描述在此处输入图片描述

我尝试过将内容向下一层,通过将章节转换为节,将节转换为小节,现在一切都好了!编译没有问题,它给出了内容、部分内容并使用了 titleps 包……但我当然需要向上一层,因为我的书里有章节!……我认为,这个事实可能会给 Latex 程序员一些想法。我给出以下 MWE

\documentclass[14pt,a4paper]{extbook}
\usepackage{titlesec}
\usepackage{titletoc}
\usepackage{etoolbox}
\usepackage{multicol}
\usepackage{titleps}

\setlength{\columnseprule}{0.1pt}

\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}

\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,AutoFakeSlant=-0.02]{Traditional Arabic}
\setsansfont[Script=Arabic,Scale=1.5]{Traditional Arabic}

\gappto\captionsarabic{\renewcommand{\contentsname}{Contents}}

\begin{document}

\titlecontents{lsection}
  [2.3em]{\small}{\contentslabel{2.3em}}
  {\hspace*{-2.3em}}
  {}
\titlecontents{lsubsection}
  [4.6em]{\small}{\contentslabel{2.3em}}
  {\hspace*{-2.3em}}
  {}

\newpagestyle{Mystyle}{
  \setheadrule{.1pt}% Header rule
  \sethead[\thepage\hspace*{14pt}
    Titlebook]% even left
    []% even centre
    [\sectiontitle \hspace*{5pt} .\thesection]% even right
    {}% odd left
    {}% odd centre
    {\sectiontitle
    \hspace*{14pt}
    \thepage}% odd right
}  

\pagestyle{Mystyle}

\tableofcontents

\section{section 1}
\startcontents[sections]
{\large\bf Minicontents}
\vspace*{5pt}
\hrule \vspace*{-10pt} 
\begin{multicols}{2}
  \printcontents[sections]{l}{1}{\setcounter{tocdepth}{2}}
\end{multicols}
\vspace*{-5pt} \hrule

\subsection{subsection 1}
\subsection{subsection 2}
\newpage
\subsection{subsection 3}
\subsection{subsection 4}

\end{document}

输出结果如下。我想要相同的输出,但输出内容是“chapter”而不是“section”

在此处输入图片描述 在此处输入图片描述

相关内容