如何更改“内容”标题的样式?

如何更改“内容”标题的样式?

请帮帮我,将“目录”标题的样式改为如下\chapter{Le choix du thème}

另外,我想把所有标题稍微高一点,并修复hyperrefpdf 中的“目录”

\documentclass[12pt]{report} 

\usepackage{fontspec}
\usepackage[hidelinks]{hyperref}

\usepackage{xunicode}
\usepackage[no-sscript]{xltxtra}
\usepackage{csquotes}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\setotherlanguages{german,english,greek,polish,russian}

\setmainfont[Mapping=tex-text]{CMU Serif}

\usepackage{setspace}
\usepackage{tocloft}



\newfontfamily\greekfont[Script=Greek,Mapping=tex-text]{CMU Serif}
\newfontfamily\russianfont[Script=Cyrillic,Mapping=tex-text]{CMU Serif}

\usepackage{titlesec}

\titleformat{\chapter}[display]% NEW
    {\Huge\bfseries\centering}{\chaptertitlename\ \thechapter}{5pt}{\Large}% NEW
\titlespacing*{\chapter}{0pt}{30pt}{20pt}% NEW
\titleformat{\section}
  {\bfseries}
  {\thesection}{1em}{}


\renewcommand\cftchappresnum{\chaptername\newline}
\setlength{\cftchapnumwidth}{3.5cm}


\renewcommand{\thechapter}{}
\renewcommand{\thesection}{\Roman{section}.}



\usepackage[backend=biber,style=verbose-ibid,citepages=suppress,sorting=nty,babel=other]{biblatex}

\renewcommand\mkbibnamelast[1]{\textsc{#1}}



\begin{document}

\doublespacing

\tableofcontents




\renewcommand{\chaptername}{Préface}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Préface}}
\chapter{Le choix du thème}
Balah blah blah L'Organisation des Nations unies (ONU) 


\renewcommand{\chaptername}{Introduction}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Introduction}}
\chapter{Initiatives du PO}
\section{Les lettres du PO 1904}
Balah blah blah (ONU) 



\renewcommand{\thechapter}{\arabic{chapter}}
\renewcommand{\thesection}{\thechapter.\arabic{section}}
\setcounter{chapter}{0}
\setcounter{section}{0}
\renewcommand{\chaptername}{Chapitre}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Chapitre}}
\chapter{Les décisions des CP}
\section{Les décisions des CP de Rhodes 1964}


\chapter{L'ouvre de la CIP}
\section{Les décisions de la I\textsuperscript{re} CPP}


\chapter{Évaluation de l'œuvre accomplie et perspectives}
\section{Évaluation de l'œuvre accomplie}


\renewcommand{\thechapter}{}
\renewcommand{\chaptername}{Conclusion}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Conclusion}}
\chapter{}




\printbibheading[heading=bibintoc]
\printbibliography[keyword=primary,heading=subbibliography,title={Les sources principaux}]
\printbibliography[keyword=secondaire,heading=subbibliography,title={Les sources secondaires}]

\end{document}

谢谢。

答案1

你没有提供最小的例如,但通过精简您的代码,我至少能够修复最严重的问题,即目录标题不遵循其他章节标题的格式(例如不居中)。原因是通过加载包,您禁用了对目录tocloft的影响。请改用提供的宏。(我没有费心去深入研究您的问题,因为和也不能很好地结合在一起。)titlesectoclofthyperrefhyperreftitlesec

编辑:hyperref问题已解决。您重新定义的非标准方式\thechapter创建了两个带有 编号的章节1(尽管在简介中隐藏了编号),这让人感到困惑hyperref。解决方案:将chapter计数器设置为-1简介之前,然后它将成为第 0 章。

\documentclass[12pt]{report} 

\usepackage[utf8]{inputenc}

\usepackage{titlesec}

\titleformat{\chapter}[display]
    {\Huge\bfseries\centering}{\chaptertitlename\ \thechapter}{5pt}{\Large}
\titlespacing*{\chapter}{0pt}{30pt}{20pt}
\titleformat{\section}
    {\bfseries}{\thesection}{1em}{}

\usepackage{tocloft}

\renewcommand\cftchappresnum{\chaptername\newline}
\setlength{\cftchapnumwidth}{3.5cm}

% These redefinitions were missing
\renewcommand{\cfttoctitlefont}{\hfill\Large\bfseries}
\renewcommand{\cftaftertoctitle}{\hfill}
\setlength{\cftbeforetoctitleskip}{30pt}
\setlength{\cftaftertoctitleskip}{20pt}

\usepackage{hyperref}

\begin{document}

\tableofcontents

\setcounter{chapter}{-1}
\renewcommand{\thechapter}{}
\renewcommand{\thesection}{\Roman{section}.}
\renewcommand{\chaptername}{Introduction}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Introduction}}
\chapter{Initiatives du PO}
\section{Les lettres du PO 1904}
Balah blah blah (ONU) 

\renewcommand{\thechapter}{\arabic{chapter}}
\renewcommand{\thesection}{\thechapter.\arabic{section}}
\renewcommand{\chaptername}{Chapitre}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Chapitre}}
\chapter{Les décisions des CP}
\section{Les décisions des CP de Rhodes 1964}

\chapter{L'ouvre de la CIP}
\section{Les décisions de la I\textsuperscript{re} CPP}

\renewcommand{\thechapter}{}
\renewcommand{\chaptername}{Conclusion}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Conclusion}}
\chapter{}

\begin{thebibliography}{9}
\bibitem{A01} A bibitem.
\end{thebibliography}

\end{document}

答案2

您只需重新定义\contentsname。该babel包会自动为所选语言执行此操作(对于latex/ pdflatex)。该polyglossia包似乎对 XeLaTeX 执行相同的操作。因为这发生在 ,所以\begin{document}您需要在之后重新定义它。最好直接在它之前。

\renewcommand{\contentsname}{Le choix du thème}
\tableofcontents

答案3

您可以\renewcommand*\contentsname{new name}按照建议使用LaTeX 社区上的一个主题。请注意,该线程也不建议采用该解决方案。

要将目录转换为章节,请使用:

\makeatletter
\renewcommand\tableofcontents{%
        \chapter{\contentsname
        \@mkboth{%
           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
        \@starttoc{toc}%
        }
\makeatother

但我认为还有更好的解决方案。这似乎很肮脏。

相关内容