[latexrefman-commits] [SCM] latexrefman updated: r960 - trunk

Vincent Belaiche INVALID.NOREPLY at gnu.org.ua
Thu Aug 12 23:36:06 CEST 2021


Author: vincentb1
Date: 2021-08-12 21:36:06 +0000 (Thu, 12 Aug 2021)
New Revision: 960

Modified:
   trunk/ChangeLog
   trunk/latex2e-fr.texi
Log:
[fr] translate to French node Expressions.
* latex2e-fr.texi (Expressions): Translate the node to French.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2021-08-12 21:36:04 UTC (rev 959)
+++ trunk/ChangeLog	2021-08-12 21:36:06 UTC (rev 960)
@@ -1,5 +1,9 @@
 2021-08-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
+	* latex2e-fr.texi (Expressions): Translate the node to French.
+
+2021-08-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
 	* latex2e-fr.texi (\hss): Translate node to French.
 
 2021-08-12  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>

Modified: trunk/latex2e-fr.texi
===================================================================
--- trunk/latex2e-fr.texi	2021-08-12 21:36:04 UTC (rev 959)
+++ trunk/latex2e-fr.texi	2021-08-12 21:36:06 UTC (rev 960)
@@ -10572,6 +10572,7 @@
 * \settodepth:: Assigne à une longueur la profondeur de quelque-chose.
 * \settoheight:: Assigne à une longueur la hauteur de quelque-chose.
 * \settowidth:: Assigne à une longueur la largeur de quelque-chose.
+* Expressions::         Calculer avec des longueurs et des entiers.
 * Longueurs prédéfinies: Predefined lengths. Les longueur qui sont, en quelque sorte, prédéfinies.
 @end menu
 
@@ -10744,6 +10745,122 @@
 longueur @code{\@var{longueur}} à la  largeur de l'argument @code{texte}.
 
 
+ at node Expressions
+ at section Expressions
+
+ at findex expressions
+
+ at c Much from Joseph Wright's https://tex.stackexchange.com/a/245663/339
+Synopsis, l'un parmi :
+
+ at example
+\numexpr @var{expression} 
+\dimexpr @var{expression}
+\glueexpr @var{expression}
+\muglue @var{expression}
+ at end example
+
+En tout lieu où vous pourriez écrire un entier, une dimen, une muglue ou
+une glue de @TeX{}, vous pouvez à la place écrire une expression pour
+écrire ce genre de quantité.
+
+Un exemple est que @code{\the\dimexpr\linewidth-4pt\relax} produit en
+sortie la longueur égale à quatre points de moins que la largeur de la
+ligne (le seul usage de @code{\the} est d'afficher le résultat dans le
+document).  De même, @code{\romannumeral\numexpr6+3\relax} produit
+ at samp{ix}, et @code{\the\glueexpr 5pt plus 1pt * 2 \relax} produit
+ at samp{10.0pt plus 2.0pt}.
+
+Une commodité ici par rapport à effectuer les calculs en allouant des
+registres et en utilisant @code{\advance}, etc., est que l'évaluation
+d'expression n'implique par d'affectations et peut donc être effectuée à
+des endroits où les affectations ne sont pas autorisées. L'exemple suivant
+calcule la largeur de la @code{\parbox}.
+
+ at example
+\newlength@{\offset@}\setlength@{\offset@}@{2em@}
+\begin@{center@}
+\parbox@{\dimexpr\linewidth-\offset*3@}@{Sans animosité envers
+quiconque, charitables envers tous, et sûrs de notre droit en tant que
+Dieu nous en accorde conscience, mettons-nous à l'œuvre afin d'achever
+la tâche qui nous occupe, de panser les blessures de notre nation, de
+porter soin à l'homme qui a affronté le combat et soulagement à sa veuve
+et à son orphelin, enfin de faire tout pour réaliser et honorer une paix
+juste et durable entre nous et avec toutes les nations.  --- Abraham
+Lincoln, second discours d'investiture, inscrit dans le mémorial
+Lincoln@}
+\end@{center@}
+ at end example
+
+L'@var{expression} consiste en un ou plusieurs termes du même type
+(entier, dimension, etc.) qui sont ajoutés ou soustraits.  Un terme est
+un type de nombre, dimension, etc., et consiste en un facteur de ce
+type, optionnellement multiplié ou divisé par des facteurs.  Un facteur
+d'un type est soit une quantité de ce type ou une sous-expression
+parenthésés.  L'expression produit un résultat du type donné, de sorte
+que @code{\numexpr} produit un entier, @code{\dimexpr} produit une
+dimension dimension, etc.
+
+Dans l'exemple de citation donné plus haut, changer l'expression en
+ at code{\dimexpr\linewidth-3*\offset} produit l'erreur @code{Illegal unit
+of measure (pt inserted)}. La raison en est que pour @code{\dimexpr} et
+ at code{\glueexpr}, l'entrée consiste en une valeur de dimension ou de
+glue suivie par un facteur multiplicatif optionnel, et non
+l'inverse. Ainsi @code{\the\dimexpr 1pt*10\relax} est valide et produit
+ at samp{10.0pt}, mais @code{\the\dimexpr 10*1pt\relax} produit l'erreur
+ at code{Illegal unit}.
+
+Les expressions absorbent les unités lexicales et effectuent les
+opérations mathématiques appropriées jusqu'à ce qu'un @code{\relax} (qui
+est absorbé), ou jusqu'à ce que la première unité lexicale non valide
+soit rencontrée.  Ainsi, @code{\the\numexpr2+3px} imprime @samp{5px},
+parce que @LaTeX{} lit le @code{\numexpr2+3}, ce qui est composé de
+nombres, et ensuite trouve la lettre @code{p}, qui ne peut pas faire
+partie d'un nombre. Il termine alors l'expression et produit le @samp{5},
+suivi par le texte ordinaire @samp{px}.
+
+Ce comportement de terminaison est utile dans les comparaisons. Dans
+ at code{\ifnum\numexpr\parindent*2 < 10pt Oui\else Non\fi}, le signe
+inférieur à termine l'expression et le résultat est @samp{Non} (dans un
+document de classe @LaTeX{} standarde article).
+
+Les expressions peuvent utiliser les opérateurs @code{+}, @code{-},
+ at code{*} et @code{/} ainsi que les parenthèses pour les
+sous-expressions, @code{(...)}.  Dans les expressions glue les parties
+en @code{plus} et @code{minus} ne nécessitent pas de parenthèses pour
+être affectés par un facteur. Ainsi le résultat de @code{\the\glueexpr
+5pt plus 1pt * 2 \relax} est @samp{10pt plus 2pt}.
+
+ at TeX{} convertit les autres types numériques de la même façon que
+lorsqu'il fait une affectation à un registre. Ainsi le résultat de
+ at code{\the\numexpr\dimexpr 1pt\relax\relax} est @samp{65536}, ce qui est
+ at code{1pt} exprimé en factions de point (l'unité interne de @TeX{}) et
+ensuite converti en entier.  Si ça avait été une @code{\glueexpr}, on
+aurait laissé tomber la dilatation et la contraction. Dans l'autre sens,
+une @code{\numexpr} au sein d'une @code{\dimexpr} ou d'une
+ at code{\glueexpr} nécessite l'ajout d'unité appropriées, comme dans
+ at code{\the\dimexpr\numexpr 1 + 2\relax pt\relax}, ce qui produit
+ at samp{3.0pt}.
+
+Voici les détails de l'artihmétique : chaque facteur est vérifié comme
+étant compris dans l'intervalle autorisé, les nombres doivent être
+inférieurs à @math{2^{31}} en valeur absolue, et les composantes de
+dimensions ou glues doivent être inférieures à @math{2^{14}} points, ou
+ at code{mu}, ou @code{fil}, etc.  Les opérations arithmetiques sont
+effectuées individuellement, sauf pour les opérations de dilatation (une
+multiplication immédiatement suivie d'une division) qui sont faites
+comme une opération combinée avec un produit sur 64-bit comme valeur
+intermédiaire. Le résultat de chaque opération est de nouveau vérifié
+comme appartenant à l'intervalle autorisé.
+
+Finalement, on notera que les divisions et dilatations sont faites avec
+un arrondi au plus proche (contrairement à l'opération @code{\divide} de
+ at TeX{} qui prend un arrondi vers zéro).  Ainsi @code{\the\dimexpr
+5pt*(3/2)\relax} met @samp{10.0pt} dans le document, parce qu'il arrondit
+ at code{3/2} en @code{2}, tandis que @code{\the\dimexpr 5pt*(4/3)\relax}
+produit @samp{5.0pt}.
+
+
 @node Predefined lengths
 @section Longueurs prédéfinies
 @cindex longueurs prédéfinies



More information about the latexrefman-commits mailing list.