I've been working on a custom title presentation for my document for titles \part{}
, \chapter{}
, \section{}
and paragraph{}
. I also use the extension shorttoc
to make a summary at the start of my document and then display the full table of content at the end of it.
My problem is both my shorttoc and my toc are not displayed like my other styles. I would like them to be displayed like a \part{}
but I can't figure how to do it.
I've searched on the Internet and found something not similar but still with the same objective. The following code was proposed to help her solve her problem:
\makeatletter
\def\@cftmaketoctitle{\chapter*{\contentsname}}
\makeatother
I didn't find a working solution with this because the asker was using the tocloft extension and I'm using shorttoc and the normal \tableofcontents
I firstly replaced \chapter*
by \part*
because I would like to have my title as a \part
.
Then I get trouble with \@cftmaketoctitle
. I tried to compile my document with it but didn't notice any change. So I tried it by replacing it with \@shorttableofcontents
and \@cftshorttableofcontents
like this, without seeing any change:
\makeatletter
\def\@shorttableofcontents{\part*{\contentsname}}
\makeatother
I'm new at LaTeX programming and have trouble to understand this \@
, I've understood that \def
is the TeX
equivalent of \newcommand
in LaTeX but I struggle to go farther.
Can anyone of you help me to design my shorttoc and toc title as a part?
Here is my 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}
\documentclass{...}
and ending with\end{document}
.\@
or having a@
are internal commands, not needed for a users who do not plan to write a new package or document class, and therefore, they are somehow hidden, not being usable in a real document. They can be made available using the\makeatletter
command (very simplified just now). However those commands are called anyway, by using other, non@
-commands.hyperref
package, you will additionally need\phantomsection
commands before\addcontentsline
statements, to correct the link targets etc.