Commande avec href

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
GRSG
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 307
Inscription : mercredi 08 octobre 2008, 09:45

[Résolu] Commande avec href

Message non lu par GRSG »

Bonjour,
j'ai un souci de création de commande qui intègre une href. Le code est ci-dessous. Comment peut-on faire passer la valeur de l'argument dans une commande lorsque celui-ci contient des // % - and co?

Code : Tout sélectionner

\documentclass{article}
\usepackage{hyperref}
\newcommand{\essai}[1]{\href{#1}{Commentaire}}
\begin{document}
%\href{http://www.stat.sc.edu/%7Ewest/javahtml/Histogram.html}{ce lien}
\essai{http://www.stat.sc.edu/%7Ewest/javahtml/Histogram.html}
\end{document}
Merci
Bonne journée
Gabriel
Dernière modification par GRSG le samedi 23 mai 2020, 09:39, modifié 1 fois.
un bon petit
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 995
Inscription : vendredi 12 juin 2009, 22:35
Statut actuel : Enseignant
Localisation : Chambéry
Contact :

Re: Commande avec href

Message non lu par un bon petit »

GRSG a écrit : mercredi 20 mai 2020, 09:56Comment peut-on faire passer la valeur de l'argument dans une commande lorsque celui-ci contient des // % - and co?
Il faut modifier les catcodes des tokens avant de lire l'argument.
J'y ai été un peu comme un bourin avec \dospecials, à voir si c'est pas trop à l'usage... S'il y a des dysfonctionnements, dis le et on fera un \scantokens, tout compte fait, c'est peut-être mieux.

Code : Tout sélectionner

\documentclass{article}
\usepackage{hyperref}
\makeatletter
\newcommand*\essai{\begingroup\let\do\@makeother\dospecials\catcode`\{1 \catcode`\}2 \essai@i}
\newcommand*\essai@i[1]{\endgroup\href{#1}{commentaire}}
\makeatother
\begin{document}
\href{http://www.stat.sc.edu/%7Ewest/javahtml/Histogram.html}{ce lien}\par
\essai{http://www.stat.sc.edu/%7Ewest/javahtml/Histogram.html}
\end{document}
Programmer en TeX, TeXpérimental
GRSG
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 307
Inscription : mercredi 08 octobre 2008, 09:45

Re: Commande avec href

Message non lu par GRSG »

Super.
Merci.
Pour l'instant ça me convient.
Gabriel
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message