Есть ли способ определить переменную в 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
.