====== 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) }}