Est-il possible de combiner secnumdepth=subparagraph et localtocs/depth=subparagraph au sein d'un même document utilisant la classe yathesis ?

Il semblerait qu'il y ait un conflit au niveau de la minitoc : le nom de la subsubsection et son numéro sont écrits l'un sur l'autre.

MWE

Ouvrir dans l'éditeur Overleaf
\documentclass[secnumdepth=subparagraph,localtocs/depth=subparagraph]{yathesis}
\usepackage[T1]{fontenc}
\usepackage{babel}
\begin{document}
\mainmatter
\chapter{Chap1}
\section{Sec 1}
\subsection{subSec 1}
\subsubsection{subsubSec 1}
Test
\end{document}

Posée 21 Jul, 21:05

jerome%20dequeker's gravatar image

jerome dequeker
6558
Taux d'acceptation : 65%

Modifiée 14 Aoû, 12:51

Pathe's gravatar image

Pathe ♦♦
2.0k661

N'est-ce pas un peu « too much » que de numéroter si profond et d'avoir des tables des matières locales si détaillées ?

(23 Jul, 22:47) denis ♦♦ denis's gravatar image

@denis c'est une question dont je discuterai avec mes directeurs de thèse :)

(24 Jul, 11:05) jerome dequeker jerome%20dequeker's gravatar image

La commande interne \YAD@default@localtoc responsable de production des TOCs partielles est définie par :

Ouvrir dans l'éditeur Overleaf
\newcommand{\YAD@default@localtoc}{%
    ...
    \YAD@computelocalnumwidths\relax%
    \@ifundefined {Etoc@\YAD@localtocsdepth @@}
    {%
    }{%
      \etocsetnexttocdepth{\YAD@localtocsdepth}%
    }
    \localtableofcontents%
    .....
}

Elle fait appel à la commande \localtableofcontents deux fois, la première d'entre elles étant implicite au niveau de \YAD@computelocalnumwidths. Or cet appel doit être précédé par \etocsetnexttocdepth{\YAD@localtocsdepth}.

Voici deux propositions pour régler le problème.

1. Redéfinir la commande \YAD@default@localtoc comme suit :

Ouvrir dans l'éditeur Overleaf
\newcommand{\YAD@default@localtoc}{%
    ...
    \@ifundefined {Etoc@\YAD@localtocsdepth @@}
    {%
    }{%
      \etocsetnexttocdepth{\YAD@localtocsdepth}%
    }
    \YAD@computelocalnumwidths\relax%
    \@ifundefined {Etoc@\YAD@localtocsdepth @@}
    {%
    }{%
      \etocsetnexttocdepth{\YAD@localtocsdepth}%
    }
    \localtableofcontents%
    .....
}

ECM

Ouvrir dans l'éditeur Overleaf
\documentclass[secnumdepth=subparagraph,localtocs/depth=subparagraph]{yathesis}
\usepackage[T1]{fontenc}
\usepackage{babel}
\makeatletter 
\patchcmd{\YAD@default@localtoc}{\YAD@computelocalnumwidths\relax}{%
\@ifundefined {Etoc@\YAD@localtocsdepth @@}
    {%
    }{%
      \etocsetnexttocdepth{\YAD@localtocsdepth}%
    }\YAD@computelocalnumwidths\relax%
    }{}{}
\makeatother
\begin{document}
\mainmatter
\chapter{Chap1}
\section{Sec 1}
\subsection{subSec 1}
\subsubsection{subsubSec 1}
\paragraph{paragraph 1}
\subparagraph{Subparagraph 1}
Test
\end{document}

2. Ajouter \etocsetnexttocdepth{\YAD@localtocsdepth} à la définition de la commande \YAD@computenumwidths@.

ECM

Ouvrir dans l'éditeur Overleaf
\documentclass[secnumdepth=subparagraph,localtocs/depth=subparagraph]{yathesis}
\usepackage[T1]{fontenc}
\usepackage{babel}
\makeatletter 
\pretocmd{\YAD@computenumwidths@}{%
\@ifundefined {Etoc@\YAD@localtocsdepth @@}
    {%
    }{%
      \etocsetnexttocdepth{\YAD@localtocsdepth}%
    }}{}{}
\makeatother
\begin{document}
\tableofcontents[depth=subparagraph]
\mainmatter
\chapter{Chap1}
\section{Sec 1}
\subsection{subSec 1}
\subsubsection{subsubSec 1}
\paragraph{paragraph 1}
\subparagraph{Subparagraph 1}
Test
\end{document}
Lien permanent

Publiée 22 Jul, 02:38

touhami's gravatar image

touhami
2.8k26
Taux d'acceptation : 51%

Modifiée 14 Aoû, 12:53

Pathe's gravatar image

Pathe ♦♦
2.0k661

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×51
×1
×1

Question posée : 21 Jul, 21:05

Question vue : 105 fois

Dernière mise à jour : 24 Jul, 11:05