4
1

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 '17, 21:05

jerome%20dequeker's gravatar image

jerome dequeker
836714
Taux d'acceptation : 65%

Modifiée 14 Aoû '17, 12:51

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

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 '17, 22:47) denis ♦♦ denis's gravatar image

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

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

Le problème est corrigé par la version 0.99s de 22-06-2018.

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 '17, 02:38

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 24 Jui '18, 00:07

@denis aucune remarque?

(06 Sep '17, 10:06) touhami touhami's gravatar image

Ça me paraît très bien. Je vais étudier ce patch de plus près pour l'intégrer à la prochaine version de yathesis :)

(07 Sep '17, 12:31) denis ♦♦ denis's gravatar image

Cela ne fait que mettre en lumière l'utilité du présent forum ! 😉

(07 Sep '17, 12:45) Pathe ♦♦ Pathe's gravatar image
2

Merci pour ce patch : il est intégré sur GitHub et sous peu par mise à jour de la TeX Live ou de la MiKTeX.

(22 Jui '18, 13:17) denis ♦♦ denis's gravatar image
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.