Wie kann ich den Wert einer expl3-Länge (Variablentyp \documentclass{article} \ExplSyntaxOn \fp_new:N \l_abc_zahl_fp \dim_new:N \l_abc_laenge_dim \fp_set:Nn \l_abc_zahl_fp {3.25} \dim_set:Nn \l_abc_laenge_dim { \l_abc_zahl_fp * 5mm } \ExplSyntaxOff \begin{document} Die Zahl ist \ExplSyntaxOn \fp_to_decimal:N \l_abc_zahl_fp \ExplSyntaxOff . Die Länge ist \ExplSyntaxOn \dim_use:N \l_abc_laenge_dim \ExplSyntaxOff . \end{document} Fehlermeldung: ! Missing number, treated as zero. <to be read again> \s__fp l.7 ... \l_abc_laenge_dim { \l_abc_zahl_fp * 5mm } |
Beispielweise so: \documentclass{article} \ExplSyntaxOn \fp_new:N \l_abc_zahl_fp \dim_new:N \l_abc_laenge_dim \fp_set:Nn \l_abc_zahl_fp {3.25} \dim_set:Nn \l_abc_laenge_dim { \fp_to_decimal:n { 5 * \l_abc_zahl_fp } mm } \ExplSyntaxOff \begin{document} Die Zahl ist \ExplSyntaxOn \fp_to_decimal:N \l_abc_zahl_fp \ExplSyntaxOff . Die Länge ist \ExplSyntaxOn \dim_use:N \l_abc_laenge_dim \ExplSyntaxOff . Das ist das \ExplSyntaxOn\fp_to_decimal:N \l_abc_zahl_fp-fache~\ExplSyntaxOff von \ExplSyntaxOn \fp_to_dim:n { \fp_eval:n { \dim_to_decimal:n { \l_abc_laenge_dim } / \l_abc_zahl_fp } }. \ExplSyntaxOff \end{document} Es gibt verschiedene Funktionen, um floating points bzw. decimals in dimensions und umgekehrt umzuwandeln. Was davon für dich am besten geeignet ist, hängt davon ab, was du in Wirklichkeit vor hast. BTW: Verlässt man sich auf Interna von |
Die Beispielsweise muss für die Multiplikation der erste Faktor eine gültige TeX-Länge sein, anschließend folgt ein Also Am komfortabelsten ist die Verwendung von Also in Code eingebettet: \documentclass{article} \ExplSyntaxOn \fp_new:N \l_abc_zahl_fp \dim_new:N \l_abc_laenge_dim \fp_set:Nn \l_abc_zahl_fp {3.25} \dim_set:Nn \l_abc_laenge_dim { \fp_eval:n { \l_abc_zahl_fp * 5mm } pt } \ExplSyntaxOff \begin{document} Die Zahl ist \ExplSyntaxOn \fp_to_decimal:N \l_abc_zahl_fp \ExplSyntaxOff . Die Länge ist \ExplSyntaxOn \dim_use:N \l_abc_laenge_dim \ExplSyntaxOff . \end{document} |