Apuntes LaTeX

Páginas: 44 (10779 palabras) Publicado: 8 de octubre de 2015
Apuntes de LATEX
Capítulo 8: Nociones de Programación LATEX

El compilador TEX contiene aproximadamente 300 secuencias de control (comandos)
llamadas primitivas. Éstas son operaciones de bajo nivel que no pueden ser descompuestas en acciones más simples. El resto de lo que propiamente se llama TEX, unas 600
instrucciones, son “macros”, es decir, comandos definidos a partir de las 300 primitivas,haciendo uso de las capacidades de compilador (es decir, lenguaje de programación) de
TEX. Asimismo, el procesador de textos LATEX es otro conjunto de macros construidas
a partir de comandos TEX. En éste capítulo se introducirán las herramientas básicas
de programación disponibles en TEX, útiles para definir nuevos comandos ó entornos,
modificar parámetros, automatizar tareas, en definitivapersonalizar nuestro documento.

1.
1.1.

Nuevos Comandos y Entornos
Comandos

En ésta sección describiremos cómo utilizar el comando \newcommand para definir
nuevos comandos LATEX que puedan ayudarnos a simplificar el realizar tareas repetitivas.
Repasaremos ahora el uso de este tipo de comandos, desde una perspectiva más formal.
Para la definición de un nuevo comando se dispone de tres posibilidades:\newcommand{\NombreComando}[NumArg][ArgDefecto]{Definición}
\renewcommand{\NombreComando}[NumArg][ArgDefecto]{Definición}
\providecommand{\NombreComando}[NumArg][ArgDefecto]{Definición}
donde \NombreComando es el nombre que queremos asignar al nuevo comando, NumArg
indica el número de argumentos que va a tener (comprendido entre 1 y 9), ArgDefecto
es el valor por defecto de un argumento optativo(el primero de ellos), y Definición
contiene la definición del comando, donde los distintos argumentos se denotan como
#1, #2, etc...
Entre estas tres versiones existen diferencias importantes. \newcommand se utiliza para
definir nuevos comandos, por lo que debemos estar seguros de que el comando a definir
no existe. \renewcommand se utiliza para redefinir comandos ya existentes, reescribiendo
yborrado la definición anterior del comando. Finalmente, \providecommand define el
nuevo comando sólo en el caso de que el comando no exista; en caso contrario la nueva
definición carece de efecto.
Para cada una de estas tres posibilidades existen versiones con y sin asterisco; las versiones con asterisco (\newcommand*{\NombreComando}[NumArg]{ArgDef}{Def}, etc...)
1

no permiten que los argumentospuedan extenderse a más de un párrafo, mientras que las
versiones sin asterisco (\newcommand{\NombreComando}[NumArg]{ArgDef}{Def}, etc...)
permiten que los argumentos se extiendan a más de un párrafo.

Ejemplos:
Imaginemos que queremos que un texto aparezca con tipo de letra sansserif e itálico;
podemos entonces definir el comando \nuevotipo, dependiente de un parámetro
(el texto a cambiar detipo):
\newcommand{\nuevotipo}[1]{{\itshape\sffamily #1}}
tras lo cual, escribiendo \nuevotipo{texto sansserif} obtendríamos texto sansserif.
Cambiemos ahora el ejemplo anterior; supongamos que, además, se quiere que, por
defecto, el texto aparezca en tamaño \large, aunque ésto último sea también una
opción modificable; definiríamos entonces:
\newcommand{\nuevotipo}[2][\large]{{#1\itshape\sffamily#2}}
lo cual hace que escribiendo \nuevotipo{texto sansserif} resulte texto sansserif, mientras que con \nuevotipo[\small]{texto sansserif} obtendríamos texto
sansserif

Veamos ahora otro ejemplo útil para la escritura de expresiones matemáticas; imaginemos que la expresión (x1 , x2 , . . . , xn ) aparece frecuentemente en nuestro documento. Podemos entonces definir:\newcommand{\vect}{(x_1,x_2,\dots,x_n)}
con lo cual, cada vez que escribamos $\vect$ (el nombre del nuevo comando)
se imprimirá (x1 , x2 , . . . , xn ). Todos los nuevos comandos conviene situarlos en el
preámbulo.
Ahora compliquemos un poco el ejemplo con la introducción de argumentos variables. Si por ejemplo escribimos:
\newcommand{\vect}[1]{(#1_1,#1_2,\dots,#1_n)}
(añadiendo un argumento, que se sustituye en la fórmula con...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Apuntes de latex
  • latex
  • LATEX
  • Latex
  • Latex
  • latex
  • latex
  • Latex

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS