定义 shorttoc 和 toc 标题样式

定义 shorttoc 和 toc 标题样式

我一直在为我的文档制作自定义标题演示,标题为、和\part{}\chapter{}我还使用扩展在文档开头做摘要,然后在文档结尾显示完整的目录。\section{}paragraph{}shorttoc

我的问题是,我的 shorttoc 和 toc 都无法像其他样式那样显示。我希望它们能够像 a 那样显示,\part{}但我不知道该怎么做。

我在网上搜索了一下,找到了一些不相似但目的相同的内容。提出了以下代码来帮助她解决问题:

\makeatletter
\def\@cftmaketoctitle{\chapter*{\contentsname}}
\makeatother

我没有找到可行的解决方案,因为提问者使用的是 tocloft 扩展,而我使用的是 shorttoc 和普通的\tableofcontents

我首先用\chapter*来替换,\part*因为我希望我的头衔为\part

然后我遇到了问题\@cftmaketoctitle。我尝试用它编译我的文档,但没有发现任何变化。所以我尝试用和替换它,\@shorttableofcontents如下\@cftshorttableofcontents所示,没有看到任何变化:

\makeatletter
\def\@shorttableofcontents{\part*{\contentsname}}
\makeatother

我是 LaTeX 编程的新手,很难理解这一点\@,我已经明白这\def相当于LaTeX TeX\newcommand但我很难走得更远。

你们中有谁可以帮我设计我的 shorttoc 和 toc 标题作为一部分吗?

这是我的 MWE:

\documentclass[11pt,a4paper,oneside,openright]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}% Pour générer du faux texte}
\usepackage{shorttoc}% Gestion du sommaire
\usepackage{titlesec}
\usepackage[french]{babel}% Pour un document en français

% --------------------------------------------------
% Paramétrage des parties
% --------------------------------------------------
\titleclass{\part}{top}
\titleformat{\part}[frame]
    {\null\vspace{.10\textheight}\normalfont}
    {\fillright
    \enspace PARTIE~\thepart\enspace}
    {8pt}
    {\huge\bfseries\filcenter\textsc}

\titlespacing{\part}{0pt}{*0}{*5}

\renewcommand\thepart{\arabic{part}}


\begin{document}
    \part{Here is a part}
    \lipsum

    \shorttableofcontents{Sommaire}{1}

    \part*{Introduction}
    \addcontentsline{toc}{chapter}{Introduction}
    \markboth{Introduction}{Introduction}
    \lipsum

    \nocite{*}
    \printbibliography
    \addcontentsline{toc}{chapter}{Bibliographie}

    \tableofcontents
\end{document}

答案1

这个问题最简单的解决方法是复制\titleformat{part}和说\titleformat{chapter}并进行适当的更改。这就足够了,因为\tableofcontents\shorttableofcontents使用\chapter*{}命令来写\contentsname标题。

但是,这也会为通常的样式设置样式\chapter

代码

\documentclass[11pt,a4paper,oneside,openright]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}% Pour générer du faux texte}
\usepackage{shorttoc}% Gestion du sommaire
\usepackage{titlesec}
\usepackage[french]{babel}% Pour un document en français
\usepackage{biblatex} % Most probably for \printbibliography

% --------------------------------------------------
% Paramétrage des parties
% --------------------------------------------------
\titleclass{\part}{top}
\titleformat{\part}[frame]
    {\null\vspace{.10\textheight}\normalfont}
    {\filright
    \enspace PARTIE~\thepart\enspace}
    {8pt}
    {\huge\bfseries\filcenter\textsc}

\titleclass{\chapter}{top}
\titleformat{\chapter}[frame]
    {\null\vspace{.10\textheight}\normalfont}
    {\filright
    \enspace Chapitre~\thechapter\enspace}
    {8pt}
    {\huge\bfseries\filcenter\textsc}



\titlespacing{\part}{0pt}{*0}{*5}




\renewcommand\thepart{\arabic{part}}


\begin{document}
    \part{Here is a part}
    \lipsum

    \shorttableofcontents{Sommaire}{1}

    \part*{Introduction}
    \addcontentsline{toc}{chapter}{Introduction}
    \markboth{Introduction}{Introduction}
    \lipsum

    \nocite{*}
    \printbibliography
    \addcontentsline{toc}{chapter}{Bibliographie}



    \tableofcontents
\end{document}

抱歉我对法语不太了解;-)

截图

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

相关内容