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 :

  1. \showthe\textheight
  2. \message{La hauteur du texte est de \the\textheight}
  3. \typeout{La hauteur du texte est de \the\textheight}

Ces techniques utilisent les primitives \TeX{}:

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 printlen, beaucoup plus flexible.

Par exemple, avec 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: How to print contents of variables?