Je souhaiterai 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:

! 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 hier

GreenMaker's gravatar image

GreenMaker
412
Taux d'acceptation : 0%

Modifiée 20 heures auparavant

denis's gravatar image

denis ♦♦
7.3k1510

2

Bienvenue sur TeXnique.fr !

(20 heures auparavant) 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).

(20 heures auparavant) 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/before}{\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 20 heures auparavant

denis's gravatar image

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

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.