gratifiant > comp.* > comp.text.tex

robert (11/02/2019, 23h24)
bonsoir

j'ai une espace indésirable dans les liens \href entre http et :

voici mon bout de code, comment le faire disparaître?

=============
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8

\documentclass[11pt]{article}

\usepackage[]{hyperref}

\usepackage{fontspec}

\setmainfont
[ BoldFont = texgyrepagella-bold.otf ,
ItalicFont = texgyrepagella-italic.otf ,
BoldItalicFont = texgyrepagella-bolditalic.otf ]
{texgyrepagella-regular.otf}

\usepackage[french]{babel}

\begin{document}

\href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}

\end{document}

==================
Daniel Flipo (12/02/2019, 00h22)
Le 11/02/2019 à 22:24, robert a écrit :
[..]
> \begin{document}
> \href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}
> \end{document}


babel-french ajoute une espace devant le `:', c'est ce qui arrive ici.

1) Ceci ne se produit ni avec pdflatex (hyperref neutralise les
caractères actifs) ni avec lualatex, seulement avec xelatex. Je n'ai pas
de parade automatique pour xelatex :-(

2) Parades possibles :

* \NoAutoSpacing dans un groupe :
{\NoAutoSpacing
\href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}
}

* sinon, pour ceux qui mettent systématiquement un espace devant la
ponctuation haute en français, ajouter dans le préambule (après babel)

\frenchsetup{AutoSpacePunctuation=false}
Denis Bitouzé (12/02/2019, 10h02)
Le 11/02/19 à 22h24, robert a écrit :

> bonsoir


Bonjour,

> j'ai une espace indésirable dans les liens \href entre http et :
> voici mon bout de code, comment le faire disparaître?
> \href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}


Ça tient au fait que l'URL n'est pas composée en fonte à châsse fixe.
Personnellement, je pense qu'elle le devrait et, pour ce faire, le plus
simple est de recourir à la commande \url :

--8<---------------cut here---------------start------------->8---
\url{https://www.unsite.com/lien/}
--8<---------------cut here---------------end--------------->8---
robert (15/02/2019, 11h38)
salut

> * \NoAutoSpacing dans un groupe :
> {\NoAutoSpacing
> \href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}
> }


J'ai adopté cette solution (je n'avais pas trop d'url à remplacer)merci
Vincent Belaïche (15/02/2019, 23h45)
Denis Bitouzé <dbitouze> writes:

> Le 11/02/19 à 22h24, robert a écrit :
> Bonjour,
> Ça tient au fait que l'URL n'est pas composée en fonte à châsse fixe.
> Personnellement, je pense qu'elle le devrait et, pour ce faire, le plus
> simple est de recourir à la commande \url :
> \url{https://www.unsite.com/lien/}


Autre solution, remplacer les « : » par des « \string: ».
Daniel Flipo (16/02/2019, 10h20)
Le 15/02/2019 à 22:45, Vincent Bela?che a écrit :

>> Le 11/02/19 à 22h24, robert a écrit :
>>> j'ai une espace indésirable dans les liens \href entre http et :
>>> voici mon bout de code, comment le faire disparaître?
>>> \href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}

> Autre solution, remplacer les « : » par des « \string: ».


Le \string ne servirait à rien avec xelatex : le `:' n'est pas actif.

La commande \NoAutoSpacing (dans un groupe) a l'avantage de fonctionner
avec tous les moteurs.
GL (20/02/2019, 11h56)
Le 11/02/2019 à 22:24, robert a écrit :
> \begin{document}
> \href{https://www.unsite.com/lien/}{https://www.unsite.com/lien/}


Vous pourriez aussi essayer :

\href{https://www.unsite.com/lien/}{\nolinkurl{https://www.unsite.com/lien/}}

(pas testé...)
Discussions similaires