[Tex/LaTex] How to get the chapter name and other TOC data in the table of contents

chapterstable of contentstocloft

It's a good solution.
But could you help me to change it a little bit. For example using report style in text I wrote:

\documentclass{report}
\usepackage{tocloft,calc}

\renewcommand\chaptername{Introduction}
\renewcommand\cftchappresnum{\chaptername\space}
\setlength{\cftchapnumwidth}{2cm}

\renewcommand{\thechapter}{}
\renewcommand{\thesection}%
{\Roman{section}.}
  \pagenumbering{roman}

\renewcommand\chaptername{Introduction}
 \chapter{Les initiatives}
 \section{Bla bla bla1}
 \section{Bla bla bla2}
\clearpage

\pagenumbering{arabic}

\setcounter{chapter}{0} \setcounter{section}{0}
\renewcommand{\chaptername}{Chapter}

\chapter{Les décisions}

Could you please tell me how to make the table of content like this:

Preface…………………………….i

Introduction. Les initiatives …………v

I.Bla bla bla1……………………..vi

II.Bla bla bla2…………………….vii

Chapitre 1. Les décisions …………….1

1.1 Bla bla bla3 ……………………6

1.2 Bla bla bla4 ……………………7

Chapitre 2. Les conférence ……………10

Conclusion ………………………….30

Appendix A ………………………….35

Bibliographie ……………………….40

The code from answer above works fine, but it needs some changes for me, and I can't handle it well.
Thank you.

Best Answer

Your request to use "Introduction" as \chaptername for one chapter makes things a little bit complicated, but here we go:

\documentclass{report}

\usepackage[utf8]{inputenc}
\usepackage[french]{babel}

\usepackage{tocloft}
\renewcommand\cftchappresnum{\chaptername\space}
\setlength{\cftchapnumwidth}{2.5cm}

\usepackage{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\pagenumbering{roman}
\renewcommand{\thechapter}{}
\renewcommand{\thesection}{\Roman{section}}

\tableofcontents

\chapter*{Preface}
\addcontentsline{toc}{chapter}{Preface}

\renewcommand{\chaptername}{Introduction}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{Introduction}}

\chapter{Les initiatives}

\section{Bla bla bla1}
\section{Bla bla bla2}

\clearpage
\pagenumbering{arabic}
\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}

\section{Bla bla bla1}
\section{Bla bla bla2}

\appendix
\renewcommand{\chaptername}{\appendixname}
\addtocontents{toc}{\protect\renewcommand\protect\chaptername{\appendixname}}

\chapter{foo}

\printbibliography[heading=bibintoc]

\end{document}

By the way, if you want \pagenumbering{roman} for the introductory chapters, you could use the book class and its \frontmatter and \mainmatter commmands.

(The filecontents environment is only used to include some external files directly into the example, so that it compiles. It is not necessary for the solution.)

EDIT Added \setcounter{section}{0} in the MWE.