Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/09/2011, à 15:43

corben2dallas

LaTeX : sommaire puis table des matières dans le même document

Bonjour à tous,

Ayant créé un sommaire puis une table des matières dans un même document, j'aimerais supprimer les numéros de pages ainsi que les "............" associés uniquement au niveau du sommaire.

Chaque solution modifie les deux à la fois puisqu'elles modifient "toc".

Comment procéder ?

Pour l'heure, voici ce que contient le préambule de mon document :

%%%%%%Ci-dessous : pour ajouter plusieurs toc i.e.: tables des matières (option "tight" pour resserer les entrées du sommaire)
\usepackage[tight]{shorttoc} 
\addtocontents{toc}{\protect\thispagestyle{empty}}


et ce que contient le document lui-même :

%%%%%%Ci-dessous : Pour insérer le Sommaire, inséré en premier (avant la Table des Matières). Cette Table des Matières Courte (Short Table of Contents) est renommée "Sommaire" et son niveau de "détail" est fixé à "1", c'est-à-dire que le plus petit "niveau" d'environnement cité dans ce Sommaire est la Section (on aurait pu mettre une autre valeur !). La ligne suivant (add....) permet de faire figurer "Sommaire" dans la Table des Matières et donc aussi dans le Sommaire lui-même !
\shorttableofcontents{Sommaire}{1} 
\addcontentsline{toc}{chapter}{Sommaire}   %insertion ligne "sommaire" dans la table des matières

pour ceux qui souhaitent disposer d'un sommaire, en plus de la table des matières habituelle et qui, comme moi, on passé un bon moment à chercher (ou cherchent encore) pourquoi le fait d'insérer deux fois la table des matières via \tableofcontents ne fonctionne pas directement par exemple. Peut-être que cela pourra aider quelqu'un (des solutions de ce type figurent déjà sur ce forum et sur le net en général !)



Adeptes du package "tocloft", j'ai cherché, mais étant "débutant", je ne suis pas parvenu à utiliser cette solution sur le sommaire sans que cela n'affecte aussi la table des matières...


(J'utilise LyX 2.0 et MiKTeX 2.9 sous le système d'exploitations aux multiples fenêtres dans sa version "7" !)


Merci pour ce forum !

Dernière modification par corben2dallas (Le 01/09/2011, à 15:45)

Hors ligne

#2 Le 02/09/2011, à 11:11

Shrat

Re : LaTeX : sommaire puis table des matières dans le même document

Pardon mais je ne vais pas vraiment répondre à ta question.

Pourquoi souhaites-tu un sommaire et une table des matières?

Hors ligne

#3 Le 02/09/2011, à 11:48

corben2dallas

Re : LaTeX : sommaire puis table des matières dans le même document

Bonjour et merci de ta réponse.

Mon document ressemble à un livre et ce sommaire a uniquement pour objet de présenter les noms des parties, des chapitres, et enfin des sections, sans contenir davantage d'informations.

Dans mon cas, le sommaire semble nécessaire (niveau de détail moins élevé que la table des matières) en cela qu'il permet de "compléter" l'introduction en présent un bref descriptif du plan du document. La table des matières est plus longue et pompeuse mais nécessaire car elle permet de trouver en un instant l'emplacement d'une partie du document !

En bref, ce sommaire est une sorte de "plan" résumé du document ayant pour but de décrire de façon succincte l'organisation du document. La table des matières est inévitable  mais est quant à elle positionnée tout à fait à la fin du document.

Je suis conscient du fait qu'il soit possible de créer une sorte de chapitre et d'y saisir manuellement les titres, etc., néanmoins, j'avais construit ce document sous LaTeX afin d'éviter ce genre de bricolage... De plus, une particularité très appréciable de la création de ce sommaire de façon "automatique" permettrait d'éviter, par exemple, toute erreur de saisie. En effet, dans mon document, qui est relativement long, j'en fais la chasse !

Merci à toi Shrat de t'intéresser à ma question.

Dernière modification par corben2dallas (Le 02/09/2011, à 11:51)

Hors ligne

#4 Le 02/09/2011, à 13:02

corben2dallas

Re : LaTeX : sommaire puis table des matières dans le même document

Bonjour,

Grâce à Peter Flynn, j'ai une première solution à proposer en "auto-réponse" (!) à la question que je venais de poster. Il m'a transféré un code qui est particulièrement efficace, aussi, je l'utilise déjà !

Pour information, j'ai seulement eu à désactiver Hyperref pour que tout fonctionne. Aussi, n'hésitez pas, si vous avez une idée pour empêcher tout problème avec Hyperref !

Voici le code en question, à insérer dans le préambule :

\documentclass[a4paper]{book}     % il s'agit là d'un exemple !
\usepackage{shorttoc}
\setcounter{tocdepth}{3}
\makeatletter
%%% copied from shorttoc.sty
\def\@startshorttoc#1{\bgroup
  \makeatletter
%%% switch the ToC formatting commands 
%%% for the ones we define below
  \let\l@part\sl@part
  \let\l@chapter\sl@chapter
  \let\l@section\sl@section
  \let\l@subsection\sl@subsection
  \let\contentsline\scontentsline
  \let\@dottedtocline\s@dottedtocline
  \@input{\jobname.#1}%
  \global\@nobreakfalse \egroup}
\def\sht@startshorttoc#1#2{\bgroup
  \makeatletter
%%% make the same changes here as above
  \let\l@part\sl@part
  \let\l@chapter\sl@chapter
  \let\l@section\sl@section
  \let\l@subsection\sl@subsection
  \let\contentsline\scontentsline
  \let\@dottedtocline\s@dottedtocline
  \@input{#2.#1}%
  \global\@nobreakfalse \egroup}
%%% the rest copied from report.cls
%%% define a new Part format that omits the number
\newcommand*\sl@part[2]{%
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{-\@highpenalty}%
    \addvspace{2.25em \@plus\p@}%
    \setlength\@tempdima{3em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \bfseries #1\hfil
         \hb@xt@\@pnumwidth{\hss}}\par%%% #2 omitted
       \nobreak
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}%
    \endgroup
  \fi}
%%% define a new Chapter format that omits the number
\newcommand*\sl@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak
        \hb@xt@\@pnumwidth{\hss}\par%%% #2 removed
      \penalty\@highpenalty
    \endgroup
  \fi}
%%% this is what makes the changes work
\def\scontentsline#1{\csname sl@#1\endcsname}
%%% these change to use the new [un]dottedtocline
\newcommand*\sl@section{\s@dottedtocline{1}{1.5em}{2.3em}}
\newcommand*\sl@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\newcommand*\sl@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
\newcommand*\sl@paragraph{\@dottedtocline{4}{10em}{5em}}
\newcommand*\sl@subparagraph{\@dottedtocline{5}{12em}{6em}}
%%% redefine to omit the dotted line and number
\def\s@dottedtocline#1#2#3#4#5{%
  \ifnum #1>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
     \parindent #2\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima #3\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {#4}\nobreak
%%%     \leaders\hbox{$\m@th
%%%        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
%%%        mu$}
     \hfill%%% kept this
     \nobreak
     \hb@xt@\@pnumwidth{\hss}%
     \par}%
  \fi}
\makeatother

Voici à présent un exemple de contenu pour tester le code présenté ci-dessus ! :

\begin{document}
\title{foo}
\author{bar}
\maketitle
\shorttoc{Summary}{1}
\tableofcontents
\part{abc}
\chapter{def}
stuff
\section{ghi}
stuff
\subsection{jkl}
stuff
\part{pqr}
\chapter{stu}
stuff
\section{vwx}
stuff
\subsection{yz}
\end{document}

Bon LaTeX à tous, et à bientôt !

Hors ligne

#5 Le 02/09/2011, à 16:36

Shrat

Re : LaTeX : sommaire puis table des matières dans le même document

Merci d'avoir posté ta solution.TeX me paraît toujours aussi obscure…

Hors ligne

#6 Le 02/09/2011, à 17:10

corben2dallas

Re : LaTeX : sommaire puis table des matières dans le même document

Pas de problème pour ce qui est de la réponse !

Concernant LaTeX, le résultat obtenu justifie les efforts fournis (pour le moment) en comparaison avec ce que proposent les WYSIWYG. Il est vrai, par contre, que certains détails sont parfois difficiles à modifier avec cette solution alors que les traitements de textes permettent de gérer ça en quelques clics !

En ce qui me concerne, j'ai rencontré pas mal de problèmes de compatibilité entre les packages et des difficultés à exporter mon document vers des formats plus classiques (sauf PDF). Cela est surtout du à mon inexpérience...

A bientôt !

Et si quelqu'un a une idée afin de régler le problème avec hyperref, je suis intéressé !

Hors ligne

#7 Le 02/09/2011, à 19:27

Shrat

Re : LaTeX : sommaire puis table des matières dans le même document

De ce que j'en sais, hyperref est largement déconseillé, même s'il apporte bien des fonctions.

Aurais-tu par hasard une bonne ressource pour apprendre TeX?

Hors ligne

#8 Le 03/09/2011, à 12:16

corben2dallas

Re : LaTeX : sommaire puis table des matières dans le même document

Bonjour Shrat,

Désolé de ne pas t'avoir répondu plus tôt, j'avais encore pas mal de points à modifier sur un document...!

Concernant les ressources permettant d'apprendre TeX, tu as par exemple : http://www.framabook.org/latex.html

Dans ce genre de guide, tu trouveras généralement des bibliographies qui te conduiront vers d'autres ressources intéressantes.

J'espère que cela pourra t'être utile !

Hors ligne

#9 Le 03/09/2011, à 13:43

Shrat

Re : LaTeX : sommaire puis table des matières dans le même document

Arf Merci mais je parle très bien le LaTeX, je parlais de TeX.

Mais bon merci tout de même wink

Hors ligne

#10 Le 29/07/2013, à 20:37

LeToC

Re : LaTeX : sommaire puis table des matières dans le même document

Bonjour à tous,

Je déterre ce vieux topic en cette douloureuse période de rédaction de thèse pour une toute petite question.

J'ai mis un sommaire au début et je souhaite le référencer dans la table des matières à la fin. J'ai donc utilisé le code suivant:

\shorttableofcontents{Sommaire}{1} 
\addcontentsline{toc}{chapter}{Sommaire}

Le problème est que mon sommaire fait quand même 3 pages et que la référence dans la table des matières (et dans le sommaire, puisque le \addcontentsline fait apparaître le sommaire dans les deux) renvoie à la dernière page du sommaire et non à la première. C'est un détail... mais j'ai le soucis du détail smile

Quelqu'un aurait-il une solution? Si possible sans virer hyperref...

Merci à tous

cool <LeT0C> cool

Hors ligne

#11 Le 30/07/2013, à 12:53

LeToC

Re : LaTeX : sommaire puis table des matières dans le même document

J'ai trouvé la solution à mon problème en me battant avec un autre.
J'ai remplacé

\shorttableofcontents{Sommaire}{1} 
\addcontentsline{toc}{chapter}{Sommaire}

par

\cleardoublepage
\addcontentsline{toc}{chapter}{Sommaire}
\shorttableofcontents{Sommaire}{1} 

et ça marche nickel!

++

cool <LeT0C> cool

Hors ligne