> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/es/comandos/01-commands.md).

# Comandos

## Introducción

Este artículo ofrece una primera introducción a *comandos*, que son un componente vital de las capacidades de composición tipográfica de LaTeX. La mayoría de los comandos de LaTeX son palabras simples precedidas por un carácter especial, generalmente `\`, el carácter de barra invertida. Veamos algunos ejemplos:

```latex
\documentclass{article}
\begin{document}
En un documento hay diferentes tipos de \textbf{comandos}
que definen la forma en que se muestran los elementos. Estos
comandos pueden insertar elementos especiales: $\alpha \beta \Gamma$
\end{document}
```

[Abra este ejemplo en Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+commands+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AIn+a+document+there+are+different+types+of+%5Ctextbf%7Bcommands%7D+%0Athat+define+the+way+the+elements+are+displayed.+This+%0Acommands+may+insert+special+elements%3A+%24%5Calpha+%5Cbeta+%5CGamma%24%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Formato básico de texto usando LaTeX](/files/6b1ab6d1c3d9a5c874b87454cd58ba353c406335)

En el ejemplo anterior, hay diferentes tipos de comandos; por ejemplo, `\textbf` pondrá en negrita el texto pasado como parámetro al comando. En modo matemático, hay comandos especiales, como `\alpha`, `\beta` y `\Gamma` para mostrar caracteres griegos.

## Comandos

Aquí hay un ejemplo de código LaTeX con comandos para crear una lista con viñetas:

```latex
\documentclass{article}
\begin{document}
Un ejemplo de lista:
\begin{itemize}
  \item[\S] Primer elemento
  \item Segundo elemento
\end{itemize}
\end{document}
```

[Abra este ejemplo en Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+itemized+list+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AA+list+example%3A%0A%5Cbegin%7Bitemize%7D%0A++%5Citem%5B%5CS%5D+First+item%0A++%5Citem+Second+item%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Una lista básica compuesta en LaTeX](/files/a3c4a910ac36ece33157b94d9d96a1f6f4080e4b)

El comando `\begin{itemize}` inicia un `itemize` *entorno*—véase el [artículo sobre entornos](/latex/es/comandos/02-environments.md) para más detalles. Debajo de la declaración del entorno está el comando `\item` que le indica a LaTeX que inicie una nueva entrada de la lista: para formatearla, añade una marca especial (un pequeño punto negro llamado viñeta) y sangra la entrada.

Algunos comandos requieren uno o más *parámetros*; por ejemplo, la `\textbf` comando (usado arriba) que toma un solo parámetro: el texto que se mostrará en negrita, el cual se escribe dentro de llaves así: `\textbf{haz esto en negrita}`.

También hay *conjunto de parámetros* parámetros que pueden pasarse a un comando para cambiar su comportamiento; esos parámetros opcionales deben colocarse entre corchetes: `[...]`. En el ejemplo anterior, el comando `\item[\S]` hace lo mismo que `\item`, excepto que dentro de los corchetes está `\S`, que sustituye otro carácter para reemplazar el punto negro antes del texto de la entrada.

## Definir un nuevo comando

Aunque LaTeX incluye una enorme cantidad de comandos, a menudo es necesario definir tus propios comandos especiales para simplificar tu trabajo, reducir tareas repetitivas o realizar algún formato complejo.

### Comandos simples

Los nuevos comandos se definen mediante `\newcommand`; así que veamos un ejemplo sencillo:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\R}{\mathbb{R}}
El conjunto de los números reales suele representarse
con una R mayúscula en estilo blackboard bold: \( \R \).
\end{document}
```

[Abra este ejemplo en Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Creating+a+simple+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5CR%7D%7B%5Cmathbb%7BR%7D%7D%0AThe+set+of+real+numbers+are+usually+represented+%0Aby+a+blackboard+bold+capital+R%3A+%5C%28+%5CR+%5C%29.%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Salida de un nuevo comando](/files/000e48aeaa6a8dc922e9b051a74b5b5be5cb63b7)

La instrucción `\newcommand{\R}{\mathbb{R}}` tiene dos parámetros que definen un nuevo comando, donde:

* `\R`: es el nombre del nuevo comando.
* `\mathbb{R}`: es lo que hace el nuevo comando. En este caso, la letra R se escribirá en estilo blackboard bold. El uso del `\mathbb` comando requiere el `amssymb` paquete, que se añadió al ejemplo anterior (en el preámbulo).

Una vez definido el comando, podemos usarlo en el texto, como se mostró arriba. En este ejemplo, el nuevo comando se define inmediatamente antes del párrafo en el que se usa; sin embargo, dispersar estas definiciones por todo tu documento no se considera una buena práctica. Por lo general, las definiciones de nuevos comandos se agrupan en el preámbulo del documento o, para colecciones más grandes, se colocan en un archivo separado que puede [importarse en tu documento principal](/latex/es/estructura-del-documento/07-management-in-a-large-project.md#inputting-and-including-files).

### Comandos con parámetros

También es posible crear nuevos comandos que acepten algunos parámetros; por ejemplo:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\newcommand{\bb}[1]{\mathbb{#1}}
Otros sistemas numéricos tienen notaciones similares.
Los números complejos \( \bb{C} \), los racionales
los números \( \bb{Q} \) y los números enteros \( \bb{Z} \).
\end{document}
```

[Abre este ejemplo en Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Basic+command+with+1+parameter\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cbb%7D%5B1%5D%7B%5Cmathbb%7B%231%7D%7D%0AOther+numerical+systems+have+similar+notations.+%0AThe+complex+numbers+%5C%28+%5Cbb%7BC%7D+%5C%29%2C+the+rational+%0Anumbers+%5C%28+%5Cbb%7BQ%7D+%5C%29+and+the+integer+numbers+%5C%28+%5Cbb%7BZ%7D+%5C%29.%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Salida de un comando de LaTeX con un parámetro](/files/941d469e68fd37c6562b407642370d339f389eee)

La línea `\newcommand{\bb}[1]{\mathbb{#1}}` define un nuevo comando que toma un parámetro, donde:

* `\bb` es el nombre del nuevo comando.
* `[1]` es el número de parámetros que tomará el nuevo comando.
* `\mathbb{#1}` es lo que el comando realmente hace: su definición.

En este caso, el parámetro, referido como `#1`, se escribirá usando caracteres en estilo blackboard bold. Si un comando necesita más de un parámetro, puedes referirte a cada parámetro usando `#1`, `#2` y así sucesivamente. Se admiten hasta 9 parámetros.

### Comandos con parámetros opcionales

Los comandos definidos por el usuario pueden hacerse aún más flexibles que los ejemplos mostrados hasta ahora: puedes definir comandos que tomen *conjunto de parámetros* parámetros:

```latex
\documentclass{article}
\begin{document}

Al escribir muchas expresiones con exponentes podemos simplificar nuestra tarea y ahorrar tiempo definiendo un comando adecuado:

\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}

Podemos usarlo así: \[ \plusbinomial{x}{y} \]

E incluso se puede cambiar el exponente:

\[ \plusbinomial[4]{a}{b} \]
\end{document}
```

[Abra este ejemplo en Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+command+with+optional+parameters\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%0AWhen+writing+many+expressions+with+exponents+we+can+simplify+our+task%2C+and+save+time%2C+by+defining+a+suitable+command%3A%0A%0A%5Cnewcommand%7B%5Cplusbinomial%7D%5B3%5D%5B2%5D%7B%28%232+%2B+%233%29%5E%231%7D%0A%0AWe+can+use+it+like+this%3A+%5C%5B+%5Cplusbinomial%7Bx%7D%7By%7D+%5C%5D%0A%0AAnd+even+the+exponent+can+be+changed%3A%0A%0A%5C%5B+%5Cplusbinomial%5B4%5D%7Ba%7D%7Bb%7D+%5C%5D%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Salida de un comando con parámetros opcionales](/files/8f7cd2278ed5c6cc015e77d0acd2e58f13758f3c)

Analicemos la sintaxis de la línea `\newcommand{\plusbinomial}[3][2]{(#2 + #3)^#1}`:

* `\plusbinomial` es el nombre del nuevo comando.
* `[3]` es el número de parámetros que tomará el comando, en este caso 3.
* `[2]` es el valor predeterminado para el primer parámetro. Esto es lo que hace que el primer parámetro sea opcional; si no se proporciona, usará este valor predeterminado.
* `(#2 + #3)^#1` es lo que hace el comando. En este caso, colocará el segundo y el tercer parámetro en un «formato binomial» elevado a la potencia representada por el primer parámetro.

## Sobrescribir comandos existentes

Si intentas definir un nuevo comando que tenga el mismo nombre que un *ya existente* comando de LaTeX, la compilación fallará con un mensaje de error. Esto se demuestra en el siguiente ejemplo que intenta definir el (existente) `\textbf` comando:

```latex
\documentclass{article}
\newcommand{\textbf}[1]{#1}% Esto no funcionará
\begin{document}

\section{Esto fallará}
\end{document}
```

[Abre este (**generador de errores**) ejemplo en Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Duplicate+command+name\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cnewcommand%7B%5Ctextbf%7D%5B1%5D%7B%231%7D%25+This+will+not+work%0A%5Cbegin%7Bdocument%7D%0A%0A%5Csection%7BThis+will+fail%7D%0A%5Cend%7Bdocument%7D)

Al compilar este ejemplo se obtiene la siguiente salida:

![Error generado por la definición duplicada de un comando de LaTeX](/files/9975ea0327a207df1039ed695f4cc3291b55c58a)

Como se muestra en la captura de pantalla, nuestro intento de definir `\textbf` ha fallado: LaTeX generó el mensaje de error **Error de LaTeX: el comando \textbf ya está definido**.

Si realmente quieres sobrescribir un comando existente, esto puede lograrse mediante `\renewcommand`, que usa la misma sintaxis que `\newcommand`:

```latex
\documentclass{article}
\usepackage{amssymb}
\begin{document}

\renewcommand{\S}{\mathbb{S}}

La esfera de Riemann (los números complejos más $\infty$) se
representa a veces mediante \( \S \).
\end{document}
```

[Abra este ejemplo en Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Redefine+existing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamssymb%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Crenewcommand%7B%5CS%7D%7B%5Cmathbb%7BS%7D%7D%0A%0AThe+Riemann+sphere+%28the+complex+numbers+plus+%24%5Cinfty%24%29+is+%0Asometimes+represented+by+%5C%28+%5CS+%5C%29.%0A%5Cend%7Bdocument%7D)

Este ejemplo produce la siguiente salida:

![Salida de un comando de LaTeX redefinido](/files/ca1be92ae81ef529f665289985b0ed022daeb53b)

En este ejemplo, el comando `\S` (véase el ejemplo en la [comandos](#commands) sección) se sobrescribe para imprimir una S en estilo blackboard bold.

## Lectura adicional

Para más información, consulte:

* [Entornos](/latex/es/comandos/02-environments.md)
* [Entender los paquetes y los archivos de clase](/latex/es/archivos-de-clase/01-understanding-packages-and-class-files.md)
* [Escribir su propio paquete](/latex/es/archivos-de-clase/03-writing-your-own-package.md)
* [Escribir su propia clase](/latex/es/archivos-de-clase/04-writing-your-own-class.md)
* [Longitudes en LaTeX](/latex/es/formato/01-lengths-in-latex.md)
* [Uso de colores en LaTeX](/latex/es/formato/13-using-colors-in-latex.md)
* [Tamaño de página y márgenes](/latex/es/formato/07-page-size-and-margins.md)
* [Lista de paquetes y archivos de clase](/latex/es/archivos-de-clase/02-overleaf-and-tex-live.md)
* [La introducción no tan breve a LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [LaTeX/Creación\_de\_paquetes en WikiBooks](http://en.wikibooks.org/wiki/LaTeX/Creating_Packages)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/es/comandos/01-commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
