Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 4
mineure typo

08 Jul '20, 00:21

Pathe's gravatar image

Pathe
7.6k49209252

Dans les coordonnées présentes dans une instruction de Tikz, Ti*k*Z, on peut mettre une valeur numérique (qui est alors interprétée avec l'unité par défaut) mais on peut aussi mettre une expression avec une unité, ce qui spécifie une longueur. En l'occurrence, `\ay` contient `28.45274pt` (et non seulement `28.45274`). En utilisant `\ay` plus loin, l'unité est présente et est correctement utilisée. `\ay` n'est un registre de dimension de TeX mais une macro de TeX. Pour faire la conversion en cm, il existe une macro `\dim_to_decimal_in_unit:nn` dans `expl3`. Comme c'est une macro interne, on doit écrire écrire une sur-macro pour l'utiliser dans le document courant. Je l'ai nommée `PtToCm`. \documentclass[french,a4paper]{article} \usepackage{tikz} \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand \PtToCm { m } { \dim_to_decimal_in_unit:nn { #1 } { 1 cm } } \ExplSyntaxOff \begin{document} \begin{tikzpicture} \draw (1,0) arc (0:90:1); \pgfgetlastxy{\ax}{\ay} % (pas de point virgule pour commande pgf) \draw (3,0) node[draw]{$\PtToCm{\ax} ,\PtToCm{\ay}$}; \fill[red] (\ax,\ay) circle (5pt); \end{tikzpicture} \end{document}
cliquez ici pour masquer/afficher la révision 3
Faute de frappe

07 Jul '20, 19:41

fpantigny's gravatar image

fpantigny
1.3k44

Dans les coordonnées présentes dans une instruction de Tikz, on peut mettre une valeur numérique (qui est alors interprétée avec l'unité par défaut) mais on peut aussi mettre une expression avec une unité, ce qui spécifie une longueur. En l'occurrence, `\ay` contient `28.45274pt` (et non seulement `28.45274`). En utilisant `\ay` plus loin, l'unité est présente et est correctement utilisée. `\ay` n'est un registre de dimension de TeX mais une macro de TeX. Pour faire la conversion en cm, il existe une macro `\dim_to_decimal_in_unit:nn` in dans `expl3`. Comme c'est une macro interne, on doit écrire écrire une sur-macro pour l'utiliser dans le document courant. Je l'ai nommée `PtToCm`. \documentclass[french,a4paper]{article} \usepackage{tikz} \usepackage{xparse} \ExplSyntaxOn \NewDocumentCommand \PtToCm { m } { \dim_to_decimal_in_unit:nn { #1 } { 1 cm } } \ExplSyntaxOff \begin{document} \begin{tikzpicture} \draw (1,0) arc (0:90:1); \pgfgetlastxy{\ax}{\ay} % (pas de point virgule pour commande pgf) \draw (3,0) node[draw]{$\PtToCm{\ax} ,\PtToCm{\ay}$}; \fill[red] (\ax,\ay) circle (5pt); \end{tikzpicture} \end{document}
cliquez ici pour masquer/afficher la révision 2
Réponse complétée

07 Jul '20, 19:40

fpantigny's gravatar image

fpantigny
1.3k44

cliquez ici pour masquer/afficher la révision 1

07 Jul '20, 17:09

fpantigny's gravatar image

fpantigny
1.3k44