Problème d'url dans des include

Bonjour La Liste.

J’ai voulu construire un gros document en utilisant les recommandations de Laurent Bloch (e-french et LuaLaTex), mais je précise que le problème que j’ai rencontré n’a peut-être aucun rapport avec cela.

Je devais construire mon document à partir de plusieurs fichiers. J’ai donc utilisé \include. J’avais des url longues, avec deux options : le package xurl avec l’appel url, qui coupe l’url n’importe (ce qui ne me gène pas, puisque le lien fonctionne) ou href avec des arguments, mais dans mon cas, l’url comportait des underscores.

Le problème que j’ai rencontré est une erreur 15: Extra \else. \include sur chaque include,

complété par un étrange erreur 3: Overfull \hbox (43.90001pt too wide) in paragraph, la ligne 3 contenant \usepackage{french}%.

Si une ou un membre de la liste peut m’aider à éclaircir, merci.

CEM : document.tex

\documentclass[10pt,a4paper]{book}
\usepackage{luahyphenrules}%
\usepackage{french}%
\let\PEx\pointexclamation%
%
\usepackage{hyperref}
\usepackage{xurl}
%
\title{ECM}
\author{Francis Gernet}
\begin{document}
\HyphenRules{french} % pour les césures en français
%
\part{Partie 1}
\include{elek-a}
%
\include{elek-b}
\end{document}

elek-a.tex :

\chapter{Chapitre 1}
\section{elektor - a}
\url{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs-PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}

elek-b.tex :

\section{elektor - b}
\href{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs-PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}{https://www.elektormagazine.com/magazine/elektor-114/56818?{\_}kx=vs-PchvM4Xg-3lsARJd{\_}Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}

Bonne journée

--
Francis

document.tex (332 Octets)

elek-a.tex (163 Octets)

elek-b.tex (265 Octets)

Bonjour, ça ne vient pas des url.

L’ECM suivant fonctionne parfaitement chez moi. Cordialement E

\documentclass[10pt,a4paper]{book}
\usepackage{luahyphenrules}%
\usepackage{french}%
\let\PEx\pointexclamation%
%
\usepackage{hyperref}
\usepackage{xurl}
%
\title{ECM}
\author{Francis Gernet}
\begin{document}
\HyphenRules{french} % pour les césures en français
%
\section{elektor - a}
\url{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs-PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}

\section{elektor - b}
\href{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs-PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}{https://www.elektormagazine.com/magazine/elektor-114/56818?{\_}kx=vs-PchvM4Xg-3lsARJd{\_}Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}


\end{document}

Bonjour,

J’ai les mêmes erreurs de \else en trop et les mêmes dépassements de boite (url mal découpées)

Jean-Yves

Le 07/11/2025 à 07:54, Gernet, Francis- a écrit :

Bonjour La Liste.

J’ai voulu construire un gros document en utilisant les recommandations de Laurent Bloch (e-french et LuaLaTex), mais je précise que le problème que j’ai rencontré n’a peut-être aucun rapport avec cela.

Je devais construire mon document à partir de plusieurs fichiers. J’ai donc utilisé \include. J’avais des url longues, avec deux options : le package xurl avec l’appel url, qui coupe l’url n’importe (ce qui ne me gène pas, puisque le lien fonctionne) ou href avec des arguments, mais dans mon cas, l’url comportait des underscores.

Le problème que j’ai rencontré est une erreur 15: Extra \else. \include sur chaque include, complété par un étrange erreur 3: Overfull \hbox (43.90001pt too wide) in paragraph, la ligne 3 contenant \usepackage{french}%.

Si une ou un membre de la liste peut m’aider à éclaircir, merci.

CEM : document.tex

\documentclass[10pt,a4paper]{book}
\usepackage{luahyphenrules}%
\usepackage{french}%
\let\PEx\pointexclamation%
%
\usepackage{hyperref}
\usepackage{xurl}
%
\title{ECM}
\author{Francis Gernet}
\begin{document}
\HyphenRules{french} % pour les césures en français
%
\part{Partie 1}
\include{elek-a}
%
\include{elek-b}
\end{document}

elek-a.tex :

\chapter{Chapitre 1}
\section{elektor - a}
\url{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb} <https:// 
www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}>

elek-b.tex :

\section{elektor - b}
\href{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}{https:// 
www.elektormagazine.com/magazine/elektor-114/56818?{\_}kx=vs- 
PchvM4Xg-3lsARJd{\_}Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}

Bonne journée

--
Francis

Trouvé : c’est à cause d’une vieille version du package french

french.sty 2019/09/06 The e-french package /V6,11/

À mettre à jour

Jean-Yves

Le 07/11/2025 à 08:32, Eric Guichard a écrit :

Bonjour, ça ne vient pas des url.

L’ECM suivant fonctionne parfaitement chez moi. Cordialement E

\documentclass[10pt,a4paper]{book}
\usepackage{luahyphenrules}%
\usepackage{french}%
\let\PEx\pointexclamation%
%
\usepackage{hyperref}
\usepackage{xurl}
%
\title{ECM}
\author{Francis Gernet}
\begin{document}
\HyphenRules{french} % pour les césures en français
%
\section{elektor - a}
\url{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}

\section{elektor - b}
\href{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}{https:// 
www.elektormagazine.com/magazine/elektor-114/56818?{\_}kx=vs- 
PchvM4Xg-3lsARJd{\_}Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}


\end{document}

Merci. J’ai mis à jour les packages. e-french était à jour, seul luahyphenrules est passé de 7.01n à 7.01o. Mais mon problème subsiste

--
Francis

Le 2025-11-07 08:41, Jean-Yves Baudais a écrit :

Trouvé : c’est à cause d’une vieille version du package french

french.sty 2019/09/06 The e-french package /V6,11/

À mettre à jour

Jean-Yves

Le 07/11/2025 à 08:32, Eric Guichard a écrit :

Bonjour, ça ne vient pas des url.

L’ECM suivant fonctionne parfaitement chez moi. Cordialement E

\documentclass[10pt,a4paper]{book}
\usepackage{luahyphenrules}%
\usepackage{french}%
\let\PEx\pointexclamation%
%
\usepackage{hyperref}
\usepackage{xurl}
%
\title{ECM}
\author{Francis Gernet}
\begin{document}
\HyphenRules{french} % pour les césures en français
%
\section{elektor - a}
\url{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}

\section{elektor - b}
\href{https://www.elektormagazine.com/magazine/elektor-114/56818?_kx=vs- 
PchvM4Xg-3lsARJd_Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}{https:// 
www.elektormagazine.com/magazine/elektor-114/56818?{\_}kx=vs- 
PchvM4Xg-3lsARJd{\_}Qu3I9uWeO0jLHgpv8ems6HE.QQ33pb}


\end{document}

Bonjour

Très vraisemblablement, le problème vient de vos fichiers elek-a.tex et
elek-b.tex.

Suggestion : mettez, à la place de \include{elek-a}, l’intégralité du
fichier elek-a.tex et compilez ; vous saurez (à peu près) où se trouve
le problème du « Extra \else ».

François

Le 07/11/2025 à 12:03, Gernet, Francis- a écrit :

Merci. J’ai mis à jour les packages. e-french était à jour, seul
luahyphenrules est passé de 7.01n à 7.01o.
Mais mon problème subsiste

Le 07/11/2025 à 13:06, Pétiard François a écrit :

Bonjour

Très vraisemblablement, le problème vient de vos fichiers elek-a.tex et
elek-b.tex.

Non, le pb. vient d’une vieille version de french.sty. J’ai pu
reproduire l’erreur avec ma distribution Ubuntu.

Jean-Yves

Désolé, mais ce n’est pas ce que dit Francis.

François

Le 07/11/2025 à 13:14, Jean-Yves Baudais a écrit :

Le 07/11/2025 à 13:06, Pétiard François a écrit :

Bonjour

Très vraisemblablement, le problème vient de vos fichiers elek-a.tex
et elek-b.tex.

Non, le pb. vient d’une vieille version de french.sty. J’ai pu
reproduire l’erreur avec ma distribution Ubuntu.

Jean-Yves

Le 07/11/2025 à 15:06, Pétiard François a écrit :

Désolé, mais ce n’est pas ce que dit Francis.

Ok. Voici un ECM

\begin{filecontents}{elek}
texte
\url{https://www.elektormagazine.com}
\end{filecontents}
\listfile
\documentclass{article}
\usepackage{french}
\usepackage{hyperref}
\begin{document}
\include{elek}
\end{document}

compilé avec LaTeX et

article.cls    2021/10/04 v1.4n Standard LaTeX document class
french.sty    2019/09/06 The e-french package /V6,11/
hyperref.sty    2021-06-07 v7.00m Hypertext links for LaTeX

une distribution pas des plus fraîche. L’erreur est reproduite lors de l’interprétation du \else de la commande include qui est jugé en trop. Sinon :

  1. input à la place de include : plus de problème,
  2. sans french : plus de problème,
  3. sans l’url : plus de problème,
  4. intervertir l’ordre d’appel french et hyperref : plus de problème.

Il faut bien penser à effacer elek.tex entre chaque test.

Conclusion : appeler hyperref après french pour les vieilles config.

Voilà !

Jean-Yves

OK.

L’incompréhension vient du fait que vous dites, dans votre message :

Trouvé : c’est à cause d’une vieille version du package french
french.sty 2019/09/06 The e-french package /V6,11/
À mettre à jour

Or, la version 6.11 de 2019 est la dernière version de french.sty sur CTAN… Impossible donc de mettre à jour…

François

Le 07/11/2025 à 17:03, Jean-Yves Baudais a écrit :

Le 07/11/2025 à 15:06, Pétiard François a écrit :

Désolé, mais ce n’est pas ce que dit Francis.

Ok. Voici un ECM

\begin{filecontents}{elek}
texte
\url{https://www.elektormagazine.com}
\end{filecontents}
\listfile
\documentclass{article}
\usepackage{french}
\usepackage{hyperref}
\begin{document}
\include{elek}
\end{document}

compilé avec LaTeX et

article.cls    2021/10/04 v1.4n Standard LaTeX document class
french.sty    2019/09/06 The e-french package /V6,11/
hyperref.sty    2021-06-07 v7.00m Hypertext links for LaTeX

une distribution pas des plus fraîche. L’erreur est reproduite lors de l’interprétation du \else de la commande include qui est jugé en trop. Sinon :

  1. input à la place de include : plus de problème,
  2. sans french : plus de problème,
  3. sans l’url : plus de problème,
  4. intervertir l’ordre d’appel french et hyperref : plus de problème.

Il faut bien penser à effacer elek.tex entre chaque test.

Conclusion : appeler hyperref après french pour les vieilles config.

Voilà !

Jean-Yves

Merci Jean-Yves,

La solution que je mets en œuvre est la 4 (intervertir l’ordre d’appel french et hyperref) et elle fonctionne.

Je vais aussi tester la solution 1, d’autant plus que j’ai trouvé cette documentation :

Les solutions 2 et 3 ne me satisfont pas : c’est en insérant des url dans mon gros document en français que le problème m’est apparu.

Sinon, l’installation que j’utilise est une TexLive 2025 installée sur un système neuf. Et le préambule vient d’un message de Laurent Bloch sur la liste en date du 29 jullet 2025 : e-french et LuaLaTex (simplifié pour l’ECM).

Francis

Le 2025-11-07 17:23, Pétiard François a écrit :

OK.

L’incompréhension vient du fait que vous dites, dans votre message :

Trouvé : c’est à cause d’une vieille version du package french
french.sty 2019/09/06 The e-french package /V6,11/
À mettre à jour

Or, la version 6.11 de 2019 est la dernière version de french.sty sur CTAN… Impossible donc de mettre à jour…

François

Le 07/11/2025 à 17:03, Jean-Yves Baudais a écrit :

Le 07/11/2025 à 15:06, Pétiard François a écrit :

Désolé, mais ce n’est pas ce que dit Francis.

Ok. Voici un ECM

\begin{filecontents}{elek}
texte
\url{https://www.elektormagazine.com}
\end{filecontents}
\listfile
\documentclass{article}
\usepackage{french}
\usepackage{hyperref}
\begin{document}
\include{elek}
\end{document}

compilé avec LaTeX et

article.cls    2021/10/04 v1.4n Standard LaTeX document class
french.sty    2019/09/06 The e-french package /V6,11/
hyperref.sty    2021-06-07 v7.00m Hypertext links for LaTeX

une distribution pas des plus fraîche. L’erreur est reproduite lors de l’interprétation du \else de la commande include qui est jugé en trop. Sinon :

  1. input à la place de include : plus de problème,
  2. sans french : plus de problème,
  3. sans l’url : plus de problème,
  4. intervertir l’ordre d’appel french et hyperref : plus de problème.

Il faut bien penser à effacer elek.tex entre chaque test.

Conclusion : appeler hyperref après french pour les vieilles config.

Voilà !

Jean-Yves

Bonjour,

De: « Pétiard François » xyz@xyz.tld L’incompréhension vient du fait que vous dites, dans votre message :

Trouvé : c’est à cause d’une vieille version du package french
french.sty 2019/09/06 The e-french package /V6,11/
À mettre à jour

Autant pour moi, je n’ai pas vérifié : en voyant la date du package et étant sur une distribution Ubuntu… Bon, j’ai fait un raisonnement, mauvais, plutôt que de vérifier :frowning:

Jean-Yves

Qu’est-ce qui peut expliquer qu’ici il faille placer frenchaprès hyperref, alors qu’il est partout conseillé (sauf très rares exceptions documentées) de toujours mettre hyperref  en dernier ?

Le cas french  n’étant justement pas documenté jusqu’à présent, me semble-t-il.

Sait-on ce que fait french  qui pourrait perturber hyperref  à moins que ça ne soit hyperref  qui perturbe ce que fait french  ?