463 votes

Est-il possible de définir une variable dans LaTeX?

Dans LaTeX, comment puis-je définir une variable chaîne dont le contenu est utilisé à la place de la variable dans le fichier PDF compilé?

Disons que j'écris un document technique sur un logiciel et que je veux définir le nom du paquet dans le préambule ou quelque part afin que si son nom change, je n'ai pas à le remplacer dans beaucoup d'endroits mais seulement dans un endroit .

510voto

second Points 11641

ajoutez ce qui suit à votre préambule:

 \newcommand{\newCommandName}{text to insert}
 

Ensuite, vous pouvez simplement utiliser \newCommandName{} dans le texte

Pour plus d'informations sur \newcommand , voir par exemple wikibooks

198voto

plaes Points 8535

Utilisez la commande \def :

 \def \variable {Something that's better to use as a variable}
 

Sachez que \def remplace les macros préexistantes sans aucun avertissement et peut donc provoquer diverses erreurs subtiles. Pour surmonter cela, utilisez des variables de type espace de noms comme my_var ou revenez aux commandes \newcommand , \renewcommand place.

44voto

dmckee Points 50318

Pour les variables décrivant les distances, vous devez utiliser \newlength (et de manipuler les valeurs \setlength, \addlength, \settoheight, \settolength et \settodepth).

De même, vous avez accès à l' \newcounter pour des choses comme la section et les numéros de figures qui doit augmenter dans l'ensemble du document. J'ai utilisé dans le passé pour fournir des exemples de code qui ont été comptés séparément des autres figures...

A noter aussi, \makebox qui vous permet de stocker un peu de mise en document pour les réutiliser plus tard (et pour une utilisation avec des \settolength...).

28voto

user1125069 Points 39

Si vous voulez utiliser \newcommand , vous pouvez aussi inclure \usepackage{xspace} et définir la commande par \newcommand{\newCommandName}{text to insert\xspace} . Cela peut vous permettre d'utiliser simplement \newCommandName plutôt que \newCommandName{} .

Pour plus de détails, http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html

0voto

piotrsz Points 742

Vous pouvez essayer avec \ newcommand bien que j'espère qu'il y a quelque chose de plus approprié.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X