Создание собственных команд (макросов) в LaTeX: \newcommand
Зачем создавать свои макросы в LaTeX
В математических и технических рукописях часто повторяются длинные типовые конструкции: обозначения векторных пространств $\mathbb{R}^n$, дифференциальные операторы $\frac{\partial^2 f}{\partial x^2}$ или громоздкие аббревиатуры (особенно если затем требуется подробное описание переменных в формулах по ГОСТ). Набирать их вручную десятки раз неэффективно.
Как создать свою команду макрос в LaTeX без параметров
Узнаем, как создать свою команду макрос в latex для простого сокращения. Команда объявляется в преамбуле документа:
\newcommand{\R}{\mathbb{R}}
\newcommand{\eps}{\varepsilon}
Теперь в тексте достаточно написать $\R^3$ вместо длинного $\mathbb{R}^3$, и компилятор автоматически подставит нужное начертание шрифта (а для работы с физическими величинами советуем подключать пакет siunitx для единиц измерения).
Команды с аргументами: newcommand в LaTeX с примерами
Рассмотрим практические newcommand latex примеры с передачей переменных. Синтаксис команды с позиционными параметрами: \newcommand{\имя}[число_аргументов]{определение}.
% Вектор со стрелкой в жирном начертании
\newcommand{\vect}[1]{\mathbf{\vec{#1}}}
% Дробная производная функции по переменной
\newcommand{\pder}[2]{\frac{\partial #1}{\partial #2}}
Использование в документе: $\pder{u}{t} = a^2 \pder{^2 u}{x^2}$. Это делает исходный код статьи чистым и легким для проверки рецензентом.
Макросы с аргументами по умолчанию
LaTeX позволяет задавать первый параметр опциональным: \newcommand{\plusplus}[2][1]{#2 + #1}. Если первый аргумент опущен в квадратных скобках, подставится значение по умолчанию.
Переопределение существующих команд через \renewcommand
Если команда уже существует в базовом дистрибутиве LaTeX (например, \phi или \leq), попытка вызвать \newcommand выдаст ошибку компиляции. В таких случаях используется директива \renewcommand, позволяющая переопределить стандартное поведение (например, заменить стандартное начертание греческой буквы на красивое \renewcommand{\phi}{\varphi}).
Практические советы
Имена команд только из букв
Имя макроса в LaTeX может состоять только из латинских букв (без цифр и спецсимволов). Имя \vec1 вызовет ошибку, используйте \vecOne.