2
1

J'ai l'ECM suivant :

Ouvrir dans l'éditeur Overleaf
\documentclass[12 pt, a5paper, french]{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light,oldstyle,largesmallcaps]{kpfonts}
%\usepackage{hyperref}
\usepackage{verse}
\usepackage{babel}
\begin{document}
\begin{verse}
Mirlababi surlababo,\\
Mirliton ribon ribette,\\
Surlababi mirlababo,\\
Mirliton ribon ribo.
\end{verse}
\end{document}

Dès lors que je décommente \usepackage{hyperref}, j'obtiens l'erreur suivante :

Ouvrir dans l'éditeur Overleaf
! LaTeX Error: Command \theHpoemline already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.34 ...}{\arabic{verse@envctr}.\arabic{poemline}}

? x
No pages of output.

Pourquoi ?

Posée 26 Nov '17, 22:04

Pathe's gravatar image

Pathe ♦♦
7.5k29197245
Taux d'acceptation : 55%

1

La commande \theHpoemline est définie explicitement par verse et implicitement par hyperref. Il suffit de charger hyperref en dernier.

(26 Nov '17, 22:59) touhami touhami's gravatar image

Ça a l'air bête comme chou, en effet. Je n'avais pas testé l'inversion de l'ordre de chargement des packages.

Sur ce, qu'entendez-vous par « définie implicitement » ?

(26 Nov '17, 23:23) Pathe ♦♦ Pathe's gravatar image
1

La commande interne utilisée pour créer ou définir des compteurs est modifiée par hyperref pour associer une commande \theHfoo à chaque nouveau compteur foo.

(27 Nov '17, 00:47) touhami touhami's gravatar image

Grâce au commentaire de touhami, j'ai compris que l'ordre de chargement des extensions avait son importance.

Il faut impérativement charger hyperref après verse. C'est un exemple à retenir, pour avoir à l'avenir le réflexe de tester l'ordre de chargement des packages.

Ouvrir dans l'éditeur Overleaf
\documentclass[12 pt, a5paper, french]{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light,oldstyle,largesmallcaps]{kpfonts}
%\usepackage{hyperref}
\usepackage{verse}
\usepackage{babel}
\begin{document}
\begin{verse}
Mirlababi surlababo,\\
Mirliton ribon ribette,\\
Surlababi mirlababo,\\
Mirliton ribon ribo.
\end{verse}
\end{document}

À part ça, cette poésie est de Victor Hugo.

Lien permanent

Publiée 27 Nov '17, 01:26

Pathe's gravatar image

Pathe ♦♦
7.5k29197245
Taux d'acceptation : 55%

1

D'une façon générale, hyperref doit être chargé en dernier, à quelques rares exceptions près (la plus notable étant cleveref).

(27 Nov '17, 02:14) Bernard Bernard'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.