latex
Определение макросов
Поиск…
Синтаксис
- \ newcommand {\ macro} {заменяющий текст}
- \ newcommand {\ macro} [argcount] {заменяющий текст}
- \ renewcommand {\ macro} {заменяющий текст}
- \ renewcommand {\ macro} [argcount] {заменяющий текст}
параметры
параметр | подробности |
---|---|
\macro | Макрос для определения |
argcount | Количество аргументов, ожидаемых макросом (необязательно) |
replacement text | Текст замены для макроса. Внутри этого текста #1 , #2 и т. Д. Заменяются аргументами макроса. |
Базовое определение макросов
Определить новую базовую команду
Макрос можно определить с помощью команды \newcommand
. Например:
\newcommand{\foo}{Just foo, you see?}
определяет макрос \foo
который расширяется до Just foo, you see?
, Затем он может использоваться как любая встроенная команда, например, после этого определения:
He said: ``\foo''
расширяется до
He said: ``Just foo, you see?''
Определить новую команду с аргументами
Макросы также могут иметь аргументы. Число аргументов задается как необязательный аргумент между именем команды и заменяющим текстом. В заменяющем тексте доступ к аргументам осуществляется с помощью #1
, #2
и т. Д. Например:
\newcommand{\better}[2]{A #1 is better than a #2.}
\better{solution}{problem} % gives: A solution is better than a problem
Переопределение существующей команды
Если макрос уже определен, \newcommand
дает ошибку. Чтобы дать новое определение для существующей команды, вместо этого используется \renewcommand
. Помимо имени, синтаксис точно такой же. Например, после определения \foo
выше, можно было бы использовать:
\renewcommand{\foo}{Another foo, please.}
После этого переопределения макрос \foo
больше не расширяется до Just foo, you see?
но к Another foo, please.