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.Y a-t-il un moyen de définir une variable dans LaTeX?
Répondre
ajouter suivante vous le 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
Vous pouvez également utiliser juste '' \ newCommandName'' – dialex
@DiAlex soyez prudent lorsque vous omettez les accolades, car cela interférera avec l'espace blanc après le texte inséré. Voir [cette question] (http://tex.stackexchange.com/q/31091). – jtpereyda
Je n'arrive pas à faire fonctionner ceci correctement avec des caractères non-ascii. Des idées? – lindhe
Pour les variables décrivant les distances, vous pouvez utiliser \newlength
(et manipuler les valeurs avec \setlength
, \addlength
, \settoheight
, \settolength
et \settodepth
).
De même, vous avez accès à \newcounter
pour des choses comme les numéros de section et de chiffre qui devraient être incrémentés dans tout le 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 ...
\makebox
Vous pouvez également stocker un peu de document mis en page pour une réutilisation ultérieure (et à utiliser avec \settolength
...).
Un exemple d'utilisation simple comme '\ newlength {\ hcolw}' et '\ setlength {\ hcolw} {0.47 \ textwidth}' serait utile. – trybik
Utilisez la commande \def
:
\def \variable {Something that's better to use as a variable}
Sachez que \def
macros overrides préexistantes sans avertissement et peut donc provoquer diverses erreurs subtiles. Pour surmonter cela, utilisez des variables de type namespace comme my_var
ou revenez à \newcommand
, \renewcommand
à la place.
L'utilisation de '\ def' peut être problématique car elle ne vérifie pas les macros préexistantes. Voir le [deuxième cercle de LaTeX Hell] (http://dabacon.org/pontiff/?p = 6101) - en tant que tel, il est préférable d'utiliser '\ newcommand' –
Merci @RyanAtallah ajouté note à ce sujet. Cependant, le sens de 'variable' ne signifie-t-il pas qu'il est susceptible de changer? :) – plaes
@plaes Vous avez raison, mais cela ne veut pas dire que vous voulez utiliser '\ def'. Au lieu de cela, je pense qu'il est préférable d'initialiser toutes les variables que vous voulez utiliser avec '\ newcommand' (même si c'est juste avec' \ @ empty'), puis créez votre commande pour modifier la variable en utilisant '\ renewcommand '. Cela vous permettra de savoir si votre variable existe déjà, car '\ newcommand' va lancer une erreur (ou au moins un avertissement). – Nick2253
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
Je pense que vous voulez probablement utiliser une liste de tokens à cet effet: de mettre en place la liste jeton \newtoks\packagename
pour attribuer le nom: \packagename={New Name for the package}
pour mettre le nom en votre sortie: \the\packagename
.
- 1. Comment définir une sortie en fonction d'une variable avec un statut dans LaTeX?
- 2. Définir chaque symbole comme une commande dans LaTeX
- 3. Définir une variable d'une table
- 4. Y compris les documents complets de LaTeX dans d'autres
- 5. Mysql: définir une variable dans la sélection
- 6. Comment éviter de définir une variable dans une instruction try
- 7. Définir facilement cette variable?
- 8. Existe-t-il un moyen de vérifier si une étiquette est déjà définie dans LaTeX?
- 9. TSQL Définir une table temporaire (ou une variable de table) sans définir de schéma?
- 10. Javascript et Actionscript 3 [Définir une variable variable]
- 11. Comment définir des balises dans un corps de variable
- 12. Y at-il un moyen de définir des variables mysql en utilisant le connecteur JDBC?
- 13. équations LaTeX dans MediaWiki
- 14. Existe-t-il un moyen d'écrire une expression de variable ayant plus de 4000 caractères dans une variable SSIS?
- 15. Y at-il un moyen de définir les informations CSS pour une instance particulière de YUI DataTable?
- 16. Remplacer un caractère avec une chaîne dans LaTeX
- 17. y at-il un moyen de formater actionscript dans flashdevelop?
- 18. Définir des valeurs de variable
- 19. Y at-il un moyen d'obtenir un REPL dans pydev?
- 20. Comment afficher le code LaTeX dans un document LaTeX?
- 21. Définir une variable à l'aide de jquery draggable/droppable
- 22. Envelopper un mot dans LaTeX
- 23. Comment définir une variable persistante dans SQL * PLUS
- 24. Y at-il un moyen d'installer une DLL dans le GAC dans un fichier VSI?
- 25. Comment définir une variable à l'échelle du serveur dans ColdFusion
- 26. Dans storprocedure comment définir une variable sur où?
- 27. Essayer de transmettre une variable C# booléenne à une variable javascript et la définir à
- 28. un moyen de définir la taille de mon UIViewController
- 29. Les caractères japonais dans un latex \ section {} provoquent une erreur
- 30. comment définir une variable à partir de la sortie mysql
Pour un contenu énorme, il est utile de mentionner \ savebox (https://en.wikibooks.org/wiki/LaTeX/Boxes#savebox). –