====== Comment afficher le contenu de variables? ======
$\Reponse$ On a souvent besoin d'imprimer les valeurs des variables dans le fichier ''.log''
ou sur le terminal. Voici trois façons d'accéder au contenu de la variable ''\textheight'' :
- ''\showthe\textheight''
- ''\message{La hauteur du texte est de \the\textheight}''
- ''\typeout{La hauteur du texte est de \the\textheight}''
Ces techniques utilisent les primitives \TeX{}:
* ''\the'', qui renvoie la valeur d'une variable,
* ''\showthe'', qui imprime la valeur d'une variable sur le terminal et dans le journal, sur une ligne rien que pour elle,
* et ''\message'', qui imprime quelque chose dans le journal.
La commande ''\typeout'', quant à elle, est le mécanisme général
de sortie des messages de \LaTeX{}.
Dans chaque cas, la valeur de la variable est exprimée en points
(sachant qu'il y a 72.27 point de Knuth par pouce, un point vaut donc
0,35146 mm). Pour convertir les grandeurs en unités plus usuelles,
on peut utiliser le package [[ctanpkg>printlen]], beaucoup plus flexible.
Par exemple, avec [[ctanpkg>printlen]], on peut écrire:
\newlength{\foo}
\setlength{\foo}{12pt}
\verb|\foo| vaut \printlength{\foo}.
pour obtenir:
\documentclass{article}
\usepackage{printlen}
\begin{document}
\thispagestyle{empty}
\newlength{\foo}
\setlength{\foo}{12pt}
\verb+\foo+ vaut \printlength{\foo}.
\end{document}
alors que si on précise que l'on veut des millimètres:
\newlength{\foo}
\setlength{\foo}{12pt}
\uselengthunit{mm}
\verb|\foo| vaut \printlength{\foo} (soit \the\foo).
on a:
\documentclass{article}
\usepackage{printlen}
\begin{document}
\thispagestyle{empty}
\newlength{\foo}
\setlength{\foo}{12pt}
\uselengthunit{mm}
\verb|\foo| vaut \printlength{\foo} (soit \the\foo).
\end{document}
La macro ''\rndprintlength'' permet d'arrondir la valeur:
\newlength{\foo}
\setlength{\foo}{12pt}
\uselengthunit{mm}
\verb|\foo| vaut \rndprintlength{\foo} (valeur arrondie de \printlength{\foo}).
donne:
\documentclass{article}
\usepackage{printlen}
\begin{document}
\thispagestyle{empty}
\newlength{\foo}
\setlength{\foo}{12pt}
\uselengthunit{mm}
\verb|\foo| vaut \rndprintlength{\foo} (valeur arrondie de \printlength{\foo}).
\end{document}
-----
//Source:// [[faquk>FAQ-printvar|How to print contents of variables?]]
{{htmlmetatags>metatag-keywords=(LaTeX,TeX,valeur d'une variable,programmation,macros,valeur d'une longueur,unité des longueurs,commande \the)
metatag-og:title=(Comment afficher le contenu de variables?)
metatag-og:site_name=(FAQ LaTeX francophone)
}}