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

vincentb1 at gnu.org.ua vincentb1 at gnu.org.ua
Mon Jul 31 13:12:28 CEST 2017


Author: vincentb1
Date: 2017-07-31 14:12:28 +0300 (Mon, 31 Jul 2017)
New Revision: 573

Modified:
   trunk/ChangeLog
   trunk/latex2e-fr.texi
   trunk/latex2e.texi
Log:
\DeclareRobustCommand & \CheckCommand, translate to fr and improve.

* latex2e-fr.texi (Class and package commands): Add \CheckCommand
and \DeclareRobustCommand as per Jim's r568 2017-07-30 edits + my
own modifications in latex2e.texi.

* latex2e.texi (Class and package commands/\CheckCommand): Use &
define term "long" for long command + improve description.
(Class and package commands/\DeclareRobustCommand): Improve
existing description. Add mention to etoolbox macros.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2017-07-31 10:10:55 UTC (rev 572)
+++ trunk/ChangeLog	2017-07-31 11:12:28 UTC (rev 573)
@@ -1,5 +1,16 @@
 2017-07-31  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
 
+	* latex2e-fr.texi (Class and package commands): Add \CheckCommand
+	and \DeclareRobustCommand as per Jim's r568 2017-07-30 edits + my
+	own modifications in latex2e.texi.
+
+	* latex2e.texi (Class and package commands/\CheckCommand): Use &
+	define term "long" for long command + improve description.
+	(Class and package commands/\DeclareRobustCommand): Improve
+	existing description. Add mention to etoolbox macros.
+
+2017-07-31  Vincent Belaïche  <vincentb1 at users.sourceforge.net>
+
 	* Makefile.1: Extend check-dw to handle other languages. Add
 	target help.
 

Modified: trunk/latex2e-fr.texi
===================================================================
--- trunk/latex2e-fr.texi	2017-07-31 10:10:55 UTC (rev 572)
+++ trunk/latex2e-fr.texi	2017-07-31 11:12:28 UTC (rev 573)
@@ -13,7 +13,10 @@
 @c xx mais LaTeX2e substance est manquant.
 @c xx une liste aléatoire de quelques items manquant est à la fin de ce fichier
 @c
- at c xx \ProvidesPackage etc.
+ at c xx misc commands from clsguide.pdf: MakeUpperCase, \ignorespacesafterend,
+ at c   \normalsfcodes
+ at c xx color (include info from clsguide.pdf)
+ at c xx ending a run with errors
 @c xx ctan, distributions, composant de TeX
 @c xx mention \nocorr, \textit et ic
 @c xx donner réelle smallskip / etc. par défaut
@@ -1197,6 +1200,22 @@
 crochet plusieurs fois ; le @code{code} sera exécuté dans l'ordre
 d'appel.  Voir aussi @ref{\AtBeginDocument}.
 
+ at item \CheckCommand@{@var{cmd}@}[@var{num}][@var{défaut}]@{@var{définition}@}
+ at item \CheckCommand*@{@var{cmd}@}[@var{num}][@var{défaut}]@{@var{définition}@}
+ at findex \CheckCommand
+ at findex \CheckCommand*
+ at cindex nouvelle commande, vérification
+Similaire à @code{\newcommand} (@pxref{\newcommand & \renewcommand})
+mais ne définit pas @var{cmd} ; à la place vérifie que la définition
+actuelle de @var{cmd} est exactement celle donnée par @var{définition}
+et est ou n'est pas @dfn{longue} selon ce que l'on attend.
+ at cindex commande longue
+Une commande est dite longue lorsque elle accepte @code{\par} au sein
+d'un argument. On attend que la commande @var{cmd} soit longue avec la
+version non-étoilée de @code{\CheckCommand}. Lève une erreur en cas
+d'échec de la vérification. Ceci vous permet de vérifier avant de
+redéfinir vous-même @var{cmd} qu'aucun paquetage ne l'a pas déjà fait.
+
 @item \ClassError@{@var{nom de la classe}@}@{@var{texte de l'erreur}@}@{@var{texte d'aide}@}
 @item \PackageError@{@var{nom du paquetage}@}@{@var{texte de l'erreur}@}@{@var{texte d'aide}@}
 @item \ClassWarning@{@var{nom de la classe}@}@{@var{warning text}@}
@@ -1287,6 +1306,49 @@
     \PassOptionsToClass@{\CurrentOption@}@{article@}@}@}
 @end example
 
+ at item \DeclareRobustCommand@{@var{cmd}@}[@var{num}][@var{défaut}]@{@var{définition}@} 
+ at item \DeclareRobustCommand*@{@var{cmd}@}[@var{num}][@var{défaut}]@{@var{définition}@}
+ at findex \DeclareRobustCommand
+ at findex \DeclareRobustCommand*
+ at cindex nouvelle commande, définition
+Similaire à @code{\newcommand} et @code{\newcommand*}
+(@pxref{\newcommand & \renewcommand}) mais déclare une commande robuste,
+même si @var{définition} comprend du code fragile. (Pour une discussion
+sur les commandes robustes et fragiles @pxref{\protect}). Utilisez ces
+commande pour définir de nouvelles commandes robustes, ou redéfinir des
+commandes existantes en les rendant robustes. Contrairement à
+ at code{\newcommand} elle ne produisent pas d'ereru si la macro @var{cmd}
+existe déjà ; au lieu de cela un message est écrit dans le fichier
+journal pour indiquer la redéfinition de la commande.
+
+Les commandes définies de cette manière sont légèrement moins efficace
+que celle définies avec @code{\newcommand}, c'est pourquoi, à moins que
+le contenu de la commande soit fragile et que la commande soit utilisée
+au sein d'un argument mouvant, utilisez @code{\newcommand}.
+
+ at PkgIndex{etoolbox} Le paquetage @code{etoolbox} offre les commandes
+ at code{\newrobustcmd}, @code{\newrobustcmd*}, @code{\renewrobustcmd},
+ at code{\renewrobustcmd*}, @code{\providerobustcmd}, et
+ at code{\providrobustcmd*} qui sont similaire aux commandes standardes
+ at code{\newcommand}, @code{\newcommand*}, @code{\renewcommand},
+ at code{\renewcommand*}, @code{\providecommand}, et
+ at code{\providcommand*}, mais définissent une commande @var{cmd} robuste
+avec deux advanges par rapport à @code{\DeclareRobustCommand} :
+ at enumerate
+ at item
+Elle utilisent un mécanisme de protection de bas niveau d'e- at TeX{} au
+lieu du mécanisme de plus au niveau de @LaTeX{} utilisant
+ at code{\protect}, ainsi elles ne subissent pas la légère perte de
+performance mentionnée plus haut, et
+ at item
+Elles font la même distinction entre @code{\new at dots{}},
+ at code{\renew at dots{}}, et @code{\provide at dots{}} que les commandes
+standardes, ainsi elle ne font pas qu'envoyer un message dans le journal
+lorsque vous redéfinissez @var{cmd} déjà existantes, dans ce cas vous
+devez utiliser soit @code{\renew at dots{}} soit @code{\provide at dots{}} ou il
+y a une erreur.
+ at end enumerate
+
 @item \IfFileExists@{@var{nom fichier}@}@{@var{si vrai}@}@{@var{si faux}@}
 @item \InputIfFileExists@{@var{nom fichier}@}@{@var{si vrai}@}@{@var{si faux}@}
 @findex \IfFileExists
@@ -5593,6 +5655,7 @@
 des genres.
 
 @c xx everything in this chapter needs exemples.
+ at c xx Add DeclareRobustCommand (see clsguide.pdf)
 
 @menu
 * \newcommand & \renewcommand:: (Re)définir une nouvelle commande.

Modified: trunk/latex2e.texi
===================================================================
--- trunk/latex2e.texi	2017-07-31 10:10:55 UTC (rev 572)
+++ trunk/latex2e.texi	2017-07-31 11:12:28 UTC (rev 573)
@@ -1055,11 +1055,14 @@
 @cindex new command, check
 Like @code{\newcommand} (@pxref{\newcommand & \renewcommand}) but does
 not define @var{cmd}; instead it checks that the current definition of
- at var{cmd} is exactly as given by @var{definition}. It raises an error if
-these definitions differ, or if one accepts @code{\par} and the other
-does not.  This allows you to check before you start redefining
- at code{cmd} yourself that no other package has already redefined this
-command.
+ at var{cmd} is exactly as given by @var{definition} and is or is not 
+ at cindex long command
+ at dfn{long} as expected.  A long command is a command that accepts
+ at code{\par} within an argument.  The @var{cmd} command is expected to be
+long with the unstarred version of @code{\CheckCommand}.  Raises an
+error when the check fails.  This allows you to check before you start
+redefining @code{cmd} yourself that no other package has already
+redefined this command.
 
 @item \ClassError@{@var{class name}@}@{@var{error text}@}@{@var{help text}@}
 @item \PackageError@{@var{package name}@}@{@var{error text}@}@{@var{help text}@}
@@ -1156,15 +1159,36 @@
 within the @var{definition} is fragile.  (For a discussion of robust and
 fragile commands @pxref{\protect}.) Use this command to define new
 robust commands or to redefine existing commands and make them
-robust. Unlike @code{\newcommand} these do not give an error if a macro
-of that name already exists; instead, a log message is put into the
+robust. Unlike @code{\newcommand} these do not give an error if macro
+ at var{cmd} already exists; instead, a log message is put into the
 transcript file if a command is redefined.
 
 Commands defined this way are a bit less efficient than those defined
-using @code{\newcommand} so unless the command's data will be reread
-later, use @code{\newcommand}.
+using @code{\newcommand} so unless the command's data is fragile and the
+command is used within a moving argument, use @code{\newcommand}.
 
+ at PkgIndex{etoolbox} 
+The @code{etoolbox} package offers commands @code{\newrobustcmd},
+ at code{\newrobustcmd*}, @code{\renewrobustcmd}, @code{\renewrobustcmd*},
+ at code{\providerobustcmd}, and @code{\providrobustcmd*} which are similar
+to @code{\newcommand}, @code{\newcommand*}, @code{\renewcommand},
+ at code{\renewcommand*}, @code{\providecommand}, and
+ at code{\providecommand*}, but define a robust @var{cmd} with two advanges
+as compared to @code{\DeclareRobustCommand} :
+ at enumerate
+ at item
+They use a low level e- at TeX{} protection mechanism rather than the
+higher level @LaTeX{} @code{\protect} mechanism, so they do not incurr
+the slight loss of perfomance mentioned above, and
+ at item
+They make the same distinction between @code{\new at dots{}},
+ at code{\renew at dots{}}, and @code{\provide at dots{}}, as the standard
+commands, so they do not just make a log message when you redefine
+ at var{cmd} that already exists, in that case you need to use either
+ at code{\renew at dots{}} or @code{\provide at dots{}} or you get an error.
+ at end enumerate
 
+
 @item \IfFileExists@{@var{file name}@}@{@var{true code}@}@{@var{false code}@}
 @item \InputIfFileExists@{@var{file name}@}@{@var{true code}@}@{@var{false code}@}
 @findex \IfFileExists
@@ -5923,7 +5947,7 @@
 @LaTeX{} has support for making new commands of many different kinds.
 
 @c xx everything in this chapter needs examples.
- at c xx Add DeclareRoustCommand (see clsguide.pdf)
+ at c xx Add DeclareRobustCommand (see clsguide.pdf)
 
 @menu
 * \newcommand & \renewcommand::           (Re)define a new command.



More information about the latexrefman-commits mailing list