web-dev-qa-db-fra.com

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

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

Supposons que je rédige un document technique sur un logiciel et que je veuille définir le nom du paquet dans le préambule ou ailleurs, afin que, si son nom change, je n'ai pas à le remplacer à plusieurs endroits, mais seulement à un endroit. .

317
Andrea Giovacchini

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

325
second

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 par conséquent entraîner diverses erreurs subtiles. Pour résoudre ce problème, utilisez des variables d'espacement de noms telles que my_var ou utilisez plutôt les commandes \newcommand, \renewcommand.

157
plaes

Pour les variables décrivant les distances, vous utiliseriez \newlength (et manipuleriez les valeurs avec \setlength, \addlength, \settoheight, \settolength et \settodepth.).

De même, vous avez accès à \newcounter pour des éléments tels que les numéros de section et de figure, qui doivent être incrémentés dans tout le document. J'ai déjà utilisé celui-ci pour fournir des échantillons de code numérotés séparément d'autres chiffres ...

Il convient également de noter \makebox qui vous permet de stocker un peu de document mis en page pour une utilisation ultérieure (et pour une utilisation avec \settolength...).

32
dmckee

Si vous souhaitez utiliser \newcommand, vous pouvez également 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

17
user1125069

Je pense que vous voudrez probablement utiliser une liste de jetons à cette fin: pour configurer la liste de jetons \newtoks\packagename afin d’attribuer le nom: \packagename={New Name for the package} pour ajouter le nom à votre sortie: \the\packagename.

1
John Burt