Dans LaTeX, comment puis-je définir une variable de chaîne dont le contenu est utilisé à la place de la variable dans le PDF compilé?
Disons que j'écris un doc technique sur un logiciel et que je veux définir le nom du package 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 seul endroit .
Réponses:
ajoutez ce qui suit à votre préambule:
Ensuite, vous pouvez simplement utiliser
\newCommandName{}
dans le textePour plus d'informations sur
\newcommand
, voir par exemple les wikibooksExemple:
Production:
la source
Utilisez la
\def
commande:Sachez que
\def
remplace les macros préexistantes sans aucun avertissement et peut donc provoquer diverses erreurs subtiles. Pour remédier à cette utilisation soit des variables comme namespacedmy_var
ou revenir à\newcommand
, les\renewcommand
commandes à la place.la source
\def
peut être problématique car elle ne vérifie pas les macros préexistantes. Voir le deuxième cercle de l'enfer LaTeX - en tant que tel, il est préférable d'utiliser\newcommand
variable
signifie-t-il qu'il est susceptible de changer? :)\def
. Au lieu de cela, je pense qu'il est préférable de "initialiser" toutes les variables que vous souhaitez utiliser avec\newcommand
(même si c'est juste avec\@empty
), puis de créer votre commande pour modifier la variable à l'aide\renewcommand
. Cela vous permettra de savoir si votre variable se termine déjà, car\newcommand
générera une erreur (ou au moins un avertissement).\def
fonctionne pour les choses en mode mathématique, alors\newCommandName
que non. (Par exemple,\def\mathExpression{\pi^2 + \sin x}
)Pour les variables décrivant les distances, vous devez utiliser
\newlength
(et manipuler les valeurs avec\setlength
,\addlength
,\settoheight
,\settolength
et\settodepth
).De même, vous avez accès à
\newcounter
des éléments tels que les numéros de section et de figure qui devraient augmenter tout au long du document. J'ai utilisé celui-ci dans le passé pour fournir des exemples de code qui étaient numérotés séparément des autres chiffres ...Il convient également de noter
\makebox
que vous pouvez stocker un peu de document mis en page pour une réutilisation ultérieure (et pour une utilisation avec\settolength
...).la source
\newlength{\hcolw}
et\setlength{\hcolw}{0.47\textwidth}
serait utile.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
la source
Je pense que vous voulez probablement utiliser une liste de tokens à cet effet: mettre en place la liste de jetons
\newtoks\packagename
pour attribuer le nom:\packagename={New Name for the package}
mettre le nom dans votre sortie:\the\packagename
.la source