Seus próprios comandos com \newcommand
Escreva \newcommand{\nome}{substituição} no preâmbulo, com [n] para os argumentos #1 a #n; a partir daí, \nome é substituído pela sua definição, no texto e na matemática.
Um comando sem argumentos
Um comando poupa digitação e mantém a notação consistente. Defina-o uma vez no preâmbulo e use-o em qualquer lugar.
Atalhos para conjuntos e um nome de produto
\documentclass{article}
\usepackage{amssymb}
\newcommand{\R}{\mathbb{R}}
\newcommand{\product}{Scissor LaTeX}
\begin{document}
Every $x \in \R$ has a square $x^2 \ge 0$.
This page was typeset by \product.
\end{document}Argumentos e um valor padrão
[n] depois do nome diz quantos argumentos o comando recebe; dentro da definição eles são #1, #2 e assim por diante. Um segundo colchete dá ao primeiro argumento um valor padrão, o que o torna opcional.
Argumentos e um primeiro argumento opcional
\documentclass{article}
\newcommand{\vect}[1]{\mathbf{#1}}
\newcommand{\norm}[1]{\left\lVert #1 \right\rVert}
\newcommand{\greet}[2][Hello]{#1, #2!}
\begin{document}
The length of $\vect{v}$ is $\norm{\vect{v}}$.
\greet{Erika} \greet[Good morning]{John}
\end{document}Alterando um comando existente
\renewcommand substitui um comando que já existe, e \providecommand define um comando só se ele ainda não existir. Usar \newcommand com um nome já ocupado é um erro em uma instalação do TeX; nesse caso, use \renewcommand.
\renewcommand e \providecommand
\documentclass{article}
\renewcommand{\emph}[1]{\textbf{#1}}
\providecommand{\R}{\mathbb{R}}
\begin{document}
This is \emph{emphasised} in bold now, and $\R$ is defined.
\end{document}Nomes de operadores
Nomes de funções como sin e log são compostos em letra reta, com o espaçamento certo. \DeclareMathOperator (amsmath) cria os seus; a forma com asterisco põe os limites embaixo nas fórmulas destacadas, como \max.
\DeclareMathOperator e sua forma com asterisco
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\Var}{Var}
\DeclareMathOperator*{\argmax}{arg\,max}
\begin{document}
\[
\Var(X) = \mathbb{E}\left[(X - \mu)^2\right],
\qquad
\hat{\theta} = \argmax_{\theta} L(\theta)
\]
\end{document}Seus próprios ambientes
\newenvironment{nome}[n]{antes}{depois} define um ambiente: o código "antes" é executado em \begin{nome} e o código "depois" em \end{nome}. Os argumentos podem ser usados na parte "antes".
Um ambiente com um argumento
\documentclass{article}
\newenvironment{task}[1]
{\par\noindent\textbf{Task #1.}\ }
{\par}
\begin{document}
\begin{task}{44}
Measure the rainfall every morning.
\end{task}
\end{document}O que funciona
| Comando | No Scissor LaTeX | Observações |
|---|---|---|
\newcommand, \renewcommand, \providecommand | Funciona | Até 9 argumentos, com um primeiro argumento opcional com valor padrão. As formas com asterisco também. |
\DeclareRobustCommand | Funciona | Como \newcommand. |
\newenvironment, \renewenvironment | Funciona | Com argumentos e um valor padrão. |
\DeclareMathOperator, \DeclareMathOperator* | Funciona | |
\def\name{...}, \gdef, \edef, \xdef | Em parte | Definições simples e argumentos no estilo #1 funcionam; parâmetros delimitados como \def\pt(#1,#2){...} não são reconhecidos e geram uma saída embaralhada. |
\let\new\old | Funciona | |
\NewDocumentCommand, \RenewDocumentCommand (xparse) | Não suportado | A definição é descartada e o comando é relatado como desconhecido onde é usado. |
\DeclarePairedDelimiter (mathtools) | Funciona | |
\makeatletter, \makeatother | Aceito | Comandos com @ no nome não são executados. |
As definições são expandidas antes da composição, então um comando pode ser usado no texto, na matemática, nas legendas e nos títulos de seção. Para evitar laços infinitos, a expansão para em um limite de segurança, com uma mensagem na aba Problemas.
Comandos do xparse
\NewDocumentCommand do xparse não é lido. A definição é descartada e, onde o comando é usado, o nome dele é pulado com uma mensagem, enquanto os argumentos continuam no texto.
\NewDocumentCommand não é suportado
\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\pair}{m m}{(#1, #2)}
\begin{document}
The pair \pair{a}{b} loses its parentheses and comma.
\end{document}Aba Problemas: Skipped 1 unknown command: \pair
Para corrigir, escreva o mesmo comando com \newcommand{\pair}[2]{(#1, #2)}. Para argumentos opcionais, \newcommand com um valor padrão cobre o caso mais comum.
O que difere de uma instalação do TeX
Os manuais do xparse e do mathtools estão no CTAN: xparse, mathtools. Para operadores e nomes de funções, veja também Somas, integrais e nomes de funções.
Perguntas e respostas
Como eu defino um novo comando no LaTeX?
Escreva \newcommand{\nome}{texto} no preâmbulo. Acrescente [2] depois do nome para dois argumentos e use #1 e #2 no texto.
Qual é a diferença entre \newcommand e \def?
\newcommand verifica se o nome está livre e suporta um argumento opcional. \def é o comando de baixo nível do TeX; ele sobrescreve sem perguntar. Prefira \newcommand e \renewcommand.
O \NewDocumentCommand funciona no Scissor LaTeX?
Não. Reescreva esses comandos com \newcommand, que cobre argumentos obrigatórios e um argumento opcional.
Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.