Je souhaite réaliser une frise à l'aide du package chronos avec la classe yathesis. Néanmoins, même avec un exemple simple j'obtiens l'erreur de compilation suivante :

! File ended while scanning use of \pgfkeys@code.

Un exemple de code :

\documentclass[version=draft]{yathesis}
\usepackage[backend=biber,safeinputenc]{biblatex}
\usepackage{chronos}

\begin{document}
\begin{figure}\centering
    \begin{chronos}
            [
            cronoleg,% load chronos style
            timeline={% configure the timeline 'line' itself
                start date=1974,end date=2020,
                timeline width'=10cm
                },
            levels=4:7,     %Etages en haut et en bas
            ]   
        \chronosevent{name=seveso, date=1976-07-10,}
    \end{chronos}
\end{figure} 
\end{document}

Ma solution pour contourner le problème et qui ne me convient pas trop est de faire une compilation sur un autre fichier et d'incorporer le résultat par la suite.

Posée 16 Jan, 14:44

GreenMaker's gravatar image

GreenMaker
433
Taux d'acceptation : 0%

Modifiée 19 Jan, 18:42

Pathe's gravatar image

Pathe ♦♦
7.5k46207252

2

Bienvenue sur TeXnique.fr !

(17 Jan, 09:29) denis ♦♦ denis's gravatar image

Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(17 Jan, 10:02) denis ♦♦ denis's gravatar image

En fait, le problème que vous rencontrez n'est pas spécifique à yathesis, mais à babel-french puisque l'ECM suivant provoque la même erreur de compilation :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{chronos}
\usepackage[french]{babel}

\begin{document}
\begin{chronos}
  [
    cronoleg,% load chronos style
    timeline={% configure the timeline 'line' itself
      start date=1974,end date=2020,
      timeline width'=10cm
    },
    levels=4:7,     %Etages en haut et en bas
  ]
  \chronosevent{name=seveso, date=1976-07-10,}
\end{chronos}
\end{document}

C'est un problème connu, comme le montre la section 6 « Problèmes avec les quatre caractères actifs (;:!?) » de la documentation de ce package. Pour le régler, il suffit de procéder comme indiqué, c'est-à-dire en mettant l'environnement chronos dans un groupe débutant par \NoAutoSpacing :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{chronos}
\usepackage[french]{babel}

\begin{document}
{\NoAutoSpacing%
  \begin{chronos}
    [
      cronoleg,% load chronos style
      timeline={% configure the timeline 'line' itself
        start date=1974,end date=2020,
        timeline width'=10cm
      },
      levels=4:7,     %Etages en haut et en bas
    ]
    \chronosevent{name=seveso, date=1976-07-10,}
  \end{chronos}}
\end{document}

Avec une version assez récente de LaTeX, il est possible de ne pas avoir à ajouter un tel groupe systématiquement en recourant à des hooks, ici avec \AddToHook{env/chronos/before}{\NoAutoSpacing} :

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{chronos}
\usepackage[french]{babel}

\AddToHook{env/chronos/begin}{\NoAutoSpacing}

\begin{document}
\begin{chronos}
  [
    cronoleg,% load chronos style
    timeline={% configure the timeline 'line' itself
      start date=1974,end date=2020,
      timeline width'=10cm
    },
    levels=4:7,     %Etages en haut et en bas
  ]
  \chronosevent{name=seveso, date=1976-07-10,}
\end{chronos}
\end{document}

Plus de détails sur les hooks dans la documentation de lthooks.

Lien permanent

Publiée 17 Jan, 10:02

denis's gravatar image

denis ♦♦
7.3k1510
Taux d'acceptation : 53%

Modifiée 26 Jan, 14:35

1

@GreenMaker : si la solution vous convient, n'oubliez pas d'indiquer que le problème est résolu en cochant la boîte prévue à cet effet (en haut à gauche du message de @denis) !

(19 Jan, 18:43) Pathe ♦♦ Pathe's gravatar image

Je pense que c'est une affaire à \AddToHook{env/chronos/begin}.

(19 Jan, 22:49) touhami touhami's gravatar image
1

@touhami Tout à fait, merci ! En effet, avec \AddToHook{env/chronos/before}, l'effet de \NoAutoSpacing se poursuit au delà de \end{chronos} et les espaces précédant les signes de ponctuation haute (;:!?) ne sont alors plus correctes. Je rectifie.

(26 Jan, 14:34) 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.