Есть ли способ определить переменную в LaTeX?
в LaTeX, как я могу определить строковую переменную, содержимое которой используется вместо переменной в скомпилированном PDF?
предположим, я пишу технический документ на программном обеспечении, и я хочу определить имя пакета в преамбуле или где-то так, что если его имя изменится, мне не придется заменять его во многих местах, но только в одном месте.
5 ответов
добавьте к преамбуле следующее:
\newcommand{\newCommandName}{text to insert}
затем вы можете просто использовать \newCommandName{} текст
подробнее о \newcommand, например wikibooks
использовать :
\def \variable {Something that's better to use as a variable}
имейте в виду, что \def переопределяет существующие макросы без каких-либо предупреждений и поэтому может вызвать различные тонкие ошибки. Чтобы преодолеть это, используйте переменные с пространством имен, такие как my_var или вернуться к \newcommand, \renewcommand вместо команды.
для переменных, описывающих расстояния, нужно использовать \newlength (и манипулировать значениями с \setlength, \addlength, \settoheight, \settolength и \settodepth).
аналогично у вас есть доступ к \newcounter для таких вещей, как номера разделов и рисунков, которые должны увеличиваться по всему документу. Я использовал это в прошлом, чтобы предоставить образцы кода, которые были пронумерованы отдельно от других фигур...
и \makebox что позволяет хранить немного выложенных документ для последующего повторного использования (и для использования с \settolength...).
если вы хотите использовать \newcommand, вы также можете включить \usepackage{xspace} и определить команду \newcommand{\newCommandName}{text to insert\xspace}.
Это может позволить вам просто использовать \newCommandName, а не \newCommandName{}.
подробнее http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html
Я думаю, вы, вероятно, хотите использовать список токенов для этой цели:
настройка списка токенов
\newtoks\packagename
чтобы присвоить имя:
\packagename={New Name for the package}
чтобы поместить имя в вывод:
\the\packagename.