Command pour insérer un lien et un qrcode

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.
BenLar
Utilisateur confirmé
Utilisateur confirmé
Messages : 73
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Command pour insérer un lien et un qrcode

Message non lu par BenLar »

Bonjour,

J'ai crée une commande pour insérer un lien et un qrcode afin de ne pas devoir saisir deux fois l'adresse mais j'ai des erreurs à la compilation. Par exemple : "! Illegal parameter number in definition of \Hy@tempa.<to be read again>/ ...ladigitale.dev/digiview/#/v/67151947976aa}"

Code : Tout sélectionner

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{hyperref} % pour insérer une url
\usepackage{qrcode} %pour insérer un qrcode

\newcommand{\lien}[1]{
	\begin{minipage}{0.8\linewidth}
		\url{#1}
	\end{minipage}
	\hfill
	\begin{minipage}{0.2\linewidth}
		\begin{center}
			\qrcode{#1}
		\end{center}
	\end{minipage}
}

\begin{document}
	\lien{https://ladigitale.dev/digiview/#/v/67151947976aa}
\end{document}
Est-ce que vous auriez une idée ?

Merci de votre aide.

Benoit
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2303
Inscription : samedi 29 décembre 2007, 00:58

Re: Command pour insérer un lien et un qrcode

Message non lu par projetmbc »

Bonjour.

Il faut juste échapper le hashtag dans l'url : \lien{https://ladigitale.dev/digiview/\#/v/67151947976aa} .
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2834
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: Command pour insérer un lien et un qrcode

Message non lu par gigiair »

Je n'ai pas d'erreur avec une adresse de qrcode valide.

Code : Tout sélectionner

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[frenchb]{babel}
\usepackage{hyperref} % pour insérer une url
\usepackage{qrcode} %pour insérer un qrcode

\newcommand{\lien}[1]{%
        \begin{minipage}{0.8\linewidth}
                \url{#1}
        \end{minipage}
        \hfill
        \begin{minipage}{0.2\linewidth}
                \begin{center}
                        \qrcode{#1}
                \end{center}
        \end{minipage}
}

\begin{document}
\lien{https://upload.wikimedia.org/wikipedia/commons/d/d0/QR_code_for_mobile_English_Wikipedia.svg}
\end{document}
JJR.
LaTeXien migrateur.
BenLar
Utilisateur confirmé
Utilisateur confirmé
Messages : 73
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Command pour insérer un lien et un qrcode

Message non lu par BenLar »

Merci beaucoup. Je n'aurais pas été chercher cela.
Benoit
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2303
Inscription : samedi 29 décembre 2007, 00:58

Re: Command pour insérer un lien et un qrcode

Message non lu par projetmbc »

Quand on voit un Illegal parameter number , il faut y penser étant donné que les arguments \LaTeX s'écrivent #1, #2, ...
BenLar
Utilisateur confirmé
Utilisateur confirmé
Messages : 73
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Command pour insérer un lien et un qrcode

Message non lu par BenLar »

Bonjour,
Désormais, je voudrais faire apparaître ou non mes liens dans le documents.
Vous m'aviez trouvé la solution pour les démonstrations (il y a encore une trace dans mon ECM) mais j'ai l'impression que c'est propre aux démonstrations dans un document Latex.
Finalement, l'idée serait de faire apparaître ou non une portion de texte dans un document en fonction d'un critère, ici le \lien.
J'avoue ne pas savoir faire, ni comment faire le lien avec \newif\ifproof
Merci de votre aide,
Benoit

Code : Tout sélectionner

\documentclass[10pt,a4paper]{report}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{pgf,tikz} %pour construire des cadres et des figures
\usepackage{hyperref} % pour insérer une url
\usepackage{qrcode} %pour insérer un qrcode

% mise en forme 
\newcommand{\Cadre}[3]{%
	\tikzstyle{mybox}=[draw=#2, fill=#2!5, very thick, rectangle, rounded corners, inner sep=10pt, inner ysep=15pt]
	\tikzstyle{fancytitle} =[draw=#2, fill=#2!20, very thick, rounded corners, text=black]
	\begin{center}
		\begin{tikzpicture}
			\node[mybox](box){%
			    \begin{minipage}{0.95\linewidth}
			        #3
			    \end{minipage}
			};
			\node[fancytitle, right=10pt] at (box.north west) {\textbf{#1}};
		\end{tikzpicture}%
	\end{center}
	\bigbreak
}

%%%%%%%%%%%% Pour faire apparaitre ou non les démonstrations %%%%%%%%%%%
\newif\ifproof
%\prooftrue

%%%% Pour insérer un lien
\newcommand{\lien}[2]{\Cadre{#1}{purple}{\url{#2} \hfill \qrcode[height=1cm]{#2}}}

\begin{document}
	\lien{Construire le symétrique d'un point}{https://ladigitale.dev/digiview/\#/v/67aafed721a5e}
\end{document}
BenLar
Utilisateur confirmé
Utilisateur confirmé
Messages : 73
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Command pour insérer un lien et un qrcode

Message non lu par BenLar »

Ce serait à relier à ce post que j'avais oublié :roll:
viewtopic.php?t=18280
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1143
Inscription : jeudi 25 novembre 2010, 22:10

Re: Command pour insérer un lien et un qrcode

Message non lu par marco56 »

Peut-être que le package version serait approprié pour toi.
Perso, c'est ce que j'utilise pour mes versions prof/eleve (poly complété/poly à trous) :
https://ctan.org/pkg/version
BenLar
Utilisateur confirmé
Utilisateur confirmé
Messages : 73
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Command pour insérer un lien et un qrcode

Message non lu par BenLar »

Merci pour ton retour. Je vais y regarder.

Je viens de trouver une solution à l'aide du "Latex pour les profs de maths" à savoir

Code : Tout sélectionner

\documentclass[10pt,a4paper]{report}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{pgf,tikz} %pour construire des cadres et des figures
\usepackage{hyperref} % pour insérer une url
\usepackage{qrcode} %pour insérer un qrcode
\usepackage{ifthen}

% mise en forme 
\newcommand{\Cadre}[3]{%
	\tikzstyle{mybox}=[draw=#2, fill=#2!5, very thick, rectangle, rounded corners, inner sep=10pt, inner ysep=15pt]
	\tikzstyle{fancytitle} =[draw=#2, fill=#2!20, very thick, rounded corners, text=black]
	\begin{center}
		\begin{tikzpicture}
			\node[mybox](box){%
			    \begin{minipage}{0.95\linewidth}
			        #3
			    \end{minipage}
			};
			\node[fancytitle, right=10pt] at (box.north west) {\textbf{#1}};
		\end{tikzpicture}%
	\end{center}
	\bigbreak
}

%%%%%%%%%%%% Pour faire apparaitre ou non les démonstrations %%%%%%%%%%%
\newif\ifproof
%\prooftrue

%%%%%%%%%%%% Pour faire apparaitre ou non les liens %%%%%%%%%%%
\newboolean{afficher_liens}
\setboolean{afficher_liens}{false}
\newcommand{\lien}[2]{
\ifthenelse{\boolean{afficher_liens}}
	{\Cadre{#1}{purple}{\url{#2} \hfill \qrcode[height=1cm]{#2}}}
	{blabla}
}

\begin{document}
	\lien{Construire le symétrique d'un point}{https://ladigitale.dev/digiview/\#/v/67aafed721a5e}
\end{document}
mais il me reste à remplacer le "blabla" par rien, même pas un saut de ligne.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1143
Inscription : jeudi 25 novembre 2010, 22:10

Re: Command pour insérer un lien et un qrcode

Message non lu par marco56 »

Si tu ne mets rien à la place de blabla, cela ne convient pas ?
Tu connais la commande \phantom{} ?
BenLar
Utilisateur confirmé
Utilisateur confirmé
Messages : 73
Inscription : mercredi 29 avril 2020, 14:56
Statut actuel : Enseignant

Re: Command pour insérer un lien et un qrcode

Message non lu par BenLar »

Quand j'enlevais "blabla", ça restait sur le document recompilé. D'ailleurs, la première fois que j'ai compilé, il y avait du texte alors que je n'avais rien mis entre les accolades. Actuellement, dans le "vrai" document, je n'ai pas de problème.
Je vais essayé \phantom{} que j'ai déjà aperçu sans vraiment m'y attarder.