Este es un manual de referencia extraoficial
para LaTeX. Ve abajo la Tabla de
contenido. Si deseas un tutorial, visita learnlatex.org
o
esta lista.
Este manual tiene dos versiones. Una tiene páginas web separadas para cada sección o subsección. También está disponible como una página web única y como un pdf. Ten en cuenta que también hay una edición en Francés mantenida por separado.
Este documento es extraoficial. No ha sido revisado por los mantenedores de LaTeX. Nuestro objetivo es cubrir todos los comandos LaTeX (no privados). Tus comentarios y contribuciones, incluidos los informes de errores, son muy bienvenidos. Ve nuestra página del proyecto para obtener más información, incluida información de licencia e información sobre cómo puedes contribuir a este manual tanto como duplicarlo.
Este documento es un manual de referencia extraoficial (versión Enero 2023) para LaTeX2e, un sistema de preparación de documentos.
fontenc
\DeclareFontEncoding
\DeclareTextAccent
\DeclareTextAccentDefault
\DeclareTextCommand
y \ProvideTextCommand
\DeclareTextCommandDefault
y \ProvideTextCommandDefault
\DeclareTextComposite
\DeclareTextCompositeCommand
\DeclareTextSymbol
\DeclareTextSymbolDefault
\LastDeclaredEncoding
\UseTextSymbol
y \UseTextAccent
abstract
array
center
Description
displaymath
document
enumerate
eqnarray
equation
figure
filecontents
flushleft
flushright
itemize
letter
: escribir cartaslist
math
minipage
picture
quotation
y quote
tabbing
table
tabular
thebibliography
theorem
titlepage
verbatim
verse
\newcommand
y \renewcommand
\providecommand
\makeatletter
y \makeatother
\@ifstar
\newcounter
: Asignar un contador\newlength
\newsavebox
\newenvironment
y \renewenvironment
\newtheorem
\newfont
\protect
\ignorespaces e \ignorespacesafterend
\enspace
, \quad
y \qquad
\hspace
\hfill
\hss
\spacefactor
\
~
\thinspace
y \negthinspace
\/
\hrulefill
y \dotfill
\bigskip
, \medskip
y \smallskip
\bigbreak
, \medbreak
y \smallbreak
\strut
\vspace
\vfill
\addvspace
Este es un manual de referencia extraoficial para el sistema de preparación de documentos LaTeX2e, que es un paquete de macros para el programa de composición tipográfica TeX (véase Descripción de LaTeX).
La página oficial de este documento es https://latexref.xyz; Tiene páginas web separadas para cada tema. Alternativamente https://latexref.xyz/dev/latex2e.html tiene el documento completo en una sola página. Para otros formatos de salida, las fuentes y mucho más información, consulta https://latexref.xyz/dev/.
En este documento, principalmente usaremos ‘LaTeX’ en lugar de ‘LaTeX2e’, ya que la versión anterior de LaTeX (2.09) está congelada hace décadas.
LaTeX es mantenido por un grupo de voluntarios (https://latex-project.org). La documentación oficial escrita por el proyecto LaTeX está disponible en su sitio web. El presente documento es completamente extraoficial y, no ha sido escrito ni revisado por los mantenedores de LaTeX. No envíes informes de errores o cualquier otra cosa sobre este documento. En su lugar, envía todos los comentarios a [email protected].
Este documento es una referencia, no un tutorial. Hay una gran variedad de otra información disponible sobre LaTeX, en todos los niveles. Aquí tienes algunas introducciones.
Dos páginas de referencias recomendadas para la documentación de LaTeX.
Escribe tu primer documento, con un poco de texto y matemáticas.
Una introducción más larga a LaTeX, traducida a muchos idiomas.
Introducción al sistema TeX, incluido LaTeX, con más referencias
LaTeX es un sistema para la composición tipográfica de documentos. Originalmente fue creado por Leslie Lamport en 1984, pero ha sido mantenido por un grupo de voluntarios desde hace muchos años (https://latex-project.org). Se utiliza ampliamente, en particular, pero no exclusivamente, para matemáticas y documentos técnicos.
Un usuario de LaTeX escribe un archivo de entrada que contiene texto para componer junto con comandos intercalados. La codificación predeterminada para el texto es UTF-8 (a partir de 2018). Los comandos especifican, por ejemplo, cómo se debe formatear el texto.
LaTeX se implementa como un conjunto de las llamadas “macros” relacionadas que usa Donald E. El programa de composición tipográfica TeX de Knuth o uno de sus derivados, conocidos colectivamente como “motores”. Así, el usuario produce una salida, normalmente PDF, entregando el archivo de entrada a un motor TeX. (Las siguientes secciones describen todo esto con más detalle).
(El término LaTeX también se usa a veces para indicar el lenguaje en el que el documento de entrada está marcado, es decir, para especificar el conjunto de comandos disponible para un usuario de LaTeX.
El nombre LaTeX es la abreviatura de “Lamport TeX”. Se
pronuncia LAH-teck o LAY-teck, o a veces LAY-tecks. Dentro de un
documento, puedes producir el logo con \LaTeX
. Cuando el uso
del logotipo no es sensible, como en texto sin formato, escríbelo como
‘LaTeX’.
Los archivos LaTeX tienen una estructura global simple, con un comienzo y fin estándar. Este es un pequeño ejemplo.
\documentclass{article} \begin{document} Hola, mundo \LaTeX\. \end{document}
Cada documento LaTeX tiene una línea \begin{document}
y
una línea \end{document}
.
Aquí, ‘article’ es la clase de documento. Se implementa en un archivo article.cls. Puedes utilizar cualquier clase de documento en tu sistema. Algunas clases de documentos están definidas por el mismo LaTeX y hay una gran variedad de otras clases ampliamente disponibles. Véase Clases de documentos.
Puedes incluir otros comandos LaTeX entre los comandos
\documentclass
y \begin{document}
. Esta área se llama
preámbulo.
El par \begin{document}
, \end{document}
define un
entorno; el entorno ‘document’ (y no otros) es obligatorio
en todos los documentos LaTeX (véase document
). LaTeX pone a
tu disposición muchos entornos que están documentados aquí
(véase Entornos). Muchos más están disponibles para ti desde
paquetes externos, sobre todo los disponibles en CTAN (véase CTAN: La red integral de archivo TeX).
Las siguientes secciones tratan sobre cómo producir PDF u otra salida desde un archivo de entrada LaTeX.
LaTeX produce un archivo de salida principal y al menos dos archivos auxiliares. El nombre del archivo de salida principal termina en .dvi o .pdf.
.dvi
¶Si LaTeX se invoca con el comando
del sistema latex
entonces produce un archivo independiente
del dispositivo, con extensión .dvi. Puedes ver este archivo
con un comando como xdvi
, o lo puedes convertir a un archivo
PostScript .ps
con dvips
o a un archivo de formato de
documento portable .pdf
con dvipdfmx
. El contenido
del archivo se puede volcar en forma legible por humanos con
dvitype
. Hay disponible una amplia gama de programas DVI
utilitarios (https://mirror.ctan.org/dviware).
.pdf
¶Si LaTeX se invoca a través del
comando del sistema pdflatex
, entre otros comandos
(véase Motores TeX), entonces la salida principal es un archivo
de formato de documento portable (PDF). Típicamente este es un
archivo independiente, incluyendo todos los tipos de letra e imágenes
necesarias.
LaTeX siempre produce al menos dos archivos adicionales.
.log
¶Esta transcripción del archivo contiene información resumida, como una lista de paquetes cargados. También incluye mensajes de diagnóstico y quizás información adicional para cualquier error.
.aux
¶La información auxiliar la utiliza
LaTeX para cosas como referencias cruzadas. Por ejemplo, la
primera vez que LaTeX encuentra una referencia directa — una
referencia cruzada a algo que aún no ha apareció en la fuente —
aparecerá en la salida como un doble signo de interrogación ??
.
Cuando el lugar al que se hace referencia finalmente aparece en la
fuente, entonces LaTeX escribe su información de ubicación en este
archivo .aux
. En la siguiente invocación, LaTeX lee la
información de ubicación de este archivo y la usa para resolver la
referencia, sustituyendo el doble signo de interrogación por la
ubicación guardada.
LaTeX puede producir aún más archivos, caracterizados por el nombre
de archivo terminado. Estos incluyen un archivo .lof
que se
usa para hacer una lista de figuras, un archivo .lot
usado para
hacer una lista de tablas, y un archivo .toc
utilizado para
hacer una tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas) Una
clase particular puede crear otras; la lista no tiene límites.
LaTeX es un gran conjunto de comandos que ejecuta un programa
TeX (véase Descripción de LaTeX). Tal conjunto de comandos se llama
format, y está incorporado en un archivo .fmt
binario,
que se puede leer mucho más rápido que la fuente TeX
correspondiente.
Esta sección ofrece una breve descripción general de los programas TeX que comúnmente están disponibles (también Interfaz de línea de comandos).
latex
¶pdflatex
¶En TeX Live
(https://tug.org/texlive), si se invoca a LaTeX mediante el
comando del sistema latex
o pdflatex
, luego se
ejecuta el motor pdfTeX (https://ctan.org/pkg/pdftex).
Cuando se invoca como latex
, la salida principal es un
archivo .dvi; como con pdflatex
, la salida principal
es un archivo .pdf.
pdfTeX incorpora las extensiones e-TeX al original del programa
Knuth (https://ctan.org/pkg/etex), incluidas características de
programación y composición tipográfica bidireccional, y tiene un
montón de extensiones propias. e-TeX está disponible por sí solo
como el comando del sistema etex
, pero este es simple TeX
(y produce .dvi).
En otras distribuciones TeX, latex
puede invocar a
e-TeX en lugar de pdfTeX. En cualquier caso, las extensiones
e-TeX se puede suponer que están disponibles en LaTeX.
lualatex
¶Si LaTeX se invoca a través del
comando del sistema lualatex
, se ejecuta el motor LuaTeX
(https://ctan.org/pkg/luatex). Este programa permite escribir
código en el lenguaje de programación Lua (http://luatex.org)
para interactuar con la composición tipográfica de TeX. LuaTeX
maneja la entrada Unicode UTF-8 de forma nativa, puede manejar
OpenType y tipos de letra TrueType, y genera un archivo .pdf de
forma predeterminada. También existe dvilualatex
para
generar un archivo .dvi.
xelatex
¶Si LaTeX se invoca con el comando del
sistema xelatex
, se ejecuta el motor XeTeX
(https://tug.org/xetex). Como LuaTeX, XeTeX admite de
forma nativa tipos de letra Unicode UTF-8, TrueType y OpenType, aunque
la implementación es completamente diferente, principalmente usando
bibliotecas externas en lugar de código interno. XeTeX produce un
archivo .pdf como salida; no es compatible con la salida DVI.
Internamente, XeTeX crea un archivo .xdv
, una variante de
DVI, y traduce eso a PDF usando el programa (x
)dvipdfmx
,
pero este proceso es automático. El archivo .xdv
es útil solo
para depuración.
platex
¶uplatex
¶Estos comandos brindan soporte adicional significativo para japonés y
otros idiomas; la variante u
es compatible con Unicode. Ve
https://ctan.org/pkg/ptex y https://ctan.org/pkg/uptex.
A partir de 2019, hay un comando y formato -dev
complementario
para todos los anteriores:
dvilualatex-dev
¶latex-dev
¶lualatex-dev
¶pdflatex-dev
¶platex-dev
¶uplatex-dev
¶xelatex-dev
¶Estos son candidatos para un próximo lanzamiento de LaTeX. El propósito principal es encontrar y abordar los problemas de compatibilidad antes de un lanzamiento oficial.
Estos formatos -dev
facilitan que cualquier persona ayude a
probar documentos y código: puedes ejecutar, digamos,
pdflatex-dev
en lugar de pdflatex
, sin cambiar nada más
en tu entorno. De hecho, es más fácil y más útil ejecutar siempre
versiones -dev
en lugar de molestarte en cambiar de un lado a
otro. Durante el momento de silencio después de un lanzamiento, los
comandos serán equivalentes.
No se trata de instantáneas diarias ni de código de desarrollo no probado. Se somete a las mismas pruebas de regresión exhaustiva realizadas por el equipo de LaTeX antes de ser liberado.
Para obtener más información, consulta “El flujo de trabajo de
lanzamiento de LaTeX y los formatos LaTeX dev
” por Frank
Mittelbach, TUGboat 40:2,
https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf.
En el archivo de entrada LaTeX, un nombre de comando comienza con
un carácter de barra invertida, \
. El nombre en sí consiste
entonces en (a) una cadena de letras o (b) una única no
letra.
Los nombres de los comandos de LaTeX distinguen entre mayúsculas y
minúsculas, por lo que \pagebreak
es diferente de
\Pagebreak
(este último no es un comando estándar). La mayoría
de los nombres de los comandos están en minúsculas, pero en cualquier
caso debes ingresar todos estos comandos en el mismo caso en que están
definidos.
Un comando puede ir seguido de cero, uno o más argumentos. Estos
argumentos pueden ser obligatorios u opcionales. Los argumentos
requeridos están contenidos entre llaves, {...}
. Los
argumentos opcionales están contenidos entre corchetes, [...]
.
En general, pero no universalmente, si el comando acepta un argumento
opcional, viene primero, antes de cualquier argumento requerido.
Dentro de un argumento opcional, para usar el carácter de corchete de
cierre (]
—“bracket”) ocúltalo entre llaves, como
en \item[corchete de cierre {]}]
. Del mismo modo, si un
argumento opcional viene al final, sin argumento requerido después de
él, entonces, para hacer que el primer carácter del siguiente texto
sea un corchete de apertura, ocúltalo entre llaves.
LaTeX tiene la convención de que algunos comandos tienen un formato
*
que está relacionado con la forma sin un *
, como
\chapter
y \chapter*
. La diferencia exacta en el
comportamiento varía de comando a comando.
Este manual describe todas las opciones aceptadas y las formas
*
para el comando que cubre (salvo omisiones involuntarias,
alias: bugs).
A partir del lanzamiento 2020-10-01 de LaTeX, expl3
y los
paquetes xparse
son parte del formato LaTeX2e. Ellos
proporcionan una sintaxis del lenguaje de programación subyacente
completamente diferente. No intentaremos cubrirlos en este documento;
ve la documentación del paquete relacionado y otros manuales de
LaTeX.
Sinopsis:
\begin{nombre-entorno} ... \end{nombre-entorno}
Un entorno es un área de la fuente LaTeX, dentro de la cual
hay un comportamiento distinto. Por ejemplo, para poesía en LaTeX
coloca las líneas entre \begin{verse}
y \end{verse}
.
\begin{verse} Había una vez un hombre de Nantucket \\ ... \end{verse}
Véase Entornos, para obtener una lista de entornos. Particularmente
notable es que todo documento LaTeX debe tener un entorno
document
, un par \begin{document}
... \end{document}
.
El nombre-entorno al principio debe coincidir exactamente con el
de el fin. Esto incluye el caso donde nombre-entorno termina en
una estrella (*
); los textos \begin
y \end
deben incluir la estrella.
Los entornos pueden tener argumentos, incluidos argumentos opcionales. Este ejemplo produce una tabla. El primer argumento es opcional (y provoca que la tabla se alinee en su fila superior) mientras que el segundo argumento es requerido (especifica el formato de las columnas).
\begin{tabular}[t]{r|l} ... filas de la tabla ... \end{tabular}
La red integral de archivos TeX, CTAN, es el repositorio de material gratuito de la comunidad TeX y LaTeX. Es un conjunto de sitios de Internet de todo el mundo que ofrecen material relacionado con LaTeX para descargar. Visita CTAN en la web en https://ctan.org.
Este material está organizado en paquetes, paquetes discretos que típicamente ofrecen alguna funcionalidad coherente y son mantenidos por una persona o un pequeño número de personas. Por ejemplo, muchos editores tienen un paquete que permite a los autores dar formato a los artículos según especificaciones del editor.
Además de las existencias masivas, el sitio web ctan.org
ofrece
funciones como la búsqueda por nombre o por funcionalidad.
CTAN no es un solo anfitrión, sino un conjunto de anfitriones, uno de los cuales es el llamado “maestro”. El anfitrión maestro administra activamente el material, por ejemplo, aceptando cargas de material nuevo o paquetes actualizados. Durante muchos años, ha sido alojado por el grupo TeX alemán, DANTE e.V.
Otros sitios alrededor del mundo ayudan con la duplicación, es decir, sincronizar automáticamente sus colecciones con el sitio maestro y luego, a su vez, ponen sus copias a disposición del público. Esto proporciona a los usuarios cercanos a su ubicación mejor acceso y alivia la carga en el sitio maestro. La lista de espejos está en https://ctan.org/mirrors.
La clase general del documento se define con este comando, que normalmente es el primer comando en un archivo fuente LaTeX.
\documentclass[options]{class}
Los siguientes nombres de class de documento están integrados en LaTeX. (Muchas otras clases de documentos están disponibles como paquetes separados; véase Descripción de LaTeX).
article
Para un artículo de revista, una presentación y varios usos generales.
book
Libros completos, incluidos capítulos y posiblemente una contra portada en el anverso, como un prefacio, y asunto posterior, como un apéndice (véase Material de portada/contraportada).
letter
Correo, opcionalmente incluyendo etiquetas postales (véase Cartas).
report
Para documentos de longitud entre
un article
y un book
, como informes técnicos o tesis,
que pueden contener varios capítulos.
slides
Para presentación de
diapositivas—rara vez utilizado hoy día. El paquete beamer
es quizás el más frecuentemente utilizado
(https://ctan.org/pkg/beamer). Véase Plantilla beamer
, para una
pequeña plantilla para un documento beamer.
Las options estándar se describen en la siguiente sección.
Puedes especificar opciones globales u opciones de clase
al comando \documentclass
encerrándolas entre corchetes. Para
especificar más de una opción, sepáralas con una coma.
\documentclass[option1,option2,...]{class}
Aquí está la lista de las opciones de clase estándar.
Todas las clases estándar excepto slides
aceptan las siguientes
opciones para seleccionar el tamaño del tipo de letra (el valor
predeterminado es 10pt
):
10pt 11pt 12pt
Todas las clases estándar aceptan estas opciones para seleccionar el tamaño del papel (estos muestran alto por ancho):
a4paper
210 por 297mm (alrededor de 8.25 por 11.75 pulgadas)
a5paper
148 por 210mm (alrededor de 5.8 por 8.3 pulgadas)
b5paper
176 por 250mm (alrededor de 6.9 por 9.8 pulgadas)
executivepaper
7.25 por 10.5 pulgadas
legalpaper
8.5 por 14 pulgadas
letterpaper
8.5 por 11 pulgadas (el predeterminado)
Al usar uno de los motores pdfLaTeX,
LuaLaTeX o XeLaTeX (véase Motores TeX), otras opciones a
que letterpaper
configura el área de impresión, pero también
debes establecer el tamaño físico del papel. Una manera de hacer eso
es poner \pdfpagewidth=\paperwidth
y
\pdfpageheight=\paperheight
en el preámbulo de tu documento.
El paquete geometry
proporciona formas
flexibles de configurar el área de impresión y tamaño de página
física.
Varias otras opciones:
draft
¶final
Marca cajas (draft
) o no marcar (final
) cajas demasiado
llenas con un recuadro negro al margen; el valor predeterminado es
final
.
fleqn
¶Coloca las fórmulas mostradas alineadas a la izquierda; de manera predeterminada están centradas.
landscape
¶Selecciona el formato apaisado; el valor predeterminado es retrato.
leqno
¶Poner números de ecuación en el lado izquierdo de las ecuaciones; de manera predeterminada es el lado derecho.
openbib
¶Utiliza el formato de bibliografía “abierta”.
titlepage
¶notitlepage
Especifica si hay una página separada para la información del título y
para el resumen también, si lo hay. El valor predeterminado para la
clase report
es titlepage
, para las otras clases es
notitlepage
.
Las siguientes opciones no están disponibles con la clase
slides
.
onecolumn
twocolumn
Composición tipográfica en una o dos columnas; el valor predeterminado
es onecolumn
.
oneside
¶twoside
Selecciona el diseño de uno o dos lados; el valor predeterminado es
oneside
, excepto que en la clase book
el valor
predeterminado es twoside
.
Para la impresión a una cara, el texto se centra en la página. Para
impresión a dos caras, el parámetro \evensidemargin
(\oddsidemargin
) determina la distancia en páginas pares
(impares) entre el lado izquierdo de la página y el margen izquierdo
del texto, con \oddsidemargin
siendo el 40% de la diferencia
entre \paperwidth
y \textwidth
y \evensidemargin
es el resto.
openright
openany
Determina si un capítulo debe comenzar en una página de la derecha; el
valor predeterminado es openright
para book
y
openany
para report
.
La clase slides
ofrece la opción clock
para imprimir lo
hora en la parte inferior de cada nota.
Carga un paquete pkg, con las opciones de paquete dadas en la lista options separada por comas, como aquí.
\usepackage[options]{pkg}.
Para especificar más de un paquete, lo puedes separar con una coma,
como en \usepackage{pkg1,pkg2,...}
, o usa
múltiples comandos \usepackage
.
Cualquier opción dada en el comando \documentclass
que sea
desconocida para la clase document seleccionada se pasa a los paquetes
cargados con \usepackage
.
Puedes crear nuevas clases de documentos y nuevos paquetes. Por
ejemplo, si tus memorandos deben cumplir con algunos requisitos
locales, como un encabezado estándar para cada página, entonces
podrías crear una nueva clase smcmemo.cls
y comienza tus
documentos con \documentclass{smcmemo}
.
Lo que separa a un paquete de una clase de documento es que los
comandos en un paquete son útiles en todas las clases, mientras que
los de una clase de documento son específicos de esa clase. Por lo
tanto, un comando para establecer encabezados de página es para un
paquete mientras que un comando para hacer que los encabezados de
página digan Memo desde el departamento de matemáticas SMC
es
para una clase.
Dentro de un archivo de clase o paquete, puedes usar el signo
@
como carácter en nombres de comandos sin tener que rodear el
código que contiene ese comando con \makeatletter
y
\makeatother
. Véase \makeatletter
y \makeatother
. Esto te
permite crear comandos que los usuarios no redefinirán
accidentalmente. Otra técnica es prefijar comandos específicos de
clase o paquete con alguna cadena para evitar que tu clase o paquete
interfiera con otros. Por ejemplo, la clase smcmemo
podría
tener comandos \smc@tolist
, \smc@fromlist
, etc.
Un archivo de clase o un archivo de paquete normalmente consta de cuatro partes.
\NeedsTeXFormat
y los comandos \ProvidesClass
o
\ProvidesPackage
.
smcmemo
se puede llamar con una opción
para leer un archivo con una lista de personas para el encabezado,
como \documentclass[mathto]{smcmemo}
, y por lo tanto
necesitas definir un comando
\newcommand{\setto}[1]{\def\@tolist{#1}}
usado en ese
archivo.
\documentclass[lista de
opciones]{nombre de clase}
, para modificar el comportamiento
de la clase. Un ejemplo es cuando declaras
\documentclass[11pt]{article}
para establecer el valor
predeterminado para el tamaño del tipo de letra del documento.
Aquí hay un archivo de clase inicial, que se debe guardar como stub.cls donde LaTeX lo pueda encontrar, por ejemplo en el mismo directorio que el archivo .tex.
\NeedsTeXFormat{LaTeX2e} \ProvidesClass{stub}[2017/07/06 auxiliar para comenzar a crear clases desde] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions\relax \LoadClass{article}
Se identifica a sí mismo, maneja las opciones de clase a través del
valor predeterminado pasándolos todos a la clase article
, y
luego carga la clase article
para proporcionar la base para el
código de esta clase.
Para obtener más información, consulta la guía oficial para escritores de clases y paquetes, la clase Guide, en https://www.latex-project.org/help/documentation/clsguide.pdf (muchas de las descripciones aquí se derivan de este documento), o el tutorial https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf.
Estos son los comandos diseñados para ayudar a los escritores de clases o paquetes.
\AtBeginDvi{especiales}
¶Guarda en un cuadro de registro las cosas que se escriben en el archivo .dvi al comienzo del envío de la primera página del documento.
\AtEndOfClass{code}
¶\AtEndOfPackage{code}
Gancho para insertar code para que se ejecute cuando LaTeX
termine procesando la clase o paquete actual. Puedes usar estos
ganchos varias veces; el código
se ejecutará en el orden en que
lo llames. Consulta también \AtBeginDocument
.
\CheckCommand{cmd}[num][default]{definition}
¶\CheckCommand*{cmd}[num][default]{definition}
Similar a \newcommand
(véase \newcommand
y \renewcommand
)
pero no define cmd; en su lugar, comprueba que la definición
actual de cmd es o no es exactamente como la definition
long como se esperaba. Un comando largo es un comando que
acepta \par
dentro de un argumento. Se espera que el comando
cmd sea largo con la versión sin estrella de
\CheckCommand
. Levanta un error cuando la comprobación falla.
Esto te permite comprobar antes de empezar a redefinir cmd
tú
mismo que ningún otro paquete ya haya redefinido este comando.
\ClassError{class name}{error text}{help text}
¶\ClassWarning{class name}{warning text}
\ClassWarningNoLine{class name}{warning text}
\ClassInfo{class name}{info text}
\ClassInfoNoLine{class name}{info text}
\PackageError{package name}{error text}{help text}
\PackageWarning{package name}{warning text}
\PackageWarningNoLine{package name}{warning text}
\PackageInfo{package name}{info text}
\PackageInfoNoLine{package name}{info text}
Produce un mensaje de error, o mensajes de advertencia o informativo.
Para \ClassError
y \PackageError
el mensaje es
texto de error, seguido del indicador de error ?
de
TeX. Si el usuario luego, pide ayuda escribiendo h
, ve el
mensaje texto de ayuda.
Los cuatro comandos de advertencia son similares excepto que escriben
texto de advertencia en la pantalla sin mensaje de error. Los
cuatro comandos escriben texto info solo en el archivo de
transcripción. Las versiones de NoLine
no muestran el número
de la línea que genera el mensaje, mientras que las otras versiones
muestran ese número.
Para dar formato a los mensajes, incluido el texto de ayuda: usa
\protect
para evitar que un comando se expanda, obtén un salto
de línea con \MessageBreak
, y obtén un espacio con
\space
cuando un carácter de espacio no lo permite, como
después de un comando. Ten en cuenta que LaTeX añade un punto a
los mensajes.
\CurrentOption
¶Expande al nombre de la opción que se está procesando actualmente.
Sólo se pueden usar dentro del argumento code de
\DeclareOption
o \DeclareOption*
.
\DeclareOption{option}{code}
¶\DeclareOption*{code}
Hace que una opción esté disponible para que un usuario la invoque en
su comando \documentclass
. Por ejemplo, la clase
smcmemo
podría tener una opción
\documentclass[logo]{smcmemo}
que permita a los usuarios
colocar el logo institucional en la primera página. El archivo de
clase debe contener \DeclareOption{logo}{code}
(y más
tarde, \ProcessOptions
).
Si solicitas una opción que no ha sido declarada, de manera
predeterminada esta producirá una advertencia como Opciones
globales no utilizadas: [badoption]
. Cambia este comportamiento con
la versión destacada \DeclareOption*{code}
. Por
ejemplo, muchas clases extienden una clase existente, usando un
comando como \LoadClass{article}
, y para pasar opciones
adicionales al código de uso de clase subyacente como este.
\DeclareOption*{% \PassOptionsToClass{\CurrentOption}{article}% }
Otro ejemplo es que la clase smcmemo
puede permitir a los
usuarios mantener listas de destinatarios de notas en archivos
externos. Entonces el usuario podría invocar
\documentclass[math]{smcmemo}
y leerá el archivo
math.memo
. Este código maneja el archivo si existe y de lo
contrario pasa la opción a la clase article
.
\DeclareOption*{\InputIfFileExists{\CurrentOption.memo}{}{% \PassOptionsToClass{\CurrentOption}{article}}}
\DeclareRobustCommand{cmd}[num][default]{definition}
* \DeclareRobustCommand*{cmd}[num][default]{definition}
¶Como \newcommand
y \newcommand*
(véase \newcommand
y \renewcommand
) pero estos declaran un comando robusto, incluso si
algún código dentro de la definición es frágil. (Para una
discusión de comandos robustos y frágiles véase \protect
). Usa este
comando para definir nuevos comandos robustos o para redefinir
comandos existentes y hacerlos robustos. A diferencia de
\newcommand
, estos no dan un error si la macro cmd ya
existe; en su lugar, se coloca un mensaje de registro en el archivo de
transcripción si se redefine un comando.
Los comandos definidos de esta manera son un poco menos eficientes que
los definidos usando \newcommand
así que, a menos que los datos
del comando sean frágiles y el comando se use dentro de un argumento
en movimiento, usa \newcommand
.
El paquete etoolbox
ofrece los comandos
\newrobustcmd
, \newrobustcmd*
, así como los comandos
\renewrobustcmd
, \renewrobustcmd*
y los comandos
\providerobustcmd
y \providerobustcmd*
. Estos son
similares a \newcommand
, \newcommand*
,
\renewcommand
, \renewcommand*
, \providecommand
y
\providecommand*
, pero define un cmd robusto con dos
ventajas en comparación con \DeclareRobustCommand
:
\protect
LaTeX de nivel superior, por lo que
no incurren la ligera pérdida de rendimiento mencionada anteriormente,
y
\new…
,
\renew…
y \provide…
, como comandos estándar,
por lo que no solo hacen un mensaje de registro cuando redefines
cmd que ya existe, en ese caso necesitas usar
\renew…
o \provide…
o recibes un error.
\IfFileExists{filename}{true code}{false code}
¶\InputIfFileExists{filename}{true code}{false code}
Ejecuta código verdadero si LaTeX encuentra el archivo nombre de archivo o código falso de lo contrario. En el primer caso se ejecuta código verdadero y entonces ingresa el archivo. Así el comando
\IfFileExists{img.pdf}{% \includegraphics{img.pdf}}{\typeout{!! img.pdf no encontrado}
incluirá el gráfico img.pdf si se encuentra y de lo contrario dará un aviso.
Este comando busca el archivo en todas las rutas de búsqueda que usa
LaTeX, no solo en el directorio actual. Mirar solo en el
directorio actual hace algo como
\IfFileExists{./filename}{código
verdadero}{código falso}
. Si solicitas un nombre de
archivo sin una extensión .tex
entonces LaTeX primero
buscará el archivo agregando la extensión .tex
; para obtener
más información sobre cómo LaTeX maneja las extensiones de archivo
\input
.
\LoadClass[options list]{class name}[release date]
¶\LoadClassWithOptions{class name}[release date]
Carga una clase, como con \documentclass[lista de
opciones]{nombre de clase}[información de
publicación]
. Un ejemplo es \LoadClass[twoside]{article}
.
La options list, si está presente, es una lista separada por comas. La fecha de lanzamiento es opcional. Si está presente debe tener la forma AAAA/MM/DD.
Si solicitas una fecha de lanzamiento y la fecha del paquete instalado en tu sistema es anterior, recibes una advertencia en la pantalla y en el registro como esta.
Has solicitado, en la línea de entrada 4, la versión `2038/01/19' de la clase de documento ``article'', pero solo la versión `2014/09/29 v1.4h La clase de documento LaTeX estándar' está disponible.
La versión del comando \LoadClassWithOptions
usa la lista de
opciones para la clase actual. Esto significa que ignora cualquier
opción pasada a través de \PassOptionsToClass
. Este es un
comando de conveniencia que te permite construir clases sobre las
existentes, como la clase article
estándar, sin tener que
rastrear qué opciones se pasaron.
\ExecuteOptions{options-list}
¶Para cada opción option en la lista de opciones, en orden,
este comando ejecuta el comando \ds@option
. Si este
comando no está definido, entonces esa opción se ignora
silenciosamente.
Se puede utilizar para proporcionar una lista de opciones
predeterminada antes \ProcessOptions
. Por ejemplo, si en un
archivo de clase deseas que el predeterminado sea el tipo de letra de
11 puntos, entonces podrías especificar
\ExecuteOptions{11pt}\ProcessOptions\relax
.
\NeedsTeXFormat{format}[formato de fecha]
¶Especifica el formato con el que se debe ejecutar esta clase. A
menudo emitido como la primera línea de un archivo de clase, y se usa
con mayor frecuencia como: \NeedsTeXFormat{LaTeX2e}
. Cuando
un documento que usa esa clase es procesado, el nombre de formato
proporcionado aquí debe coincidir con el formato que en realidad se
está ejecutando (incluyendo que la cadena format es sensible a
mayúsculas y minúsculas). Si no coincide, la ejecución se detiene con
un error como ‘Este archivo necesita formato `LaTeX2e' pero es
`xxx'.’
Para especificar una versión del formato que sabes que tiene ciertas
características, incluye el formato de fecha opcional en el que
esas características fueron implementadas. Si está presente, debe
tener el formato YYYY/MM/DD
. Si la versión del formato
instalada en tu sistema es anterior al formato de fecha,
entonces recibes una advertencia como esta.
Has solicitado la liberación `2038/01/20' de LaTeX, pero solo la versión `2016/02/01' está disponible.
\OptionNotUsed
¶Agrega la opción actual a la lista de opciones no utilizadas. Solo se
puede usar dentro del argumento code de \DeclareOption
o
\DeclareOption*
.
\PassOptionsToClass{options list}{class name}
¶\PassOptionsToPackage{options list}{package name}
Agrega las opciones en la lista separada por comas lista de
opciones a las opciones utilizadas por cualquier futuro comando
\RequirePackage
o \usepackage
para el paquete
nombre del paquete o la clase nombre de clase.
El motivo de estos comandos es: puedes cargar un paquete cualquier
cantidad de veces sin opciones, pero, si deseas opciones, solo las
puedes proporcionar cuando cargues el paquete por primera vez. Al
cargar un paquete con opciones más de una vez obtendrás un error como
Conflicto de opción para el paquete Foo.
(LaTeX arroja un
error incluso si no hay conflicto entre opciones).
Si tu propio código trae un paquete dos veces, entonces puedes
colapsar eso a una vez, por ejemplo reemplazando los dos
\RequirePackage[landscape]{geometry}
y
\RequirePackage[margins=1in]{geometry}
con el comando único
\RequirePackage[landscape,margins=1in]{geometry}
.
Sin embargo, imagina que estás cargando firstpkg y dentro de
ese paquete que carga secondpkg, y necesitas que el segundo
paquete sea cargado con la opción draft
. Entonces antes de
hacer el primer paquete debes poner en cola las opciones para el
segundo paquete, así.
\PassOptionsToPackage{draft}{secondpkg} \RequirePackage{firstpkg}
(Si firstpkg.sty
carga una opción en conflicto con lo que
deseas entonces posiblemente tengas que alterar tu fuente).
Estos comandos son útiles para usuarios generales, así como para
clases y paquetes. Por ejemplo, supongamos que un usuario quiere
cargar el paquete graphicx
con la opción draft
y también
quieres usar una clase foo
que carga el paquete
graphicx
, pero sin esa opción. El usuario podría iniciar su
archivo LaTeX con
\PassOptionsToPackage{draft}{graphicx}\documentclass{foo}
.
\ProcessOptions
¶\ProcessOptions*\@options
Ejecuta el código para cada opción que el usuario haya invocado.
Incluirlo en el archivo de clase como \ProcessOptions\relax
(debido a la existencia del comando con asterisco).
Las opciones vienen en dos tipos. Opciones locales se han
especificado para este paquete particular en el argumento
options de \PassOptionsToPackage{options}
,
\usepackage[options]
, o
\RequirePackage[options]
. Opciones globales son
las dadas por el usuario de la clase en
\documentclass[options]
(si una opción se especifica
tanto local como globalmente, entonces es local).
Cuando se llama a \ProcessOptions
para un paquete
pkg.sty, lo siguiente sucede:
\DeclareOption
, busca si esa opción es una opción global o
local para pkg
. Si es así, ejecuta el código declarado. Esto
se hace en el orden en que estas opciones fueron dadas en
pkg.sty.
\ds@
option si se ha definido en algún lugar (que no sea
por una \DeclareOption
); de lo contrario, ejecuta el código de
opción predeterminada dada en \DeclareOption*
. Si no se ha
introducido ningún código de opción predeterminado declarado entonces
da un mensaje de error. Esto se hace en el orden en que se
especificaron estas opciones.
Cuando se llama a \ProcessOptions
para una clase, funciona en
la misma manera salvo que todas las opciones son locales y el
code predeterminado para \DeclareOption*
es
\OptionNotUsed
en lugar de un error.
La versión destacada \ProcessOptions*
ejecuta las opciones en
el orden especificado en las llamadas a comandos, en lugar de en el
orden de declaración en la clase o paquete. Para un paquete esto
significa que las opciones globales se procesan primero.
\ProvidesClass{class name}[release date brief additional information]
¶\ProvidesClass{class name}[release date]
\ProvidesPackage{package name}[release date brief additional information]
\ProvidesPackage{package name}[release date]
Identifica la clase o paquete, imprimiendo un mensaje en pantalla y en el archivo de registro.
Cuando cargas una clase o paquete, por ejemplo con
\documentclass{smcmemo}
o \usepackage{test}
,
LaTeX ingresa un archivo. Si el nombre del archivo no coincide con
la clase o nombre del paquete declarado en él, entonces recibes una
advertencia. Así, si invocas \documentclass{smcmemo}
, y el
archivo smcmemo.cls tiene la instrucción
\ProvidesClass{xxx}
luego recibes una advertencia como
Has solicitado la clase de documento `smcmemo', pero la clase
del documento proporciona 'xxx'.
Esta advertencia no evita que
LaTeX procese el resto del archivo de clase normalmente.
Si incluyes el argumento opcional, debes incluir una fecha, antes de
cualquier espacio, en la forma AAAA/MM/DD
. El resto del
argumento opcional es de forma libre, aunque tradicionalmente
identifica la clase, y se escribe en la pantalla durante la
compilación y en el archivo de registro. Por lo tanto, si tu archivo
smcmemo.cls contiene la línea
\ProvidesClass{smcmemo}[2008/06/01 v1.0 SMC clase memo]
y la
primera línea de tu documento es \documentclass{smcmemo}
entonces verás Clase de documento: smcmemo 2008/06/01 v1.0 SMC
clase memo
.
La fecha en el argumento opcional permite a los usuarios de clases y
paquetes preguntar para ser advertido si la versión de la clase o
paquete es anterior a la fecha de lanzamiento. Por ejemplo, un
usuario puede ingresar \documentclass{smcmemo}[2018/10/12]
o
\usepackage{foo}[[2017/07/07]]
para requerir una clase o
paquete con ciertas características especificando que no se debe
lanzar antes que la fecha dada. (Aunque, en la práctica, los usuarios
de paquetes rara vez incluyen una fecha, y los usuarios de clases casi
nunca lo hacen).
\ProvidesFile{filename}[additional information]
¶Declara un archivo que no sea la clase principal y los archivos del
paquete, como archivos de configuración o archivos de definición del
tipo de letra. Pon este comando en ese archivo y obtienes en el
registro una cadena como File: test.config 2017/10/12 archivo de
configuración para test.cls
para filename igual a
‘test.config’ e información adicional igual a
‘2017/10/12 archivo de configuración para test.cls’.
\RequirePackage[options list]{package name}[release date]
¶\RequirePackageWithOptions{package name}[release date]
Carga un paquete, como el comando \usepackage
(véase Paquetes adicionales). El equipo de desarrollo de LaTeX recomienda
encarecidamente el uso de estos comandos sobre el \input
de
TeX estándar; ve la Guía de clase. Un ejemplo es
\RequirePackage[landscape,margin=1in]{geometry}
.
La lista de opciones, si está presente, es una lista separada
por comas. La fecha de lanzamiento, si está presente, debe
tener el formato AAAA/MM/DD. Si la fecha de lanzamiento del
paquete instalado en tu sistema es anterior que la fecha de
lanzamiento, recibes una advertencia como Has solicitado, en la
línea de entrada 9, la versión `2017/07/03' del paquete jhtest, pero
solo está disponible la versión `2000/01/01'
.
La versión \RequirePackageWithOptions
usa la lista de opciones
para la clase actual. Esto significa que ignoras cualquier opción que
se le pase a través de \PassOptionsToClass
. Este es un comando
de conveniencia para facilitar la construcción de clases sobre las
existentes sin tener que rastrear cuáles opciones se pasaron.
La diferencia entre \usepackage
y \RequirePackage
es
pequeña. El comando \usepackage
está diseñado para el archivo
del documento mientras que \RequirePackage
está diseñado para
paquetes y archivos de clase. Por lo tanto, usar \usepackage
antes del comando \documentclass
hace que LaTeX dé un error
como \usepackage antes de \documentclass
, pero allí puedes usar
\RequirePackage
.
LaTeX viene con poderosas capacidades de tipos de letra. Por un lado, este nuevo esquema de selección de tipos de letra te permite trabajar fácilmente con las familias de tipos de letra en tu documento (por ejemplo, Estilos de tipos de letra). Y, los documentos LaTeX pueden usar la mayoría de los tipos de letra disponibles actualmente, incluyendo versiones de Times Roman, Helvetica, Courier, etc. (Nota sin embargo que, muchos tipos de letra no son compatibles con matemáticas).
El primer tipo de letra en el mundo TeX fue la familia Computer Modern, desarrollado por Donald Knuth. Es el predeterminado para los documentos LaTeX y sigue siendo el más utilizado. Pero cambiar a otro tipo de letra a menudo solo implica algunos comandos. Por ejemplo, poner lo siguiente en tu preámbulo te da un tipo de letra similar a Palatino, que es hermoso y más legible en línea que muchos otros tipos de letra, al mismo tiempo que te permite tipografía de matemáticas. (Este ejemplo es de Michael Sharpe, https://math.ucsd.edu/~msharpe/RcntFnts.pdf).
\usepackage[osf]{newpxtext} % osf para texto, no matemáticas \usepackage{cabin} % sans serif \usepackage[varqu,varl]{inconsolata} % máquina de escribir sans serif \usepackage[bigdelims,vvarbb]{newpxmath} % bb de STIX \usepackage[cal=boondoxo]{mathalfa} % mathcal
Además, los motores xelatex
o lualatex
permiten
que uses cualquier tipo de letra en tu sistema que esté en formato
OpenType o TrueType (véase Motores TeX).
El catálogo de tipos de letra LaTeX (https://tug.org/FontCatalogue) muestra gráficos de ejemplo del tipo de letra y fuente que se puede copiar y pegar para usar muchos tipos de letra, incluyendo muchos compatibles con matemáticas. Pretende abarcar todos los tipos de letra Latin alfabéticas libres disponibles para un uso sencillo con LaTeX.
También hay más información disponible en los grupos de usuarios TeX, en https://www.tug.org/fonts/.
fontenc
fontenc
Sinopsis:
\usepackage[font_encoding]{fontenc}
o
\usepackage[font_encoding1, font_encoding2, ...]{fontenc}
Especifica la codificación del tipo de letra. Una codificación de tipo de letra es una asignación de códigos de caracteres a los glifos del tipo de letra que se utilizan para escribir
Este paquete solo se aplica si usas el motor
pdflatex
(véase Motores TeX). Si usas el comando
xelatex
o el motor lualatex
entonces usa el
paquete fontspec
.
La familia de tipos de letra original de TeX, Computer Modern,
tiene un conjunto de caracteres limitado. Por ejemplo, para hacer
caracteres acentuados comunes, debes usar \accent
(véase \accent
) pero esto deshabilita la separación silábica. Los
usuarios TeX han acordado una serie de estándares para acceder a
conjuntos de caracteres más grandes proporcionados por los tipos de
letra modernos. Si estás usando pdflatex
entonces pon esto
en el preámbulo
\usepackage[T1]{fontenc}
te brinda soporte para los idiomas europeos ampliamente extendidos, incluidos francés, alemán, italiano, polaco y otros. En particular, si tienes palabras con letras acentuadas entonces LaTeX las dividirá y tu salida se puede copiar y pegar. (La segunda línea opcional te permite ingresar directamente caracteres acentuados en tu archivo fuente).
Si estás utilizando una
codificación como T1
y los caracteres aparecen borrosos o no se
amplían bien, entonces tus tipos de letra pueden estar en mapas de
bits, a veces llamado raster o Type 3. Quieres tipos de letra
vectoriales. Utiliza un paquete como lmodern
o
cm-super
para obtener un tipo de letra que extiende el valor
predeterminado de LaTeX usando tipos de letra vectoriales.
Para cada font_encoding dado como opción pero aún no declarado,
este paquete carga los archivos de definición de codificación,
denominados font_encodingenc.def. También establece
\encodingdefault
para ser la última codificación en la lista de
opciones.
Estos son los valores comunes para font_encoding.
OT1
La codificación original para TeX. Limitada a caracteres en su mayoría en inglés.
OMS, OML
Símbolos matemáticos y codificación de letras matemáticas.
T1
Texto TeX extendido. A veces se llama la codificación de Cork para la reunión de usuarios del grupo donde se desarrolló. Da acceso a la mayoría de los caracteres acentuados europeos. La opción más común para este paquete.
TS1
Codificación de Text Companion.
El valor predeterminado de LaTeX es cargar OML
, T1
,
OT1
y luego OMS
, y establece el valor predeterminado en
OT1
.
Incluso si no usas letras acentuadas, es posible que debas especificar una codificación de tipo de letra si tu tipo de letra lo requiere.
Si usas codificaciónT1
en los tipos de letra que no sean
las familias Modern predeterminadas, es posible que debas cargar el
paquete que selecciona tus tipos de letra antes de cargar
fontenc, para evitar que el sistema cargue cualquier tipo de
letra codificada T1
de la predeterminada.
El equipo de LaTeX reserva nombres de codificación que comienzan con: ‘T’ para codificaciones de texto estándar con 256 caracteres, ‘TS’ para símbolos que extienden las codificaciones T correspondientes, ‘X’ para codificaciones de prueba, ‘M’ para codificaciones matemáticas estándar con 256 caracteres, ‘A’ para aplicaciones especiales, ‘OT’ para codificaciones de texto estándar con 128 caracteres y ‘OM’ para codificaciones matemáticas estándar con 128 caracteres (‘O’ significa ‘obsoleto’).
Este paquete proporciona una serie de comandos, que se detallan a continuación. Muchos de ellos son específicos de codificación, por lo que si has definido un comando que funciona para una codificación pero la codificación actual es diferente, entonces el comando no está en vigor.
\DeclareFontEncoding
\DeclareTextAccent
\DeclareTextAccentDefault
\DeclareTextCommand
y \ProvideTextCommand
\DeclareTextCommandDefault
y \ProvideTextCommandDefault
\DeclareTextComposite
\DeclareTextCompositeCommand
\DeclareTextSymbol
\DeclareTextSymbolDefault
\LastDeclaredEncoding
\UseTextSymbol
y \UseTextAccent
\DeclareFontEncoding
Sinopsis:
\DeclareFontEncoding{encoding}{text-settings}{math-settings}
Declara la codificación del tipo de letra encoding. También
guarda el valor de encoding en \LastDeclaredEncoding
(véase \LastDeclaredEncoding
).
El archivo t1enc.def contiene esta línea (seguida de muchas otras).
\DeclareFontEncoding{T1}{}{}
Los text-settings son los comandos que LaTeX ejecutará cada
vez que cambias de una codificación a otra con los comandos
\selectfont
y \fontencoding
. Los math-settings
son los comandos que LaTeX usará siempre que el tipo de letra se
accede como un alfabeto matemático.
LaTeX ignora cualquier carácter de espacio dentro de text-settings y math-settings, para evitar espacios no deseados en la salida.
Si inventas una codificación, debes elegir un nombre de dos o tres letras comenzando con ‘L’ para ‘local’, o ‘E’ para ‘experimental’.
Ten en cuenta que LaTeX puede leer varias veces los archivos de
codificación de salida, por lo que usar, por ejemplo,
\newcommand
puede causar un error. Además, tales archivos
deben contener la línea \ProvidesFile
(véase Comandos class y package).
Ten en cuenta también que debes usar los comandos \...Default
solo en un paquete, no en los archivos de definición de codificación,
ya que esos archivos solo deben contener declaraciones específicas
para esa codificación.
\DeclareTextAccent
Sinopsis:
\DeclareTextAccent{cmd}{encoding}{slot}
Define un acento, para colocarlo encima de otros glifos, en la codificación encoding en la ubicación slot.
Un slot es el número que identifica un glifo dentro de un tipo de letra.
Esta línea de t1enc.def declara que para hacer un acento
circunflejo como en \^A
, el sistema pondrá el acento en el
slot 2 sobre el carácter ‘A’, que se representa en ASCII
como 65. (Esto se mantiene a menos que haya un
DeclareTextComposite
relevante o una declaración
\DeclareTextCompositeCommand
; véase \DeclareTextComposite
).
\DeclareTextAccent{\^}{T1}{2}
Si cmd ya se ha definido, entonces \DeclareTextAccent
no
da error pero si registra la redefinición en el archivo de
transcripción.
\DeclareTextAccentDefault
Sinopsis:
\DeclareTextAccentDefault{\cmd}{encoding}
Si hay un comando específico de codificación de acento \cmd pero
no hay un \DeclareTextAccent
asociado para esa codificación,
entonces este comando tomará el relevo, diciendo que lo use como se
describe para encoding.
Por ejemplo, para hacer que la codificación OT1
sea la
codificación predeterminada para el acento \"
, declara esto.
\DeclareTextAccentDefault{\"}{OT1}
Si emites un \"
cuando la codificación actual no tiene una
definición para ese acento entonces LaTeX usará la definición desde
OT1
Es decir, este comando es equivalente a esta llamada
(véase \UseTextSymbol
y \UseTextAccent
).
\DeclareTextCommandDefault[1]{\cmd} {\UseTextAccent{encoding}{\cmd}{#1}}
Ten en cuenta que \DeclareTextAccentDefault
funciona para
cualquier comando fontenc de argumento único, no solo el
comando de acento.
\DeclareTextCommand
y \ProvideTextCommand
Sinopsis, una de:
\DeclareTextCommand{\cmd}{encoding}{defn} \DeclareTextCommand{\cmd}{encoding}[nargs]{defn} \DeclareTextCommand{\cmd}{encoding}[nargs][optargdefault]{defn}
o una de:
\ProvideTextCommand{\cmd}{encoding}{defn} \ProvideTextCommand{\cmd}{encoding}[nargs]{defn} \ProvideTextCommand{\cmd}{encoding}[nargs][optargdefault]{defn}
Define el comando \cmd
, que será específico para una
codificación. El nombre del comando cmd debe estar precedido
por una barra invertida, \
. Estos comandos solo pueden
aparecer en el preámbulo. Redefinir \cmd no provoca un
error. El comando definido será robusto incluso si el código en
defn es frágil (véase \protect
).
Por ejemplo, el archivo t1enc.def contiene esta línea.
\DeclareTextCommand{\textperthousand}{T1}{\%\char 24 }
Con eso, puedes expresar partes por mil.
\usepackage[T1]{fontenc} % en el preámbulo ... El límite legal es \(0.8 \)\textperthousand.
Si cambias la codificación del tipo de letra a OT1
, obtendrás
un error como ‘Error de LaTeX: Comando \textperthousand no
disponible en codificación OT1’.
La variante \ProvideTextCommand
hace lo mismo, excepto que no
hace nada si \cmd
ya está definido. El comando
\DeclareTextSymbol
es más rápido que este por simple asociación
de slot a glifo (véase \DeclareTextSymbol
)
Los argumentos opcionales nargs y optargdefault juegan el
mismo rol aquí como en \newcommand
(véase \newcommand
y \renewcommand
). Brevemente, nargs es un número entero de 0 a 9
especificando el número de argumentos que el comando definido
\cmd
toma. Este número incluye cualquier argumento
opcional. Omitir este argumento es lo mismo que especificar 0, lo
cual significa que \cmd
no tendrá argumentos. Y, si
optargdefault está presente, entonces el primer argumento de
\cmd
es opcional, con el valor predeterminado
optargdefault (que puede ser la cadena vacía). Si
optargdefault no está presente, entonces \cmd
tampoco toma un argumento opcional.
\DeclareTextCommandDefault
y \ProvideTextCommandDefault
Sinopsis:
\DeclareTextCommandDefault{\cmd}{defn}
o:
\ProvideTextCommandDefault{\cmd}{defn}
Proporciona una definición predeterminada para \cmd
, para
cuando ese comando no está definido en la codificación actualmente en
vigor. Este valor predeterminado debería utilizar únicamente
codificaciones que sepas que están disponibles.
Esto hace que \copyright
esté disponible.
\DeclareTextCommandDefault{\copyright}{\textcircled{c}}
Utiliza solo una codificación (OMS) que siempre está disponible.
El \DeclareTextCommandDefault
no debería aparecer en la
definición de codificación de archivos ya que esos archivos solo deben
declarar comandos para su uso cuando seleccionas esa codificación. En
cambio, debería estar en un paquete.
Al igual que con los comandos no predeterminados relacionados,
\ProvideTextCommandDefault
tiene exactamente el mismo
comportamiento que
\DeclareTextCommandDefault
excepto que no hace nada si
\cmd
ya está definido (véase \DeclareTextCommand
y \ProvideTextCommand
). Entonces, los paquetes lo pueden usar para
proporcionar respaldos que otros paquetes pueden mejorar.
\DeclareTextComposite
Sinopsis:
\DeclareTextComposite{\cmd}{encoding}{simple_object}{slot}
Accede a un glifo acentuado directamente, es decir, sin tener que poner un acento sobre un carácter separado.
Esta línea de t1enc.def significa que \^o
provocará a
LaTeX para componer la minúscula ‘o’ tomando el carácter
directamente desde el slot 224 en el tipo de letra.
\DeclareTextComposite{\^}{T1}{o}{244}
Véase paquete fontenc
, para obtener una lista de codificaciones
comunes. El simple_object debe ser un solo carácter o un solo
comando. El argumento slot suele ser un entero positivo
representado en decimal (aunque son posibles octal o hexadecimal).
Normalmente \cmd ya se ha declarado para esta codificación, ya
sea con \DeclareTextAccent
o con un solo argumento
\DeclareTextCommand
. En t1enc.def, sigue la línea
anterior al comando \DeclareTextAccent{\^}{T1}{2}
.
\DeclareTextCompositeCommand
Sinopsis:
\DeclareTextCompositeCommand{\cmd}{encoding}{arg}{code}
Una versión más general de \DeclareTextComposite
que ejecuta
código arbitrario con \cmd
.
Esto permite que los acentos en ‘i’ actúen como acentos en
dotless i, \i
.
\DeclareTextCompositeCommand{\'}{OT1}{i}{\'\i}
Véase paquete fontenc
, para obtener una lista de codificaciones
comunes. Normalmente \cmd
ya se habrá declarado con
\DeclareTextAccent
o como un argumento
\DeclareTextCommand
.
\DeclareTextSymbol
Sinopsis:
\DeclareTextSymbol{\cmd}{encoding}{slot}
Define un símbolo en la codificación encoding en la ubicación slot. Los símbolos definidos de esta manera son para usar en texto, no matemáticas.
Por ejemplo, esta línea de t1enc.def declara el número del glifo a usar para «, el guillemet izquierdo.
\DeclareTextSymbol{\guillemotleft}{T1}{19}
El comando \DeclareTextCommand{\guillemotleft}{T1}{\char
19}
tiene el mismo efecto pero es más lento
(véase \DeclareTextCommand
y \ProvideTextCommand
).
Véase paquete fontenc
, para obtener una lista de codificaciones
comunes. El slot se puede especificar en decimal u octal (como
en '023
), o hexadecimal (como en "13
), aunque el decimal
tiene la ventaja de que las comillas simples o dobles se pueden
redefinir por otro paquete.
Si \cmd
ya se ha definido, entonces
\DeclareTextSymbol
no da un error pero registra la redefinición
en el archivo de transcripción.
\DeclareTextSymbolDefault
Sinopsis:
\DeclareTextSymbolDefault{\cmd}{encoding}
Si hay un comando de símbolo específico de codificación
\cmd
pero no hay un \DeclareTextSymbol
asociado
para esa codificación, entonces este comando tomará el relevo,
diciendo que obtenga el símbolo como se describe para encoding.
Por ejemplo, para declarar que si la codificación actual no tiene
significado para \textdollar
entonces usa el de OT1
,
declara esto.
\DeclareTextSymbolDefault{\textdollar}{OT1}
Es decir, este comando es equivalente a esta llamada
(véase \UseTextSymbol
y \UseTextAccent
).
\DeclareTextCommandDefault{\cmd} {\UseTextSymbol{encoding}{\cmd}}
Ten en cuenta que \DeclareTextSymbolDefault
se puede usar para
definir un predeterminado para cualquier comando fontenc de
cero argumentos.
\LastDeclaredEncoding
Sinopsis:
\LastDeclaredEncoding
Obtiene el nombre de la codificación declarada más recientemente. El
comando \DeclareFontEncoding
almacena el nombre para que se
pueda recuperar con este comando (véase \DeclareFontEncoding
).
Esto se basa en \LastDeclaredEncoding
en lugar de dar
explícitamente el nombre de la codificación.
\DeclareFontEncoding{JH1}{}{} \DeclareTextAccent{\'}{\LastDeclaredEncoding}{0}
\UseTextSymbol
y \UseTextAccent
Sinopsis:
\UseTextSymbol{encoding}{\cmd}
o:
\UseTextAccent{encoding}{\cmd}{text}
Utiliza un símbolo o acento que no sea de la codificación actual.
En general, para usar un comando fontenc en una codificación donde no está definido, y si el comando no tiene argumentos, lo puedes usar con algo como esto:
\UseTextSymbol{OT1}{\ss}
que es equivalente a esto (observa que las llaves exteriores forman un
grupo, por lo que LaTeX vuelve a la codificación anterior después
de \ss
):
{\fontencoding{OT1}\selectfont\ss}
De manera similar, para usar un comando fontenc en una codificación donde no está definido, y si el comando tiene un argumento, lo puedes usar así:
\UseTextAccent{OT1}{\'}{a}
que es equivalente a esto (nuevamente, ten en cuenta las llaves exteriores que forman un grupo):
{fontencoding{OT1}\selectfont\'{\fontencoding{enc_in_use}\selectfont a}}
Aquí, enc_in_use es la codificación vigente antes de esta
secuencia de comandos, de modo que ‘a’ se escribe utilizando la
codificación actual y solo se toma el acento de OT1
.
Los siguientes comandos de estilo de letra son compatibles con LaTeX.
En la tabla de abajo de los comandos enumerados, los comandos
\text...
, se usan con un argumento como en
\textit{text}
. Esta es la forma preferida. Pero se
muestra después entre paréntesis si la correspondiente forma de
declaración, que suele ser útil. Esta forma no toma argumentos, como
en {\itshape text}
. El alcance de la forma de
declaración dura hasta el siguiente comando de estilo de tipo o el
final del grupo actual. Además, cada uno tiene un entorno como
\begin{itshape}...\end{itshape}
, que describiremos al final
de la sección.
Estos comandos, en cualquiera de las tres formas, son acumulativos;
por ejemplo puedes obtener negrita sans serif diciendo cualquiera de
\sffamily\bfseries
o \bfseries\sffamily
.
Una ventaja de estos comandos es que automáticamente insertan
correcciones en cursiva si es necesario (véase \/
). En concreto,
insertan la corrección en cursiva a menos que el siguiente carácter
esté en la lista \nocorrlist
, que de manera predeterminada
consta de punto y coma. Para suprimir la inserción automática de la
corrección en cursiva, utiliza \nocorr
al principio o al final
del argumento del comando, como \textit{\nocorr text}
o
\textsc{text \nocorr}
.
\textrm (\rmfamily)
¶Roman.
\textit (\itshape)
¶Italics.
\textmd (\mdseries)
¶Medium weight (predeterminado).
\textbf (\bfseries)
¶Boldface.
\textup (\upshape)
¶Upright (predefinido).
\textsl (\slshape)
¶Slanted.
\textsf (\sffamily)
¶Sans serif.
\textsc (\scshape)
¶Small caps.
\texttt (\ttfamily)
¶Typewriter.
\textnormal (\normalfont)
¶Tipo de letra del documento principal.
Aunque también cambia los tipos de letra, el comando
\emph{text}
es semántico, para que se enfatice
text, y no se debe usar como sustituto de \textit
. Por
ejemplo, \emph{start text \emph{middle text}
end text}
resultará en start text y end text en
cursiva, pero middle text estará en romano.
LaTeX también proporciona los siguientes comandos, que
incondicionalmente cambia al estilo dado, es decir, no son
acumulativos. Están usados como declaraciones:
{\cmd...}
en lugar de \cmd{...}
.
(Los comandos incondicionales a continuación son una versión anterior de tipo de letra traspuesta. Los comandos anteriores son una mejora en la mayoría de las circunstancias. Pero a veces un cambio de tipo de letra incondicional es necesario).
\bf
¶Cambia a negrita.
\cal
¶Cambia a letras caligráficas para matemáticas.
\it
¶cursivas.
\rm
¶Roman.
\sc
¶Small caps.
\sf
¶Sans serif.
\sl
¶Slanted (oblicua).
\tt
¶Typewriter (monoespacio, ancho fijo).
El comando \em
es la versión incondicional de \emph
.
Los siguientes comandos se utilizan en modo matemático. Ellos no son
acumulativos, por lo que \mathbf{\mathit{symbol}}
no
crea una negrita y cursiva symbol; en cambio, solo estará en
cursiva. Esto se debe a que, por lo general, los símbolos matemáticos
necesitan tratamiento tipográfico, independientemente del entorno
circundante.
\mathrm
¶Roman, para usar en modo matemático.
\mathbf
¶Negrita (boldface), para usar en modo matemático.
\mathsf
¶Sans serif, para usar en modo matemático.
\mathtt
¶Typewriter, para usar en modo matemático.
\mathit
(\mit)
Italics, para usar en modo matemático.
\mathnormal
¶Para usar en modo matemático, por ejemplo, dentro de otra declaración de estilo de tipo.
\mathcal
¶Letras caligráficas, para uso en modo matemático.
Además, el comando \mathversion{bold}
se puede usar para
cambiar a letras y símbolos en negrita en fórmulas
\mathversion{normal}
restaura el valor predeterminado.
Finalmente, el comando \oldstylenums{numerals}
compone
los llamados números de “estilo antiguo”, que tienen diferentes
alturas y profundidades (y a veces anchos) del “revestimiento"
estándar de números, que tienen todos la misma altura que las letras
mayúsculas. Los tipos de letra predeterminados de LaTeX admiten
esto y respetarán \textbf
(pero no otros estilos; no hay
números en estilo cursiva antiguo en Informática Moderna). Muchos
otros tipos de letra también tienen números de estilo antiguo; a veces
se proporcionan opciones de paquetes para que sean las
predeterminadas. Preguntas frecuentes entrada:
https://www.texfaq.org/FAQ-osf.
Los siguientes comandos de tamaño de letra estándar son compatibles con LaTeX. La tabla muestra el nombre del comando y el tipo de letra en el tamaño real correspondiente utilizado (en puntos) con ‘10pt’, ‘11pt’ y ‘12pt’ opciones de tamaño del documento, respectivamente (véase Opciones de la clase documento).
Comando | 10pt | 11pt | 12pt |
---|---|---|---|
\tiny | 5 | 6 | 6 |
\scriptsize | 7 | 8 | 8 |
\footnotesize | 8 | 9 | 10 |
\small | 9 | 10 | 10.95 |
\normalsize (predeterminado) | 10 | 10.95 | 12 |
\large | 12 | 12 | 14.4 |
\Large | 14.4 | 14.4 | 17.28 |
\LARGE | 17.28 | 17.28 | 20.74 |
\huge | 20.74 | 20.74 | 24.88 |
\Huge | 24.88 | 24.88 | 24.88 |
Los comandos se enumeran aquí en forma de declaración (no de entorno), ya que así es como se usan típicamente. Por ejemplo:
\begin{quotation} \small El Tao que se puede nombrar no es el Tao eterno. \end{quotation}
Aquí, el alcance del \small
dura hasta el final del entorno
quotation
. También terminaría en el siguiente comando de
estilo de tipo o el final del grupo actual, por lo tanto lo podrías
encerrar entre llaves {\small Este texto está escrito en letra
pequeña.}
.
Tratar de usar estos comandos en matemáticas, como con $\small
mv^2/2$
, da como resultado ‘Advertencia de fuentes LaTeX:
Comando \small inválido en modo matemático’, y el tamaño del tipo de
letra no cambia. Para trabajar con una fórmula demasiado grande, a
menudo la mejor opción es usar el entorno displaymath
(véase Fórmulas math), o uno de los entornos del paquete
amsmath
. Para matemáticas en línea, como en una tabla de
fórmulas, una alternativa es algo como {\small $mv^2/2$}
. (A
veces \scriptsize
y \scriptstyle
se confunden. Ambos
cambian el tamaño del tipo de letra, pero el último también cambia una
serie de otros aspectos de cómo se componen las
matemáticas. Véase Estilos math).
También se define un entorno form de cada uno de estos comandos;
por ejemplo, \begin{tiny}...\end{tiny}
. Sin embargo, en la
práctica esta forma puede conducir fácilmente a espacios no deseados
al principio y/o final del entorno sin una cuidadosa consideración,
por lo que generalmente es menos propenso a errores apegarse a la
forma de declaración.
(Aparte: Técnicamente, debido a la forma en que LaTeX define
\begin
y \end
, casi todos los comandos que no toman un
argumento técnicamente tiene una forma de entorno. Pero en casi todos
los casos, solo sería causa de confusión al usarlo. La razón de
mencionar la forma de entorno de las declaraciones de tamaño del tipo
de letra específicamente es que este uso particular no es raro).
Estos comandos están destinados principalmente a los escritores de macros y paquetes. Los comandos enumerados aquí son solo un subconjunto de los disponibles.
\fontencoding{encoding}
¶Selecciona la codificación del tipo de letra, la codificación del tipo
de letra de salida. Hay un gran número de codificaciones válidas. Las
más comunes son OT1
, La codificación original de Knuth para
Computer Modern (la predeterminada), y T1
, también conocida
como la codificación de Cork, que admite caracteres acentuados
utilizados por los idiomas europeos más extendidos (alemán, francés,
italiano, polaco y otros), lo que permite a TeX separar con guiones
las palabras que contengan letras acentuadas. Para más, ve
https://ctan.org/pkg/encguide.
\fontfamily{family}
¶Selecciona la familia del tipo de letra. La página web https//tug.org/FontCatalogue/ proporciona una forma de navegar a través de muchos de los tipos de letra que se usan fácilmente con LaTeX. Aquí hay ejemplos de algunas familias comunes.
pag | Avant Garde |
fvs | Bitstream Vera Sans |
pbk | Bookman |
bch | Charter |
ccr | Computer Concrete |
cmr | Computer Modern |
cmss | Computer Modern Sans Serif |
cmtt | Computer Modern Typewriter |
pcr | Courier |
phv | Helvetica |
fi4 | Inconsolata |
lmr | Latin Modern |
lmss | Latin Modern Sans |
lmtt | Latin Modern Typewriter |
pnc | New Century Schoolbook |
ppl | Palatino |
ptm | Times |
uncl | Uncial |
put | Utopia |
pzc | Zapf Chancery |
\fontseries{series}
¶Selecciona la serie de tipos de letra. Una serie combina un weight y un width. Por lo general, un tipo de letra solo admite algunas de las posibles combinaciones. Algunos valores comunes de series combinadas incluyen:
m | Medium (normal) |
b | Bold |
c | Condensed |
bc | Bold condensed |
bx | Bold extended |
Los posibles valores de grosor, individualmente, son:
ul | Ultra light |
el | Extra light |
l | Light |
sl | Semi light |
m | Medium (normal) |
sb | Semi bold |
b | Bold |
eb | Extra bold |
ub | Ultra bold |
Los valores posibles para el ancho, individualmente, son (el significado y relación de estos términos varía con los tipos de letra individuales):
uc | Ultra condensed |
ec | Extra condensed |
c | Condensed |
sc | Semi condensed |
m | Medium |
sx | Semi expanded |
x | Expanded |
ex | Extra expanded |
ux | Ultra expanded |
Al formar la cadena series a partir del peso y el ancho, la
m
suelta significa grosor medio o ancho medio, a menos que
ambos, el grosor y el ancho sean m
, en cuyo caso usa solo una
(‘m
’).
\fontshape{shape}
¶Selecciona la forma del tipo de letra. Las formas válidas son:
n | Upright (normal) |
it | Italic |
sl | Slanted (oblique) |
sc | Small caps |
ui | Upright italics |
ol | Outline |
Las dos últimas formas no están disponibles para la mayoría de las familias de tipos de letra, y a menudo también faltan las versalitas.
\fontsize{size}{skip}
¶Establece el tamaño del tipo de letra y el espacio entre líneas. La
unidad de ambos parámetros el valor predeterminado es puntos
(pt
). El interlineado es el espacio vertical nominal entre
líneas, línea base a línea base. Se almacena en el parámetro
\baselineskip
. El \baselineskip
predeterminado para el
tipo de letra Computer Modern es 1.2 veces el \fontsize
.
Cambiar \baselineskip
directamente no es recomendable ya que su
valor se restablece cada vez que ocurre un cambio de tamaño; en su
lugar usa \baselinestretch
. (véase \baselineskip
y \baselinestretch
).
\linespread{factor}
¶Equivalente a
\renewcommand{\baselinestretch}{factor}
, y por lo
tanto debe ir seguido de \selectfont
para tener cualquier
efecto. Mejor especificado en el preámbulo. Véase \baselineskip
y \baselinestretch
, por usar el paquete setspace
en su lugar.
\selectfont
¶Los efectos de los comandos de tipo de letra descritos anteriormente
no suceden hasta que se llama a \selectfont
, como en
\fontfamily{familyname}\selectfont
. A menudo es útil
poner esto en una macro:
\newcommand*{\myfont}{\fontfamily{familyname}\selectfont}
(véase \newcommand
y \renewcommand
).
\usefont{enc}{family}{series}{shape}
¶Lo mismo que invocar a \fontencoding
, \fontfamily
,
\fontseries
y \fontshape
con los parámetros dados,
seguidos de \selectfont
. Por ejemplo:
\usefont{ot1}{cmr}{m}{n}
Comandos para controlar la composición general de página.
\onecolumn
\twocolumn
\flushbottom
\raggedbottom
\baselineskip
y \baselinestretch
\onecolumn
Sinopsis:
\onecolumn
Inicia una nueva página y genera una salida de una sola columna. Si
al documento le es dada la opción de clase onecolumn
entonces
este es el valor predeterminado del comportamiento (véase Opciones de la clase documento). Este comando es frágil (véase \protect
).
\twocolumn
Sinopsis:
\twocolumn \twocolumn[texto preliminar de una columna]
Inicia una nueva página y genera un resultado de dos columnas. Si se
entrega al documento la opción de clase twocolumn
entonces esta
es la predeterminada (véase Opciones de la clase documento). Este
comando es frágil (véase \protect
).
Si el argumento opcional texto preliminar de una columna está presente, se escribe en el modo de una columna antes de que comience la composición tipográfica de dos columnas.
Estos parámetros controlan la composición tipográfica en la salida de dos columnas:
\columnsep
¶La distancia entre columnas. El valor
predeterminado es 35 puntos. Cámbialo con un comando como
\setlength{\columnsep}{40pt}
. Lo debes cambiar antes de que
comience el modo de dos columnas; en el preámbulo es un buen lugar.
\columnseprule
¶El ancho de la regla entre
columnas. El valor predeterminado es 0pt, lo cual significa que no hay
regla. De lo contrario, la regla aparece a medio camino entre las dos
columnas. Cámbialo con un comando como
\setlength{\columnseprule}{0.4pt}
, antes de comenzar el
modo de dos columnas.
\columnwidth
¶El ancho de una sola columna. En el
modo de una columna esto es igual a \textwidth
. En el modo de
dos columnas de manera predeterminada, LaTeX establece el ancho de
cada una de las dos columnas, para que \columnwidth
sea la
mitad de \textwidth
menos \columnsep
.
En un documento de dos columnas, los entornos destacados table*
y figure*
tienen dos columnas de ancho, mientras que los
entornos sin estrellas table
y figure
ocupan solo una
columna (véase figure
y véase table
). LaTeX coloca flotantes
con estrellas en la parte superior de una página. Los siguientes
parámetros controlan el comportamiento flotante de la salida de dos
columnas.
\dbltopfraction
¶La fracción máxima en la parte superior de una página de dos columnas
que pueden ocupar flotantes de dos columnas de ancho. El valor
predeterminado es 0.7, lo cual significa que la altura de un entorno
table*
o figure*
no debe superar 0.7\textheight
.
Si la altura de tu entorno flotante estrellado excede esto, entonces
puedes tomar una de las siguientes acciones para evitar que flote
hasta el final del documento:
[tp]
para decirle a LaTeX
que intente poner el voluminoso flotante en una página por sí mismo,
así como en la parte superior de una página.
[t!]
para anular el
efecto de \dbltopfraction
para este flotante en particular.
\dbltopfraction
a un número adecuadamente
grande, para evitar ir a páginas flotantes tan pronto como sea
posible.
Lo puedes redefinir, como con
\renewcommand{\dbltopfraction}{0.9}
.
\dblfloatpagefraction
¶Para una página flotante de
dos columnas de ancho flotantes, esta es la fracción mínima que deben
ocupar los flotantes, limitando la cantidad de espacio en blanco. El
valor predeterminado de LaTeX es 0.5
. Cámbialo con
\renewcommand
.
\dblfloatsep
¶En una página flotante de flotantes
de dos columnas de ancho, esta longitud es la distancia entre
flotantes, tanto en la parte superior como en la inferior de la
página. El valor predeterminado es 12pt plus2pt minus2pt
para
un documento establecido en 10pt
o 11pt
y 14pt
plus2pt minus4pt
para un documento establecido en 12pt
.
\dbltextfloatsep
¶Esta longitud es la distancia
entre un flotante de varias columnas en la parte superior o la parte
inferior de una página y el texto principal. El valor predeterminado
es 20pt plus2pt minus4pt
.
\dbltopnumber
¶En una página flotante de flotantes
de dos columnas de ancho, este contador da el número máximo de
flotantes permitidos en la parte superior de la página. El valor
predeterminado de LaTeX es 2
.
Este ejemplo usa el argumento opcional de \twocolumn
para crear
un título que abarca el artículo de dos columnas:
\documentclass[twocolumn]{article} \newcommand{\authormark}[1]{\textsuperscript{#1}} \begin{document} \twocolumn[{% dentro de este argumento opcional va texto de una columna \centering \LARGE El título \\[1.5em] \large Autor uno\authormark{1}, Autor dos\authormark{2}, Autor tres\authormark{1} \\[1em] \normalsize \begin{tabular}{p{.2\textwidth}@{\hspace{2em}}p{.2\textwidth}} \authormark{1}Departamento uno &\authormark{2}Departamento dos \\ Escuela uno &Escuela dos \end{tabular}\\[3em] % espacio debajo de la parte del título }] Texto de dos columnas aquí.
\flushbottom
Hace que todas las páginas del documento después de esta declaración tengan la misma altura, estirando el espacio vertical donde sea necesario para llenar la página. Esto se usa con más frecuencia cuando se hacen documentos de dos caras ya que las diferencias en las páginas opuestas pueden ser evidentes.
Si TeX no puede estirar satisfactoriamente el espacio vertical en
una página luego obtienes un mensaje como ‘Infralleno \vbox
(maliciosos 10000) ocurrió mientras \output está activa’. Si lo
consigues, una opción es cambiar a \raggedbottom
(véase \raggedbottom
). Alternativamente, puedes ajustar el
textheight
para hacer páginas compatibles, o puedes agregar un
poco de pegamento de estiramiento vertical entre líneas o entre
párrafos, como en \setlength{\parskip}{0ex plus0.1ex}
. Tu
última opción es, en una etapa de edición final, ajustar la altura de
las páginas individuales (véase \enlargethispage
).
El estado \flushbottom
es el predeterminado solo si seleccionas
la opción twocolumn
de la clase documento (véase Opciones de la clase documento), y para índices hechos con makeidx
.
\raggedbottom
Hace que todas las páginas posteriores tengan la altura natural del
material en esa página; no se estirarán las longitudes verticales
elásticas. Así, en documentos de dos caras las páginas opuestas
pueden tener diferentes alturas. Este comando puede ir en cualquier
punto del cuerpo del documento. Véase \flushbottom
.
Este es el valor predeterminado a menos que selecciones la opción
twocolumn
de la clase documento (véase Opciones de la clase documento).
\columnsep
¶\columnseprule
¶\columnwidth
¶La distancia entre las dos columnas, el ancho de una
regla entre las columnas y el ancho de las columnas, cuando la opción
de clase de documento twocolumn
está en vigor (véase Opciones de la clase documento). Véase \twocolumn
.
\headheight
¶Altura de la caja
que contiene la cabecera móvil. El valor predeterminado en las clases
article
, report
y book
son ‘12pt’, en todos
los tamaños de letra.
\headsep
¶Distancia vertical
entre la parte inferior de la línea de cabecera y la parte superior
del texto principal. El valor predeterminado en las clases
article
y report
es ‘25pt’. En la clase
book
el valor predeterminado es: si el documento está
configurado en 10pt, entonces es ‘0.25in’, y en 11pt o 12pt es
‘0.275in’.
\footskip
¶Distancia desde la
línea base de la última línea de texto hasta la línea base de el pie
de página. El valor predeterminado en las clases article
y
report
es ‘30pt’. En la clase book
el valor
predeterminado es: cuando el tamaño de letra es de 10 puntos, el
predeterminado es ‘0.35in’, mientras que en 11pt es
‘0.38in’, y en 12pt es ‘30pt’.
\linewidth
¶Ancho de la línea
actual, disminuido para cada lista
anidada (véase list
). Es
decir, el valor nominal de \linewidth
es igual a
\textwidth
pero para cada \linewidth
de la lista anidada
se reduce por la suma del \leftmargin
de esa lista y
\rightmargin
(véase itemize
).
\marginparpush
¶\marginsep
¶\marginparwidth
¶El espacio vertical mínimo entre dos notas marginales, el espacio horizontal entre el cuerpo del texto y las notas marginales, y el ancho horizontal de las notas.
Normalmente, las notas marginales aparecen en el exterior de la
página, pero la declaración \reversemarginpar
cambia eso (y
\normalmarginpar
lo vuelve a cambiar).
Los valores predeterminados para \marginparpush
tanto en
book
como en las clases article
son: ‘7pt’ si el
documento se establece en 12pt, y ‘5pt’ si el documento está
configurado en 11 o 10 puntos.
Para \marginsep
, en la clase article
el valor
predeterminado es ‘10pt’ excepto si el documento está configurado
en 10pt y en modo de dos columnas donde el valor predeterminado es
‘11pt’.
Para \marginsep
en la clase book
, el valor
predeterminado es ‘10pt’ en modo de dos columnas y ‘7pt’ en
modo de una columna.
Para \marginparwidth
tanto en las clases book
como
article
, en el modo de dos columnas, el valor predeterminado es
el 60 % de \paperwidth − \textwidth
, mientras que en el
modo de una columna es el 50% de esa distancia.
\oddsidemargin
¶\evensidemargin
¶La longitud de \oddsidemargin
es la distancia adicional entre
el lado izquierdo de la página y el margen izquierdo del texto, en las
páginas impares cuando se elige la opción de clase documento
twoside
y en todas las páginas cuando oneside
está en
vigor. Cuando twoside
está en vigor, en páginas pares, la
distancia adicional a la izquierda es \evensidemargin
.
El valor predeterminado de LaTeX es que \oddsidemargin
es el
40% de la diferencia entre \paperwidth
y \textwidth
, y
\evensidemargin
es el resto.
\paperheight
¶La altura del
papel, a diferencia de la altura del área de impresión. Normalmente
se establece con una opción de la clase documento, como en
\documentclass[a4paper]{article}
(véase Opciones de la clase documento).
\paperwidth
¶El ancho del
papel, a diferencia del ancho del área de impresión. Normalmente se
establece con una opción de la clase documento, como en
\documentclass[a4paper]{article}
(véase Opciones de la clase documento).
\textheight
¶La altura vertical
normal del cuerpo de la página. Si el documento se establece en un
tamaño de letra nominal de 10pt entonces para un article
o
report
el valor predeterminado es ‘43\baselineskip’,
mientras que para un book
es ‘41\baselineskip’. Con un
tamaño de letra de 11pt, el valor predeterminado es
‘38\baselineskip’ para todas las clases de documento. A 12pt es
‘36\baselineskip’ para todas las clases.
\textwidth
¶El ancho horizontal
completo de todo el cuerpo de la página. Para un documento
article
o report
, el valor predeterminado es
‘345pt’ cuando el tamaño de letra elegido es 10pt, el valor
predeterminado es ‘360pt’ a 11pt, y es ‘390pt’ a 12pt. Para
un documento book
, el valor predeterminado es ‘4.5in’ con
un tamaño de letra de 10pt y ‘5in’ con 11pt o 12pt.
En la salida de varias columnas, \textwidth
sigue siendo el
ancho de todo el cuerpo de la página, mientras que \columnwidth
es el ancho de una columna (véase \twocolumn
).
En las listas (véase list
), \textwidth
sigue siendo el ancho
de todo el cuerpo de la página (y \columnwidth
el ancho de toda
la columna), mientras que \linewidth
puede disminuir para las
listas anidadas.
Dentro de una minipágina (véase minipage
) o \parbox
(véase \parbox
), todos los parámetros relacionados con el ancho se
establecen en el ancho especificado, y vuelven a sus valores normales
al final de minipage
o \parbox
.
\hsize
¶Esta entrada se incluye
para completar: \hsize
es el parámetro primitivo TeX
utilizado cuando el texto se divide en líneas. No se debería usar en
documentos LaTeX normales.
\topmargin
¶Espacio entre la parte superior de la página TeX (una pulgada desde
la parte superior del papel, de manera predeterminada) y la parte
superior de la cabecera. El valor se calcula basado en muchos otros
parámetros: \paperheight − 2in − \headheight
− \headsep − \textheight − \footskip
, y luego
dividido por dos.
\topskip
¶Distancia mínima entre la parte superior del cuerpo de la página y la línea base de la primera línea de texto. Para las clases estándar, el valor predeterminado es igual que el tamaño de letra, por ejemplo, ‘10pt’ en un tamaño de letra de 10pt.
\baselineskip
y \baselinestretch
El \baselineskip
es una longitud elástica (véase Longitudes).
Da la inicial, la distancia normal entre líneas en un párrafo,
desde línea base a línea base.
Por lo general, los autores de documentos no cambian directamente
\baselineskip
mientras escribían. En su lugar, se establece
mediante el comando de selección \fontsize
del tamaño de letra
de bajo nivel (véase comandos fontsize de bajo nivel). El valor de
\baselineskip
se restablece cada vez que sucede un cambio de
tipo de letra, por lo que cualquier cambio directo a
\baselineskip
desaparecerá la próxima vez que haya un cambio de
letra. Para cómo influir en el espaciado de línea, ve la explicación
de \baselinestretch
a continuación.
Por lo general, el diseñador del tipo de letra asigna el tamaño de
letra y el salto de línea base. Estos números son nominales en el
sentido de que si, por ejemplo, el archivo de estilo de una letra
tiene el comando \fontsize{10pt}{12pt}
entonces eso no
significa que los caracteres en el tipo de letra tenga una altura de
10pt; por ejemplo, los paréntesis y las mayúsculas acentuadas
pueden ser más altas. Ni tampoco significa que si las líneas están
separadas menos de 12pt entonces corren el riesgo de tocarse.
Más bien estos números son juicios tipográficos. (A menudo, el
\baselineskip
es un veinte por ciento más grande que el tamaño
de la letra).
El \baselineskip
no es una propiedad de cada línea sino del
párrafo completo. Como resultado, texto grande en medio de un
párrafo, como una sola enorme {\Huge Q}
, se aplastará en su
línea. TeX se asegurará de que no raspe la línea de arriba, pero
no cambiará el \baselineskip
para esa línea para hacer espacio
extra arriba. Para solucionarlo, usa un \strut
(véase \strut
).
El valor de \baselineskip
que usa TeX para el párrafo es el
valor en vigor en la línea en blanco o comando que finaliza la unidad
párrafo. Entonces, si un documento contiene este párrafo, sus líneas
se estrecharán juntas, en comparación con las líneas en los párrafos
circundantes.
Mucha gente ve un salto de página entre el texto y una ecuación mostrada como mal estilo, por lo que en efecto la pantalla es parte del párrafo. Porque esto se muestra en footnotesize, todo el párrafo tiene el espaciado de línea base que coincide con ese tamaño. {\footnotesize $$a+b = c$$}
El proceso para crear párrafos es que cuando se agrega una nueva
línea, si la profundidad de la línea anterior más la altura de la
nueva línea es menor que \baselineskip
, entonces, TeX
inserta pegamento vertical para compensar la diferencia. Hay dos
puntos finos. El primero es que si las líneas estarían demasiado
juntas, más cerca que \lineskiplimit
, entonces, TeX en su
lugar usa \lineskip
como el pegamento entre líneas. El segundo
es que TeX en realidad no usa la profundidad de la línea anterior.
En su lugar, usa \prev depth
, que generalmente contiene esa
profundidad. Pero al comienzo del párrafo (o cualquier lista
vertical) o justo después de una regla, \prevdepth
tiene el
valor -1000pt y este valor especial le dice a TeX que no
inserte ningún pegamento entre líneas en el inicio de párrafo.
En las clases estándar \lineskiplimit
es 0pt y
\lineskip
es 1pt. Por el párrafo anterior entonces, la
distancia entre líneas se puede aproximar a cero, pero si llega a ser
cero (o menos de cero), entonces las líneas saltan a 1pt aparte.
A veces los autores deben, con fines de edición, poner el documento en
espacio doble o espacio y medio. La forma correcta de influir en la
distancia entre líneas es a través de \baselinestretch
. Escala
\baselineskip
y tiene un valor predeterminado de 1.0. Es un
comando, no una longitud, y no surte efecto hasta que ocurre el cambio
del tipo de letra, así que establece el factor de escala de esta
manera: \renewcommand{\baselinestretch}{1.5}\selectfont
.
La forma más sencilla de cambiar el espacio entre líneas para un
documento es poner \linespread{factor}
en el preámbulo.
Para espacios dobles, toma factor como 1.6 y como un espacio y
medio usa 1.3. Estos números son aproximados: por ejemplo, dado que
el \baselineskip
es aproximadamente 1.2 veces el tamaño de
letra, multiplicado por 1.6 suministra una proporción del tamaño de
letra de salto de referencia de aproximadamente 2. (El comando
\linespread
se define como
\renewcommand{\baselinestretch}{factor}
por lo que
también no tendrá efecto hasta que ocurra una configuración del tipo
de letra. Pero eso siempre se lleva a cabo al comienzo de un
documento, por lo que no es necesario que lo sigas con
\selectfont
).
Un enfoque más simple es el paquete
setspace
. El ejemplo básico:
\usepackage{setspace} \doublespacing % o \onehalfspacing para 1.5
En el preámbulo, estos comenzarán el documento con ese tamaño. Pero
también puedes usar estas declaraciones en el cuerpo del documento
para cambiar el espacio desde ese punto en adelante, y en consecuencia
hay \singlespacing
para devolver el espacio a la normalidad.
En el cuerpo del documento, una mejor práctica que usar las
declaraciones es usar entornos, como \begin{doublespace}
... \end{doublespace}
. El paquete también tiene comandos para
hacer espaciado arbitrario: \setstretch{factor}
y
\begin{spacing}{factor} ... \end{spacing}
. Este
paquete también mantiene el interlineado de espacio simple en lugares
donde eso es típicamente deseable, como notas al pie y subtítulos de
figura. Consulta la documentación del paquete.
Algunos elementos tipográficos, como figuras y tablas, no se pueden romper a través de las páginas. Deben estar escritos fuera del flujo normal de texto, por ejemplo, flotando en la parte superior de una página posterior.
LaTeX puede tener varias clases diferentes de material flotante.
El valor predeterminado son las dos clases, figure
(véase figure
) y table
(véase table
), pero puedes crear una
nueva clase con el paquete float
.
Dentro de cualquier clase float, LaTeX siempre respeta el orden, de modo que la primera figura en un documento fuente debe estar compuesta tipográficamente antes que la segunda figura. Sin embargo, LaTeX puede mezclar las clases, por lo que puede suceder que mientras que la primera tabla aparece en la fuente antes de la primera figura, aparece en la salida después de ella.
La colocación de flotantes está sujeta a parámetros, que se indican a continuación, que limitan el número de flotantes que pueden aparecer en la parte superior de una página, y el fondo, etc. Si hay tantos flotantes en cola que los límites impiden para que no encajen en una página, entonces LaTeX coloca lo que puede y aplaza el resto a la página siguiente. De esta manera, los flotantes pueden terminar siendo tipografíados lejos de su lugar en la fuente. En particular, un flotante que es grande puede migrar al final del documento. En cuyo caso, porque todos los flotantes en una clase deben aparecer en orden secuencial, cada flotante siguiente en esa clase también aparece al final.
Además de cambiar los parámetros, para cada flotante puedes ajustar
dónde el algoritmo de colocación flotante intenta colocarlo usando su
argumento placement. Los valores posibles son una secuencia de
las letras debajo. El valor predeterminado para figure
y
table
, en ambas clases, article
y book
, es
tbp
.
t
(Top)—en la parte superior de una página de texto.
b
(Bottom)—en la parte inferior de una página de texto. (Sin embargo,
b
no es permitido para flotantes de ancho completo
(figure*
) con producción en doble columna. Para mejorar esto,
usa stfloats o el paquete dblfloatfix, pero ve la
discusión en las advertencias en las preguntas frecuentes:
https://www.texfaq.org/FAQ-2colfloat.
h
(Here)—en la posición en el texto donde el entorno figure
aparece. Sin embargo, h
no está permitido por sí mismo;
t
se añade automáticamente.
Para forzar absolutamente que un flotante aparezca
“aquí”, puedes \usepackage{float}
y usa el especificador
H
que define. Para obtener más información, consulta la
entrada de preguntas frecuentes en
https://www.texfaq.org/FAQ-figurehere.
p
¶(Página de flotantes)—en una página flotante separada, que es una página que no contiene texto, solo flotantes.
!
Se utiliza además de uno de los anteriores; solo para este flotante,
LaTeX ignora las restricciones tanto en el número de flotantes que
pueden aparecer y las cantidades relativas de texto flotante y no
flotante en la página. El especificador !
no significa
“pon el flotante aquí”, ve más arriba.
Nota: el orden en que aparecen las letras en el argumento
placement no cambia el orden en que LaTeX intenta colocar el
flotante; por ejemplo, btp
tiene el mismo efecto que
tbp
. Todo lo que placement hace es que si una letra no
está presente entonces el algoritmo no intenta esa ubicación. Por lo
tanto, el valor predeterminado de LaTeX de tbp
es probar
cada ubicación excepto colocar el flotante donde ocurre en la fuente.
Para evitar que LaTeX mueva flotantes al final del documento o un
capítulo puede usar un comando \clearpage
para comenzar una
nueva página e inserta todos los flotantes pendientes. Si no deseas un
salto de página, puedes usar el paquete afterpage y emitir
\afterpage{\clearpage}
. Esto esperará hasta que la página
actual haya terminado y entonces vuelca todos los flotantes
pendientes.
LaTeX puede escribir un flotante antes de donde
aparece en la fuente (aunque en la misma página de salida) si hay un
especificador t
en el parámetro placement. Si esto no se
desea, y se elimina la t
no es aceptable ya que evita que se
coloque el flotante en la parte superior de la página siguiente, lo
puedes evitar usando el paquete flafter
o usando el comando
\suppressfloats[t]
, lo que provoca flotantes para la posición
superior en esta página para pasar a la página siguiente.
Parámetros relativos a las fracciones de páginas ocupadas por float y
texto no flotante (cámbialos con
\renewcommand{parameter}{decimal entre 0 y 1}
):
\bottomfraction
¶La fracción máxima de la página que se permite sea ocupada por flotantes en el fondo; predeterminado ‘.3’.
\floatpagefraction
¶La fracción mínima de una página flotante que debe estar ocupada por flotantes; predeterminado ‘.5’.
\textfraction
¶Fracción mínima de una página que debe ser texto; si los flotantes también ocupan mucho espacio para conservar tanto texto, los flotantes se moverán a una pagina diferente. El valor predeterminado es ‘.2’.
\topfraction
¶Fracción máxima en la parte superior de una página que se puede ocupar antes por flotantes; predeterminado ‘.7’.
Parámetros relacionados con el espacio vertical alrededor de los
flotantes (cámbialos con un comando de la forma
\setlength{parameter}{expresión length}
):
\floatsep
¶Espacio entre flotantes en la parte superior o inferior de una página; predefinido ‘12pt más 2pt menos 2pt’.
\intextsep
¶Espacio encima y debajo de un flotante en medio del texto principal; predeterminado ‘12pt plus2pt minus2pt’ para documentos de 10 y 11 puntos, y ‘14pt plus4pt minus4pt’ para documentos de 12 puntos.
\textfloatsep
¶Espacio entre el último (primer) flotante en la parte superior (inferior) de una página; predeterminado ‘20pt plus2pt minus4pt’.
Contadores relacionados con el número de flotantes en una página
(cámbialos con un comando de la forma
\setcounter{ctrname}{número natural}
):
bottomnumber
¶Número máximo de flotantes que pueden aparecer en la parte inferior de una página de texto; predeterminado 1.
dbltopnumber
¶Número máximo de flotantes de tamaño completo que pueden aparecer en la parte superior de una página de dos columnas; predeterminado 2.
topnumber
¶Número máximo de flotantes que pueden aparecer en la parte superior de una página de texto; predeterminado 2.
totalnumber
¶Número máximo de flotantes que pueden aparecer en una página de texto; predeterminado 3.
La entrada principal de preguntas frecuentes TeX relacionada con los flotantes https//www.texfaq.org/FAQ-floats contiene sugerencias para relajar los parámetros predeterminados de LaTeX para reducir el problema de los flotantes empujados hasta el final. Una explicación completa del algoritmo de colocación de flotantes se encuentra en el artículo de Frank Mittelbach “Cómo influir en la posición de los entornos flotantes como figure y table en LaTeX?” (https//www.latex-project.org/publications/2014-FMi-TUB-tb111mitt-float-placement.pdf).
Estructura tu texto en divisiones: partes, capítulos, secciones, etc. Todos los comandos de seccionado tienen la misma forma, una de:
sectioning-command{title} sectioning-command*{title} sectioning-command[toc-title]{title}
Por ejemplo, declarar el comienzo de una subsección como con
\subsection{Motivación}
.
La tabla tiene cada sectioning-command en LaTeX. Todos están
disponibles en todas las clases de documentos estándar de LaTeX
book
, report
y article
, excepto que
\chapter
no está disponible en article
.
Unidad de seccionado | Comando | Nivel |
---|---|---|
Parte | \part | -1 (book , report ), 0 (article ) |
Capítulo | \chapter | 0 |
Sección | \section | 1 |
Subsección | \subsection | 2 |
Subsubsección | \subsubsection | 3 |
Párrafo | \paragraph | 4 |
Subpárrafo | \subparagraph | 5 |
Todos estos comandos tienen una forma *
que imprime
título como de costumbre pero no lo numera y no hace una entrada
en la tabla de contenido. Un ejemplo de cómo usar esto es para un
apéndice en un article
. Las entradas
\appendix\section{Appendix}
da como resultado ‘Apéndice
A’ (véase \appendix
). Puedes perder la numeración ‘A’
ingresando en su lugar \section*{Appendix}
(los artículos a
menudo omiten una tabla de contenido y tienen encabezados de página
simples para que las otras diferencias del comando \section
puedan no importar).
El título de la sección título proporciona el título en el texto principal, pero también puede aparecer en la tabla de contenido y en el encabezado o pie (véase Estilos de página). Es posible que no desees el mismo texto en estos lugares como en el texto principal. Todos estos comandos tienen un argumento toc-title opcional para esos otros lugares.
El número de nivel en la tabla anterior determina qué unidades
seccionales son numeradas, y que aparecen en la tabla de contenido.
Si los comandos de seccionado level son menores o iguales que el
valor del contador secnumdepth
entonces los títulos para este
comando de seccionado serán numerados
(véase Seccionado/secnumdepth). Y, si level es menor que o
igual al valor del contador tocdepth
luego la tabla de
contenido tendrá una entrada para esta unidad de seccionado
(véase Seccionado/tocdepth).
LaTeX espera que antes de tener una \subsection
tengas una
\section
y, en un documento de clase book
, que antes de
una \section
tendrás un \chapter
. De lo contrario,
puedes obtener algo así como una subsección numerada ‘3.0.1’.
LaTeX te permite cambiar la apariencia de las
unidades seccionales. Como un ejemplo simple, puedes cambiar la
numeración de la sección a letras mayúsculas con esto (en el
preámbulo):
\renewcommand\thesection{\Alph{section}}
.
(Véase \alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores). CTAN tiene
muchos paquetes que facilitan este ajuste, en particular
titlesec
.
Dos contadores se relacionan con la apariencia de los encabezados realizados por comandos de seccionado.
secnumdepth
¶Controla qué unidades de seccionado están numeradas. Poniendo el
contador con \setcounter{secnumdepth}{level}
suprimirá numeración de seccionado a cualquier profundidad superior a
level (véase \setcounter
). Consulta la tabla anterior para
ver los números de nivel. Por ejemplo, si secnumdepth
es 1 en
un article
entonces un comando \section{Introducción}
producirá una salida como ‘1 Introducción’ mientras que
\subsection{Discusión}
produce una salida como
‘Discusión’, sin número. LaTeX secnumdepth
predeterminado es 3 en la clase article y 2 en las
clases book y report.
tocdepth
¶Controla qué
unidades de seccionado se enumeran en la tabla de contenido. La
configuración \setcounter{tocdepth}{level}
hace que
las unidades de Seccionado en level sean las más pequeñas
enumeradas (véase \setcounter
). Consulta la tabla anterior para ver
los números de nivel. Por ejemplo, si tocdepth
es 1
entonces la tabla de contenido enumera secciones pero no subsecciones.
Predeterminado de LaTeX tocdepth
es 3 en la clase
article y 2 en la clase book y report.
\part
\chapter
\section
\subsection
\subsubsection
, \paragraph
, \subparagraph
\appendix
\frontmatter
, \mainmatter
, \backmatter
\@startsection
, composición tipográfica de encabezados de unidades seccionales\part
Sinopsis, una de:
\part{título} \part*{título} \part[toc-title]{título}
Inicia una parte del documento. Las clases estándar de LaTeX
book
, report
y article
, todas tienen este
comando.
Esto produce una parte del documento, en un libro.
\part{VOLUMEN I \\ MEMORIAS PERSONALES DE U.\ S.\ GRANT} \chapter{ANCESTRIA--NACIMIENTO--INFANCIA.} Mi familia es estadounidense, y lo ha sido durante generaciones, en todas sus ramas, directas y colaterales.
En cada clase estándar, el comando \part
genera un número de
pieza como ‘Parte I’, solo en su línea, en negrita y en grandes
letras. Entonces LaTeX genera título, también solo en su
línea, en negrita y en letra aún más grande. En la clase book
,
el LaTeX predeterminado pone cada parte sola en su propia
página. Si el libro tiene dos caras entonces LaTeX saltará una
página si es necesario para tener la nueva parte en una página impar.
En report
nuevamente está solo en una página, pero LaTeX no
forzará una página impar. En un article
LaTeX no lo coloca
en una página nueva, sino que genera el número de parte y título de la
parte en la página principal del documento.
La forma *
muestra título pero no muestra el número
de parte, no incrementa el contador parte
, y no produce ninguna
entrada de tabla de contenido.
El argumento opcional toc-title aparecerá como el título de la parte en la tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas) y, al ejecutar cabeceras (véase Estilos de página). Si no está presente, entonces título estará ahí. Este ejemplo pone un salto de línea en título pero omite el salto en la tabla de contenido.
\part[Arriba desde abajo; mi vida]{Arriba desde abajo\\ mi vida}
Para determinar qué unidades seccionales están numeradas y cuáles aparecen en la tabla de contenido, el número de nivel de una parte es -1 (véase Seccionado/secnumdepth y Seccionado/tocdepth).
En la clase article
, si un párrafo sigue
inmediatamente a la parte título entonces no está sangrado. Para
obtener una sangría, puedes usar el paquete indentfirst
.
Un paquete para cambiar el comportamiento de
\part
es titlesec
. Consulta su documentación en
CTAN.
\chapter
Sinopsis, una de:
\chapter{título} \chapter*{título} \chapter[toc-title]{título}
Inicia un capítulo. Las clases estándar de LaTeX book
y
report
tienen este comando pero no article
.
Esto produce un capítulo.
\chapter{Acechantes} Llámame Ismael. Hace algunos años---no importa cuánto tiempo exactamente---teniendo poco dinero en mi bolsa o nada, y nada en particular que me interese en tierra, pensé en navegar un poco y ver la parte acuosa del mundo.
El valor predeterminado de LaTeX comienza cada capítulo en una
nueva página, una página impar si el documento tiene dos caras.
Produce un capitulo número como ‘Capítulo 1’ en negrita grande
(el tamaño es \huge
). Luego pone título en una nueva
línea, en tipo negrita que es aún más grande (tamaño \Huge
).
También incrementa el contador chapter
, agrega una entrada a la
tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas), y establece la
cabecera de información en ejecución (véase Estilos de página).
La forma *
muestra título en una nueva línea, en
negrita. Pero no muestra el número de capítulo, ni incrementa el
contador chapter
, no produce una entrada de tabla de contenido
y no afecta la cabecera en ejecución. (Si usas el estilo de página
headings
en un documento de dos caras, entonces la cabecera
será del capítulo anterior).
\chapter*{Preamble}
El argumento opcional toc-title aparecerá como título del capítulo en la tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas) y en ejecutar cabeceras (véase Estilos de página). Si no está presente entonces título estará allí. Esto muestra el nombre completo en el título del capítulo,
\chapter[Weyl]{Hermann Klaus Hugo (Peter) Weyl (1885--1955)}
pero solo ‘Weyl’ en la página de contenido. Esto pone un salto de línea en el título, pero eso no funciona bien con las cabeceras en ejecución, por lo que omite el salto en el contenido.
\chapter[Dado todo; mi historia]{Dado todo\\ mi historia}
Para determinar qué unidades seccionales están numeradas y cuáles aparecen en la tabla de contenido, el número de nivel de un capítulo es 0 (véase Seccionado/secnumdepth y véase Seccionado/tocdepth).
El párrafo que sigue al título del capítulo no
tiene sangría, al igual que una práctica tipográfica estándar. Para
obtener una sangría, usa el paquete indentfirst
.
Puedes cambiar lo que se muestra para el número de capítulo. Para
cambiarlo a algo como ‘Conferencia 1’, pon en el preámbulo
\renewcommand{\chaptername}{Conferencia}
o esto
(véase \makeatletter
y \makeatother
).
\makeatletter \renewcommand{\@chapapp}{Conferencia} \makeatother
Para hacer este cambio debido al idioma principal de el documento,
consulta el paquete babel
.
En un documento de dos caras, LaTeX coloca un capítulo en una
página impar, si es necesario dejar una página par que esté en blanco
excepto por cualquier cabecera en ejecución. Para dejar esa página
completamente en blanco, \clearpage
y \cleardoublepage
.
Para cambiar el comportamiento del comando
\chapter
, puedes copiar su definición del archivo de formato
LaTeX y realizar ajustes. Pero también hay muchos paquetes en CTAN
que abordan esto. Uno es titlesec
. Ve su documentación,
pero el ejemplo a continuación da un sentido de lo que puede hacer.
\usepackage{titlesec} % en el preámbulo \titleformat{\chapter} {\Huge\bfseries} % formato del título {} % etiqueta, tal como 1.2 para una subsección {0pt} % longitud de la separación entre la etiqueta y % el título {} % gancho antes del código
Esto omite el número de capítulo ‘Capítulo 1’ de la página pero a
diferencia de \chapter*
mantiene el capítulo en la tabla de
contenido y la ejecución de cabeceras.
\section
Sinopsis, una de:
\section{título} \section*{título} \section[toc-title]{título}
Inicia una sección. Las clases estándar article
de LaTeX,
book
y report
tienen este comando.
Esto produce una sección.
En esta Parte tendemos a estar más interesados en la función, en el comportamiento de entrada-salida, que en los detalles de implementar ese comportamiento. \section{Máquinas de Turing} A pesar de este deseo de minimizar la implementación, seguimos el enfoque de A~Turing de que el primer paso hacia la definición del conjunto de funciones computables es reflexionar sobre los detalles de lo que pueden hacer los mecanismos.
Para las clases estándar de LaTeX book
y report
la
salida predeterminada es como ‘1.2 título’ (para
capítulo 1, sección 2), solo en su línea y alineado a la
izquierda, en negrita y letra más grande (el tamaño de letra es
\Large
). Lo mismo se sostiene en article
excepto que no
hay capítulos en esa clase por lo que parece ‘2 título’.
La forma E*
muestra título. Pero no muestra el
número de sección, no incrementa el contador section
, no
produce ninguna entrada en la tabla de contenido y no afecta la
cabecera en ejecución. (Si usas el estilo de página headings
en un documento de dos caras, entonces el encabezado será de la parte
anterior).
El argumento opcional toc-title aparecerá como título de la sección en la tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas) y encabezados en ejecución (véase Estilos de página). Si no está presente entonces título estará allí. Esto muestra el nombre completo en el título de la sección:
\section[Isabel~II]{Isabel Segunda, por la Gracia de Dios Reina del Reino Unido, Canadá y sus otros reinos y territorios, Jefe de la Commonwealth, Defensor de la Fe.}
pero solo ‘Isabel II’ en la página de contenido y en los encabezados. Esto tiene un salto de línea en title pero eso no funciona con encabezados por lo que se omite de los contenidos y encabezados.
\section[La verdad es que hice trampa; la historia de mi vida]{La verdad es que hice trampa\\la historia de mi vida}
Para determinar qué unidades seccionales están numeradas y cuáles aparecen en la tabla de contenido, el número de nivel de una sección es 1 (véase Seccionado/secnumdepth y véase Seccionado/tocdepth).
El párrafo que sigue al título de la sección no
tiene sangría, al igual que una práctica tipográfica estándar. Una
forma de obtener una sangría es usar el paquete indentfirst
.
En general, para cambiar el comportamiento del
comando \section
, hay varias opciones. Una es el comando
\@startsection
(véase \@startsection
, composición tipográfica de encabezados de unidades seccionales). También hay muchos
paquetes en CTAN que abordan esto, incluido titlesec
. Ve la
documentación pero el siguiente ejemplo da una idea de lo que pueden
hacer.
\usepackage{titlesec} % en el preámbulo \titleformat{\section} {\normalfont\Large\bfseries} % formato del título {\makebox[1pc][r]{\thesection\hspace{1pc}}} % etiqueta {0pt} % Longitud de la separación entre la etiqueta y el título {} % gancho antes del código \titlespacing*{\section} {-1pc}{18pt}{10pt}[10pc]
Eso pone el número de sección en el margen.
\subsection
Sinopsis, una de:
\subsection{title} \subsection*{title} \subsection[toc-title]{title}
Inicia una subsección. Las clases estándar article
de
LaTeX, book
y report
tienen este comando.
Esto produce una subsección.
Mostraremos que hay más funciones que las máquinas de Turing y que por tanto, algunas funciones no tienen máquina asociada. \subsection{Cardinalidad} Comenzaremos con dos paradojas que dramatizan el desafío a nuestra intuición planteado al comparar los tamaños de conjuntos infinitos.
Para las clases estándar de LaTeX book
y report
la
salida predeterminada es como ‘1.2.3 title’ (para
capítulo 1, sección 2, subsección 3), solo en su línea
y alineado a la izquierda, en negrita y una letra más grande (el
tamaño de letra es \large
). Lo mismo contiene article
excepto que no hay capítulos en esa clase por lo que parece ‘2.3
título’.
La forma E*
muestra título. Pero no muestra el
número de subsección, no incrementa el contador subsection
y no
produce ninguna entrada en la tabla de contenido.
El argumento opcional toc-title aparecerá como título de la subsección en la tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas). Si esto no está presente, title estará allí. Este muestra el texto completo en el título de la subsección:
\subsection[$\alpha,\beta,\gamma$ paper]{\textit{El origen de Elementos químicos} por R.A.~Alpher, H.~Bethe y G.~Gamow}
pero solo ‘α,β,γ paper’ en la página de contenido.
Para determinar qué unidades seccionales están numeradas y cuáles aparecen en la tabla de contenido, el número de nivel de una subsección es 2 (véase Seccionado/secnumdepth y véase Seccionado/tocdepth).
El párrafo que sigue al título de la subsección
no tiene sangría, al igual que una práctica tipográfica estándar. Una
forma de obtener una sangría es usar el paquete indentfirst
.
Hay varias maneras de cambiar el comportamiento
del comando \subsection
. Una es el comando
\@startsection
(véase \@startsection
, composición tipográfica de encabezados de unidades seccionales). También hay muchos
paquetes en CTAN que abordan esto, incluido titlesec
. Ve la
documentación pero el siguiente ejemplo da una idea de lo que pueden
hacer.
\usepackage{titlesec} % en el preámbulo \titleformat{\subsection}[runin] {\normalfont\normalsize\bfseries} % formato del título {\thesubsection} % etiqueta {0.6em} % espacio entre la etiqueta y % el título {} % gancho antes del código
Eso pone el número de subsección y title en la primera línea de texto.
\subsubsection
, \paragraph
, \subparagraph
Sinopsis, una de:
\subsubsection{title} \subsubsection*{title} \subsubsection[toc-title]{title}
o una de:
\paragraph{title} \paragraph*{title} \paragraph[toc-title]{title}
o una de:
\subparagraph{title} \subparagraph*{title} \subparagraph[toc-title]{title}
Inicia una subsección, párrafo o subpárrafo. Las clases estandar de
LaTeX article
, book
y report
tienen todas
estos comandos, aunque no son de uso común.
Esto produce una subsección.
\subsubsection{Compresores de anillos de pistón: rendimiento estructural} Proporciona ensamblajes de revestimiento de paredes exteriores/interiores capaces de resistir los efectos de la carga y las tensiones de anillos de pistón de motor de gasolina de grado de consumo.
La salida predeterminada de cada uno de los tres no cambia sobre las
clases LaTeX estándar article
, book
y report
.
Para \subsubsection
el title está solo en su línea, en
negrita y tipo de letra de tamaño normal. Para \paragraph
el
title está alineado con el texto, sin sangría, en negrita y
letra de tamaño normal. Para \subparagraph
el title está
en línea con el texto, con sangría de párrafo, en negrita y letra de
tamaño normal (Debido a que un article
no tiene capítulos, sus
subsubsecciones son numeradas y así se ve como ‘1.2.3
title’, por sección 1, subsección 2 y
subsubsección 3. Las otras dos divisiones no están numeradas).
La forma E*
muestra título. Pero no incrementa el
contador asociado y no produce entrada en la tabla de contenido (y no
muestra el número de \subsubsection
).
El argumento opcional toc-title aparecerá como el título de la división en la tabla de contenido (véase Tabla de contenido, lista de figuras, lista de tablas). Si esto no está presente, title estará allí.
Para determinar qué unidades seccionales están numeradas y cuáles aparecen en la tabla de contenido, el número de nivel de una subsubsección es 3, de un párrafo es 4, y de un subpárrafo es 5 (véase Seccionado/secnumdepth y véase Seccionado/tocdepth).
El párrafo que sigue al título de la
subsubsección no tiene sangría, al igual que una práctica tipográfica
estándar. Una forma de obtener una sangría es usar el paquete
indentfirst
.
Hay varias formas de cambiar el comportamiento de
estos comandos. Una es el comando \@startsection
(véase \@startsection
, composición tipográfica de encabezados de unidades seccionales). También hay muchos paquetes en CTAN que
abordan esto, incluyendo titlesec
. Consulta la
documentación en CTAN.
\appendix
Sinopsis:
\appendix
Este no produce directamente ningún resultado. Pero en un documento
book
o report
declara que los subsiguientes comandos
\chapter
comienzan un apéndice. En un artículo hace lo mismo,
para los comandos \section
. También restablece los contadores
chapter
y section
a 0 en un libro o informe, y en
un artículo restablece los contadores section
y
subsection
.
En este libro
\chapter{Uno} ... \chapter{Dos} ... ... \appendix \chapter{Tres} ... \chapter{Cuatro} ...
los dos primeros generarán una salida numerada ‘Capítulo 1’ y
‘Capítulo 2’. Después del \appendix
la numeración será
‘Apéndice A’ y ‘Apéndice B’. Véase Plantilla de book
larger, para otro ejemplo.
El paquete appendix
agrega el comando
\appendixpage
para poner ‘Apéndices’ separados en el
cuerpo del documento antes del primer apéndice y el comando
\addappheadtotoc
hace lo mismo en la tabla de contenido.
Puedes restablecer el nombre ‘Apéndices’ con un comando como
\renewcommand{\appendixname}{Especificación}
, así como una
serie de otras características. Consulta la documentación en CTAN.
\frontmatter
, \mainmatter
, \backmatter
Sinopsis, una o más de:
\frontmatter ... \mainmatter ... \backmatter ...
Da formato a un documento de clase book
de forma diferente
según la parte del documento que se está produciendo. Los tres
comandos son opcionales.
Tradicionalmente, la portada de un libro contiene elementos como la página de título, un resumen, un índice, un prefacio, una lista de anotaciones, una lista de figuras y una lista de tablas. (Algunas de estas páginas de asuntos frontales, como la página del título, tradicionalmente no están numeradas). El material anterior puede contener cosas tales como un glosario, notas, una bibliografía y un índice.
El comando \frontmatter
hace que las páginas se numeren en
romanos minúsculas, y hace que los capítulos no estén numerados,
aunque el título de cada capítulo aparece en la tabla de contenido; si
usas otros comandos de seccionado aquí, usa la versión
*
-versión (véase Seccionado).
El comando \mainmatter
cambia el comportamiento de nuevo a la
versión esperada y restablece el número de página.
El comando \backmatter
deja la numeración de páginas sola pero
cambia los capítulos de nuevo a no estar numerados.
Véase Plantilla de book
larger, por ejemplo, usando estos tres
comandos.
\@startsection
, composición tipográfica de encabezados de unidades seccionalesSinopsis:
\@startsection{name}{level}{indent}{beforeskip}{afterskip}{style}
Se usa para ayudar a redefinir el comportamiento de los comandos que
comienzan a seccionar divisiones como \section
o
\subsection
.
Ten en cuenta que el paquete titlesec
facilita la
manipulación de la sección. Además, mientras que la mayoría de los
requisitos para los comandos de seccionado los puede satisfacer
\@startsection
, algunos no pueden. por ejemplo, en las clases
LaTeX estándar book
y report
los comandos
\chapter
y \report
no se construyen de esta forma.
Hacer un comando de este tipo, es posible que desees utilizar el
comando \secdef
.
Técnicamente, \@startsection
tiene la forma
\@startsection{name} {level} {indent} {beforeskip} {afterskip} {style}*[toctitle]{title}
por lo tanto emite
\renewcommand{\section}{\@startsection{name} {level} {indent} {beforeskip} {afterskip} {style}}
redefine \section
manteniendo su forma de llamada estándar
\section*[toctitle]{title}
(en el que, como
recordatorio, el star *
es opcional). Véase Seccionado.
Esto implica que cuando escribes un comando como
\renewcommand{\section}{...}
, el
\@startsection{...}
debe ser el último en la definición. Ve
los ejemplos a continuación.
Nombre del contador utilizado para numerar la cabecera de seccionado.
Este contador se debe definir por separado. Lo más común es que esto
sea sección
, subsección
o párrafo
. Aunque en
esos casos el nombre del contador es el mismo que el comando de
seccionado en sí mismo, no tienes que usar el mismo nombre.
Entonces \the
name muestra el número del título y
\
namemark
es para los encabezados de página. Ve
el tercer ejemplo a continuación.
Un número entero que proporciona la profundidad del comando de seccionado. Véase Seccionado, para la lista de números de nivel estándar.
Si level es menor o igual que el valor del contador
secnumdepth
entonces los títulos para este comando de
seccionado serán numerados (véase Seccionado/secnumdepth). Por
ejemplo, si secnumdepth
es 1 en un article
luego el
comando \section{Introducción}
producirá una salida como “1
Introducción” mientras que \subsection{Debate}
producirá
salida como “Debate”, sin el prefijo numérico.
Si level es menor o igual que el valor del contador
tocdepth entonces la tabla de contenido tendrá una entrada para
esta unidad de seccionado (véase Seccionado/tocdepth). Por ejemplo,
en un article
, si tocdepth es 1, la tabla de contenido
será listar secciones pero no subsecciones.
Una
longitud que da la sangría de todas las líneas del título con respecto
al margen izquierdo. Para que el título quede alineado con el uso de
la margen 0pt
. Una sangría negativa como -\parindent
se
moverá el título en el margen izquierdo.
El valor absoluto de esta longitud es la cantidad de espacio vertical
que se inserta antes del título de esta unidad de seccionado. Este
espacio será descartado si la unidad de seccionado comienza al
principio de una página. Si este número es negativo, el primer
párrafo que sigue al encabezado no tendrá sangría, si no es negativo
entonces el primer párrafo estará sangrado. (Ten en cuenta que el
negativo de 1pt plus 2pt minus 3pt
es -1pt plus -2pt
minus -3pt
).
Por ejemplo, si beforeskip es -3.5ex plus -1ex minus
-0.2ex
entonces, para iniciar la nueva unidad de seccionado, LaTeX
agregará unas 3.5 veces la altura de una letra x en espacio vertical,
y el primer párrafo en la sección no tendrá sangría. Usando una
longitud elástica, con plus
y minus
, es una buena
práctica aquí ya que da LaTeX más flexibilidad para crear la página
(véase Longitudes).
La contabilización completa del espacio vertical entre la línea base
de la línea anterior al encabezado de esta unidad de seccionado y la
línea base del encabezado es que es la suma del \parskip
de la
letra del texto, el \baselineskip
de la letra del título y el
valor absoluto de beforeskip. Este espacio suele ser elástico,
por lo que se puede estirar o encoger. (Si la unidad de seccionado
comienza en una página nueva de modo que el espacio vertical se
descarta, la línea base del texto del encabezado será donde LaTeX
pondría la línea base de la primera línea de texto en esa página).
Esta es una longitud. Si afterskip no es negativo, entonces
este es el espacio vertical insertado después del encabezado del
título de la unidad de seccionado. Si es negativo, entonces el
encabezado del título se convierte en un encabezado en ejecución, de
modo que pasa a formar parte del párrafo siguiente. En este caso el
valor absoluto de la longitud da el espacio horizontal entre el final
del título y el comienzo del siguiente párrafo. (Ten en cuenta que el
negativo de 1pt plus 2pt minus 3pt
es -1pt plus -2pt
minus -3pt
).
Al igual que con beforeskip, usando una longitud elástica, con
plus
y minus
componentes, es una buena práctica aquí ya
que da a LaTeX más flexibilidad en la elaboración de la página.
Si afterskip
no es negativo, la contabilidad completa del
espacio vertical entre la línea base de la cabecera de la unidad de
seccionado y la línea base de la primera línea del siguiente párrafo
es que es la suma del \parskip
de la letra del título, el
\baselineskip
de la letra del texto y el valor de after.
Ese espacio suele ser elástico, por lo que se puede estirar o encoger.
(Ten en cuenta que debido a que el signo de afterskip
cambia la
unidad de seccionado encabezado independiente de la ejecución, no
puedes usar un afterskip
negativo para cancelar parte del
\parskip
).
Controla el estilo del título. Ve los ejemplos a continuación. Los
comandos típicos para usar aquí son \centering
,
\raggedright
, \normalfont
, \hrule
o
\newpage
. El ultimo comando en style puede ser uno que
tome un argumento, como \MakeUppercase
o \fbox
que toma
un argumento. El título de la sección se proporcionará como argumento
para este comando. Por ejemplo, establecer style en
\bfseries\MakeUppercase
sería producir títulos en negrita y
mayúsculas.
Estos son los valores predeterminados de LaTeX para las primeras
tres unidades de seccionado que se definen con \@startsection
,
para las clases article, book y report.
section
: level es 1, indent es 0pt,
beforeskip es -3.5ex plus -1ex minus -0.2ex
,
afterskip es 2.3ex plus 0.2ex
y style es
\normalfont\Large\bfseries
.
subsection
: level es 2, indent es 0pt,
beforeskip es -3.25ex plus -1ex minus -0.2ex
,
afterskip es 1.5ex plus 0.2ex
y style es
\normalfont\large\bfseries
.
Para subsubsection
: level es 3, indent es
0pt, beforeskip es -3.25ex plus -1ex minus -0.2ex
,
afterskip es 1.5ex plus 0.2ex
y style es
\normalfont\normalsize\bfseries
.
A continuación se presentan algunos ejemplos. Estos van en un paquete
o archivo de clase o en el preámbulo de un documento LaTeX. Si los
pones en el preámbulo deben ir entre un comando \makeatletter
y
un \makeatother
. (Probablemente el mensaje de error No
puedes usar `\spacefactor' en modo vertical.
significa que se te
olvidó esto). Véase \makeatletter
y \makeatother
.
Esto colocará los títulos de las secciones en negrita grande,
centrados. Dice \renewcommand
porque las clases estándar de
LaTeX ya han definió una \section
. Por la misma razón, no
define un contador section
, o los comandos \thesection
y
\l@section
.
\renewcommand\section{% \@startsection{section}% name {1}% level {0pt}% indent {-3.5ex plus -1ex minus -.2ex}% beforeskip {2.3ex plus.2ex}% afterskip {\centering\normalfont\Large\bfseries}% style }
Esto pondrá los títulos de subsection
en letras minúsculas,
alineados con el párrafo.
\renewcommand\subsection{% \@startsection{subsection}% name {2}% level {0em}% indent {-1ex plus 0.1ex minus -0.05ex}% beforeskip {-1em plus 0,2em}% afterskip {\scshape}% style }
Los ejemplos anteriores redefinieron los comandos de título de unidades seccionales existentes. Esto define uno nuevo, ilustrando el contador y las macros necesarias para mostrar ese contador.
\setcounter{secnumdepth}{6}% muestra los contadores tan abajo \newcounter{subsubparagraph}[subparagraph]% contador para numeración \renewcommand{\thesubsubparagraph}% cómo mostrar {\thesubparagraph.\@arabic\c@subsubparagraph}% numeración \newcommand{\subsubparagraph}{\@startsection {subsubparagraph}% {6}% {0em}% {\baselineskip}% {0.5\baselineskip}% {\normalfont\normalsize}}\newcommand*\l@subsubparagraph{\@dottedtocline{6}{10em}{5em}}% para toc \newcommand{\subsubparagraphmark}[1]{}% para encabezados de página
A menudo queremos algo como ‘Ve Teorema~31’. Pero escribir a
mano el 31 es mala práctica. En su lugar, debes escribir un
label como \label{eq:GreensThm}
y luego
reference, como con Ve ecuación~\ref{eq:GreensThm}
.
LaTeX automáticamente calcula el número, lo pone en la salida y
cambiará ese número más tarde si es necesario.
Veremos esto con el Teorema~\ref{th:GreensThm}. % referencia directa:GreensThm} ... \end{theorem} ... Ve Teorema~\ref{th:GreensThm} en la página~\pageref{th:GreensThm}.
LaTeX rastrea información de referencias cruzadas en un archivo que
tiene la extensión .aux y con el mismo nombre base que el
archivo que contiene la \label
. Entonces, si \label
está en calculus.tex entonces la información está en
calculus.aux. LaTeX pone la información en ese archivo cada
vez que se encuentra con un \label
.
El comportamiento descrito en el párrafo anterior da como resultado
una peculiaridad que sucede cuando tu documento tiene una
referencia hacia adelante, una \ref
que aparece antes del
\label
asociado. Si esta es la primera vez que estás
compilando el documento, obtendrás la ‘Advertencia LaTeX: : La(s)
etiqueta(s) pueden haber cambiado. Vuelve a ejecutar para obtener las
referencias cruzadas correctas’ y en la salida, la referencia directa
aparecerá como dos preguntas mark ‘??’, en negrita. Algo
similar sucede si cambias algunas cosas para que cambien las
referencias; recibes la misma advertencia y la salida contiene la
información de referencia anterior. En ambos casos, resuelve esto
compilando el documento por segunda vez.
El paquete cleveref
mejora las
características de referencias cruzadas de LaTeX. Puedes arreglar
eso si entras \begin{thm}\label{th:Nerode}...\end{thm}
entonces \cref{thNerode}
generará ‘Teorema 3.21’, sin
que tengas que ingresar el “Teorema.”
\label
Sinopsis:
\label{key}
Asigna un número de referencia a key. En texto ordinario
\label{key}
asigna a key el número de la unidad
de seccionado actual. Dentro de un entorno con numeración, como un
entorno table
o theorem
, \label{clave}
asigna a key el número de ese entorno. Recuperar el número
asignado con el comando \ref{key}
(véase \ref
).
Un nombre de clave puede consistir en cualquier secuencia de letras, dígitos o caracteres de puntuación. Las letras mayúsculas y minúsculas se distinguen, como de costumbre.
Una convención común es usar etiquetas que consisten en un prefijo y
un sufijo separados por dos puntos o punto. Por lo que,
\label{fig:Post}
es una etiqueta para una figura con un
retrato de Emil Post. Esto ayuda a evitar crear accidentalmente dos
etiquetas con el mismo nombre, y hace que tu fuente sea más legible.
Algunos prefijos de uso común:
ch
por capítulos
sec
subsec
para comandos de seccionado de nivel inferior
fig
para figuras
tab
para tablas
eq
para ecuaciones
En el archivo auxiliar se conserva la información de referencia como
el texto de un comando de la forma
\newlabel{label}{{currentlabel}{pagenumber}}
.
Aquí currentlabel es el valor actual de la macro
\@currentlabel
que generalmente se actualiza cada vez que
llamas a \refstepcounter{counter}
.
A continuación, la tecla sec:test
obtendrá el número de sección
actual y la tecla fig:test
obtendrá el número de la figura.
(Por cierto, coloca etiquetas después de los subtítulos en las figuras
y tablas).
\section{nombre sección} \label{sec:test} Esta es la Sección~\ref{sec:test}. \begin{figure} ... \caption{del título} \label{fig:test} \end{figure} Ve la figura~\ref{fig:test}.
\pageref
Sinopsis:
\pageref{key}
Proporciona el número de página del lugar en el texto donde se
encuentra el comando \label
{key} correspondiente.
Si no hay \label{key}
entonces obtienes algo como
‘Advertencia de LaTeX: Referencia `th:GrensThm' en la página 1
indefinida en la línea de entrada 11.’
A continuación, el \label{eq:main}
se usa tanto para el
número de fórmula y para el número de página. (Ten en cuenta que las
dos referencias son referencias directas por lo que este documento
tendría que ser compilado dos veces para resolver aquellos).
El resultado principal es formula~\ref{eq:main} en la página~\pageref{eq:main}. ... \begin{equation} \label{eq:main} \mathbf{P}=\mathbf{NP} \end{equation}
\ref
Sinopsis:
\ref{key}
Produce el número de la unidad seccional, ecuación, pie de página,
figura, …, del comando \label
correspondiente
(véase \label
). No produce ningún texto, como la palabra ‘Sección’
o ‘Figura’, simplemente el número en sí.
Si no hay \label{key}
entonces obtienes algo como
‘Advertencia de LaTeX: Referencia `th:GrensThm' en la página 1
indefinida en la línea de entrada 11.’
En este ejemplo, \ref{popular}
produce ‘2’. Ten en
cuenta que es una referencia directa ya que viene antes de
\label{popular}
por lo que este documento tendría que
compilarse dos veces.
El formato más utilizado es el número de artículo~\ref{popular}. \begin{enumerate} \item Plain \TeX \item \label{popular} \LaTeX \item Con\TeX t \end{enumerate}
El paquete cleveref
incluye texto como
‘Theorem’ en la referencia. Consulta la documentación en CTAN.
xr
Sinopsis:
\usepackage{xr} \externaldocument{document-basename}
o
\usepackage{xr} \externaldocument[reference-prefix]{document-basename}
Hacer referencias cruzadas al documento externo document-basename.tex.
Aquí tienes un ejemplo: Si lectures.tex tiene esto en el preámbulo
\usepackage{xr} \externaldocument{exercises} \externaldocument[H-]{hints} \externaldocument{answers}
entonces puede usar etiquetas de referencias cruzadas de los otros tres documentos. Supón que exercises.tex tiene una lista enumerada que contiene este,
\item \label{exer:EulersThm} ¿Qué pasa si cada vértice tiene un grado impar?
y hints.tex tiene una lista enumerada con este,
\item \label{exerEulersThm} Distingue el caso de dos vértices.
y answers.tex tiene una lista enumerada con este,
\item \label{ansEulersThm} No hay camino de Euler, excepto si hay exactamente dos vértices.
Después de compilar los ejercicios, sugerencias y documentos de respuestas, ingresar esto en el cuerpo de lectures.tex dará como resultado la obtención de los números de referencia de las conferencias utilizadas en los otros documentos.
Ve el ejercicio~\ref{exer:EulersThm}, con Sugerencia~\ref{H-exer:EulersThm}. La solución es la respuesta~\ref{ans:EulersThm}.
Se necesita el prefijo H-
para la referencia del archivo de
sugerencias porque la etiqueta en el archivo de sugerencias es la
misma que la etiqueta en el archivo de ejercicios. Sin ese prefijo,
ambas referencias obtendrían el número del archivo posterior.
Nota: si el documento usa el paquete hyperref
entonces en
lugar de xr
, coloca \usepackage{xr-hyper}
antes del
\usepackage{hyperref}
. Además, si alguno de los múltiples
documentos usa hyperref
entonces todos lo deben usar.
LaTeX proporciona muchos entornos para delimitar cierto
comportamiento. Un entorno comienza con \begin
y termina con
\end
, como este:
\begin{nombre-entorno} ... \end{nombre-entorno}
El nombre-entorno al principio debe coincidir exactamente con el
de el fin. Por ejemplo, la entrada
\begin{table*}...\end{table}
generará un error como:
‘! Error de LaTeX: \begin{table*} en la línea de entrada 5
terminada en \end{table}.’
Los entornos se ejecutan dentro de un grupo.
abstract
array
center
Description
displaymath
document
enumerate
eqnarray
equation
figure
filecontents
flushleft
flushright
itemize
letter
: escribir cartaslist
math
minipage
picture
quotation
y quote
tabbing
table
tabular
thebibliography
theorem
titlepage
verbatim
verse
abstract
Sinopsis:
\begin{abstract} ... \end{abstract}
Produce un resumen, posiblemente de varios párrafos. Este entorno
solo se define en las clases de documentos article
y
report
(véase Clases de documentos).
Usar el ejemplo a continuación en la clase article
produce la
exhibición de un párrafo. La opción de clase de documento
titlepage
genera el resumen en una página separada
(véase Opciones de la clase documento); este es el predeterminado
solo en la clase report
.
\begin{abstract} Comparamos todos los relatos conocidos de la propuesta realizada por Porter Alexander a Robert E Lee en el Palacio de Justicia de Appomattox que el ejército continúa en una guerra de guerrillas, a que Lee se negó. \end{abstract}
El siguiente ejemplo produce un resumen de una
columna en un documento de dos columnas (para una solución más
flexible, usa el paquete abstract
).
\documentclass[twocolumn]{article} ... \begin{document} \title{Babe Ruth como progenitor cultural: un enfoque atávico} \author{Smith \\ Jones \\ Robinson\thanks{Subvención de seguimiento ferroviario.}} \twocolumn[ \begin{@twocolumnfalse} \maketitle \begin{abstract} Ruth no era solo el sultán del Swat, era todo el equipo swat. \end{abstract} \end{@twocolumnfalse} ] { % inserta a mano una nota al pie de página al final de la página \renewcommand{\thefootnote}{\fnsymbol{footnote}} \footnotetext[1]{Gracias por todo el pescado.} }
array
Sinopsis:
\begin{array}{cols} column 1 entry &column 2 entry ... &column n entry \\ ... \end{array}
o:
\begin{array}[pos]{cols} column 1 entry &column 2 entry ... &column n entry \\ ... \end{array}
Produce un arreglo de matemáticas. Este entorno solo se puede usar en
modo math (véase Modos), y normalmente aparece dentro de un entorno
math como equation
(véase equation
). Dentro de cada fila,
las entradas de la columna están separadas por un ampersand,
(&
). Las filas terminan con barras invertidas dobles
(véase \\
).
Este ejemplo muestra un arreglo de tres por tres.
\begin{equation*} \chi(x) = \left| % cerca de la barra vertical \begin{array}{ccc} x-a &-b &-c \\ -d &x-e &-f \\ -g &-h &x-i \end{array} \right| \end{equation*}
El argumento requerido cols describe el número de columnas, su
alineación y el formato de las regiones entre columnas. Por ejemplo,
\begin{array}{rcl}...\end{array}
da tres columnas: el
primero alineado a la derecha, el segundo centrado y el tercero
alineado a la izquierda. tabular
para la descripción completa
de cols y de otras características comunes de los dos entornos,
incluido el argumento opcional pos.
Hay dos formas en que array
difiere de tabular
. La
primera es que las entradas de array
se escriben en modo math,
en estilo texto (véase Estilos math) excepto si la definición
cols especifica la columna con p{...}
, lo que hace que
la entrada se escriba en modo de texto. La segunda es que, en lugar
del parámetro tabular
\tabcolsep
, el espacio entre
columnas de LaTeX en un array
está gobernado por
\arraycolsep
, que da la mitad del ancho entre columnas. El
predeterminado para esto es ‘5pt’ por lo que entre dos columnas
viene 10pt de espacio.
Para obtener arreglos con llaves el estándar es
usar el paquete amsmath
. Viene con entornos pmatrix
para un arreglo rodeado de paréntesis (...)
,
bmatrix
para un arreglo entre corchetes [...]
,
Bmatrix
para un arreglo rodeado de llaves {...}
,
vmatrix
para un arreglo rodeado de barras
verticales |...|
, y Vmatrix
para un arreglo rodeado
por dobles barras verticales ||...||
, junto con otras
construcciones de arreglo.
El siguiente ejemplo usa el paquete amsmath
.
\usepackage{amsmath} % en el preámbulo \begin{equation} \begin{vmatrix}{cc} % arreglo con líneas verticales a &b \\ c &d \end{vmatrix}=ad-bc \end{equation}
Hay muchos paquetes relacionados
con arreglos. El paquete array
tiene muchas extensiones
útiles, incluidos más tipos de columnas. El paquete dcolumn
agrega un tipo de columna para centrarse en un punto decimal. Para
ambos ve la documentación en CTAN.
center
Sinopsis:
\begin{center} line1 \\ line2 \\ ... \end{center}
Crea un nuevo párrafo que consta de una secuencia de líneas que está
centrado dentro de los márgenes izquierdo y derecho. Usa doble barra
invertida, \\
, para obtener un salto de línea (véase \\
).
Si algún texto es demasiado largo para caber en una línea, entonces
LaTeX insertará un salto de línea que evita la separación de
sílabas y evita estirar o encoger cualquier espacio entre palabras.
Este entorno inserta espacio por encima y por debajo del cuerpo del
texto. \centering
para evitar dicho espacio, por ejemplo dentro
de un entorno figure
.
Este ejemplo produce tres líneas centradas. Hay espacio extra vertical entre las dos últimas líneas.
\begin{center} Una Tesis Presentada en Cumplimiento Parcial \\ de los Requisitos de \\[0.5ex] la Escuela de Ingeniería Ambiental \end{center}
En este ejemplo, según el ancho de línea de la página, LaTeX puede elegir un salto de línea para la parte anterior a la barra invertida doble. Si es así, será centrar cada una de las dos líneas y si no centrará la única línea. Entonces LaTeX se romperá en la barra invertida doble y centrará el final.
\begin{center} Mi padre consideraba que cualquiera que fuera a la capilla y no bebiera alcohol no debía ser tolerado.\\ Crecí en esa creencia. ---Richard Burton \end{center}
Una barra invertida doble después de la línea final es opcional. Si está presente no agrega ningún espacio vertical.
En un documento de dos columnas, el texto está centrado en una columna, no en la página completa.
\centering
Sinopsis:
{\centering ... }
o
\begin{group} \centering ... \end{group}
Centra el material en su entorno. Se utiliza con mayor frecuencia
dentro de un entorno como figure
, o en un parbox
.
La declaración \centering
de este ejemplo hace que el gráfico
sea centrado horizontalmente.
\begin{figure} \centering \includegraphics[width=0.6\textwidth]{ctan_lion.png} \caption{CTAN Lion} \label{fig:CTANLion} \end{figure}
El entorno de este \centering
termina con
\end{figure}
.
A diferencia del entorno center
, el comando \centering
no agrega espacio vertical por encima y por debajo del texto. Esa es
su ventaja en el ejemplo anterior; no hay un exceso de espacio.
Tampoco comienza un nuevo párrafo; simplemente cambia cómo LaTeX da
formato a las unidades de párrafo. Si ww {\centering xx \\
yy} zz
está rodeado de líneas en blanco, entonces LaTeX creará un
párrafo cuya primera línea ‘ww xx’ está centrada y cuya segunda
línea, no centrada, contiene ‘yy zz’. Usualmente lo que se desea
es para el alcance de la declaración para contener una línea en blanco
o el comando \end
de un entorno como figure
o
table
que termina la unidad de párrafo. Por lo tanto, si
{\centering xx \\ yy\par} zz
está rodeado de líneas en
blanco, entonces crea un nuevo párrafo con dos líneas centradas
‘xx’ y ‘yy’, seguidas de un nuevo párrafo con ‘zz’ que
tiene el formato habitual.
Description
Sinopsis:
\begin{description} \item[etiqueta del primer elemento] texto del primer elemento \item[etiqueta del segundo elemento] texto del segundo elemento ... \end{description}
Entorno para hacer una lista de elementos etiquetados. La label de cada elemento está escrita en negrita y alineada a la izquierda, de modo que las etiquetas largas continúan en la primera línea del texto del elemento. Debe haber al menos un elemento; al no tener alguno causa el error LaTeX ‘Algo anda mal, tal vez un \item perdido’.
Este ejemplo muestra el entorno utilizado para una secuencia de definiciones.
\begin{description} \item[lama] un sacerdote. \item[llama] a una bestia. \end{description}
Las etiquetas ‘lama’ y ‘llama’ se muestran en negrita, con el borde izquierdo en el margen izquierdo.
Inicia la lista de elementos con el comando \item
(véase \item
: Una entrada en una lista). Utiliza las etiquetas opcionales, como en
\item[Main point]
, porque hay ningún valor predeterminado
sensato. Después de \item
hay texto opcional, que puede
contener varios párrafos.
Dado que las etiquetas están en negrita, si el texto de la etiqueta
requiere un cambio de letra dado en el estilo del argumento
(Estilos de tipos de letra) entonces vendrá en negrita. Por
ejemplo, si el texto de la etiqueta requiere una máquina de escribir
con \item[\texttt{label text}]
entonces aparecerá en negrita
máquina de escribir, si está disponible. La forma más sencilla de
evitar esto, en este ejemplo para obtener una máquina de escribir sin
negrita, es usar un estilo declarativo: \item[{\tt label
text}]
. Del mismo modo, obtiene la letra romana estándar con
\item[{\rm texto etiqueta}]
.
Para otros entornos principales de listas etiquetadas LaTeX,
itemize
y enumerate
. A diferencia de esos entornos,
anidar entornos description
no cambia la etiqueta
predeterminada; es negrita y alineada a la izquierda en todos los
niveles.
Para obtener información sobre los parámetros de diseño de la lista,
incluido el valor predeterminado y para obtener información sobre cómo
personalizar el diseño de la lista, list
. El paquete
enumitem
es útil para personalizar listas.
Este ejemplo cambia las etiquetas de descripción a versalitas.
\renewcommand{\descriptionlabel}[1]{% {\hspace{\labelsep}\textsc{#1}}}
displaymath
Sinopsis:
\begin{displaymath} texto matemático \end{displaymath}
Entorno para componer el texto matemático en su propia línea, en
estilo de visualización y centrado. Para hacer que el texto quede
alineado a la izquierda, usa la opción global fleqn
;
Opciones de la clase documento.
En el entorno displaymath
no se agrega ningún número de
ecuación al texto de matemáticas. Una forma de obtener un número de
ecuación es usar el entorno equation
(véase equation
).
LaTeX no dividirá el texto matemático entre líneas.
Ten en cuenta que el paquete amsmath
tiene significativamente más extensas facilidades de ecuación
mostradas. Por ejemplo, hay una serie de formas en ese paquete para
dividir el texto matemático en líneas.
La construcción \[math\]
es un sinónimo del entorno
\begin{displaymath} math \end{displaymath}
pero este
último es más fácil de trabajar en la fuente; por ejemplo, la búsqueda
de un corchete puede dar falsos positivos, pero la palabra
displaymath
probablemente será único.
(Aparte: la construcción $$math$$
de Plain TeX a
veces se usa erróneamente como sinónimo de displaymath
. Esté
no es un sinónimo, y no se admite oficialmente en LaTeX en
absoluto; $$
no admite la opción fleqn
(véase Opciones de la clase documento), tiene un espaciado vertical diferente y no
realiza comprobaciones de consistencia).
La salida de este ejemplo está centrada y sola en su línea.
\begin{displaymath} \int_1^2 x^2\,dx=7/3 \end{displaymath}
Además, el signo integral es más grande que la versión en línea que
produce \( \int_1^2 x^2\,dx=7/3 \)
.
document
El entorno document
incluye todo el cuerpo de un documento. Se
requiere en todos los documentos LaTeX. Véase Comenzar y terminar.
\AtBeginDocument
Sinopsis:
\AtBeginDocument{code}
Guarda code y ejecútelo cuando \begin{document}
sea
ejecutado, al final del preámbulo. El código se ejecuta después de
las tablas de selección de letras se han configurado, por lo que la
letra normal para el documento es la letra actual. Sin embargo, el
código se ejecuta como parte del preámbulo para que no puedas hacer
ninguna composición tipográfica con él.
Puedes emitir este comando más de una vez; las líneas de código sucesivas se ejecutarán en el orden que les diste.
\AtEndDocument
Sinopsis:
\AtEndDocument{code}
Guarda code y ejecútalo cerca del final del documento.
Específicamente, se ejecuta cuando se ejecuta \end{document}
,
antes de que termine la página final y antes de que quede flotando se
procesan los entornos. Si deseas que parte del código se ejecute
después de estos dos procesos, incluye un \clearpage
en el
punto apropiado en code.
Puedes emitir este comando más de una vez; las líneas de código sucesivas se ejecutarán en el orden que les diste.
enumerate
Sinopsis:
\begin{enumerate} \item[etiqueta opcional del primer elemento] texto del primer elemento \item[etiqueta opcional del segundo elemento] texto del segundo elemento ... \end{enumerate}
Entorno para producir una lista numerada de elementos. El formato de
la numeración de las etiquetas depende del nivel de anidamiento de
este entorno; ve abajo. La numeración de nivel superior predeterminada
es ‘1.’, ‘2.’, etc. Cada entorno de lista enumerate
debe tener al menos un elemento; no tiene ninguna causa el error
LaTeX ‘Algo anda mal, tal vez un \item perdido’.
Este ejemplo muestra a los dos primeros finalistas en el maratón olímpico de 1908. Como lista de nivel superior, las etiquetas aparecerían como ‘1.’ y ‘2.’.
\begin{enumerate} \item Johnny Hayes (USA) \item Charles Hefferon (RSA) \end{enumerate}
Inicia la lista de elementos con el comando \item
(véase \item
: Una entrada en una lista). Si le das a \item
un argumento opcional
siguiéndolo con corchetes, como en \item[Etiqueta
intersticial]
, entonces el siguiente elemento continuará la secuencia
interrumpida (véase \item
: Una entrada en una lista). Es decir, obtendrás etiquetas como
‘1.’, entonces ‘Etiqueta intersticial’, luego ‘2.’.
Después de \item
hay texto opcional, que puede contener varios
párrafos.
Las enumeraciones se pueden anidar dentro de otros entornos
enumerate
, o dentro de cualquier entorno de creación de
párrafos como itemize
(véase itemize
), hasta cuatro niveles
de profundidad. Esto le proporciona el valor LaTeX predeterminado
para el formato en cada nivel de anidamiento, donde 1 es el nivel
superior, el nivel más exterior.
El entorno enumerate
utiliza
los contadores \enumi
hasta \enumiv
(véase Contadores).
Para otros entornos principales de listas etiquetadas LaTeX,
Description
e itemize
. Para obtener información sobre el
diseño de parámetros de lista, incluidos los valores predeterminados,
y para obtener información sobre personalizar el diseño de la lista,
list
. El paquete enumitem
es útil para personalizar
listas.
Para
cambiar el formato de la etiqueta usa \renewcommand
(véase \newcommand
y \renewcommand
) en los comandos
\labelenumi
a través de \labelenumiv
. Por ejemplo, esta
lista de primer nivel será etiquetada con letras mayúsculas, en
negrita y sin punto final.
\renewcommand{\labelenumi}{\textbf{\Alph{enumi}}} \begin{enumerate} \item Se muestra en negrita A \item Se muestra en negrita B \end{enumerate}
Para obtener una lista de comandos de contraetiquetado, consulta
\alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores.
eqnarray
El entorno eqnarray
está obsoleto. Tiene infelicidades,
incluyendo el espaciado que es inconsistente con otros elementos
matemáticos. (Ve “¡Evita eqnarray!” por Lars Madsen
https://tug.org/TUGboat/tb33-1/tb103madsen.pdf). Nuevos
documentos deben incluir el paquete amsmath
y usar el que
muestra entornos matemáticos proporcionados allí, como el entorno
align
. Incluimos una descripción solo para completar y para
trabajar con documentos antiguos.
Sinopsis:
\begin{eqnarray} primera fórmula a la izquierda, primera fórmula en el medio y primera fórmula a la derecha \\ ... \end{eqnarray}
o
\begin{eqnarray*} primera fórmula a la izquierda, primera fórmula en el medio y primera fórmula a la derecha \\ ... \end{eqnarray*}
Muestra una secuencia de ecuaciones o desigualdades. Los lados izquierdo y derecho se escriben en el modo display, mientras que el medio se escribe en el modo texto.
Es similar a un entorno array
de tres columnas, con elementos
dentro de una fila separada por un ampersand (&
), y con
filas separadas por dobles barras inversas \\
).
La forma de estrella del salto de línea (\\*
) también se puede
usar para separar ecuaciones, y no permitirá un salto de página allí
(véase \\
).
La forma sin estrella eqnarray
coloca un número de ecuación en
cada línea (usando el contador equation
), a menos que esa línea
contenga un comando \nonumber
. La forma destacada
eqnarray*
omite numeración de ecuaciones, mientras que por lo
demás son iguales.
El comando \lefteqn
se usa para dividir fórmulas largas en
líneas. Escribe tu argumento en estilo de visualización alineado a la
izquierda en un cuadro de ancho cero.
Este ejemplo muestra tres líneas. Las dos primeras líneas forman una desigualdad, mientras que la tercera línea no tiene entrada por el lado izquierdo.
\begin{eqnarray*} \lefteqn{x_1+x_2+\cdots+x_n} \\ &\leq &y_1+y_2+\cdots+y_n \\ &= &z+y_3+\cdots+y_n \end{eqnarray*}
equation
Sinopsis:
\begin{equation} texto matemático \end{equation}
Lo mismo que un entorno displaymath
(véase displaymath
)
excepto que LaTeX pone un número de ecuación al ras del margen
derecho. El número de la ecuación se genera usando el contador
equation
.
No debe haber líneas en blanco entre \begin{equation}
y
\begin{equation}
, o LaTeX te dirá que falta el signo de
dólar.
El paquete amsmath
tiene una extensas
facilidades para mostrar ecuaciones. Los nuevos documentos deben
incluir este paquete.
figure
Sinopsis:
\begin{figure}[placement] cuerpo de figura \caption[loftitle]{title} % opcional \label{label} % opcional \end{figure}
o:
\begin{figure*}[placement] cuerpo de figura \caption[loftitle]{title} % opcional \label{label} % opcional \end{figure*}
Las figuras son para material que no forma parte del texto normal. Un ejemplo es material que no se puede dividir en dos páginas, tal como gráficos. Debido a esto, LaTeX no escribe cifras en secuencia con texto normal, sino que los “hace flotar” a un lugar conveniente, como la parte superior de una página siguiente (véase Flotantes).
El cuerpo de figura puede consistir en gráficos importados
(véase Gráficos), o texto, comandos de LaTeX, etc. Está escrito
en un parbox
de ancho \textwidth
.
Los posibles valores de placement son h
para ‘aquí’,
t
para ‘top’, b
para ‘bottom’ y p
para
‘en una página de flotantes separada’. Para el efecto de estas
opciones en el algoritmo de colocación de flotantes, Flotantes.
La forma destacada figure*
se usa cuando un documento está en
modo de doble columna (véase \twocolumn
). Produce una figura que
abarca ambas columnas, en la parte superior de la página. Para
agregar la posibilidad de colocar en la parte inferior de una página,
ve la discusión de placement b
en Flotantes.
La etiqueta es opcional; se usa para referencias cruzadas
(véase Referencias cruzadas). El comando opcional \caption
especifica el texto del título para la figura (véase \caption
). De
manera predeterminada está numerado. Si loftitle está presente,
se usa en la lista de figuras en lugar de title (véase Tabla de contenido, lista de figuras, lista de tablas).
Este ejemplo hace una figura a partir de un gráfico. LaTeX colocará ese gráfico y su título en la parte superior de una página o, si se empuja al final del documento, en una página de flotantes.
\usepackage{graphicx} % en el preámbulo ... \begin{figure}[t] \centering \includegraphics[width=0.5\textwidth]{CTANlion.png} \caption{El CTAN lion, por Duane Bibby} \end{figure}
filecontents
Sinopsis:
\begin{filecontents}[option]{filename} text \end{filecontents}
o
\begin{filecontents*}[option]{filename} text \end{filecontents*}
Crea un archivo llamado filename en el directorio actual (o el directorio de salida, si se especifica; véase directorio de salida) y escribir text en él. De forma predeterminada, un archivo existente no se sobrescribe.
La versión sin estrella del entorno filecontents
prefija el
contenido del archivo creado con un encabezado de comentarios TeX;
ve el siguiente ejemplo. La versión protagonista filecontents*
no incluye el encabezado.
Las opciones posibles son::
force
¶overwrite
La opción overwrite
para filecontents
Sobrescribe un archivo existente.
noheader
¶Omite el encabezado. Equivale a usar filecontents*
.
nosearch
¶Solo verifica el directorio actual (y el directorio de salida, si se ha especificado) para un archivo existente, no la ruta de búsqueda completa.
Estas opciones se agregaron en una versión de LaTeX de 2019.
Este entorno se puede utilizar en cualquier parte del preámbulo,
aunque a menudo aparece antes del comando \documentclass
. Esta
comúnmente se usa para crear un .bib
u otro archivo de datos
similar desde el origen del documento principal, para que el archivo
fuente sea autónomo. Del mismo modo, se puede usar para crear un
estilo personalizado o un archivo de clase, nuevamente haciendo que la
fuente sea autónoma.
Por ejemplo, este documento::
\documentclass{article} \begin{filecontents}{JH.sty} \newcommand{\myname}{Jim Hef{}feron} \end{filecontents} \usepackage{JH} \begin{document} Artículo por \myname. \end{document}
produce este archivo JH.sty:
%% Archivo LaTeX2e `JH.sty' %% generado por el entorno `filecontents' %% de la fuente `test' el 12/10/2015. %% \newcommand{\myname}{Jim Hef{}feron}
flushleft
Sinopsis:
\begin{flushleft} line1 \\ line2 \\ ... \end{flushleft}
Un entorno que crea un párrafo cuyas líneas están al ras del margen
izquierdo e irregular al lado derecho. Si tienes filas demasiado
largas entonces LaTeX las dividirá de una manera que evite la
separación silábica y alargar o achicar los espacios entre palabras.
Para forzar una nueva línea usa una doble barra invertida, \\
.
Para la forma de declaración \raggedright
.
Esto crea un cuadro de texto que tiene como máximo 3 pulgadas de ancho, con el texto alineado a la izquierda e irregular a la derecha.
\noindent\begin{minipage}{3in} \begin{flushleft} Una oración larga que será dividida por \LaTeX{} en un lugar conveniente. \\ Y, una nueva línea forzada por la doble barra invertida. \end{flushleft} \end{minipage}
\raggedright
Sinopsis:
{\raggedright ... }
o
\begin{environment} \raggedright ... \end{environment}
Una declaración que hace que las líneas queden al ras del margen
izquierdo e irregular a la derecha. Se puede usar dentro de un
environment como quote
o en un parbox
. Para la
forma del entorno flushleft
.
A diferencia del entorno flushleft
, \raggedright
el
comando no inicia un nuevo párrafo; solo cambia en cómo LaTeX da
formato a las unidades de párrafo. Para afectar el formato de una
unidad de párrafo, el alcance de la declaración debe contener la línea
en blanco o el comando \end
que finaliza la unidad de párrafo.
Aquí \raggedright
en cada segunda columna evita que LaTeX
haga una composición tipográfica incómoda para encajar el texto en la
columna reducida. Ten en cuenta que \raggedright
está dentro
de llaves {...}
para delimitar su efecto.
\begin{tabular}{rp{2in}} Equipo alfa &{\raggedright Este equipo hace todo el trabajo real.} \\ Equipo beta &{\raggedright Este equipo se asegura de que el enfriador de agua nunca esté vacío.} \\ \end{tabular}
flushright
\begin{flushright} line1 \\ line2 \\ ... \end{flushright}
Un entorno que crea un párrafo cuyas líneas están al ras del margen
derecho e irregular al izquierdo. Si tienes filas demasiado largas
para ajustarse a los márgenes, entonces LaTeX los dividirá de una
manera que evita la división con guiones y la ampliación o reducción
de los espacios entre palabras. Para forzar una nueva línea usa una
barra invertida doble, \\
. Para la forma de
declaración \raggedleft
.
Para ver un ejemplo relacionado con este entorno, flushleft
,
donde uno solo tiene mutatis mutandis para reemplazar flushleft
por flushright
.
\raggedleft
Sinopsis:
{\raggedleft ... }
o
\begin{environment} \raggedleft ... \end{environment}
Una declaración que hace que las líneas queden al ras del margen
derecho e izquierdo irregular. Se puede usar dentro de un
environment como quote
o en un parbox
. Para la
forma del entorno flushright
.
A diferencia del entorno flushright
, \raggedleft
el
comando no inicia un nuevo párrafo; solo cambia cómo LaTeX da
formato a las unidades de párrafo. Para afectar el formato de una
unidad de párrafo, el alcance de la declaración debe contener la línea
en blanco o el comando \end
que finaliza la unidad de párrafo.
Para ver un ejemplo relacionado con este entorno,
\raggedright
, donde uno solo tiene mutatis mutandis para
reemplazar \raggedright
por \raggedleft
.
itemize
Sinopsis:
\begin{itemize} \item[etiqueta opcional del primer elemento] texto del primer elemento \item[etiqueta opcional del segundo elemento] texto del segundo elemento ... \end{itemize}
Produce una lista desordenada, a veces denominada lista con
viñetas. Ahí debe haber al menos un \item
dentro del entorno;
no tiene ninguna causa el error LaTeX ‘Algo anda mal, tal vez
un \item faltante’.
Esto da una lista de dos elementos.
\begin{itemize} \item Dibujo a lápiz y acuarela por Cassandra \item Retrato de arroz \end{itemize}
Con la configuración regional predeterminada — sin cargar, por
ejemplo, el paquete babel
con otro idioma que no sea
inglés—como una lista de nivel superior cada etiqueta saldría como
una viñeta, •. El formato del etiquetado depende del nivel de
anidamiento; ve abajo.
Inicia la lista de elementos con el comando \item
(véase \item
: Una entrada en una lista). Si le das a \item
un argumento opcional entre
corchetes siguiéndolo, como en \item[Etiqueta optional]
,
entonces de manera predeterminada Etiqueta opcional aparecerá en
negrita y alineada a la derecha, por lo que se podría extender hasta
el margen izquierdo. Para las etiquetas que están niveladas a la
izquierda, consulta el entorno Description
. Después del
\item
está el texto del elemento, que puede estar vacío o
contener varios párrafos.
Las listas desordenadas se pueden anidar una dentro de otra, hasta
cuatro niveles de profundidad. También se pueden anidar en otros
entornos de creación de párrafos, como enumerate
(véase enumerate
).
El entorno
itemize
usa los comandos \labelitemi
a través de
\labelitemiv
para generar la etiqueta predeterminada (ten en
cuenta la convención de números romanos en minúsculas al final de los
nombres de los comandos que significan el nivel de anidamiento).
Estas son las marcas predeterminadas en cada nivel.
\textbullet
)
\normalfont\bfseries\textendash
)
\textasteriskcentered
)
\textperiodcentered
)
Cambia las etiquetas con \renewcommand
. Por ejemplo, esto hace
que el primer nivel use diamantes.
\renewcommand{\labelitemi}{$\diamond$}
La distancia entre el margen izquierdo
del entorno envolvente y el margen izquierdo de la lista
itemize
está determinado por el parámetros \leftmargini
a \leftmarginvi
. (Esto también usa la convención de usar
números romanos en minúsculas al final del nombre del comando para
indicar el nivel de anidamiento). Los valores predeterminados son:
2.5em
en el nivel 1 (2em
en modo de dos columnas),
2.2em
en el nivel 2, 1.87em
en el nivel 3 y 1.7em
en el nivel 4, con valores más pequeños para niveles anidados más
profundos.
Para otros entornos principales de listas
etiquetadas LaTeX, Description
y enumerate
.
itemize
, los entornos enumerate
y description
usan la misma lista de parámetros de diseño. Para obtener una
descripción, incluidos los valores predeterminados, y para obtener
información sobre cómo personalizar el diseño de la lista, list
.
El paquete enumitem
es útil para personalizar listas.
Este ejemplo reduce en gran medida el espacio del margen para los elementos detallados más externos de listas.
\setlength{\leftmargini}{1.25em} % predeterminado 2.5em
Especialmente para listas con artículos cortos, puede ser deseable
eludir espacio entre elementos. Aquí hay un ejemplo que define un
entorno itemize*
sin espacios adicionales entre elementos o
entre párrafos dentro de un solo elemento (\parskip
no es
específico de la lista, véase \parindent
y \parskip
):
\newenvironment{itemize*}% {\begin{itemize}% \setlength{\itemsep}{0pt}% \setlength{\parsep}{0pt}}% \setlength{\parskip}{0pt}}% {\end{itemize}}
list
Sinopsis:
\begin{list}{labeling}{spacing} \item[etiqueta opcional del primer elemento] texto del primer elemento \item[etiqueta opcional del segundo elemento] texto del segundo elemento ... \end{list}
Un entorno para la construcción de listas.
Ten en cuenta que este entorno no suele aparecer en el cuerpo del
documento. La mayoría de las listas creadas por los autores de
LaTeX son las que vienen estándar: los entornos description
,
enumerate
e itemize
(véase Description
,
enumerate
y itemize
).
En cambio, el entorno list
se usa con mayor frecuencia en
macros. Por ejemplo, muchos entornos LaTeX estándar que no
funcionan inmediatamente parecen ser listas, de hecho están
construidos usando list
, incluyendo quotation
,
quote
y center
(véase quotation
y quote
,
véase center
).
Este usa el entorno list
para definir un nuevo entorno
personalizado.
\newcounter{namedlistcounter} % número de elementos \newenvironment{named} {\begin{list} {Item~\Roman{namedlistcounter}.} % etiquetado {\usecounter{namedlistcounter} % establece el contador \setlength{\leftmargin}{3.5em}} % establece el espaciado } {\end{list}} \begin{named} \item Se muestra como ``Item~I.'' \item[Etiqueta especial.] Se muestra como ``Etiqueta especial.'' \item Se muestra como ``Item~II.'' \end{named}
El primer argumento obligatorio labeling especifica el valor
predeterminado de etiquetado de los elementos de la lista. Puede
contener comandos de texto y LaTeX, como arriba donde contiene
‘Item’ y ‘\Roman{…}’. LaTeX forma la etiqueta
poniendo el argumento labeling en un cuadro de ancho
\labelwidth
. Si la etiqueta es más ancha que eso, el material
adicional se extiende a la derecha. Al hacer una instancia de una
list
puedes redefinir el etiquetado predeterminado dando a
\item
un argumento opcional al incluir corchetes y el texto,
como en la \item[Etiqueta especial.]
; véase \item
: Una entrada en una lista.
El segundo argumento obligatorio spacing tiene una lista de
comandos. Esta lista puede estar vacía. Un comando que puede entrar
aquí es \usecounter{countername}
(véase \usecounter
).
Utiliza este diciéndole a LaTeX que numere los elementos usando el
contador dado. El contador se restablecerá a cero cada vez que
LaTeX ingrese al entorno, y el contador se incrementa en uno cada
vez que LaTeX encuentra un \item
que no tiene un argumento
opcional.
Otro comando que puede ir en spacing es
\makelabel
, que construye el cuadro de etiquetas. De manera
predeterminada pone el contenido volcado a la derecha. Su único
argumento es la etiqueta, que composiciones tipográficas en modo LR
(véase Modos). Un ejemplo de cambiar su definición es la del ejemplo
del named
anterior, antes de la definición del entorno añade
\newcommand{\namedmakelabel}[1]{\textsc{#1}}
, y entre el
comando \setlength
y el paréntesis que cierra el argumento
spacing también agrega \let\makelabel\namedmakelabel
.
Luego, las etiquetas se compondrán en versalitas. Del mismo modo,
cambiando la segunda línea del código a \let\makelabel\fbox
pone las etiquetas dentro de una caja enmarcada. A continuación se
muestra otro ejemplo del comando \makelabel
, en la definición
del entorno redlabel
.
También a menudo en spacing hay comandos para redefinir el
espacio para la lista. A continuación se muestran los parámetros de
espaciado con sus valores predeterminados. (Los valores
predeterminados para entornos derivados como itemize
pueden ser
diferentes a los valores que se muestran aquí). Consulta también la
siguiente figura de lista. Cada uno tiene una longitud
(véase Longitudes). Los espacios verticales normalmente son
longitudes elásticas, con componentes plus
y minus
, para
darle flexibilidad a TeX en la configuración de la página. Cambiar
cada uno con un comando como \setlength{itemsep}{2pt plus1pt
minus1pt}
. Para algunos efectos, estas longitudes deben ser cero o
negativas.
\itemindent
¶Sangría de espacio horizontal adicional, más
allá de leftmargin
, de la primera línea de cada elemento. Su
valor predeterminado es 0pt
.
\itemsep
¶Espacio vertical entre elementos, más allá del
\parsep
. Los valores predeterminados para los tres primeros
niveles en las clases LaTeX ‘article’, ‘book’ y
‘report’ con un tamaño de 10 puntos son: 4pt plus2pt minus
1pt
, \parsep
(es decir, 2pt plus 1pt minus 1pt
), y
\topsep
(es decir, 2pt plus 1pt minus 1pt
). Los valores
predeterminados en 11 puntos son: 4.5pt plus 2pt minus 1pt
,
\parsep
(es decir, 2pt plus 1pt minus 1pt
) y
\topsep
(es decir, 2pt plus 1pt minus 1pt
). Los valores
predeterminados en 12 puntos son: 5pt plus 2.5pt minus 1pt
,
\parsep
(es decir, 2.5pt plus 1pt minus 1pt
), y
\topsep
(es decir, 2.5pt plus 1pt minus 1pt
).
\labelsep
¶Espacio horizontal entre la etiqueta y el
texto de un elemento. El valor predeterminado para las clases
LaTeX ‘article’, ‘book’, y ‘report’ es 0.5em
.
\labelwidth
¶Ancho horizontal. La caja que contiene la
etiqueta nominalmente es así de ancha. Si \makelabel
devuelve
un texto más ancho que este, entonces la primera línea del elemento se
sangrará para dejar espacio para este material adicional. Si
\makelabel
devuelve texto de ancho menor o igual que
\labelwidth
entonces el valor predeterminado de LaTeX es que
la etiqueta está compuesta al ras en una caja de este ancho.
El borde izquierdo del cuadro de etiqueta es
\leftmargin
+\itemindent
-\labelsep
-\labelwidth
del margen izquierdo del entorno envolvente.
El valor predeterminado para las clases ‘article’, ‘book’ y
‘report’ de LaTeX en el nivel superior es
\leftmargini
-\labelsep
, (que es 2em
en modo una
columna y 1.5em
en modo de dos columnas). En el segundo nivel
es \leftmarginii
-\labelsep
, y en el tercer nivel es
\leftmarginiii
-\labelsep
. Estas definiciones hacen que
el borde izquierdo de la etiqueta coincida con el margen izquierdo del
entorno envolvente.
\leftmargin
¶Espacio horizontal entre el margen izquierdo del entorno envolvente (o el margen izquierdo de la página si se trata de una lista de nivel superior), y el margen izquierdo de esta lista. No debe ser negativo.
En las clases de documentos estándar de LaTeX, una lista de nivel
superior tiene este conjunto al valor de \leftmargini
, mientras
que una lista anidada dentro una lista de nivel superior tiene este
margen establecido en \leftmarginii
. Las listas más
profundamente anidadas obtienen los valores de \leftmarginiii
a
través de \leftmarginvi
. (La anidación superior al nivel cinco
genera el mensaje de error ‘Anidado demasiado profundo’).
Los valores predeterminados para los primeros tres niveles en las clases
LaTeX ‘article’, ‘book’ y ‘report’ son: \leftmargini
es
2.5em
(en modo de dos columnas, 2em
), \leftmarginii
es
2.2em
y \leftmarginiii
es 1.87em
.
\listparindent
¶Espacio horizontal de sangría de línea
adicional, más allá de \leftmargin
, para el segundo y
posteriores párrafos dentro de una lista item
. Un valor
negativo lo convierte en “outdent”. Su valor predeterminado es
0pt
.
\parsep
¶Espacio vertical entre párrafos dentro de un
elemento. Los valores predeterminados para los primeros tres niveles
en las clases LaTeX ‘article’, ‘book’ y ‘report’ con
un tamaño de 10 puntos son: 4pt plus 2pt minus 1pt
, 2pt
plus 1pt minus 1pt
y 0pt
. Los valores predeterminados en
tamaño de 11 puntos son: 4.5pt plus 2pt minus 1pt
, 2pt
plus1pt minus1pt
, y 0pt
. Los valores predeterminados en
tamaño de 12 puntos son: 5pt plus 2.5pt minus 1pt
, 2.5pt
plus 1pt minus 1pt
y 0pt
.
\partopsep
¶Espacio vertical agregado, más allá de
\topsep
+\parskip
, en la parte superior y la parte
inferior de todo el entorno si la instancia de la lista está precedida
por una línea en blanco. (Una línea en blanco en la fuente LaTeX
antes de la lista cambia el espaciado en la parte superior e inferior
de la lista; si la línea siguiente a la lista está en blanco, no
importa).
Los valores predeterminados para los primeros tres niveles en las
clases LaTeX ‘article’, ‘book’ y ‘report’ con un
tamaño de 10 puntos son: 2pt plus 1pt minus 1pt
, 2pt plus
1pt minus 1pt
y 1pt plus0pt minus1pt
. Los valores
predeterminados en 11 puntos son: 3pt plus1pt minus1pt
,
3pt plus 1pt minus 1pt
y 1pt plus0pt minus 1pt
). Los
valores predeterminados en 12 puntos son: 3pt plus 2pt minus
3pt
, 3pt plus 2pt minus 2pt
y 1pt plus0pt minus 1pt
.
\rightmargin
¶Espacio horizontal entre el margen derecho
de la lista y el margen derecho del entorno envolvente. Su valor
predeterminado es 0pt
. No debe ser negativo.
\topsep
¶Espacio vertical agregado a la parte superior e
inferior de la lista, además a \parskip
(véase \parindent
y \parskip
). Los valores predeterminados para los tres primeros
niveles en las clases LaTeX ‘article’, ‘book’ y
‘report’ con un tamaño de 10 puntos son: 8pt plus 2pt minus
4pt
, 4pt plus 2pt minus 1pt
y 2pt plus 1pt minus 1pt
.
Los valores predeterminados en 11 puntos son: 9pt plus 3pt minus
5pt
, 4.5pt plus 2pt minus 1pt
y 2pt plus 1pt minus 1pt
.
Los valores predeterminados para 12 puntos son: 10pt plus 4pt
minus 6pt
, 5pt plus 2.5pt minus 1pt
, y 2.5pt plus 1pt
minus 1pt
.
Esto muestra las distancias horizontal y vertical.
Las longitudes que se muestran se enumeran a continuación. La relación clave es que el borde derecho del paréntesis para h1 es igual al borde derecho del corchete para h4, de modo que el borde izquierdo del cuadro de etiqueta esté en h3+h4-(h0+h1).
\topsep
+ \parskip
si el entorno de la lista no
comienza un nuevo párrafo, y
\topsep
+\parskip
+\partopsep
si lo comienza
\parsep
\itemsep
+\parsep
Igual que v0. (Este espacio se ve afectado por si una línea en blanco aparece en la fuente por encima del entorno; si una línea en blanco aparece en la fuente debajo del entorno no importa).
\labelwidth
\labelsep
\listparindent
\leftmargin
\itemindent
\rightmargin
Los márgenes izquierdo y derecho de la lista, que se muestran arriba
como h3 y h5, son con respecto a las proporcionadas por el
entorno circundante, o con respecto a los márgenes de página para una
lista de nivel superior. El ancho de línea utilizado para componer
los elementos de la lista es \linewidth
(véase Parámetros de composición de página). Por ejemplo, establece el margen izquierdo
de la lista para que sea una cuarta parte de la distancia entre los
márgenes izquierdo y derecho del entorno envolvente con
\setlength{\leftmargin}{0.25\linewidth}
.
Los saltos de página en una estructura de lista están controlados por
los tres parámetros a continuación. Para cada uno, el valor
predeterminado de LaTeX es -\@lowpenalty
, es decir,
-51
. Porque es negativo, de alguna manera fomenta un salto de
página en cada punto. Cambiarlo con, por ejemplo,
\@beginparpenalty=9999
; un valor de 10000 prohíbe un salto de
página.
\@beginparpenalty
¶La penalización de salto de página por
romper antes de la lista (predeterminado -51
).
\@itempenalty
¶La penalización por salto de página al
romper antes de un elemento de lista (predeterminado -51
).
\@endparpenalty
¶La penalización de salto de página por
romper después de una lista (predeterminado -51
).
El paquete enumitem
es útil para personalizar listas.
Este ejemplo tiene las etiquetas en rojo. Están numeradas, y el borde
izquierdo de la etiqueta se alinea con el borde izquierdo del texto
del elemento. Véase \usecounter
.
\usepackage{color} \newcounter{cnt} \newcommand{\makeredlabel}[1]{\textcolor{red}{#1.}} \newenvironment{redlabel} {\begin{list} {\arabic{cnt}} {\usecounter{cnt} \setlength{\labelwidth}{0em} \setlength{\labelsep}{0.5em} \setlength{\leftmargin}{1.5em} \setlength{\itemindent}{0.5em} % equals \labelwidth+\labelsep \let\makelabel=\makeredlabel } } {\end{list}}
\item
: Una entrada en una listaSinopsis:
\item texto del elemento
o
\item[optional-label] texto del elemento
Una entrada en una lista. Las entradas están precedidas por una etiqueta, cuyo valor predeterminado depende del tipo de lista.
Porque la etiqueta opcional está entre corchetes ‘[...]’, si
tienes un elemento cuyo texto comienza con [, tienes que ocultar el
corchete dentro de las llaves, como en: \item {[} es un
corchete de apertura
; de lo contrario, LaTeX pensará en la marca
como el comienzo de una etiqueta opcional.
Del mismo modo, si el artículo tiene la etiqueta opcional y necesitas
un corchete de cierre dentro de esa etiqueta, lo debes ocultar en la
misma forma: \item[Corchete de cierre, {]}]
. Véase Sintaxis del comando LaTeX.
En este ejemplo, la lista de enumeración tiene dos elementos que usan el valor de etiqueta predeterminado y otra que usa la etiqueta opcional.
\begin{enumerate} \item Moe \item[a veces] Shemp \item Larry \end{enumerate}
El primer elemento está etiquetado como ‘1.’, el segundo elemento está etiquetado ‘a veces’, y el tercer elemento está etiquetado como ‘2.’. Porque de la etiqueta opcional en el segundo artículo, el tercer artículo no está etiquetado ‘3.’.
trivlist
: Una forma restringida de list
Sinopsis:
\begin{trivlist} ... \end{trivlist}
Una versión restringida del entorno list, en la que los márgenes no
son sangrados y un \item
sin un argumento opcional no produce
texto. Se utiliza con mayor frecuencia en macros, para definir un
entorno en el que el comando \item
es parte de la definición
del entorno. Para instancia, el entorno center
se define
esencialmente como este:
\newenvironment{center} {\begin{trivlist}\centering\item\relax} {\end{trivlist}}
El uso de trivlist
de esta manera permite que la macro herede
algún código común: combinar el espacio vertical de dos entornos
adyacentes; detectar si el texto que sigue al entorno debe ser
considerado un nuevo párrafo o una continuación del anterior; ajustar
los márgenes izquierdo y derecho para un posible entorno de lista
anidada.
Específicamente, trivlist
usa los valores actuales de los
parámetros de lista (véase list
), excepto que \parsep
se
establece en el valor de \parskip
, y \leftmargin
,
\labelwidth
, e \itemindent
se establecen en cero.
Este ejemplo genera los elementos como dos párrafos, excepto que (de manera predeterminada) no tienen sangría de párrafo y están separados verticalmente.
\begin{trivlist} \item La \textit{Sorpresa} no es antigua; nadie la llamaría vieja. \item Ella tiene un arco de farol, lindas líneas. \end{trivlist}
math
Sinopsis:
\begin{math} math \end{math}
El entorno math
inserta material dado math dentro del
texto en ejecución. \(...\)
y $...$
son sinónimos.
Véase Fórmulas math.
minipage
Sinopsis:
\begin{minipage}{width} contenido \end{minipage}
o
\begin{minipage}[position][height][inner-pos]{width} contenido \end{minipage}
Pon contenido en un cuadro que tenga un ancho de width.
Esto es como una versión pequeña de una página; puede contener sus
propias notas al pie, listas detalladas, etc. (Hay algunas
restricciones, incluyendo que no puede tener flotante). Este cuadro
no se dividirá entre páginas. Entonces minipage
es similar a
\parbox
(véase \parbox
) pero aquí puedes tener párrafos.
Este ejemplo tendrá 3 pulgadas de ancho y tiene dos párrafos.
\begin{minipage}{3in} Stephen Kleene fue uno de los fundadores de la Teoría de la Computación. Fue estudiante de Iglesia, escribió tres textos influyentes, fue presidente de la Asociación de Lógica Simbólica, y ganó la Medalla Nacional de Ciencias. \end{minipage}
Ve adelante, para una explicación de la sangría de párrafo dentro de
una minipage
.
El argumento requerido width es una longitud rígida (véase Longitudes). Da el ancho de la caja en la que se compone contenido.
Hay tres argumentos opcionales, position, height e
inner-pos. No es necesario incluir los tres. Por ejemplo,
obtener la position predeterminada y establecer height con
\begin{minipage}[c][2.54cm]{\columnwidth} content
\end{minipage}
. (Obtiene la altura natural con un argumento vacío,
[]
).
El argumento opcional position gobierna cómo minipage
se
alinea verticalmente con el material circundante.
c
(sinónimo m
) Predeterminado. Posiciona la minipage
para
que su centro vertical se alinee con el centro de la línea de texto
adyacente.
t
¶Alinea la línea base de la línea superior en la minipage
con la
línea base del texto circundante (el \vtop
de TeX simple).
b
¶Alinea la línea base de la línea inferior en la minipage
con la
línea base del texto circundante (el \vbox
de TeX simple).
Para ver los efectos de estos, contrasta esta ejecución
---\begin{minipage}[c]{0.25in} primero\\ segundo\\ tercero \end{minipage}
con los resultados de cambiar c
a b
o t
.
El argumento opcional height es una longitud rígida
(véase Longitudes). Establece la altura de la minipage
.
Puedes ingresar cualquier valor más grande que, igual o más pequeño
que el código natural de minipage
height y LaTeX no darán un
error o una advertencia. También puedes establecer a una altura de
cero o un valor negativo.
El último argumento opcional inner-pos controla la ubicación de contenido dentro del cuadro. Estos son los valores posibles (el predeterminado es el valor de position).
t
Coloca contenido en la parte superior del cuadro.
c
Lo coloca en el centro vertical.
b
Lo coloca en el fondo de la caja.
s
Estira contenido verticalmente; debe contener espacio elástico verticalmente.
El argumento inner-pos tiene sentido cuando la opción
height se establece en un valor mayor que la altura natural de
minipage
. Para ver el efecto de las opciones, ejecuta este
ejemplo con las distintas opciones en lugar de b
.
Texto antes \begin{center} ---\begin{minipage}[c][3in][b]{0.25\textwidth} primero\\ segundo\\ tercero \end{minipage} \end{center} Texto después
De manera predeterminada, los párrafos no tienen sangría en una
minipage
. Cambio que con un comando como
\setlength{\parindent}{1pc}
en el inicio de
contenido.
Las notas al pie en un entorno minipage
se manejan de una
manera que es particularmente útil para poner notas a pie de página en
figuras o tablas. Para el comando \footnote
o
\footnotetext
coloca la nota al pie en la parte inferior de la
minipágina en lugar de en la parte inferior de la página, y usa el
contador \mpfootnote
en lugar del contador ordinario
footnote
(véase Contadores).
Esto coloca la nota al pie en la parte inferior de la tabla, no en la parte inferior de la página.
\begin{center} % centra la minipágina en la línea \begin{minipage}{2.5in} \begin{center} % centra la tabla dentro de la minipágina \begin{tabular}{ll} \textsc{Monarca} &\textsc{Reinado} \\ \hline Isabel II &96 años\footnote{hasta su fallecimiento} \\ Victoria &63 años \\ Jorge III &59 años \end{tabular} \end{centro} \end{minipage} \end{center}
Si anidas minipáginas, hay una rareza al usar notas al pie. Las notas
al pie aparecen en la parte inferior del texto terminadas por la
siguiente \end{minipage}
que puede no ser su lugar lógico.
Esto coloca una tabla que contiene datos al lado de un gráfico de mapa. Ellos están centrados verticalmente.
% siunitx para tener el especificador de columna S, % que alinea los números en su punto decimal. \usepackage{siunitx} \newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} ... \begin{center} \vcenteredhbox{\includegraphics[width=0.3\textwidth]{nyc.png}} \hspace{0.1\textwidth} \begin{minipage}{0.5\textwidth} \begin{tabular}{r|S} % \multicolumn para eliminar la barra vertical entre los encabezados % de las columnas \multicolumn{1}{r}{Borough} & % llaves para evitar que siunitx malinterprete el % período como separador decimal {Pop. (million)} \\ \hline The Bronx &1.5 \\ Brooklyn &2.6 \\ Manhattan &1.6 \\ Queens &2.3 \\ Staten Island &0.5 \end{tabular} \end{minipage} \end{center}
picture
Sinopsis:
\begin{picture}(width,height) comando picture \end{picture}
o
\begin{picture}(width,height)(xoffset,yoffset) comando picture \end{picture}
Donde puede haber cualquier número de comando picture.
Un entorno para crear imágenes simples que contienen líneas, flechas, cuadros, círculos y texto. Este entorno no es obsoleto, sino que los nuevos documentos suelen utilizar sistemas de creación de gráficos mucho más potentes, como TikZ, PSTricks, MetaPost o Asymptote. Ninguno de estos están cubiertos en este documento; ve CTAN.
Para empezar, aquí hay un ejemplo que muestra la ley del paralelogramo para sumar vectores.
\setlength{\unitlength}{1cm} \begin{picture}(6,6) % cuadro de imagen tendrá 6 cm de ancho por % 6 cm de alto \put(0,0){\vector(2,1){4}} % por cada 2 sobre este vector sube 1 \put(2,1){\makebox(0,0)[l]{\ primer etapa}} \put(4,2){\vector(1,2){2}} \put(5,4){\makebox(0,0)[l]{\ segunda etapa}} \put(0,0){\vector(1,1){6}} \put(3,3){\makebox(0,0)[r]{sum\ }} \end{picture}
El entorno picture
tiene un argumento requerido, un par de
números reales positivos (width, height). Multiplica
estos por el valor de \unitlength
para obtener el tamaño
nominal de la salida, es decir, el espacio que reserva LaTeX en
la página de salida. Este tamaño nominal no es necesario saber qué
tan grande es realmente la imagen; LaTeX dibujará cosas de picture
fuera de la caja de la imagen.
Este entorno también tiene un argumento opcional (xoffset,
yoffset). Se utiliza para cambiar el origen. A diferencia de
la mayoría de los argumentos opcionales, éste no está contenido entre
corchetes. Al igual que con el argumento requerido, consiste en un
par de dos números reales, pero estos también pueden ser negativos o
nulos. Multiplica estos por \unitlength
para obtener las
coordenadas del punto en la esquina inferior izquierda de la imagen.
Por ejemplo, si \unitlength
se ha establecido en 1mm
, el
comando
\begin{picture}(100,200)(10,20)
produce una caja de 100 milímetros de ancho y 200 milímetros de alto. El origen de la imagen es el punto (10mm, 20mm) y, por lo tanto, la esquina inferior izquierda está allí, y la esquina superior derecha está en (110mm, 220 mm). Cuando primero dibujes una imagen, normalmente omite el argumento opcional, dejando el origen en la esquina inferior izquierda. Si luego deseas modificar tu imagen cambiando todo, solo puedes agregar el argumento opcional apropiado.
Cada comando picture le dice a LaTeX dónde colocar algo
proporcionando su posición. Una position es un par como
(2.4,-5)
dando las coordenadas x e y. Una coordenada no
es una longitud, es un número real (puede tener un punto decimal o un
signo menos). Eso especifica una longitud en múltiplos de la unidad
de longitud \unitlength
, por lo que si \unitlength
se ha
establecido en 1cm
, entonces la coordenada 2.54
especifica una longitud de 2.54 centímetros.
El valor predeterminado de LaTeX para \unitlength
es
1pt
. Es una longitud rígida (véase Longitudes). Cámbialo
con el comando \setlength
(véase \setlength
). Haz este
cambio solo fuera de un entorno picture
.
El entorno picture
admite el uso de expresiones aritméticas
estándar como números.
Las coordenadas se dan con respecto a un origen, que de manera
predeterminada está en la esquina inferior izquierda de la imagen.
Ten en cuenta que cuando aparece una posición como argumento, como con
\put(1,2){...}
, no está encerrado entre llaves ya que los
paréntesis sirven para delimitar el argumento. También, a diferencia
de algunos sistemas de gráficos por ordenador, las coordenadas
y
más grandes son más arriba en la página, por ejemplo, y
= 1 es arriba y = 0.
Hay cuatro formas de poner cosas en una imagen: \put
,
\multiput
, \qbezier
y \graphpaper
. Más a menudo
se usa \put
. Este
\put(11.3,-0.3){...}
coloca el objeto con su punto de referencia en las coordenadas
(11.3,-0.3). Los puntos de referencia para varios objetos
serán descritos abajo.
El comando \put
crea un LR box (véase Modos).
Cualquier cosa que pueda ir en un \mbox
(véase \mbox
y \makebox
) puede ir en el argumento de texto del comando \put
.
El punto de referencia será la esquina inferior izquierda de la caja.
En esta imagen
\setlength{\unitlength}{1cm} ...\begin{picture}(1,1) \put(0,0){\line(1,0){1}} \put(0,0){\line(1,1){1}} \end{picture}
los tres puntos están ligeramente a la izquierda del punto del ángulo
formado por las dos líneas. (Además, \line(1,1){1}
no
requiere una línea de longitud uno; más bien la línea tiene un cambio
en la coordenada x de 1).
Los comandos \multiput
, qbezier
y graphpaper
están descritos abajo.
También puedes utilizar este entorno para colocar material arbitrario en una ubicación exacta. Por ejemplo:
\usepackage{color,graphicx} % en el preámbulo ... \begin{center} \setlength{\unitlength}{\textwidth} \begin{picture}(1,1) % deja espacio, ancho de \textwidth y alto \put(0,0){\includegraphics[width=\textwidth]{desertedisland.jpg}} \put(0.25,0.35){\textcolor{red}{Guarda X aquí}} \end{picture} \end{center}
La red X será precisamente una cuarta parte del \textwidth
de el margen izquierdo y 0.35\textwidth
hacia arriba desde la
parte inferior de la imagen. Otro ejemplo de este uso es poner un
código similar en el encabezado de página para obtener material
repetido en cada una de las páginas de un documento.
\put
\multiput
\qbezier
\graphpaper
\line
\linethickness
\thinlines
\thicklines
\circle
\oval
\shortstack
\vector
\makebox
(picture)\framebox
(picture)\frame
\dashbox
\put
Sinopsis:
\put(xcoord,ycoord){content}
Coloca content en la coordenada (xcoord,ycoord). Ve
la discusión de coordenadas y \unitlength
en picture
. El
contenido se procesa en modo LR (véase Modos) por lo que no
puede contener saltos de línea.
Esto incluye el texto en la picture
.
\put(4.5,2.5){Aplica el \textit{unpoke} move}
El punto de referencia, la ubicación (4.5,2.5), es la parte inferior izquierda del texto, en la parte inferior izquierda de ‘A’.
\multiput
Sinopsis:
\multiput(x,y)(delta_x,delta_y){num-copies}{obj}
Copia obj un total de num-copies veces, con un incremento de delta_x,delta_y. El obj aparece primero en la posición (x,y), entonces en (x+\delta_x,y+\delta_y), y así sucesivamente.
Esto dibuja una cuadrícula simple con cada quinta línea en negrita (ve
también \graphpaper
).
\begin{picture}(10,10) \linethickness{0.05mm} \multiput(0,0)(1,0){10}{\line(0,1){10}} \multiput(0,0)(0,1){10}{\line(1,0){10}} \linethickness{0.5mm} \multiput(0,0)(5,0){3}{\line(0,1){10}} \multiput(0,0)(0,5){3}{\line(1,0){10}} \end{picture}
\qbezier
Sinopsis:
\qbezier(x1,y1)(x2,y2)(x3,y3) \qbezier[num](x1,y1)(x2,y2)(x3,y3)
Dibuja una curva de Bézier cuadrática cuyos puntos de control estén
dados por tres argumentos requeridos (x1,y1)
,
(x2,y2)
y (x3,y3)
. Eso es, la
curva va de (x1,y1) a (x3,y3), es cuadrática y es tal que
la recta tangente en (x1,y1) pasa por (x2,y2), al igual
que la recta tangente en (x3,y3).
Esto dibuja una curva desde la coordenada (1,1) a (1,0).
\qbezier(1,1)(1.25,0.75)(1,0)
La línea tangente de la curva en (1,1) contiene (1.25,0.75), al igual que la recta tangente de la curva en (1,0).
El argumento opcional num da el número de cálculos de puntos
intermedios. El valor predeterminado es dibujar una curva suave cuyo
número máximo de puntos es \qbeziermax
(cambia este valor con
\renewcommand
).
Esto dibuja un rectángulo con una parte superior ondulada, usando
\qbezier
para esa curva
\begin{picture}(8,4) \put(0,0){\vector(1,0){8}} % eje x \put(0,0){\vector(0,1){4}} % eje y \put(2,0){\line(0,1){3}} % lado izquierdo \put(4,0){\line(0,1){3.5}} % lado derecho \qbezier(2,3)(2.5,2.9)(3,3.25) \qbezier(3,3.25)(3.5,3.6)(4,3.5) \thicklines % debajo de aquí, las líneas son el % doble de gruesas \put(2,3){\line(4,1){2}} \put(4.5,2.5){\framebox{Regla trapezoidal}} \end{picture}
\graphpaper
Sinopsis:
\graphpaper(x_init,y_init)(x_dimen,y_dimen) \graphpaper[spacing](x_init,y_init)(x_dimen,y_dimen)
Dibuja una cuadrícula de coordenadas. Requiere el
paquete graphpap
. El origen de la cuadrícula es
(x_init,y_init)
. Las líneas de la cuadrícula
vienen cada spacing unidades (el valor predeterminado es 10).
La cuadrícula extiende x_dimen unidades hacia la derecha y
y_dimen unidades hacia arriba. Todos los argumentos deben ser
números enteros positivos.
Esto crea una cuadrícula con siete líneas verticales y once líneas horizontales.
\usepackage{graphpap} % en el preámbulo ... \begin{picture}(6,20) % en el cuerpo del documento \graphpaper[2](0,0)(12,20) \end{picture}
Las líneas están numeradas cada diez unidades.
\line
Sinopsis:
\line(x_run,y_rise){travel}
Dibuja una línea. Tiene una pendiente tal que sube verticalmente y_rise para cada x_run horizontal. El travel es el cambio horizontal total — no es la longitud del vector, es el cambio en x. En el caso especial de las líneas verticales, donde (x_run,y_rise)=(0,1), travel da el cambio en y.
Esto dibuja una línea que comienza en las coordenadas (1,3).
\put(1,3){\line(2,5){4}}
Por cada más de 2, esta línea aumentará 5. Porque travel especifica que esto pasa de 4, debe subir a 10. Por lo tanto, su punto final es (1,3)+(4,10)=(5,13). En particular, ten en cuenta que travel=4 no es la longitud de la línea, es el cambio en x.
Los argumentos x_run y y_rise son números enteros que se
pueden positivo, negativo o cero. (Si ambos son 0 entonces LaTeX
trata el segundo como 1). Con
\put(x_init,y_init){\line(x_run,y_rise){travel}}
,
si x_run es negativo, el punto final de la línea tiene una
primer coordenada menor que x_init. Si y_rise es negativo
entonces el punto final de la línea tiene una segunda coordenada que
es menor que y_init.
Si travel es negativo, obtendrás Error de LaTeX: \line
incorrecta o el argumento \vector.
LaTeX estándar solo puede
dibujar líneas con un rango limitado de pendientes porque estas rectas
se forman juntando segmentos de recta de letras prefabricadas. Los
dos números x_run y y_rise deben tener valores enteros
desde −6 hasta 6. Asimismo, deben ser relativamente
primos, por lo que (x_run,y_rise) puede ser (2,1) pero no (4,2)
(si eliges el último, en lugar de líneas obtiene secuencias de puntas
de flecha; la solución es cambiar a la primera). Para obtener lineas
de pendiente arbitraria y muchas otras formas en un sistema como
picture
, ve el paquete pict2e
(https://ctan.org/pkg/pict2e). Otra solución es usar un sistema
de gráficos completo como TikZ, PSTricks, MetaPost o Asymptote.
\linethickness
Sinopsis:
\linethickness{dim}
Declara el grosor de las líneas horizontales y verticales
subsiguientes en una imagen debe ser dim, que debe tener una
longitud positiva (véase Longitudes). Se diferencia de
\thinlines
y \thicklines
en el sentido de que no afecta
el grosor de las líneas inclinadas, círculos u óvalos (véase \oval
).
\thinlines
Declaración para establecer el grosor de líneas, círculos y óvalos
posteriores en un entorno picture para ser 0.4pt. Este es el
valor predeterminado de grosor, por lo que este comando es innecesario
a menos que el grosor haya cambiado con \linethickness
o
\thicklines
.
\thicklines
Declaración para establecer el grosor de líneas, círculos y óvalos
posteriores en un entorno picture para ser 0.8pt. Ve también
\linethickness
y \thinlines
. Este comando se ilustra en
el ejemplo de regla trapezoidal de \qbezier
.
\circle
Sinopsis:
\circle{diameter} \circle*{diameter}
Produce un círculo con un diámetro lo más cercano posible al
especificado. La forma *
produce un círculo relleno.
Esto dibuja un círculo de radio 6, centrado en (5,7)
.
\put(5,7){\circle{6}}
Los radios disponibles para \circle
son, en puntos, los números
pares del 2 al 20, ambos inclusive. Para \circle*
son todos
los números enteros del 1 al 15.
\oval
Sinopsis:
\oval(width,height) \oval(width,height)[portion]
Produce un rectángulo con esquinas redondeadas, en lo sucesivo denominado oval. El argumento opcional portion te permite producir sólo la mitad o un cuarto del óvalo. Para medio óvalo toma portion para que sea uno de estos.
t
mitad superior (top)
b
mitad inferior (bottom)
r
mitad derecha (right)
l
mitad izquierda (left)
Produce solo un cuarto del óvalo configurando en portion en
tr
, br
, bl
o tl
.
Esto dibuja la mitad superior de un óvalo de 3 de ancho y 7 de alto.
\put(5,7){\oval(3,7)[t]}
El (5,7) es el centro de todo el óvalo, no solo el centro de la mitad superior.
Estas formas no son elipses. Son rectángulos cuyas esquinas están
hechas con cuartos de círculo. Estos círculos tienen un radio máximo
de 20pt (véase \circle
para los tamaños). Por lo tanto, los
óvalos grandes son solo Marcos con una pequeña cantidad de esquinas
redondeadas.
\shortstack
Sinopsis:
\shortstack[position]{line 1 \\ ... }
Produce una pila vertical de objetos.
Esto etiqueta el eje y escribiendo la palabra ‘y’ arriba de la palabra ‘eje’.
\setlength{\unitlength}{1cm} \begin{picture}(5,2.5)(-0.75,0) \put(0,0){\vector(1,0){4}} % eje x \put(0,0){\vector(0,1){2}} % y \put(-0.2,2){\makebox(0,0)[r]{\shortstack[r]{$y$\\ ejes}}} \end{picture}
Para una pila pequeña, el punto de referencia es la parte inferior
izquierda de la pila. En el ejemplo anterior, el \makebox
(véase \mbox
y \makebox
) pone la pila se alinea a la derecha en un
cuadro de ancho cero, por lo que en total la pila corta se encuentra
ligeramente a la izquierda del eje y.
Los puestos válidos son:
r
Hace que los objetos queden alineados a la derecha
l
Hace que los objetos queden alineados a la izquierda
c
Centra objetos (predeterminado)
Separa los objetos en líneas con \\
. Estas pilas son cortas en
que, a diferencia de un entorno tabular
o array
, aquí
las filas no están espaciadas para tener saltos de línea base
uniformes. Así, en \shortstack{X\\o\\o\\X}
la primera y la
última fila son más altas que los dos medios, y por lo tanto la línea
base salta entre los dos medios filas es más pequeña que la que hay
entre la tercera y la última fila. Puedes ajustar las alturas y
profundidades de las filas ya sea colocando la interlínea habitual
espaciado con \shortstack{X\\ \strut o\\o\\X}
(véase \strut
), o explícitamente, a través de un cuadro de ancho
cero \shortstack{X \\ \rule{0pt}{12pt} o\\o\\X}
o
mediante el uso opcional de \\
argumento
\shortstack{X\\[2pt] o\\o\\X}
.
El comando \shortstack
también está disponible fuera del
entorno picture
.
\vector
Sinopsis:
\vector(x_run,y_rise){travel}
Dibuja una línea que termine en una flecha. La pendiente de esa recta es: sube verticalmente y_rise por cada x_run horizontal. Los travel es el cambio horizontal total — no es la longitud del vector, es el cambio en x. En el caso especial de vectores verticales, si (x_run,y_rise)=(0,1), entonces travel da el cambio en y.
Para ver un ejemplo, picture
.
Para obtener más detalles sobre x_run y y_rise, consulta
\line
. Como allí, los valores de x_run y y_rise
están limitados. Para \vector
debes elegir números enteros
entre −4 y 4, inclusive. Además, los dos que elijas deben ser
relativamente primos. De este modo, \vector(2,1){4}
es
aceptable pero \vector(4,2){4}
no es (si usas este último,
obtendrás una secuencia de puntas de flecha).
\makebox
(picture)Sinopsis:
\makebox(rec-width,rec-height){text} \makebox(rec-width,rec-height)[position]{text}
Hace un cuadro para contener text. Este comando encaja con el
entorno picture
, aunque los puedes usar fuera de allí, porque
rec-width y rec-height son números que especifican
distancias en términos de \unitlength
(véase picture
). Este
comando es similar al comando \makebox
normal (véase \mbox
y \makebox
), excepto que aquí debes especificar el ancho y el alto.
Este el comando es frágil (véase \protect
).
Esto hace una caja de longitud 3.5 veces \unitlength
y altura 4
veces \unitlength
.
\put(1,2){\makebox(3.5,4){...}}
El argumento opcional position
especifica dónde aparece
el text en el cuadro. El valor predeterminado es centrarlo,
tanto horizontal como verticalmente. Para colocarlo en otro lugar,
usa una cadena con una o dos de estas letras.
t
Pone text en la parte superior de la caja.
b
Pone text en la parte inferior.
l
Pone el text a la izquierda.
r
Pone el text a la derecha.
\framebox
(picture)Sinopsis:
\framebox(rec-width,rec-height){text} \framebox(rec-width,rec-height)[position]{text}
Esto es lo mismo que \makebox
(picture) excepto que pone un
marco alrededor del exterior de la caja que crea. El punto de
referencia es la esquina inferior izquierda del marco. Este comando
encaja con el entorno picture
, aunque lo puedes usar fuera de
allí, porque las longitudes son números que especifican la distancia
en términos de \unitlength
(véase picture
). Este comando es
frágil (véase \protect
).
Este ejemplo crea un marco de 2.5 pulgadas por 3 pulgadas y coloca el texto en el centro.
\setlength{\unitlength}{1in} \framebox(2.5,3){test text}
Los argumentos requeridos son que el rectángulo tiene un ancho total de rect-width unidades y una altura de rect-height unidades.
El argumento opcional position especifica la posición de
text; \makebox
(picture) para los valores que puede tomar.
La regla tiene \fboxrule
de grosor y hay un espacio en blanco
\fboxsep
entre el marco y el contenido de la caja.
Para este comando, debes especificar width y height. Si
solo quieres poner un marco alrededor de algún contenido cuya
dimensión está determinada de alguna otra manera, entonces usa
\fbox
(véase \fbox
y \framebox
) o \frame
(véase \frame
).
\frame
Sinopsis:
\frame{contenido}
Pone un marco rectangular alrededor de content. El punto de
referencia es la esquina inferior izquierda del marco. En contraste
con \framebox
(véase \framebox
(picture)), este comando no
pone espacio adicional entre el marco y el objeto. es frágil
(véase \protect
).
\dashbox
Sinopsis:
\dashbox{dash-len}(rect-width,rect-height){text} \dashbox{dash-len}(rect-width,rect-height)[position]{text}
Crea un rectángulo punteado alrededor de text. Este comando
encaja con el entorno picture
, aunque lo puedes usar fuera de
allí, porque las longitudes son números que especifican la distancia
en términos de \unitlength
(véase picture
).
Los argumentos requeridos son: los guiones son dash-len unidades de largo, con el mismo espacio de longitud, y el rectángulo tiene un ancho total de rect-width unidades y una altura de rect-height unidades.
El argumento opcional position especifica la posición de
text; \makebox
(picture) para los valores que puede tomar.
Esto muestra que puedes usar un valor no entero para dash-len.
\put(0,0){\dashbox{0.1}(5,0.5){Mi aerodeslizador está lleno de anguilas.}}
Cada guión tendrá una longitud de 0.1\unitlength
, el ancho del
cuadro es 5\unitlength
y su altura es 0.5\unitlength
.
Como en ese ejemplo, un cuadro discontinuo se ve mejor cuando rect-width y rect-height son múltiplos de dash-len.
quotation
y quote
Sinopsis:
\begin{quotation} text \end{quotation}
o
\begin{quote} text \end{quote}
Incluye una comilla. Ambos entornos sangran los márgenes en ambos
lados por \leftmargin
y el texto está justificado a la derecha.
Se diferencian en cómo tratan los párrafos. En el entorno
quotation
, los párrafos tienen una sangría de 1.5em y el
espacio entre párrafos es pequeño, 0pt plus 1pt
. En el entorno
quote
, los párrafos no tienen sangría y hay espacio vertical
entre párrafos (es la longitud elástica \parsep
).
\begin{quotation} \smallskip\it Hace cuatro veintenas y siete años ... no se pierde de la tierra. \hspace{1em plus 1fill}---Abraham Lincoln \end{quotation}
tabbing
Sinopsis:
\begin{tabbing} row1col1 \= row1col2 ... \\ row2col1 \> row2col2 ... \\ ... \end{tabbing}
Alinea el texto en columnas, configurando tabulaciones y tabulando en
ellas tanto como fue posible en una máquina de escribir. Esto se usa
con menos frecuencia que los entornos tabular
(véase tabular
)
o array
(véase array
) porque en esos, el ancho de cada
columna no necesita ser constante y no es necesario conocerlo de
antemano.
Este ejemplo tiene una primera línea donde las tabulaciones se
establecen en anchos explícitos, terminados por un comando
\kill
(que se describe a continuación):
\begin{tabbing} \hspace{1.2in}\=\hspace{1in}\=\kill Ship \>Armas \>Año \\ \textit{Sophie} \>14 \>1800 \\ \textit{Polychrest} \>24 \>1803 \\ \textit{Lively} \>38 \>1804 \\ \textit{Surprise} \>28 \>1805 \\ \end{tabbing}
Tanto el entorno tabbing
como el entorno más utilizado
tabular
ponen el texto en columnas. La más importante
distinción es que en tabular
el ancho de las columnas LaTeX
lo determina automáticamente, mientras que en tabbing
el
usuario establece las paradas de tabulación. Otra distinción es que
ese tabular
genera un cuadro, pero tabbing
se puede a
dividir en páginas. Finalmente, mientras que tabular
se puede
usar en cualquier modo, tabbing
se puede usar solo en modo
párrafo y siempre comienza un nuevo párrafo, sin sangría.
Además, como se muestra en el ejemplo anterior, no es necesario para
usar la forma destacada del comando \hspace
al principio de una
fila tabulada. El margen derecho del entorno tabbing
es el
final de la línea, de modo que el ancho del entorno sea
\linewidth
.
El entorno tabbing
contiene una secuencia de filas
tabuladas. La primera fila tabulada comienza inmediatamente después
\begin{tabbing}
y cada fila termina con \\
o
\kill
. La última fila puede omitir el \\
y terminar con
solo \end{tabbing}
.
En cualquier punto, el entorno tabbing
tiene un patrón de
tabulación actual, una secuencia de tabulaciones n > 0,
numeradas 0, 1, etc. Estos crean n columnas correspondientes.
Tabulaciones 0 siempre es el margen izquierdo, definido por el
entorno envolvente. Tabulación número i se establece si se
le asigna una posición horizontal en la página. Número de
tabulación i solo se puede establecer si todas las paradas
0, …, i-1 ya se han configurado; normalmente las paradas
posteriores están a la derecha de las anteriores.
De forma predeterminada, cualquier texto compuesto en un entorno
tabbing
está compuesto alineado de forma irregular a la derecha
y a la izquierda en la tabulación actual. La composición tipográfica
está hecha en modo LR (véase Modos).
Los siguientes comandos se pueden usar dentro de un entorno
tabbing
. Todos son frágiles (véase \protect
).
\\ (tabulación)
¶Termina una línea tabulada y la compone.
\= (tabulación)
¶Establece una tabulación en la posición actual.
\> (tabulación)
¶Avanza a la siguiente tabulación.
\<
¶Pone el siguiente texto a la izquierda del margen local (sin cambiar el margen). Solo se puede utilizar al principio de la línea.
\+
¶Mueve el margen izquierdo del siguiente y todos los siguientes comandos una tabulación a la derecha, comenzando la línea tabulada si es necesario.
\-
¶Mueve el margen izquierdo del siguiente y todos los siguientes comandos una tabulación a la izquierda, comenzando la línea tabulada si es necesario.
\' (tabulación)
¶Mueve todo lo que hayas escrito hasta ahora en la columna actual, es
decir, todo, desde el comando \>
más reciente, \<
,
\'
, \\
, o \kill
, a la columna anterior y alineado
a la derecha, al ras contra la tabulación de la columna actual.
\` (tabulación)
¶Te permite poner el texto al ras contra cualquier tabulación,
incluidas las tabulaciones 0. Sin embargo, no puedes mover el
texto a la derecha de la última columna porque no hay una tabulación
allí. El comando \`
mueve todo el texto que le sigue, hasta el
comando \\
o \end{tabbing}
que finaliza la línea, al
margen derecho del entorno tabbing
. No debe haber ningún
comando \>
o \'
entre \`
y \\
o
\end{tabbing}
que finaliza la línea.
\a (tabulación)
¶En un entorno tabbing
, los comandos \=
, \'
y
\`
no produce acentos como de costumbre (véase Acentos). En
cambio, usa los comandos \a=
, \a'
y \a`
.
\kill
¶Establece tabulaciones sin producir texto. Funciona igual que
\\
excepto que desecha la línea actual en lugar de producir una
salida para ella. Cualquier comando \=
, \+
o \-
en esa línea permanece en efecto.
\poptabs
¶Restaura las posiciones de tabulación guardadas por el último
\pushtabs
.
\pushtabs
¶Guarda todas las posiciones de tabulación actuales. Útil para cambiar
temporalmente posiciones de tabulación en medio de un entorno
tabbing
.
\tabbingsep
¶Distancia del texto movido por \'
a la izquierda de la
tabulación actual.
Este ejemplo compone una función de Pascal:
\begin{tabbing} function \= fact(n : integer) : integer;\\ \> begin \= \+ \\ \> if \= n > 1 then \+ \\ fact := n * fact(n-1) \- \\ else \+ \\ fact := 1; \-\- \\ end;\\ \end{tabbing}
La salida se ve así.
function fact(n : integer) : integer; begin if n > 1 then fact := n * fact(n-1); else fact := 1; end;
Este ejemplo es solo para ilustrar el entorno. En realidad escribir
código de ordenador en una máquina de escribir como esta, un entorno
textual (véase verbatim
) normalmente sería lo mejor. Para un código
bien impreso, hay unos cuantos paquetes, incluido
algorithm2e
, fancyvrb
, listings
y
minted
.
table
Sinopsis:
\begin{table}[ubicación] cuerpo de la tabla \caption[loftitle]{title} % opcional \label{label} % también opcional \end{table}
Una clase de flotantes (véase Flotantes). No se pueden dividir en páginas por lo que no se escriben en secuencia con el texto normal, sino que en su lugar flotan a un lugar conveniente, como la parte superior de una página siguiente.
Este entorno table
de ejemplo contiene un tabular
\begin{table} \centering\small \begin{tabular}{ll} \multicolumn{1}{c}{\textit{Autor}} &\multicolumn{1}{c}{\textit{Pieza}} \\ \hline Bach &Cello Suite Número 1 \\ Beethoven &Cello Sonata Número 3 \\ Brahms &Cello Sonata Número 1 \end{tabular} \caption{Las mejores piezas de violonchelo} \label{tab:cello} \end{table}
pero puedes poner muchos tipos diferentes de contenido en una
tabla
: el cuerpo de la tabla puede contener texto,
comandos de LaTeX, gráficos, etc. Es tipografiado en un
parbox
de ancho \textwidth
.
Para los posibles valores de placement y su efecto en el algoritmo de colocación de flotantes, Flotantes.
La etiqueta es opcional; se usa para referencias cruzadas
(véase Referencias cruzadas).
El comando \caption
también es opcional. Especifica texto del
título title para la tabla (véase \caption
). De manera
predeterminada es numerado. Si su lottitle opcional está
presente, entonces ese texto se utiliza en la lista de tablas en lugar
de title (véase Tabla de contenido, lista de figuras, lista de tablas).
En este ejemplo, la tabla y el título flotarán en la parte inferior de una página, a menos que se empuje a una página flotante al final.
\begin{table}[b] \centering \begin{tabular}{r|p{2in}} \hline Uno &El número loneliest \\ Dos &Puede estar tan triste como uno. Es el número más solitario desde el número uno. \end{tabular} \caption{Virtud cardinal} \label{tab:CardinalVirtues} \end{table}
tabular
Sinopsis:
\begin{tabular}[pos]{cols} entrada de columna 1 &entrada de columna 2 ... &entrada de columna n \\ ... \end{tabular}
o
\begin{tabular*}{width}[pos]{cols} entrada de columna 1 &entrada de columna 2 ... &entrada de columna n \\ ... \end{tabular*}
Produce una tabla, una caja que consta de una secuencia de filas horizontales. Cada fila consta de elementos alineados verticalmente en columnas. Este ilustra muchas de las características.
\begin{tabular}{l|l} \textit{Nombre del jugador} &\textit{Carrera de jonrones} \\ \hline Hank Aarón &755 \\ nena Ruth &714 \end{tabular}
La salida tendrá dos columnas alineadas a la izquierda con una barra
vertical entre ellos. Esto se especifica en el argumento
{l|l}
de tabular
.
Coloca las entradas en diferentes columnas separándolas con un
ampersand, &
. El final de cada fila está marcado con una doble
barra invertida, \\
. Pone una regla horizontal debajo de una
fila, después de una doble barra invertida, con \hline
.
Después de la última fila, las \\
son opcionales, a menos que
un \hline
siga el comando para poner una regla debajo de la
tabla.
Los argumentos requeridos y opcionales para tabular
consisten
en:
Opcional. Especifica la posición vertical de la tabla. El valor
predeterminado es alinear la tabla para que su centro vertical
coincida con la línea base del texto circundante. Hay otras dos
posibles alineaciones: t
alinea la tabla para que su fila
superior coincida con la línea base del texto circundante y b
se alinea en la fila inferior.
Esto solo tiene efecto si hay otro texto. En el caso común de un
tabular
solo en un entorno center
esta opción no hace
ninguna diferencia.
Requerido. Especifica el formato de las columnas. Consiste en una secuencia de los siguientes especificadores, correspondientes a los tipos de material de columna e intercolumna.
l
Una columna de elementos alineados a la izquierda.
r
Una columna de elementos alineados a la derecha.
c
Una columna de elementos centrados.
|
Una línea vertical de la altura y la profundidad completas del entorno.
@{texto o espacio}
Inserta texto o espacio en esta ubicación en cada fila. El
material texto o espacio está compuesto en modo LR. Este texto
es frágil (véase \protect
).
Si entre dos especificadores de columna no hay una @-expresión,
entonces las clases book
, article
y report
de
LaTeX ponen a cada lado de cada columna un espacio de ancho
\tabcolsep
, que de manera predeterminada es 6pt. Es
decir, de manera predeterminada las columnas adyacentes se separan con
12pt (por lo que \tabcolsep
tiene un nombre engañoso ya
que es solo la mitad de la separación entre columnas tabulares).
Además, un espacio de \tabcolsep
también viene antes de la
primera columna y después de la columna final, a menos que coloques
una @{...}
allí.
Si redefines el valor predeterminado y usas una @-expresión, entonces
LaTeX no inserta \tabcolsep
por lo que debes insertar
cualquier espacio deseado tú mismo, como en
@{\hspace{1em}}
.
Una expresión @{}
vacía eliminará el espacio. En particular,
a veces deseas eliminar el espacio antes de la primera columna o
después de la última, como en el siguiente ejemplo donde las líneas
tabulares deben estar en el margen izquierdo.
\begin{flushleft} \begin{tabular}{@{}l} ... \end{tabular} \end{flushleft}
El siguiente ejemplo muestra texto, un punto decimal entre las columnas, dispuestas de forma que los números de la tabla queden alineados en ella.
\begin{tabular}{r@{$.$}l} $3$ &$14$ \\ $9$ &$80665$ \end{tabular}
Un comando \extracolsep{wd}
en una expresión @ provoca
un espacio adicional de ancho wd para que aparezca a la
izquierda de todas las subsiguientes columnas, hasta que sea revocado
por otro \extracolsep
. A diferencia del espacio entre columnas
ordinario, este espacio adicional no se suprime por una @-expresión.
Un comando \extracolsep
solo se puede usar en una @-expresión
en el argumento cols
. A continuación, LaTeX inserta la
cantidad correcta de espacios entre columnas para que toda la tabla
tenga 4 pulgadas de ancho.
\begin{tabular*}{4in}{l@{\extracolsep{\fill}}l} Siete veces abajo, ocho veces arriba \ldots &¡así es la vida! \end{tabular*}
Para insertar comandos que se ejecutan automáticamente antes de una
determinada columna, carga el paquete array
y usa el
especificador >{...}
.
p{wd}
Cada elemento de la columna se escribe en un parbox de ancho wd,
como si fuera el argumento de un comando
\parbox[t]{wd}{...}
.
Un salto de línea de doble barra invertida \\
puede no aparecer
en el elemento, excepto dentro de un entorno como minipage
,
array
o tabular
, o dentro de un \parbox
explícito, o en el entorno de una declaración \centering
,
\raggedright
o \raggedleft
(cuando se usa en un elemento
de columna p
, estas declaraciones deben aparecer entre llaves,
como con {\centering .. \\ ..}
). De lo contrario, LaTeX
malinterpretará la doble barra invertida como terminando la fila
tabular. En cambio, para obtener un salto de línea allí, usa
\newline
(véase \newline
).
*{num}{cols}
Equivalente a num copias de cols, donde num es un
entero positivo y cols es una lista de especificadores. Por lo
tanto, el especificador \begin{tabular}{|*{3}{l|r}|}
es
equivalente a el especificador
\begin{tabular}{|l|rl|rl|r|}
. Ten en cuenta que cols
puede contener otra *
-expresión.
Obligatorio para tabular*
, no permitido para
tabular
. Especifica el ancho del entorno tabular*
. El
espacio entre columnas debe ser elástico, como con
@{\extracolsep{\fill}}
, para permitir la tabla para
estirar o encoger para hacer el ancho especificado, o de lo contrario
es probable que obtengan el Underfull \hbox (incorrecto 10000)
alineado ...
advertencia.
Parámetros que controlan el formato:
\arrayrulewidth
¶Una longitud que es el grosor de la
regla creada por |
, \hline
y \vline
en
tabular
y array
entornos. El valor predeterminado es
‘.4pt’. Cámbialo como en
\setlength{\arrayrulewidth}{0.8pt}
.
\arraystretch
¶Un factor por el cual el espacio entre
filas en los entorno tabular
y array
se multiplica. El
valor predeterminado es ‘1’, para sin escala. Cámbialo a
\renewcommand{\arraystretch}{1.2}
.
\doublerulesep
¶Una longitud que es la distancia entre
las reglas verticales producidas por el especificador ||
. El
valor predeterminado es ‘2pt’.
\tabcolsep
¶Una longitud que es la mitad del espacio
entre columnas. El valor predeterminado es ‘6pt’. Cámbialo con
\setlength
.
Los siguientes comandos se pueden usar dentro del cuerpo de un entorno
tabular
, los dos primeros dentro de una entrada y los dos
segundos entre líneas:
\multicolumn
Sinopsis:
\multicolumn{numcols}{cols}{text}
Crea una entrada array
o tabular
que abarque varias
columnas. El primer argumento numcols da el número de columnas
a abarcar. El segundo argumento cols especifica el formato de
la entrada, con c
para centrado, l
para alineado a la
izquierda o r
para volcarlo a la derecha. El tercer argumento
text da el contenido de esa entrada.
En este ejemplo, en la primera fila, la segunda y la tercera columna son abarcadas por el encabezado único ‘Name’.
\begin{tabular}{lccl} \textit{ID} &\multicolumn{2}{c}{\textit{Name}} &\textit{Age} \\ \hline 978-0-393-03701-2 &O'Brian &Patrick &55 \\ ... \end{tabular}
Lo que cuenta como una columna es: el especificador de formato de
columna para el entorno array
o tabular
se divide en
partes, donde cada parte (excepto la primera) comienza con l
,
c
, r
, o p
. Así que desde
\begin{tabular}{|r|ccp{1.5in}|}
las partes son
|r|
, c
, c
, y p{1.5in}|
.
El argumento cols redefine el área array
o tabular
intercolumna del entorno predeterminado junto a esta entrada
multicolumna. Para afectar esa área, este argumento puede contener
barras verticales |
que indica la ubicación de las reglas
verticales y expresiones @{...}
. Por lo tanto, si
cols es ‘|c|’ entonces esta entrada multicolumna estará
centrada y una regla vertical vendrá en el área intercolumna anterior
y posterior. Esta tabla detalla el comportamiento exacto.
\begin{tabular}{|cc|c|c|} \multicolumn{1}{r}{w} % entrada uno &\multicolumn{1}{|r|}{x} % entrada dos &\multicolumn{1}{|r}{y} % entrada tres &z % entrada cuatro \end{tabular}
Antes de la primera entrada, la salida no tendrá una regla vertical
porque \multicolumn
tiene el especificador cols ‘r’
sin barra vertical inicial. Entre la entrada uno y la entrada dos
habrá una regla vertical; aunque la primera cols no tiene barra
vertical final, la segunda cols tiene una inicial. Entre la
entrada dos y entrada tres hay una sola regla vertical; a pesar de eso
cols en ambas llamadas de multicolumn
circundantes para
una regla vertical, solo obtienes una regla. Entre la entrada tres y
la entrada cuatro no hay regla vertical; el valor predeterminado pide
una, pero cols en la entrada tres \multicolumn
lo deja
afuera, y eso tiene prioridad. Finalmente, siguiendo la entrada
cuatro hay una regla vertical debido al valor predeterminado.
El número de columnas distribuidas numcols puede ser 1. Además
de dar la capacidad de cambiar la alineación horizontal, esto también
es útil para redefinir una fila de la intercolumna predeterminada de
la especificación del área de definición tabular
, incluida la
colocación de reglas verticales.
En el siguiente ejemplo, en la definición de tabular
, la
primera columna se especifica de manera predeterminada justificada a
la izquierda, pero en la primera fila la entrada está centrada con
\multicolumn{1}{c}{\textsc{Punto}}
. También en la
primera fila, las columnas segunda y tercera están atravesadas por una
entrada única con \\multicolumn{2}{c}{\\textsc{Span}}
,
redefiniendo la especificación para centrar ese rango de dos columnas
en la página en-guión.
\begin{tabular}{l|r@{--}l} \multicolumn{1}{c}{\textsc{Punto}} &\multicolumn{2}{c}{\textsc{Span}} \\ \hline Barroca &1600 &1760 \\ Clásica &1730 &1820 \\ Romántica &1780 &1910 \\ Impresionista &1875 &1925 \end{tabular}
Aunque la especificación tabular
de manera predeterminada pone
una regla vertical entre la primera y la segunda columna, no aparece
tal regla vertical en la primera fila aquí. Eso es porque no hay una
barra vertical en la parte cols del primer comando
\multicolumn
de la primera fila.
\vline
Dibuja una línea vertical en un entorno tabular
o array
extendiendo la altura y la profundidad completas de la entrada de una
fila. Posiblemente también se use en una @-expresión, aunque su
sinónimo barra vertical |
es más común. Este comando rara
vez se usa en el cuerpo de una tabla; normalmente las líneas
verticales de una tabla se especifican en el argumento cols de
tabular
y se anula según sea necesario con \multicolumn
(véase tabular
).
El siguiente ejemplo ilustra algunas dificultades. En el segundo de
la primera fila la entrada \hfill
mueve \vline
al borde
izquierdo de la celda. Pero eso es diferente a ponerlo a medio camino
entre las dos columnas, por lo que entre la primera y la segunda
columna hay dos reglas verticales, con la del especificador
{c|cc}
viniendo antes de uno producido por
\vline\hfill
. En cambio, la primera fila tercera entrada
muestra la forma habitual de poner una barra vertical entre dos
columnas. En la segunda fila, ghi
es la entrada más ancha en
su columna por lo que en \vline\hfill
el \hfill
no tiene
efecto y la línea vertical en esa entrada aparece inmediatamente al
lado de g
, sin espacios en blanco.
\begin{tabular}{c|cc} x &\vline\hfill y &\multicolumn{1}{|r}{z} \\ % fila 1 abc &def &\vline\hfill ghi % fila 2 \end{tabular}
\cline
Sinopsis:
\cline{i-j}
En un entorno array
o tabular
, dibuja una regla
horizontal comenzando en column i y terminando en
column j. Los guiones, -
, deben aparecer en el
argumento obligatorio. Para abarcar una sola columna usa el número dos
veces, como con \cline{2-2}
.
Este ejemplo pone dos líneas horizontales entre la primera y la segunda filas, una línea en la primera columna solamente, y la otra que abarca la tercera y cuarta columnas. Las dos líneas están una al lado de la otra, a la misma altura.
\begin{tabular}{llrr} a &b &c &d \\ \cline{1-1} \cline{3-4} e &f &g &h \end{tabular}
\hline
Dibuja una línea horizontal del ancho del tabular
adjunto o
entorno array
. Se utiliza comúnmente para dibujar una línea
arriba, abajo y entre las filas de una tabla.
En este ejemplo, la parte superior de la tabla tiene dos reglas
horizontales, una arriba de la otra, que abarca ambas columnas. La
parte inferior de la tabla tiene una sola regla que abarca ambas
columnas. Debido al \hline
, la línea tabular
de la
segunda fila que termina con doble barra invertida \\
es
obligatoria.
\begin{tabular}{ll} \hline\hline Béisbol y Medias Rojas \\ Baloncesto y Celtics \\ \hline \end{tabular}
thebibliography
Sinopsis:
\begin{thebibliography}{widest-label} \bibitem[label]{cite_key} ... \end{thebibliography}
Elabora una bibliografía o una lista de referencias. Hay dos formas de producir listas bibliográficas. Este entorno es adecuado cuando solo tienes unas pocas referencias y puedes mantener la lista a mano. Véase Usar BibTeX, para un enfoque más sofisticado.
Esto muestra el entorno con dos entradas.
Este trabajo se basa en \cite{latexdps}. Juntos son \cite{latexdps, texbook}. ... \begin{thebibliography}{9} \bibitem{latexdps} Leslie Lamport. \textit{\LaTeX{}: un sistema de preparación de documentos}. Addison-Wesley, Reading, Massachusetts, 1993. \bibitem{texbook} Donald Ervin Knuth. \textit{El libro de \TeX}. Addison-Wesley, Reading, Massachusetts, 1983. \end{thebibliography}
Esto estiliza la primera referencia como ‘[1] Leslie ...’, y así
... basado en \cite{latexdps}
produce la coincidencia
‘... basado en [1]’. El segundo \cite
produce ‘[1,
2]’. Debes compilar el documento dos veces para resolver estas
referencias.
El argumento obligatorio widest-label es texto que, cuando se
compone, es tan ancho como la etiqueta de artículo más ancha producida
por los comandos \bibitem
. La tradición es usar 9
para
bibliografías con menos de 10 referencias, 99
para las de menos
de 100, etc.
La lista bibliográfica está encabezada por un título como
‘Bibliography’. Para cambiarlo hay dos casos. En las clases
book y report, donde la sección de nivel superior es
\chapter
y el título predeterminado es ‘Bibliography’, ese
título está en la macro \bibname
. Para article, donde
el nivel superior de la clase de seccionado es \section
y la
predeterminada es ‘References’, el título está en la macro
\refname
. Cámbialo redefiniendo el comando, como con
\renewcommand{\refname}{Referencias citadas}
, después
\begin{document}
.
Los paquetes de soporte de idiomas como
babel
automáticamente redefinen \refname
o
\bibname
para ajustarse al idioma seleccionado.
Véase list
, para los parámetros de control de diseño de lista.
\bibitem
Sinopsis:
\bibitem{cite_key}
o
\bibitem[label]{cite_key}
Genera una entrada etiquetada de manera predeterminada por un número
generado usando el contador enumi
. La clave de cita
cite_key puede ser cualquier cadena de letras, números y signos
de puntuación (pero no comas).
Véase thebibliography
, por ejemplo.
Cuando se proporciona, el label opcional se convierte en la
etiqueta de entrada y el contador enumi
no se incrementa. Con
este
\begin{thebibliography} \bibitem[Lamport 1993]{latexdps} Leslie Lamport. \textit{\LaTeX{}: un sistema de preparación de documentos}. Addison-Wesley, Reading, Massachusetts, 1993. \bibitem{texbook} Donald Ervin Knuth. \textit{El libro de \TeX}. Addison-Wesley, Reading, Massachusetts, 1983. \end{thebibliography}
la primera entrada tendrá el estilo ‘[Lamport 1993] Leslie ...’
(La cantidad de espacio horizontal que LaTeX deja para la etiqueta
depende de el argumento widest-label del entorno
thebibliography
; ve thebibliography
). De manera similar,
... basado en \cite{latexdps}
producirá ‘... basado en
[Lamport 1994]’.
Si mezclas las entradas de \bibitem
que tienen label con
las que no, entonces LaTeX enumerará las no etiquetadas
secuencialmente. En el ejemplo de arriba la entrada texbook
aparecerá como ‘[1] Donald ...’, a pesar de que es la segunda
entrada.
Si usas el mismo cite_key dos veces, obtendrás ‘Advertencia LaTeX: había etiquetas definidas de forma múltiple’.
Bajo el capó, LaTeX recuerda información cite_key y
label porque \bibitem
la escribe en el archivo auxiliar
jobname.aux (véase Nombre del trabajo). Por ejemplo,
el ejemplo anterior hace que los dos
\bibcite{latexdps}{Lamport, 1993}
y
\bibcite{texbook}{1}
que aparezcan en ese archivo. El
archivo .aux es leído por el comando \begin{document}
y luego la información está disponible para los comandos \cite
.
Esto explica por qué necesitas ejecutar LaTeX dos veces para
resolver las referencias: una vez para escribirlo y una vez para
leerlo.
Debido a este algoritmo de dos pasos, cuando agregas un
\bibitem
o cambias su cite_key puedes obtener
‘Advertencia de LaTeX: la(s) etiqueta(s) puede(n) haber
cambiado. Vuelve a ejecutar para obtener referencias cruzadas
correctas’. Arréglalo para recompilarlo.
\cite
Sinopsis:
\cite{keys}
o
\cite[subcite]{keys}
Genera como salida una cita a las referencias asociadas a keys.
La keys obligatoria es una clave de cita, o una lista de claves
de citas separadas por comas (véase \bibitem
).
Este
La fuente definitiva es \cite{texbook}. ... \begin{thebibliography} \bibitem{texbook} Donald Ervin Knuth. \textit{El libro de \TeX}. Addison-Wesley, Reading, Massachusetts, 1983. \end{thebibliography}
produce una salida como ‘... la fuente es [1]’. Puedes cambiar
la aparición de la cita y de la referencia mediante el uso de estilos
de bibliografía si genera automáticamente el entorno
thebibliography
. Para más información Usar BibTeX.
El argumento opcional subcite se adjunta a la cita. Por
ejemplo, Ve 14.3 en \cite[p.~314]{texbook}
podría producir
‘Ve 14.3 en [1, p. 314]’.
Además de lo que aparece en la salida, \cite
escribe
información al archivo auxiliar jobname.aux
(véase Nombre del trabajo). Por ejemplo, \cite{latexdps}
escribe ‘\citation{latexdps}’ a ese archivo. Esta información
la utiliza BibTeX para incluir en su lista de referencias solo
aquellos trabajos que realmente se han citado; \nocite
también.
Si keys no está en la información de tu bibliografía, obtendrás
‘Advertencia de LaTeX: Había referencias no definidas’, y en la
salida la cita se muestra como un signo de interrogación en negrita
entre corchetes. Hay dos posibles causas. Si has escrito algo mal,
como en \cite{texbok}
entonces necesitas corregir la
ortografía. Por otro lado, si acabas de agregar o modificar
información bibliográfica y así cambias el archivo .aux
(véase \bibitem
) entonces la solución puede ser ejecutar LaTeX
nuevamente.
\nocite
Sinopsis:
\nocite{keys}
No produce salida pero escribe keys en el archivo auxiliar jobname.aux (véase Nombre del trabajo).
El argumento obligatorio keys es una lista separada por comas de
una o más claves de cita (véase \bibitem
). Esta información la
utiliza BibTeX para incluir estos trabajos en tu lista de
referencia aunque no los hayas citado explícitamente (véase \cite
).
Como se describe en thebibliography
(véase thebibliography
),
un enfoque sofisticado para la gestión de bibliografías es
proporcionado por el programa BibTeX. Esta es solo una
introducción; ve la documentación completa sobre CTAN (véase CTAN: La red integral de archivo TeX).
Con BibTeX, no usas el entorno thebibliography
directamente
(véase thebibliography
). En su lugar, incluye estas líneas:
\bibliographystyle{bibstyle} \bibliography{bibfile1, bibfile2, ...}
bibstyle hace referencia a un archivo bibstyle.bst, que define cómo se verán tus citas. Los bibstyles estándar distribuidos con BibTeX son:
alfa
Las etiquetas se forman a partir del nombre del autor y el año de publicación. Los elementos bibliográficos están ordenados alfabéticamente.
plain
Las etiquetas son números enteros. Ordena los elementos bibliográficos alfabéticamente.
unsrt
Como plain
, pero las entradas están en orden de cita.
abbrv
Como plain
, pero etiquetas más compactas.
Existen muchos, muchos otros archivos de estilo BibTeX, adaptados a las demandas de varias publicaciones. Ve el tema CTAN https://ctan.org/topic/bibtex-sty.
El comando \bibliography
es lo que realmente produce la
bibliografía. Su argumento es una lista separada por comas, que se
refiere a archivos llamados bibfile1.bib,
bibfile2.bib, … Estos contienen tu base de datos en
formato BibTeX. Esto muestra un par típico de entradas en ese
formato.
@book{texbook, title = {El {{\TeX}}book}, author = {D.E. Knuth}, isbn = {0201134489}, series = {Ordenadores \& typesetting}, year = {1983}, publisher = {Addison-Wesley} } @book{sexbook, author = {W.H. Maestros y V.E. Johnson}, title = {Respuesta sexual humana}, year = {1966}, publisher = {Libros Bantam} }
Solo las entradas bibliográficas a las que se hace referencia a través
de \cite
y \nocite
aparecerá en la bibliografía del
documento. Así puedes mantener todas tus fuentes juntas en un
archivo, o una pequeña cantidad de archivos, y confía en BibTeX
para incluir en este documento solo aquellos que usaste.
Con BibTeX, el argumento keys para \nocite
también
puede ser el carácter único ‘*’. Esto significa citar
implícitamente todas las entradas de todas las bibliografías dadas.
Si olvidas usar \bibliography
o \bibliographystyle
en tu
documento (o, menos probablemente, cualquier comando \cite
o
\nocite
), BibTeX emitirá un mensaje de error. Porque
BibTeX se puede usar con cualquier programa, no solo LaTeX, los
mensajes de error se refieren a los comandos internos leídos por
BibTeX (desde un archivo .aux), en lugar de los comandos de
nivel de usuario descritos anteriormente.
Aquí hay una tabla que muestra los comandos internos mencionados en los errores BibTeX y los correspondientes comandos a nivel de usuario.
Por ejemplo, si tu documento no tiene comando
\bibliographystyle
, BibTeX se queja de la siguiente manera:
No encontré ningún comando \bibstyle --- mientras leía el archivo document.aux
theorem
Sinopsis:
\begin{theorem} cuerpo del teorema \end{theorem}
Produce ‘Teorema n’ en negrita seguido del cuerpo del
teorema en cursiva. La posibilidad de numeración para n se
describe en \newtheorem
(véase \newtheorem
).
\newtheorem{lem}{Lemma} % en el preámbulo \newtheorem{thm}{Theorem} ... \begin{lem} % en el cuerpo del documento texto del lema \end{lem} El siguiente resultado sigue inmediatamente. \begin{thm}[Gauss] % pone 'Gauss' entre paréntesis después del encabezado del teorema texto del teorema \end{thm}
La mayoría de los documentos
nuevos usan los paquetes amsthm
y amsmath
de la
Sociedad Matemática Americana. Entre otras cosas estos paquetes
incluyen una gran cantidad de opciones para entornos de teorema, como
las opciones de estilo.
titlepage
Sinopsis:
\begin{titlepage} ... texto y espaciado ... \end{titlepage}
Crea una página de título, una página sin número de página impreso o encabezado y con las páginas sucesivas numeradas a partir de la página uno.
En este ejemplo, todo el formato, incluido el espaciado vertical, se deja a el autor.
\begin{titlepage} \vspace*{\stretch{1}} \begin{center} {\huge\bfseries Tesis \\[1ex] título} \\[6.5ex] {\large\bfseries Nombre del autor} \\ \vspace{4ex} Tesis enviada a \\[5pt] \textit{Nombre de la universidad} \\[2cm] en cumplimiento parcial para la concesión del título de \\[2cm] \textsc{\Gran Doctor en Filosofía} \\[2ex] \textsc{\large Matemáticas} \\[12ex] \vfill Departamento de Matemáticas \\ Dirección \\ \vfill \today \end{center} \vspace{\stretch{2}} \end{titlepage}
En su lugar, produce una página de título estándar sin un entorno
titlepage
, usa \maketitle
(véase \maketitle
).
verbatim
Sinopsis:
\begin{verbatim} texto-literal \end{verbatim}
Un entorno de creación de párrafos en el que LaTeX produce como
salida exactamente lo que escribes como entrada. Por ejemplo, dentro
de texto-literal el carácter backslash \
no inicia
los comandos, imprime una ‘\’, y se toman literalmente los
retornos de carro y espacios en blanco. La salida aparece en una
letra de tipo máquina de escribir monoespaciada (\tt
).
\begin{verbatim} Símbolo juramento: %&$#?!. \end{verbatim}
La única restricción en texto-literal
es que no puede incluir
la cadena \end{verbatim}
.
No puedes usar el entorno textual en el argumento
de las macros, por instancia en el argumento de un \section
.
Esto no es lo mismo que los comandos son frágiles (véase \protect
),
en lugar de eso, simplemente no puede funcionar, ya que el entorno
verbatim
cambia el régimen de catcode antes de tratar su
contenido, y restaurarlo inmediatamente después, sin embargo, con un
argumento macro, el contenido del argumento ya se ha convertido en una
lista de tókenes a lo largo del régimen catcode vigente cuando se
llamó a la macro. Sin embargo, el paquete cprotect
puede
ayudar con esto
Un uso común de la entrada
textual es escribir código informático. Existen paquetes que son una
mejora del entorno verbatim
. Por ejemplo, una mejora es
permitir la inclusión palabra por palabra de archivos, o partes de
esos archivos. Dichos paquetes incluyen listings
, y
minted
.
Un paquete que proporciona
muchas más opciones para entornos textuales es fancyvrb
.
Otro es verbatimbox
.
Para obtener una lista de todos los paquetes relevantes, consulta CTAN (véase CTAN: La red integral de archivo TeX).
\verb
Sinopsis:
\verb char texto-literal char \verb* char texto-literal char
Compone el texto-literal tal como se ingresa, incluidos los
caracteres especiales y espacios, usando la letra de máquina de
escribir (\tt
).
Este ejemplo muestra dos diferentes invocaciones de \verb
.
¡Esto es \verb! ¡Literalmente! la calabaza más grande de todos los tiempos. Y esta es la mejor calabaza, \verb+¡literalmente!+
El primer \verb
tiene su texto-literal rodeado de signos
de exclamación, !
. En cambio, el segundo usa más, +
,
porque el signo de exclamación es parte del texto-literal
.
El delimitador de un solo carácter char rodea
texto-literal—debe ser el mismo carácter antes y después. No
hay espacios entre \verb
o \verb*
y char, o entre
char y texto-literal, o entre texto-literal y la
segunda aparición de char (la sinopsis muestra un espacio solo
para distinguir un componente del otro). El delimitador no debe
aparecer en texto-literal. El texto-literal no puede
incluir un salto de línea.
La forma *
se diferencia solo en que los espacios se imprimen
con un carácter espacial.
El resultado de esto incluirá un espacio visible en ambos lados de la palabra ‘con’:
El primer argumento del comando es \verb*!filename con extensión! y ...
Para escribir direcciones de Internet, URL, el paquete
url
es una mejor opción que el comando \verb
, ya que
permite saltos de línea.
Para el código informático hay
muchos paquetes con ventajas sobre \verb
. Uno es
listings
, otro es minted
.
No puedes usar \verb
en el argumento de una
macro, por ejemplo en el argumento de una \section
. No es
cuestión de que \verb
sea frágil (véase \protect
), en lugar
de eso, simplemente no puede trabajar, ya que el comando \verb
cambia el régimen de catcode antes de leer su argumento, y restaurarlo
inmediatamente después, sin embargo con un argumento de macro el
contenido del argumento ya ha sido convertido a una lista de tókenes a
lo largo del régimen catcode vigente cuando se llamó a la macro. Sin
embargo, el paquete cprotect
puede ayudar con esto.
verse
Sinopsis:
\begin{verse} line1 \\ line2 \\ ... \end{verse}
Un entorno para la poesía.
Aquí hay dos líneas de Romeo y Julieta de Shakespeare.
Entonces sé claramente que el querido amor de mi corazón está \\ establecido sobre la bella hija del rico Capuleto.
Separa las líneas de cada estrofa con \\
y usa una o más líneas
en blanco para separar las estrofas.
\begin{verse} \makebox[\linewidth][c]{\textit{No cierres tus puertas} ---Walt Whitman} \\[1\baselineskip] No cierres tus puertas orgullosa biblioteca, \\ Por lo que faltaba en todos tus estantes bien llenos, \\ \qquad todavía más necesitado, traigo, \\ A partir de la guerra emergente, un libro que he hecho, \\ Las palabras de mi libro nada, la deriva de él todo, \\ Un libro separado, no vinculado con el resto ni sentido por el intelecto, \\ Pero a ustedes, las latencias incalculables les emocionarán en cada página. \end{verse}
La salida tiene márgenes sangrados a la izquierda y a la derecha, los párrafos no tienen sangría y el texto no está justificado a la derecha.
Lo primero que hace LaTeX al procesar texto ordinario es traducir tu archivo de entrada a una secuencia de glifos y espacios. Para producir un documento impreso, esta secuencia se debe dividir en líneas (y estas líneas se deben dividir en páginas).
LaTeX normalmente hace el salto de línea (y de página) en el texto del cuerpo pero en algunos entornos fuerza manualmente los saltos de línea.
Un flujo de trabajo común es obtener una versión final del contenido del documento antes de realizar una pasada final y considerar los saltos de línea (y saltos de página). Esto difiere del procesamiento de palabras, donde estás formateando texto a medida que lo ingresas. Aplazar esto hasta el final evita un montón saltos de línea que cambiarán de todos modos.
\\
\obeycr
y \restorecr
\newline
\-
(guion discrecional)\discretionary
(punto de separación silábica generalizada)\fussy
y \sloppy
\hyphenation
\linebreak
y \nolinebreak
\\
Sinopsis, una de:
\\ \\[morespace]
o una de:
\\* \\*[morespace]
Finaliza la línea actual. El argumento opcional morespace
especifica espacio vertical adicional que se insertará antes de la
siguiente línea. Esta es un longitud elástica (véase Longitudes) y
puede ser negativa. El texto antes del salto de línea se establece en
su longitud normal, es decir, no se estira para completar el ancho de
la línea. Este comando es frágil (véase \protect
).
\title{Mi historia: \\[0.25in] una historia de aflicción}
La forma destacada, \\*
, le dice a LaTeX que no inicie una
nueva página entre las dos líneas, emitiendo un \nobreak
.
Los saltos de línea explícitos en el cuerpo del texto principal son
inusuales en LaTeX. En particular, no comiences nuevos párrafos
con \\
. En lugar de eso, deja una línea en blanco entre los
dos párrafos. Y no pongas una secuencia de \\
’s para hacer
espacio vertical. En su lugar, usa \vspace{length}
o
\leavevmode\vspace{length}
o
\vspace*{length}
si deseas que no se arroje el espacio
en la parte superior de una nueva página (véase \vspace
).
El comando \\
se usa principalmente fuera del flujo principal
de texto como en un entorno tabular
o array
o en un
entorno de la ecuación.
El comando \\
es un sinónimo de \newline
(véase \newline
) en circunstancias ordinarias (un ejemplo de una
excepción es la columna p{...}
en un entorno tabular
;
véase tabular
).
El comando \\
es una macro y su definición cambia según el
contexto para que su definición en texto normal, un entorno
center
, un flushleft
y tabular
son todos
diferentes. En texto normal, cuando fuerza un salto de línea,
esencialmente es una abreviatura para \newline
. No finaliza el
modo horizontal ni finaliza el párrafo, simplemente inserta un poco de
pegamento y penalizaciones para que cuando el párrafo termine, se
produzca un salto de línea en ese punto, con la breve línea rellena
con espacios en blanco.
Obtienes ‘Error de LaTeX: No hay línea para terminar aquí’ si
usas \\
para solicitar una nueva línea, en lugar de finalizar
la línea actual. Un ejemplo es si tienes \begin{document}\\
o, más probablemente, algo como esto.
\begin{center} \begin{minipage}{0.5\textwidth} \\ En ese espacio vertical pon tu marca. \end{minipage} \end{center}
Solucionalo reemplazando la doble barra invertida con algo como
\vspace{\baselineskip}
.
\obeycr
y \restorecr
El comando \obeycr
hace un retorno en el archivo de entrada
(‘^^M’, internamente) lo mismo que \\
, seguido de
\relax
. Así que cada nueva línea en la entrada también será
una nueva línea en la salida. El comando \restorecr
restaura
el comportamiento normal de salto de línea.
Esta no es la forma de mostrar texto textual o código informático.
Usa verbatim
(véase verbatim
) en su lugar.
Con los valores predeterminados habituales de LaTeX, este
aaa bbb \obeycr ccc ddd eee \restorecr fff ggg hhh iii
produce una salida como esta.
aaa bbb ccc ddd eee fff ggg hhh iii
Las sangrías son sangrías de párrafo.
\newline
En texto ordinario, esto termina una línea de una manera que no se
justifica a la derecha. Para que el texto anterior al final de la
línea no se estire, es decir, en modo de párrafo (véase Modos), el
comando \newline
es equivalente a doble barra invertida
(véase \\
). Este comando es frágil (véase \protect
).
Sin embargo, los dos comandos son diferentes dentro de un entorno
tabular
o entorno array
. En una columna con un
especificador que produce un cuadro de párrafo como típicamente
p{...}
, \newline
inserta un final de línea dentro de
la columna; es decir, no rompe toda la fila tabular. Para dividir
toda la fila, usa \\
o su equivalente \tabularnewline
.
Esto imprimirá ‘Nombre:’ y ‘Dirección:’ como dos líneas en una sola celda de la tabla.
\begin{tabular}{p{1in}@{\hspace{2in}}p{1in}} Nombre: \newline Dirección: &Date: \\ \hline \end{tabular}
‘Date:’ se alineará con la línea base con ‘Nombre:’.
\-
(guion discrecional)Le dice a LaTeX que puede separar la palabra en ese punto. Cuando
insertas comandos \-
en una palabra, la palabra solo se
dividirá con guiones en esos puntos y en ninguno de los otros puntos
de guiones que LaTeX podría haber elegido de otro modo. Este
comando es robusto (véase \protect
).
LaTeX es bueno separando guiones y generalmente encuentra la
mayoría de los puntos de separación con guiones, mientras que casi
nunca se usa uno incorrecto. El comando \-
es para casos
excepcionales.
Por ejemplo, LaTeX normalmente no separa palabras que contienen un guión. Abajo, la palabra larga y con guión significa que LaTeX tiene que poner en espacios inaceptablemente grandes para colocar la columna estrecha.
\begin{tabular}{rp{1.75in}} Isaac Asimov &La cepa del antiintelectualismo % an\-ti-in\-te\-lec\-tu\-al\-ismo ha sido un hilo constante que se abre camino a través de nuestra vida política y cultural, alimentada por la falsa noción de que democracia significa que 'mi ignorancia es tan buena como tu conocimiento'. \end{tabular}
Comentar la tercera línea y descomentar la cuarta hace mucho mejor ajuste.
El comando \-
solo permite que LaTeX rompa allí, no requiere
que se rompa allí. Puedes forzar una división con algo como
Hef-\linebreak feron
. Por supuesto, si luego cambias el texto,
entonces este salto de línea forzado puede parecer fuera de lugar, por
lo que este enfoque requiere sumo cuidado.
\discretionary
(punto de separación silábica generalizada)Sinopsis:
\discretionary{pre-break}{post-break}{no-break}
Maneja cambios de palabras alrededor de guiones. Este comando no se usa a menudo en documentos LaTeX.
Si se produce un salto de línea en el punto donde aparece
\discretionary
entonces TeX pone pre-break al final de
la línea actual y pone post-break al comienzo de la siguiente
línea. Si no hay salto de linea aquí entonces TeX pone
no-break.
En ‘difficult’ las tres letras ffi
forman una ligadura.
Pero no obstante, TeX se puede dividir entre las dos ‘f’ con
esto.
di\discretionary{f-}{fi}{ffi}cult
Ten en cuenta que los usuarios no tienen que hacer esto. Normalmente se maneja automáticamente por el algoritmo de separación silábica de TeX.
\fussy
y \sloppy
Declaraciones para hacer que TeX sea más o menos quisquilloso con
el salto de línea. Declarar \fussy
por lo general evita
demasiado espacio entre palabras, a costa de alguna que otra caja
llena en exceso. En cambio, \sloppy
evita cajas demasiado
llenas mientras sufre espaciado interpalabras sueltas.
El valor predeterminado es \fussy
. El salto de línea en un
párrafo es controlado por cualquier declaración que esté vigente al
final del párrafo, es decir, en la línea en blanco o \par
o
ecuación mostrada que termina ese párrafo. Entonces, para afectar los
saltos de línea, incluye ese material de final de párrafo en el
entorno del párrafo.
sloppypar
Sinopsis:
\begin{sloppypar} ... párrafos ... \end{sloppypar}
Compone los párrafos con \sloppy
en efecto (véase \fussy
y \sloppy
). Usa esto para ajustar localmente el salto de línea, para
evitar los errores ‘Caja demasiado llena’ o ‘Caja
incompleta’.
El ejemplo es simple.
\begin{sloppypar} Con su plan para la mañana así resuelto, se sentó en silencio a su libro después del desayuno, resolviendo permanecer en el mismo lugar y el mismo empleo hasta que el reloj dio la una; y por costumbre muy poco incomodado por los comentarios y exclamaciones de la Sra.\ Allen, cuyo vacío de mente e incapacidad para pensar eran tales, que como ella nunca hablaba mucho, por lo que nunca podría estar completamente silencioso; y, por lo tanto, mientras ella estaba sentada en su trabajo, si perdiera su aguja o le rompía el hilo, si oía un carruaje en la calle, o vio una mota en su vestido, debe observarla en voz alta, ya sea nadie tenía tiempo para responderle o no. \end{sloppypar}
\hyphenation
Sinopsis:
\hyphenation{word1 ...}
Declara los puntos de separación de palabras permitidos dentro de las
palabras de la lista. Las palabras en esa lista están separadas por
espacios. Muestra puntos permitidos para separación silábica con un
guión, -
.
Aquí hay un ejemplo:
\hyphenation{hat-er il-lit-e-ra-ti tru-th-i-ness}
Utiliza letras minúsculas. TeX solo dividirá si la palabra
coincide exactamente, no se intentan inflexiones. Múltiples
\hyphenation
los comandos se acumulan.
\linebreak
y \nolinebreak
Sinopsis, una de:
\linebreak \linebreak[cero-a-cuatro]
o uno de estos.
\nolinebreak \nolinebreak[cero-a-cuatro]
Anima o desalienta un salto de línea. El cero-a-cuatro opcional
es un número entero entre 0 y 4 que te permite suavizar la
instrucción. El valor predeterminado es 4, por lo que sin el
argumento opcional estos comandos fuerzan o previenen por completo la
ruptura. Pero por ejemplo, \nolinebreak[1]
es una sugerencia
de que otro lugar puede ser mejor. Cuanto mayor sea el número, más
insistente será la solicitud. Ambos comandos son frágiles
(véase \protect
).
Aquí le decimos a LaTeX que un buen lugar para poner un salto de línea es después del texto legal estándar.
\boilerplatelegal{} \linebreak[2] Alentamos especialmente las solicitudes de miembros de tradicionalmente grupos subrepresentados.
Cuando emite \linebreak
, los espacios en la línea se estiran
para que el punto de quiebre alcance el margen derecho. Véase \\
y \newline
, para que los espacios no se extiendan.
Normalmente, LaTeX automáticamente se encarga de dividir la salida en páginas con su habitual aplomo. Pero si estás escribiendo comandos, o ajustar la versión final de un documento, es posible que debas entender cómo influir en sus acciones.
El algoritmo de LaTeX para dividir un documento en páginas es más complejo que simplemente esperar hasta que haya suficiente material para llenar una página y producir el resultado. En cambio, LaTeX compone más material que cabría en la página y luego elige un salto que es óptimo en alguna forma (tiene el badness más pequeño). Un ejemplo de la ventaja de este enfoque es que si la página tiene algún espacio vertical que se puede estirar o encoger, como con tiras de goma entre párrafos, entonces LaTeX lo puede usar para evitar líneas viudas (donde comienza una nueva página con la última línea de un párrafo; LaTeX puede exprimir la línea adicional en la primera página) y huérfanas (donde la primera línea del párrafo está al final de una página; LaTeX puede estirar el material de la primera página para que la línea extra caiga en la segunda página). Otro ejemplo es donde LaTeX usa la reducción vertical disponible para caber en una página que no solo el encabezado de una nueva sección, pero también las dos primeras líneas de esa sección.
Pero LaTeX no optimiza el conjunto de saltos de páginas del documento completo. Entonces puede suceder que el salto de la primera página sea genial pero el segundo sea pésimo; para romper la página actual LaTeX no ve tan adelante como el siguiente salto de página. Así que de vez en cuando es posible que desees influir en los saltos de página al preparar una versión final de un documento.
Véase Composición, para obtener más material relevante para el salto de página.
\clearpage
y \cleardoublepage
Sinopsis:
\clearpage
o
\cleardoublepage
Finaliza la página actual y genera todas las figuras flotantes
pendientes y tablas (véase Flotantes). Si hay demasiados flotantes
para caber en la página entonces LaTeX pondrá páginas adicionales
que solo contienen flotantes. En impresión a doble cara,
\cleardoublepage
también hace que la siguiente página de
contenido sea una página de la derecha, una página impar, si es
necesario insertando una página en blanco. El comando
\clearpage
es robusto mientras \cleardoublepage
es
frágil (véase \protect
).
Los saltos de página de LaTeX están optimizados, por lo que normalmente solo usas este comando en el cuerpo de un documento para pulir la versión final, o dentro de comandos.
El comando \cleardoublepage
colocará una página en blanco, pero
tendrá los encabezados y pies de página en ejecución. Para obtener
una página con espacio en blanco, usa este comando.
\let\origdoublepage\cleardoublepage \newcommand{\clearemptydoublepage}{% \clearpage {\pagestyle{empty}\origdoublepage}% }
Si deseas que el comando \chapter
estándar de LaTeX haga
esto, entonces agrega la línea
\let\cleardoublepage\clearemptydoublepage
. (Por supuesto, esto
afecta todos los usos de \cleardoublepage
, no solo uno en
\chapter
).
El comando \newpage
(véase \newpage
) también termina la
página actual, pero sin borrar los flotantes pendientes. Y, si
LaTeX está en modo de dos columnas, entonces \newpage
finaliza la columna actual mientras \clearpage
y
\cleardoublepage
finalizan la página actual.
\newpage
Sinopsis:
\newpage
Finaliza la página actual. Este comando es robusto
(véase \protect
).
Los saltos de página de LaTeX están optimizados, por lo que normalmente solo usas este comando en el cuerpo de un documento para pulir la versión final, o dentro de comandos.
Mientras que los comandos \clearpage
y \cleardoublepage
también finalizan la página actual, además borran los flotantes
pendientes (véase \clearpage
y \cleardoublepage
). Y, si LaTeX
está en modo de dos columnas, entonces \clearpage
y
\cleardoublepage
terminan la página actual, posiblemente
dejando una columna vacía, mientras \newpage
solo finaliza la
columna actual.
A diferencia de \pagebreak
(véase \pagebreak
y \nopagebreak
),
el comando \newpage
hará que la nueva página comience justo
donde se solicitó. Este
Hace cuarenta y siete años nuestros padres dieron a luz en este continente, \newpage \noindent una nueva nación, concebida en Libertad, y dedicada a la proposición de que todos los hombres son creados iguales.
hace que una nueva página comience después de ‘continente’, y la
línea cortada no se justifica a la derecha. Además, \newpage
no estira verticalmente la página, como lo hace \pagebreak
.
\enlargethispage
Sinopsis, una de:
\enlargethispage{size} \enlargethispage*{size}
Amplía el \textheight
para la página actual. El argumento
requerido size debe tener una longitud rígida
(véase Longitudes). Puede ser positivo o negativo. Este comando es
frágil (véase \protect
).
Una estrategia común es esperar hasta tener el texto final de un documento y, a continuación, pásalo ajustando los saltos de línea y de página. Este comando te permite cierto margen de maniobra en el tamaño de la página.
Esto permitirá una línea adicional en la página actual.
\enlargethispage{\baselineskip}
La forma con estrella \enlargesthispage*
intenta exprimir el
material juntos en la página tanto como sea posible, para el caso de
uso común de obtener una línea más en la página. Esto se usa a menudo
junto con un \pagebreak
explícito.
\pagebreak
y \nopagebreak
Sinopsis:
\pagebreak \pagebreak[cero-a-cuatro]
o
\nopagebreak \nopagebreak[cero-a-cuatro]
Anima o desalienta un salto de página. El cero-a-cuatro
opcional es un número entero que te permite suavizar la solicitud. El
valor predeterminado es 4, de modo que sin el argumento opcional estos
comandos fuerzan o previenen el quiebre. Pero, por ejemplo,
\nopagebreak[1]
sugiere a LaTeX que otro lugar podría ser
preferible. Cuanto mayor sea el número, más insistente la petición.
Ambos comandos son frágiles. (véase \protect
).
Los finales de página de LaTeX están optimizados, por lo que normalmente solo usas estos comandos en el cuerpo de un documento para pulir la versión final, o dentro de comandos.
Si los usas dentro de un párrafo, se aplica al punto siguiente de la línea en la que aparecen. Así que esto
Hace cuarenta y siete años nuestros padres dieron a luz en este continente, \pagebreak una nueva nación, concebida en Libertad, y dedicada a la proposición que todos los hombres son creados iguales.
no da un salto de página en ‘continente’, sino en ‘nación’,
ya que ahí es donde LaTeX rompe esa línea. Además, con
\pagebreak
el espacio vertical en la página se estira donde sea
posible para que se extienda hasta el fondo del margen normal. Esto
puede parecer extraño, y si \flushbottom
está en efecto esto
puede hacer que obtengas ‘Infralleno \vbox (incorrecto 10000)
ocurrió mientras \output está activo’. Véase \newpage
, para un
comando que no tiene estos efectos.
(Hay una declaración obsoleta \samepage
, que intenta solo
permitir un salto de línea entre dos párrafos. Hay un entorno
relacionado samepage
, también obsoleto. Ninguno de estos
funciona de manera confiable. Para más información sobre cómo
mantener el material en la misma página, consulta la entrada de
preguntas frecuentes https://texfaq.org/FAQ-nopagebrk).
Coloca una nota a pie de página en la parte inferior de la página actual, como aquí.
Noël Coward bromeó diciendo que tener que leer una nota al pie es como tener que bajar las escaleras para abrir la puerta, mientras está en medio de hacer amor.\footnote{% No sabría, no leo las notas al pie.}
Puedes poner varias notas al pie de página en una página. Si el texto de la nota al pie se vuelve demasiado largo, entonces fluirá a la página siguiente.
También puedes producir notas al pie combinando \footnotemark
y
los comandos \footnotetext
, que es útil en casos con
circunstancias especiales.
Para que las referencias bibliográficas salgan a pie de página es necesario incluir un estilo bibliográfico con ese comportamiento (véase Usar BibTeX).
\footnote
\footnotemark
\footnotetext
\footnote
Sinopsis, una de:
\footnote{text} \footnote[number]{text}
Coloca text como nota al pie al final de la página actual.
Hay más de mil notas a pie de página en el libro de Gibbon. \textit{Decadencia y Caída del Imperio Romano}.\footnote{% Después de leer una versión anterior con notas finales, David Hume se quejó: ``Uno también está plagado de sus Notas, según el presente Método de imprimir el Libro'' y sugirió que ``sólo para ser impreso en el margen o en la parte inferior de la página.''}
El argumento opcional number te permite especificar el número de
la nota al pie. Si usas esto, entonces LaTeX no incrementa el
contador footnote
.
De manera predeterminada, LaTeX usa números arábigos como
marcadores de notas al pie. Cambia esto con algo como
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
, que
utiliza una secuencia de símbolos (véase \alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores). Para que este cambio sea global, ponlo en el
preámbulo. Si realizas el cambio local, entonces es posible que
desees restablecer el contador con
\setcounter{footnote}{0}
.
LaTeX determina el espaciado de las notas al pie con dos parámetros.
\footnoterule
¶Produce la regla que separa el texto
principal de una página del texto de la notas al pie de la página.
Dimensiones predeterminadas en las clases de documentos estándar
(excepto slides
, donde no aparece) es: espesor vertical de
0.4pt
, y tamaño horizontal de 0.4\columnwidth
de largo.
Cambia la regla con algo como esto.
\renewcommand{\footnoterule}{% Kerns evita el espacio vertical \kern -3pt % Este -3 es negativo \hrule width \textwidth height 1pt % de la suma de este 1 \kern 2pt} % y este 2
\footnotesep
¶La altura del puntal colocado al comienzo de la nota al pie.
(véase \strut
). De manera predeterminada, esto se establece en el
puntal normal para \footnotesize
fuentes (véase Tamaños de los tipos de letra), por lo tanto no hay espacio adicional entre las
notas al pie. Este es ‘6.65pt’ para ‘10pt’, ‘7.7pt’
para ‘11pt’ y ‘8.4pt’ para ‘12pt’. Cambio como con
\setlength{\footnotesep}{11pt}
.
El comando \footnote
es frágil (véase \protect
).
El valor predeterminado de LaTeX pone muchas restricciones sobre
dónde puedes usar un \footnote
; por ejemplo, no lo puedes usar
en un argumento para un comando de seccionado como \chapter
(solo se puede usar en modo de párrafo; véase Modos). Hay algunas
soluciones; ve las siguientes secciones.
En un entorno minipage
, el comando \footnote
usa el
contador mpfootnote
en lugar del contador footnote
, por
lo que se numeran de forma independiente. Se muestran en la parte
inferior del entorno, no en la parte inferior de la página. Y de
manera predeterminada se muestran alfabéticamente. Véase minipage
y
Notas al pie en una tabla.
\footnotemark
Sinopsis, una de:
\footnotemark \footnotemark[number]
Coloca la marca de nota al pie actual en el texto. Para especificar
texto asociado para la nota al pie \footnotetext
. El
argumento number opcional hace que el comando use ese número
para determinar la marca de nota al pie. Este comando se puede
utilizar en el modo de párrafo interior (véase Modos).
Si usas \footnotemark
sin el argumento opcional, entonces
incrementa el contador footnote
, pero si usas el contador
opcional number entonces no lo hace. El siguiente ejemplo
produce varios marcadores consecutivos de notas al pie que se refieren
a la misma nota al pie.
El primer teorema\footnote{Debido a Gauss.} y el segundo teorema\footnotemark[\value{footnote}] y el tercer teorema.\footnotemark[\value{footnote}]
Si hay notas al pie intermedias, debes recordar el valor de el número
de la marca común. Este ejemplo da la misma afiliación institucional
del primer y tercer autor (\thanks
es una versión de
\footnote
), dando a mano el número de la nota al pie.
\title{Un tratado sobre el teorema del binomio} \author{J Moriarty\thanks{Universidad de Leeds} \y AC Doyle\thanks{Universidad de Durham} \y S Holmes\footnotemark[1]} \begin{document} \maketitle
Utiliza un contador para recordar el número de la nota al pie. La tercera frase va seguida del mismo marcador de nota al pie que la primera.
\newcounter{footnoteValueSaver} Todos los bebés son ilógicos.\footnote{% Lewis Carroll.}\setcounter{footnoteValueSaver}{\value{footnote}} No se desprecia a nadie que pueda manejar un cocodrilo.\footnote{% Capitán Garfio.} Las personas ilógicas son despreciadas.\footnotemark[\value{footnoteValueSaver}] Por lo tanto, cualquiera que pueda manejar un cocodrilo no es un bebé.
Este ejemplo logra lo mismo usando el paquete cleveref
.
\usepackage{cleveref}[2012/02/15] % en el preámbulo \crefformat{footnote}{#2\footnotemark[#1]#3} ... El teorema es de Evers.\footnote{\label{fn:TE}Tinker, Evers, 1994.} El corolario es de Chance.\footnote{Evers, Chance, 1990.} Pero el lema clave es de Tinker.\cref{fn:TE}
Funcionará con el paquete hyperref
.
\footnotetext
Sinopsis, una de:
\footnotetext{text} \footnotetext[number]{text}
Coloca text en la parte inferior de la página como nota al pie.
Se empareja con \footnotemark
(véase \footnotemark
) y puede
venir en cualquier lugar después de ese comando, pero debe aparecer en
modo de párrafo externo (véase Modos). El argumento opcional
number cambia el número de la marca de nota al pie.
Véase \footnotemark
y Notas al pie en una tabla, para usar
en ejemplos
Pone una nota al pie en el título de una sección, como en:
\section{Juegos completos\protect\footnote{Este material se debe a ...}}
hace que la nota al pie de página aparezca en la parte inferior de la
página donde comienza la sección, como es habitual, pero también en la
parte inferior de la tabla de contenido, donde no es probable que sea
deseado. La forma más sencilla de hacer que no aparezca en la tabla
de contenido es usar el argumento opcional para \section
\section[Por favor]{Por favor\footnote{% ¡No incluyas notas al pie en los encabezados de capítulos y secciones!}}
No se necesita \protect
delante de \footnote
aquí porque
lo que se mueve a la tabla de contenido es el argumento opcional.
Dentro de un entorno tabular
o array
el comando
\footnote
no funciona; hay una marca de nota al pie en la celda
de la tabla, pero el texto de la nota al pie no aparece. La solución
es usar un entorno minipage
como aquí (véase minipage
).
\begin{center} \begin{minipage}{\textwidth} \centering \begin{tabular}{l|l} \textsc{Barco} &\textsc{Libro} \\ \hline \textit{HMS Sophie} &Maestro y Comandante \\ \textit{HMS Polychrest} &Capitán de puesto \\ \textit{HMS Lively} &Capitán de puesto \\ \textit{HMS Surprise} &Un número de libros\footnote{% Comenzando con \textit{HMS Sorpresa}.} \end{tabular} \end{minipage} \end{center}
Dentro de una minipage
, las marcas de las notas al pie son
letras minúsculas. Cambio que con algo así
\renewcommand{\thempfootnote}{\arabic{mpfootnote}}
(véase \alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores).
Las notas al pie en el ejemplo anterior aparecen en la parte inferior
de la minipage
. Para que aparezcan en la parte inferior de la
página principal, como parte de la secuencia regular de notas al pie,
utiliza \footnotemark
y \footnotetext
empareja y crea un
nuevo contador.
\newcounter{mpFootnoteValueSaver} \begin{center} \begin{minipage}{\textwidth} \setcounter{mpFootnoteValueSaver}{\value{footnote}} \centering \begin{tabular}{l|l} \textsc{Mujer} &\textsc{Relación} \\ \hline Mona &Adjunto\footnotemark\\ Diana Villiers &Eventual esposa \\ Christine Hatherleigh Wood &Prometida\footnotemark \end{tabular} \end{minipage}% El signo de porcentaje mantiene el texto de la % nota al pie cerca de la minipágina \stepcounter{mpFootnoteValueSaver}% \footnotetext[\value{mpFootnoteValueSaver}]{% Poco se sabe aparte de su muerte.}% \stepcounter{mpFootnoteValueSaver}% \footnotetext[\value{mpFootnoteValueSaver}]{% Relación no resuelta en XXI.} \end{center}
Para un entorno table
flotante
(véase table
), usa el paquete tablefootnote
.
\usepackage{tablefootnote} % en el preámbulo ... \begin{table} \centering \begin{tabular}{l|l} \textsc{Fecha} &\textsc{Campaña} \\ \hline 1862 & Fuerte Donelson \\ 1863 &Vicksburg \\ 1865 &Ejército de Virginia del Norte\tablefootnote{% Pone fin a la guerra.} \end{tabular} \caption{Fuerzas capturadas por US Grant} \end table}
La nota al pie aparece en la parte inferior de la página y está numerada en secuencia con otras notas al pie.
Particularmente en las humanidades, los autores
pueden tener múltiples clases de notas al pie, incluyendo tener notas
al pie de las notas al pie. El paquete bigfoot
amplía el
mecanismo de notas al pie predeterminado de LaTeX en muchas
maneras, incluyendo permitir estos dos, como en este ejemplo.
\usepackage{bigfoot} % en el preámbulo \DeclareNewFootnote{Predeterminado} \DeclareNewFootnote{from}[alph] % crea clase \footnotefrom{} ... El tercer teorema es un inverso parcial del segundo.\footnotefrom{% Anotado en Wilson.\footnote{Segunda edición solamente.}}
LaTeX tiene soporte para crear nuevos comandos de muchos tipos diferentes.
\newcommand
y \renewcommand
\providecommand
\makeatletter
y \makeatother
\@ifstar
\newcounter
: Asignar un contador\newlength
\newsavebox
\newenvironment
y \renewenvironment
\newtheorem
\newfont
\protect
\ignorespaces e \ignorespacesafterend
\newcommand
y \renewcommand
Sinopsis, una de (tres formas regulares, tres formas destacadas):
\newcommand{\cmd}{defn} \newcommand{\cmd}[nargs]{defn} \newcommand{\cmd}[nargs][optargdefault]{defn} \newcommand*{\cmd}{defn} \newcommand*{\cmd}[nargs]{defn} \newcommand*{\cmd}[nargs][optargdefault]{defn}
o todas las mismas posibilidades con \renewcommand
en lugar de
\newcommand
:
\renewcommand{\cmd}{defn} \renewcommand{\cmd}[nargs]{defn} \renewcommand{\cmd}[nargs][optargdefault]{defn} \renewcommand*{\cmd}{defn} \renewcommand*{\cmd}[nargs]{defn} \renewcommand*{\cmd}[nargs][optargdefault]{defn}
Define o redefine un comando (ve también \DeclareRobustCommand
en Comandos class y package).
La forma estrellada de estos dos prohíbe que los argumentos contengan
varios párrafos de texto (en términos simples de TeX: los comandos
no son \long
). Con la forma predeterminada, los argumentos
pueden ser varios párrafos.
Estos son los parámetros (a continuación se muestran algunos ejemplos):
Requerido; \cmd
es el nombre del comando. Debe comenzar
con una barra invertida, \
, y no debe comenzar con la cadena de
cuatro caracteres \end
. Para \newcommand
, no debe estar
ya definido. Para \renewcommand
, este nombre ya debe estar
definido.
Opcional; un número entero de 0 a 9, especificando el número de argumentos que toma el comando, incluido cualquier argumento opcional. Omitir este argumento es lo mismo que especificar 0, lo cual significa que el comando no tiene argumentos. Si redefines un comando, la nueva versión puede tener un diferente número de argumentos que la versión anterior.
Opcional; si este argumento está presente entonces el primer argumento
de \cmd
es opcional, con valor predeterminado
optargdefault (que puede ser la cadena vacía). Si
optargdefault no está presente entonces \cmd
no
toma un argumento opcional.
Es decir, si \cmd
se llama con el siguiente argumento
entre corchetes, como en \cmd[optval]{...}...
,
entonces dentro de defn, el parámetro #1
se
establece en optval. Por otro lado, si \cmd
se
llama sin los siguientes corchetes entonces dentro de defn se
establece el parámetro #1
a optargdefault. En cualquier
caso, los argumentos requeridos comienzan con #2
.
Omitir [optargdefault]
de la definición es completamente
diferente de dar los corchetes con contenido vacío, como en []
.
El primero dice que el comando que se define no requiere un argumento
opcional, por lo que #1
es el primer argumento requerido (si
nargs ≥ 1); este último establece el argumento
opcional #1
a la cadena vacía como valor predeterminado, si no
hay un argumento opcional dado en la llamada.
De manera similar, omitir [optval]
de una llamada también
es completamente diferente de dar los corchetes con contenido vacío.
El anterior establece #1
al valor de optval (suponiendo
que el comando se definió para tomar un argumento opcional); el último
#1
configurado a la cadena vacía, al igual que con cualquier
otro valor.
Si un comando no está definido para tomar un argumento opcional, pero es llamado con un argumento opcional, los resultados son impredecibles: allí puede haber un error de LaTeX, puede haber una salida tipográfica incorrecta, o ambos.
Requerido; el texto que se sustituirá por cada aparición de
\cmd
. Los parámetros #1
, #2
, …,
#nargs
se reemplazan por los valores proporcionados
cuando se llama al comando (o por optargdefault en el caso de un
argumento opcional no especificado en la llamada, como se acaba de
explicar).
TeX ignora los espacios en blanco en la fuente después de una
secuencia de control (véase Secuencia de control, palabra de control y símbolo de control), como en
‘\cmd ’. Si quieres un espacio allí, una solución es escribir
{}
después del comando (‘\cmd{} ’), y otra solución es
usar un espacio de control explícito (‘\cmd\ ’).
Un ejemplo simple de definición de un nuevo comando:
\newcommand{\RS}{Robin Smith}
da como resultado que
\RS
sea reemplazado por el texto más largo. Redefinir un
comando existente es similar:
\renewcommand{\qedsymbol}{{\small QED}}
.
Si usas \newcommand
y el nombre del comando ya se ha usado
entonces obtienes algo como ‘Error de LaTeX: Comando \fred ya
definido. O nombre \end... ilegal, ve la p.192 del manual’. De
manera similar, si usas \renewcommand
y el nombre del comando
no se ha definido, obtienes algo como ‘Error de LaTeX: \hank no
se ha definido’.
Aquí la primera definición crea un comando sin argumentos, y la segunda, un comando con un argumento requerido:
\newcommand{\student}{Ms~O'Leary} \newcommand{\defref}[1]{Definición~\ref{#1}}
Usa el primero como en Te recomiendo \student{}
. El segundo
tiene un argumento variable, por lo que \defref{def:basis}
se
expande a Definición~\ref{def:basis}
, que finalmente se
expande a algo así como ‘Definición~3.14’.
Del mismo modo, pero con dos argumentos obligatorios:
\newcommand{\nbym}[2]{$#1 \times #2$}
se invoca como
\nbym{2}{k}
.
Este ejemplo tiene un argumento opcional.
\newcommand{\salutation}[1][Señor o señora]{Estimado #1:}
Entonces \salutation
da ‘Estimado señor o señora:’
mientras \salutation[John]
da ‘Querido John:’. Y
\salutation[]
da ‘Estimado :’.
Este ejemplo tiene un argumento opcional y dos argumentos obligatorios.
\newcommand{\lawyers}[3][empresa]{#2, #3 y~#1} Empleo a \lawyers[Howe]{Dewey}{Cheatem}.
El resultado es ‘Empleo Dewey, Cheatem y Howe’. El argumento
opcional, Howe
, está asociado con #1
, mientras que
Dewey
y Cheatem
están asociados con #2
y #3
. Debido al argumento opcional,
\lawyers{Dewey}{Cheatem}
dará la salida ‘Empleo Dewey,
Cheatem y Howe’.
Las llaves alrededor de defn no definen un grupo, es decir, no
delimitan el alcance del resultado de expandir defn. Por
ejemplo, con \newcommand{\shipname}[1]{\it #1}
, en esta
oración,
El \shipname{Monitor} se encontró con el \shipname{Merrimac}.
las palabras ‘se encontró con el’, y el punto, estarían
incorrectamente en cursiva. La solución es poner otro par de
corchetes dentro de la definición:
\newcommand{\shipname}[1]{{\it #1}}
.
Al leer la entrada TeX convierte el flujo de caracteres leídos en
una secuencia de tókenes. Cuando TeX ve una barra invertida
\
, la hará manejar los siguientes caracteres de una manera
especial para hacer un token de secuencia de control.
Las secuencias de control se dividen en dos categorías:
\
seguida de al menos una letra ASCII (A-Z
y
a-z
), seguida de al menos una no letra.
\
seguida de un carácter que no sea una letra.
La secuencia de caracteres que se encuentran después de una \
también se denominan el nombre de la secuencia de control.
Los espacios en blanco después de una palabra de control se ignoran y
no producen espacio en blanco en la salida (véase \newcommand
y \renewcommand
y Barra invertida-espacio, \
).
Así como el comando \relax
no hace nada, la siguiente entrada
simplemente imprimirá ‘¡Hola!’ :
¡Hol\relax a!
Esto se debe a que los espacios en blanco después de \relax
,
incluida la nueva línea, son ignorados, y los espacios en blanco al
principio de una línea también son ignorados (véase Espacios en blanco iniciales).
\providecommand
Sinopsis, una de:
\providecommand{\cmd}{defn} \providecommand{\cmd}[nargs]{defn} \providecommand{\cmd}[nargs][optargdefault]{defn} \providecommand*{\cmd}{defn} \providecommand*{\cmd}[nargs]{defn} \providecommand*{\cmd}[nargs][optargdefault]{defn}
Define un comando, siempre que no exista ningún comando con este
nombre. Si no existe ningún comando con este nombre, esto tiene el
mismo efecto que \newcommand
. Si ya existe un comando con este
nombre, entonces esta definición no hace nada. Esto es
particularmente útil en un archivo que se puede cargar más de una vez,
como un archivo de estilo. Véase \newcommand
y \renewcommand
, para
la descripción de los argumentos.
Este ejemplo
\providecommand{\myaffiliation}{Colegio de San Miguel} \providecommand{\myafiliation}{Lyc\'ee Henri IV} De \myafiliation.
produce ‘De Saint Michael's College.’ A diferencia de
\newcommand
, el uso repetido de \providecommand
para
(intentar) definir \myaffiliation
no da error.
\makeatletter
y \makeatother
Sinopsis:
\makeatletter ... definición de comandos con @ en su nombre .. \makeatother
Usa este par cuando redefines los comandos de LaTeX que se nombran
con un carácter arroba ‘@
’. La declaración
\makeatletter
hace que el carácter de arroba tenga el código de
categoría de una letra, code 11. La declaración
\makeatother
establece el código de categoría del signo de
arroba a code 12, su valor predeterminado.
A medida que TeX lee caracteres, asigna a cada uno un código de
categoría, o
catcode. Por ejemplo, asigna el carácter ‘\
’ de
barra invertida el catcode 0. Nombres de comandos constan de un
carácter categoría 0, normalmente barra invertida, seguido por
letras, caracteres de categoría 11 (excepto que un nombre de
comando también puede constar de un carácter categoría 0 seguido
de un solo símbolo que no es una letra).
El código fuente de LaTeX tiene la convención de que algunos
comandos usan @
en su nombre. Estos comandos están destinados
principalmente a escritores de paquete o de clase. La convención
impide que los autores que solo utilizan un paquete o clase reemplacen
accidentalmente dicho comando con uno de ellos mismos, porque de
manera predeterminada el signo de arroba tiene el catcode 12.
Usa el par \makeatletter
y \makeatother
dentro de un
.tex, generalmente en el preámbulo, cuando estás definiendo o
redefiniendo comandos nombrados con @
, haciendo que rodeen tu
definición. No los uses dentro de los archivos .sty o
.cls ya que los comandos \usepackage
y
\documentclass
ya disponen que la arroba tenga el código de
carácter de una letra, catcode 11.
Para obtener una lista completa de macros con un signo de arroba en sus nombres, consulta https://ctan.org/pkg/macros2e.
En este ejemplo, el archivo de clase tiene un comando
\thesis@universityname
que el usuario quiere cambiar. Estas
tres líneas deben ir en el preámbulo, antes del
\begin{document}
.
\begin{document}
.
\makeatletter
\renewcommand{\thesis@universityname}{Colegio de San Miguel}
\makeatother
\@ifstar
Sinopsis:
\newcommand{\mycmd}{\@ifstar{\mycmd@star}{\mycmd@nostar}} \newcommand{\mycmd@nostar}[nostar-num-args]{nostar-body} \newcommand{\mycmd@star}[star-num-args]{star-body}
Muchos entornos o comandos estándar de LaTeX tienen una variante
con el mismo nombre pero terminando con un carácter de
estrella *
, un asterisco. Algunos ejemplos son los
entornos table
y table*
y los comandos \section
y
\section*
.
Al definir entornos, seguir este patrón es sencillo porque
\newenvironment
y \renewenvironment
permiten que el
nombre del entorno contenga una estrella. Entonces solo tienes que
escribir \newenvironment{myenv}
o
\newenvironment{myenv*}
y continúa la definición de la
manera habitual. Para los comandos la situación es más compleja ya que
la estrella no es una letra no puede ser parte del nombre del comando.
Como en la sinopsis anterior, habrá un comando llamado por el usuario,
dado anteriormente como \mycmd
, que mira hacia delante para ver
si le sigue una estrella. Por ejemplo, LaTeX realmente no tiene un
comando \section*
; en cambio, el comando \section
mira
hacia adelante. Este comando no acepta argumentos, sino que se
expande a uno de los dos comandos que aceptan argumentos. En la
sinopsis estos dos son \mycmd@nostar
y \mycmd@star
.
Podrían tomar el mismo número de argumentos o un número diferente, o
ningún argumento en absoluto. Como siempre, en un documento LaTeX
un comando usando una arroba @
en su nombre se debe
encerrar dentro de un bloque \makeatletter ... \makeatother
(véase \makeatletter
y \makeatother
).
Este ejemplo de \@ifstar
define el comando \ciel
y una
variante \ciel*
. Ambos tienen un argumento obligatorio. Una
llamada a \ciel{blue}
devolverá "cielo azul no estrellado"
mientras \ciel*{night}
devolverá "cielo nocturno estrellado".
\makeatletter \newcommand*{\ciel@unstarred}[1]{no estrellado #1 cielo} \newcommand*{\ciel@starred}[1]{cielo estrellado #1} \newcommand*{\ciel}{\@ifstar{\ciel@starred}{\ciel@unstarred}} \makeatother
En el siguiente ejemplo, la variante destacada toma un número
diferente de argumentos que el sin estrella. Con esta definición, el
Agente 007 ``Mi nombre es \agentsecret*{Bond},
\agentsecret{James}{Bond}.''
es equivalente a ingresar los
comandos ``Mi nombre es \textsc{Bond}, \textit{James}
textsc{Bond}.''
\newcommand*{\agentsecret@unstarred}[2]{\textit{#1} \textsc{#2}} \newcommand*{\agentsecret@starred}[1]{\textsc{#1}} \newcommand*{\agentsecret}{% \@ifstar{\agentsecret@starred}{\agentsecret@unstarred}}
Después de un nombre de comando, una estrella se maneja de manera
similar a un argumento opcional. (Esto difiere de los nombres de
entornos en los que la estrella es parte del nombre mismo y como tal
podría estar en cualquier posición). Por lo tanto, técnicamente es
posible poner cualquier número de espacios entre el comando y la
estrella. Así \agentsecret*{Bond}
y \agentsecret *{Bond}
son equivalentes. Sin embargo, la práctica estándar es no
insertar tales espacios.
Hay dos formas alternativas de
realizar el trabajo de \@ifstar
. (1) El paquete
suffix
permite la construcción
\newcommand\mycommand{variante-sin-estrella}
seguida
por \WithSuffix\newcommand\mycommand*{starred-variant}
.
(2) LaTeX proporciona el paquete xparse
, que permite
este código:
\NewDocumentCommand\foo{s}{\IfBooleanTF#1 {variante-con-estrella}% {variante-sin-estrella}% }
\newcounter
: Asignar un contadorSinopsis, una de:
\newcounter{countername} \newcounter{countername}[supercounter]
Define globalmente un nuevo contador llamado countername y lo inicializa a cero (véase Contadores).
El nombre countername debe constar únicamente de letras. No comienza con una barra invertida. Este nombre no debe estar ya en uso por otro contador.
Cuando usas el argumento opcional [supercounter]
entonces
el contador countername se restablecerá a cero siempre que
supercounter se incrementa. Por ejemplo, ordinariamente
subsection
está numerado dentro de section
para que cada
vez que incremente sección, ya sea con \stepcounter
(véase \stepcounter
) o \refstepcounter
(véase \refstepcounter
), entonces LaTeX restablecerá
subsection a cero.
Este ejemplo
\newcounter{asuper} \setcounter{asuper}{1} \newcounter{asub}[asuper] \setcounter{asub}{3} % Nota `asuper' El valor de asuper es \arabic{asuper} y el de asub es \arabic{asub}. \stepcounter{asuper} Ahora asuper es \arabic{asuper} mientras que asub es \arabic{asub}.
produce ‘El valor de asuper es 1 y el de asub es 3’ y ‘Ahora asuper es 2 mientras que asub es 0’.
Si el contador ya existe, por ejemplo ingresando asuper
dos
veces, obtienes algo como ‘Error LaTeX: Comando \c@asuper Ya
definido. O name \end... ilegal, ve la p.192 del manual.’.
Si usas el argumento opcional, entonces el súper contador ya debe
existir. Al ingresar \newcounter{jh}[lh]
cuando lh
no
es un contador definido obtendrás ‘Error LaTeX: Sin contador 'lh'
definido.’
\newlength
Sinopsis:
\newlength{\len}
Asigna un nuevo registro de longitud (véase Longitudes). El
argumento requerido \len
tiene que ser una secuencia de
control (véase Secuencia de control, palabra de control y símbolo de control), y como tal debe comenzar con
una barra invertida, \
bajo circunstancias normales. El nuevo
registro contiene longitudes elásticas como 72.27pt
o 1in
plus.2in minus.1in
(una longitud de registro LaTeX es lo que
TeX llama un skip
de registro). El valor inicial es cero.
La secuencia de control \len
no debe estar definida ya.
Un ejemplo:
\newlength{\graphichgt}
Si olvidas la barra invertida, obtienes ‘Insertada secuencia de control faltante’. Si la secuencia de control ya existe, entonces obtienes algo así como ‘Error LaTeX: Comando \graphichgt ya definido. O nombre \end... ilegal, ve la p.192 del manual’.
\newsavebox
Sinopsis:
\newsavebox{\cmd}
Define \cmd, la cadena que consta de una barra invertida seguida
de cmd, para referirse a un nuevo contenedor para almacenar
material. Estos contenedores contienen material que ha sido
compuesto, para usar varias veces o para medir o manipular
(véase Cajas). El nombre del contenedor \cmd es obligatorio,
debe comenzar con una barra invertida, \, y no debe ser un comando
definido. Este comando es frágil (véase \protect
).
Esto asigna un contenedor y luego coloca material tipográfico en él.
\newsavebox{\logobox} \savebox{\logobox}{LoGo} Nuestro logo es \usebox{\logobox}.
La salida es ‘Nuestro logotipo es LoGo’.
Si ya hay un contenedor definido, obtienes algo como ‘Error de LaTeX: Comando \logobox ya definido. O nombre \end... ilegal, ve la p.192 del manual’.
La asignación de una caja es global.
\newenvironment
y \renewenvironment
Sinopsis, una de:
\newenvironment{env}{begdef}{enddef} \newenvironment{env}[nargs]{begdef}{enddef} \newenvironment{env}[nargs][optargdefault]{begdef}{enddef} \newenvironment*{env}{begdef}{enddef} \newenvironment*{env}[nargs]{begdef}{enddef} \newenvironment*{env}[nargs][optargdefault]{begdef}{enddef}
o uno de estos.
\renewenvironment{env}{begdef}{enddef} \renewenvironment{env}[nargs]{begdef}{enddef} \renewenvironment{env}[nargs][optargdefault]{begdef}{enddef} \renewenvironment*{env}{begdef}{enddef} \renewenvironment*{env}[nargs]{begdef}{enddef} \renewenvironment*{env}[nargs][optargdefault]{begdef}{enddef}
Definir o redefinir el entorno env, es decir, crear el
constructor \begin{env} ... body
... \end{env}
.
La forma de asterisco de estos comandos requiere que los argumentos no contienen varios párrafos de texto. Sin embargo, el cuerpo de estos entornos pueden contener varios párrafos.
Requerido; el nombre del entorno. Se compone sólo de letras o el
carácter forma-*
y, por lo tanto, no comienza con una barra
invertida, \
. No debe comenzar con la cadena end
. Para
\newenvironment
, el nombre env no debe ser el nombre de
un entorno ya existente, y también el comando \env
debe
ser indefinido. Para \renewenvironment
, env debe ser el
nombre de un entorno existente.
Opcional; un número entero de 0 a 9 que indica el número de argumentos
que toma el entorno. Cuando usas el entorno, estos argumentos
aparecen después de \begin
, como en
\begin{env}{arg1} ... {argn}
.
Omitiendo esto es equivalente a establecerlo en 0; el entorno no
tendrá argumentos. Al redefinir un entorno, la nueva versión puede
tener un diferente número de argumentos que la versión anterior.
Opcional; si esto está presente, entonces el primer argumento del entorno definido es opcional, con el valor predeterminado optargdefault (que puede ser la cadena vacía). Si esto no está en la definición, entonces el entorno no acepta un argumento opcional.
Es decir, cuando optargdefault está presente en la definición
del entorno entonces puedes comenzar el entorno con corchetes, como en
\begin{env}[optval]{...} ... \end{env}
.
En este caso, dentro de begdefn el parámetro #1
se
establece en el valor de optval. Si llamas a
\begin{env}
sin corchetes, luego dentro de
begdefn el parámetro #1
es establecido en el valor
predeterminado optargdefault. En cualquier caso, cualquier
argumento requerido comienza con #2
.
Omitir [myval]
en la llamada es diferente a tener
corchetes sin contenido, como en []
. Los resultados anteriores
en #1
expandiéndose a optargdefault; esto último resulta
en #1
expandiéndose a la cadena vacía.
Requerido; el texto se expande en cada aparición de
\begin{env}
. Dentro de begdef, los parámetros
#1
, #2
, ... #nargs
, se sustituyen por los
valores que proporcionas cuando llamas al entorno; ve los ejemplos
abajo.
Requerido; el texto se expande en cada aparición de
\end{env}
. Esto no puede contener ningún parámetro, es
decir, no puedes usar #1
, #2
, etc., aquí (pero ve el
ejemplo final a continuación).
Todos los entornos, es decir el código begdef, el entorno body y
el código enddef se procesan dentro de un grupo. Así, en el
primer ejemplo a continuación, el efecto de \small
se limita a
la cotización y no se extiende al material siguiendo el entorno.
Si intentas definir un entorno y el nombre ya se ha utilizado entonces obtienes algo como ‘Error de LaTeX: Comando \fred ya definido. O nombre \end... ilegal, ve la p.192 del manual’. Si intentas redefinir un entorno y el nombre aún no se ha utilizado, entonces obtienes algo como ‘Error de LaTeX: Entorno hank indefinido.’.
Este ejemplo proporciona un entorno como quotation
de LaTeX
excepto que se establecerá en letra más pequeña.
\newenvironment{smallquote}{% \small\begin{quotation} }{% \end{quotation} }
Esto tiene un argumento, que está en negrita al comienzo de un párrafo.
\newenvironment{point}[1]{% \noindent\textbf{#1} }{% }
Este muestra el uso de un argumento opcional; da un entorno quotation que cita el autor.
\newenvironment{citequote}[1][Shakespeare]{% \begin{quotation} \noindent\textit{#1}: }{% \end{quotation} }
El nombre del autor es opcional y de manera predeterminada es ‘Shakespeare’. En el documento, utiliza el entorno como este.
\begin{citequote}[Lincoln] ... \end{citequote}
El último ejemplo muestra cómo guardar el valor de un argumento para
usarlo en enddef, en este caso en una caja (véase \sbox
y \savebox
).
\newsavebox{\quoteauthor} \newenvironment{citequote}[1][Shakespeare]{% \sbox\quoteauthor{#1}% \begin{quotation} }{% \hspace{1em plus 1fill}---\usebox{\quoteauthor} \end{quotation} }
\newtheorem
Sinopsis:
\newtheorem{name}{title} \newtheorem{name}{title}[numbered_within] \newtheorem{name}[numbered_like]{title}
Define un nuevo entorno similar a un teorema. Puedes especificar uno de numbered_within y numbered_like, o ninguno, pero no ambos.
La primera forma, \newtheorem{name}{title}
,
crea un entorno que se etiquetará con title; ve el primer
ejemplo a continuación.
La segunda forma,
\newtheorem{name}{título}[numbered_within]
,
crea un entorno cuyo contador está subordinado al counter existente
numbered_within, por lo que este contador se restablecerá cuando
numbered_within se restablece. Ve el segundo ejemplo a
continuación.
La tercera forma
\newtheorem{name}[numbered_like]{title}
,
con un argumento opcional entre los dos argumentos requeridos, crea un
entorno cuyo contador compartirá el contador definido previamente
numbered_like. Ve el tercer ejemplo.
Este comando crea un contador llamado name. Además, a menos que
se use el argumento opcional numbered_like, dentro del entorno
similar a un teorema, el valor actual de \ref
será el de
\thenumbered_within
(véase \ref
).
Esta declaración es global. Es frágil (véase \protect
).
Argumentos:
El nombre del entorno. Es una cadena de letras. No debe comenzar con
una barra invertida, \
. No debe ser el nombre de un entorno
existente, y el nombre del comando \name
no debe estar
definido.
El texto que se imprimirá al principio del entorno, antes del número. Por ejemplo, ‘Teorema’.
Opcional; el nombre de un contador ya definido, generalmente una
unidad seccional como chapter
o section
. Cuando el
contador numbered_within se restablece y luego el entorno
name el contador también se restablecerá.
Si no se utiliza este argumento opcional, el comando
\thename
se establece en \arabic{name}
.
Opcional; el nombre de un entorno similar a un teorema ya definido. El nuevo entorno se numerará en secuencia con numbered_like.
Sin ningún argumento opcional, los entornos están numerados secuencialmente. El siguiente ejemplo tiene una declaración en el preámbulo que da como resultado ‘Definición 1’ y ‘Definición 2’ en producción.
\newtheorem{defn}{Definición} \begin{document} \section{...} \begin{defn} Primer definición \end{defn} \section{...} \begin{defn} Segunda definición \end{defn}
Este ejemplo tiene el mismo cuerpo de documento que el anterior. Pero
aquí el argumento opcional de \newtheorem
numbered_within
se da como section
, por lo que el resultado es como
‘Definición 1.1’ y ‘Definición 2.1’.
\newtheorem{defn}{Definición}[sección] \begin{document} \section{...} \begin{defn} Primer definición \end{defn} \section{...} \begin{defn} Segunda definición \end{defn}
En el siguiente ejemplo hay dos declaraciones en el preámbulo, el
segundo de los cuales requiere que el nuevo entorno thm
use el
mismo contador como defn
. Da ‘Definición 1.1’,
seguido por ‘Teorema 2.1’ y ‘Definición 2.2’.
\newtheorem{defn}{Definición}[sección] \newtheorem{thm}[defn]{Teorema} \begin{document} \section{...} \begin{defn} Primer definición \end{defn} \section{...} \begin{thm} Primer thm \end{thm} \begin{defn} Segunda definición \end{defn}
\newfont
Este comando está obsoleto. Esta descripción está aquí solo para ayudar con los viejos documentos. Los nuevos documentos deben definir letras en familias a través del nuevo esquema de selección de letras que te permite, por ejemplo, asociar una negrita con una romana (véase Tipos de letra).
Sinopsis:
\newfont{\cmd}{font description}
Define un comando \cmd
que cambiará el tipo de letra
actual. La secuencia de control no debe estar ya definida. Debe
comenzar con una barra invertida, \
.
La descripción de la letra consta de un nombre de letra y
una opción cláusula at. LaTeX buscará en tu sistema un
archivo llamado fontname.tfm. La cláusula at puede tener
la forma en dimen
o factor de escala
, donde
un factor de ‘1000’ significa que no hay escalado. Para
los propósitos de LaTeX, todo lo que hace es escalar todos los
caracteres y otras dimensiones de fuente relativo al tamaño de diseño
de la fuente, que es un valor definido en el archivo .tfm.
Esto define dos tipos de letra equivalentes y algunos caracteres tipográficos en cada una.
\newfont{\testfontat}{cmb10 at 11pt} \newfont{\testfontscaled}{cmb10 scaled 1100} \testfontat abc \testfontscaled abc
\protect
Todos los comandos de LaTeX son frágiles —fragile— o
robustos —robust—. Un comando frágil se puede romper cuando
se usa en el argumento para ciertos otros comandos. Comandos que
contienen datos que LaTeX escribe en un archivo auxiliar y las
relecturas posteriores son frágiles. Esto incluye material que va en
una tabla de contenido, lista de figuras, lista de tablas, etc. Los
comandos frágiles también incluyen saltos de línea, cualquier comando
que tenga un argumento opcional, y muchos más. Para evitar que tales
comandos rompan, una solución es precederlos con el comando
\protect
.
Por ejemplo, cuando LaTeX ejecuta \section{nombre
sección}
escribe el texto nombre sección en el archivo
auxiliar .aux, moviéndolo allí para usarlo en otra parte del
documento como en la tabla de contenido. Cualquier argumento que sea
expandido internamente por LaTeX sin escribirlo directamente es
referido como un
argumento móvil. Un comando es frágil si se puede expandir
durante este proceso en un código TeX no válido. Algunos ejemplos
de los argumentos móviles son los que aparecen en el comando
\caption{...}
(véase figure
), en el comando
\thanks{...}
(véase \maketitle
), y en @expresiones en los
entornos tabular
y array
(véase tabular
).
Si obtienes extraños errores de los comandos utilizados para mover
argumentos, intenta precediéndolos con \protect
. Todos los
comandos frágiles se deben proteger con su propio \protect
.
Aunque por lo general un comando \protect
no duele, los
comandos de longitud son robustos y no deben estar precedidos por un
comando \protect
. Tampoco se puede usar un comando
\protect
en el argumento para los comandos \addtocounter
o \setcounter
.
En este ejemplo, el comando \caption
da un misterioso error
sobre una llave extra. Soluciona el problema precediendo a cada
comando \raisebox
con \protect
.
\begin{figure} ... \caption{Sede de la empresa A\raisebox{1pt}{B}\raisebox{-1pt}{C}} \end{figure}
En el siguiente ejemplo, el comando \tableofcontents
da un
error porque los \(..\)
en el título de la sección se expande a
ilegal TeX en el archivo .toc. Puedes resolver esto
cambiando \(..\)
a \protect\(..\protect\)
.
\begin{document} \tableofcontents ... \section{Einstein \( e=mc^2 \)} ...
\ignorespaces e \ignorespacesafterend
Sinopsis:
\ignorespaces
o
\ignorespacesafterend
Ambos comandos hacen que LaTeX ignore los espacios en blanco (es decir, los caracteres de catcode 10 como espacio o tabulación) después del final del comando hasta el primer cuadro o carácter que no esté en blanco. El primero es un comando primitivo de TeX, y el segundo es específico de LaTeX.
El \ignorespaces
se usa a menudo cuando se definen comandos a
través de \newcommand
, o \newenvironment
, o \def
.
El ejemplo a continuación lo ilustra. Permite a un usuario mostrar
los valores de los puntos para las preguntas de la prueba en el
margen, pero es un inconveniente porque, como se muestra en la lista
enumerate
, los usuarios no deben poner ningún espacio entre el
comando y el texto de la pregunta.
\newcommand{\points}[1]{\makebox[0pt]{\makebox[10em][l]{#1~pts}} \begin{enumerate} \item\points{10}no hay salida de espacio adicional aquí \item\points{15} espacio extra entre el número y el `extra' \end{enumerate}
La solución es cambiar a esto.
\newcommand{\points}[1]{% \makebox[0pt]{\makebox[10em][l]{#1~pts}}\ignorespaces}
Un segundo ejemplo muestra la eliminación de espacios en blanco del
frente del texto. Los comandos a continuación permiten a un usuario
adjuntar uniformemente un título a los nombres. Pero, tal como se
indica, si un título accidentalmente comienza con un espacio, entonces
\fullname
reproducirá eso.
\newcommand{\honorific}[1]{\def\honorific{#1}} % recuerda el % título \newcommand{\fullname}[1]{\honorific~#1} % pone el título % antes del nombre \begin{tabular}{|l|} \honorific{Mr/Ms} \fullname{Jones} \\ % sin espacio adicional % aquí \honorific{ Mr/Ms} \fullname{Jones} % espacio adicional antes % del título \end{tabular}
Para arreglar esto, cambia a
\newcommand{\fullname}[1]{\ignorespaces\honorific~#1}
.
El \ignorespaces
también se usa a menudo en un
\newenvironment
al final de la cláusula begin, como en
\begin{newenvironment}{nombre
entorno}{... \ignorespaces}{...}
.
Para quitar los espacios en blanco del final de un entorno, usa
\ignorespacesafterend
. Un ejemplo es que esto mostrará mucho
mayor espacio vertical entre el primer y el segundo entorno que entre
el segundo y el tercero.
\newenvironment{eq}{\begin{equation}}{\end{equation}} \begin{eq} e=mc^2 \end{eq} \begin{equation} F=ma \end{equation} \begin{equation} E=IR \end{equation}
Poner un carácter de comentario %
inmediatamente después
del \end{eq}
hará desaparecer el espacio vertical, pero eso
es inconveniente. La solución es cambiar a
\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}
.
Sinopsis:
\usepackage{xspace} ... \newcommand{...}{...\xspace}
La macro \xspace
, cuando se usa al final de una definición de
comando, agrega un espacio a menos que el comando vaya seguido de
ciertos caracteres de puntuación.
Después de un comando de secuencia de control que es una palabra de
control (véase Secuencia de control, palabra de control y símbolo de control, a diferencia de los símbolos
de control como \$
), TeX engulle caracteres en blanco. Por
lo tanto, en la primera oración a continuación, la salida tiene
‘Vermont’ colocado cómodamente contra el punto, sin ningún
espacio intermedio.
\newcommand{\VT}{Vermont} Nuestro colegio está en \VT. Los veranos \VT{} son agradables.
Pero debido al engullimiento, la segunda oración necesita llaves
vacías o de lo contrario no habría espacio que separe a ‘Vermont’
de ‘veranos’. (Muchos autores en su lugar utilizan una barra
invertida-espacio \
para esto. Véase Barra invertida-espacio, \
).
El paquete xspace
proporciona \xspace
. Es para
escribir comandos que están diseñados para ser utilizados
principalmente en texto. Se debe colocar al final de la definición de
estos comandos. Inserta un espacio después de ese comando a menos que
lo que siga inmediatamente esté en una lista de excepciones. En este
ejemplo, las llaves vacías no son necesarias.
\newcommand{\VT}{Vermont\xspace} Nuestro colegio está en \VT . \VT los veranos son agradables.
La lista de excepciones predeterminada contiene los caracteres
,.'/?;:!~-)
, la llave de apertura y el comando de espacio de
barra invertida explicados anteriormente, y los comandos
\footnote
o \footnotemark
. Añaden a esa lista
\xspaceaddexceptions{\myfni \myfnii}
que agrega \myfni
y \myfnii
a la lista, y elimina de esa lista como con
\xspaceaddexceptions{!}
.
Un comentario: muchos expertos prefieren no usar \xspace
.
Ponerlo en una definición significa que el comando generalmente
obtendrá el espaciado correcto. Pero no es fácil predecir cuándo
ingresar llaves vacías porque \xspace
se equivocará, como
cuando le sigue otro comando, por lo que \xspace
puede hacer
que editar material sea más difícil y más propenso a errores que
siempre insertar las llaves vacías.
Todo lo que LaTeX numera para ti tiene un contador asociado con
él. El nombre del contador suele ser el mismo que el nombre del
entorno o comando asociado con el número, excepto que el nombre del
contador no tiene barra invertida \
. Así, asociado al
comando \chapter
está el contador chapter
que mantiene
la pista del número de capítulo.
A continuación se muestra una lista de los contadores utilizados en la
clase document
estándar de LaTeX para controlar la
numeración.
parte párrafo figura enumi capítulo subpárrafo tabla enumii sección página nota al pie enumiii subsección ecuación mpfootnote enumiv subsubsección
El contador mpfootnote
lo utiliza el comando \footnote
dentro de una minipágina (véase minipage
). Los contadores
enumi
a través de enumiv
se utilizan en el entorno
enumerate
, por hasta cuatro niveles de anidamiento
(véase enumerate
).
Los contadores pueden tener cualquier valor entero, pero normalmente son positivos.
Los nuevos contadores se crean con \newcounter
.
Véase \newcounter
: Asignar un contador.
\alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores\usecounter
\value
\setcounter
\addtocounter
\refstepcounter
\stepcounter
\day
, \month
y \year
\alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadoresImprime el valor de un contador, en un estilo específico. Por
ejemplo, si el contador counter tiene el valor 1 entonces un
\alph{counter}
en tu fuente resultará en una
letra a en minúsculas que aparece en la salida.
Todos estos comandos toman un solo contador como argumento, por
ejemplo, \alph{enumi}
. Ten en cuenta que el nombre del
contador no comienza con una barra invertida.
\alph{counter}
¶Imprime el valor de counter en minúsculas: ‘a’, ‘b’, ... Si el valor del contador es menor que 1 o mayor que 26, entonces obtienes ‘Error de LaTeX: Contador demasiado grande’.
\Alph{counter}
¶Escribe en letras mayúsculas: ‘A’, ‘B’, ... Si el valor del contador es menor que 1 o mayor que 26, obtiene ‘Error de LaTeX: Contador demasiado grande.’
\arabic{counter}
¶Imprime en números arábigos como ‘5’ o ‘-2’.
\roman{counter}
¶Escribe en minúsculas números romanos: ‘i’, ‘ii’, ... Si el valor del contador es menor que 1, entonces no recibe ninguna advertencia o error, pero LaTeX no imprime nada en la salida.
\Roman{counter}
¶Imprime en números romanos en mayúsculas: ‘I’, ‘II’, ... Si el valor del contador es menor que 1, entonces no recibe ninguna advertencia o error, pero LaTeX no imprime nada en la salida.
\fnsymbol{counter}
¶Imprime el valor de counter usando una secuencia de nueve símbolos que se utilizan tradicionalmente para etiquetar las notas al pie. El valor de counter debe estar entre 1 y 9, inclusive. Si el el valor del contador es menor que 0 o mayor que 9, entonces obtienes ‘Error de LaTeX: Contador demasiado grande’, mientras que si es 0, no obtienes ningún error o advertencia pero LaTeX no genera nada.
Aquí están los símbolos:
Número | Nombre | Comando | Símbolo |
---|---|---|---|
1 | asterisk | \ast | * |
2 | dagger | \dagger | † |
3 | ddagger | \ddagger | ‡ |
4 | section-sign | \S | § |
5 | paragraph-sign | \P | ¶ |
6 | double-vert | \parallel | ‖ |
7 | double-asterisk | \ast\ast | ** |
8 | double-dagger | \dagger\dagger | †† |
9 | double-ddagger | \ddagger\ddagger | ‡‡ |
\usecounter
Sinopsis:
\usecounter{counter}
Usado en el segundo argumento del entorno list
(véase list
),
este declara que los elementos de la lista serán numerados por
counter. Inicializa counter a cero y organiza que cuando
se llama a \item
sin su argumento opcional, entonces
counter se incrementa en \refstepcounter
, haciendo que su
valor sea el valor actual de ref
(véase \ref
). Este comando
es frágil (véase \protect
).
Al ponerlo en el preámbulo del documento, este ejemplo crea un nuevo entorno de lista enumerada con testcounter:
\newcounter{testcounter} \newenvironment{test}{% \begin{list}{}{% \usecounter{testcounter} } }{% \end{list} }
\value
Sinopsis:
\value{counter}
Se expande al valor del contador counter. (Ten en cuenta que el nombre de un contador no comienza con una barra invertida).
Este ejemplo genera ‘El contador de prueba es 6. Otro contador es 5.’.
\newcounter{test} \setcounter{test}{5} \newcounter{other} \setcounter{other}{\value{test}} \addtocounter{test}{1} El contador de prueba es \arabic{test}. Otro contador es \arabic{other}.
El comando \value
no se usa para componer el valor del
contador. Para eso, \alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores.
A menudo se usa en \setcounter
o \addtocounter
pero
\value
se puede usar en cualquier lugar donde LaTeX espera
un número, como en \hspace{\value{foo}\parindent}
. No debe
estar precedido por \protect
(véase \protect
).
Este ejemplo inserta \hspace{4\parindent}
.
\setcounter{myctr}{3} \addtocounter{myctr}{1} \hspace{\value{myctr}\parindent}
\setcounter
Sinopsis:
\setcounter{counter}{value}
Configura globalmente el contador counter para que tenga el
valor del argumento value, que debe ser un número entero. Por
lo tanto, puedes establecer un valor del contador como
\setcounter{section}{5}
. Ten en cuenta que el nombre del
contador no comienza con una barra invertida.
En este ejemplo, si el contador theorem
tiene el valor 12,
entonces la segunda línea imprimirá ‘XII’.
\setcounter{ejercicio}{\value{teorema}} Aquí está en Roman: \Roman{exercise}.
\addtocounter
Sinopsis:
\addtocounter{counter}{value}
Incrementar globalmente counter por la cantidad especificada por el argumento value, que puede ser negativo.
En este ejemplo, el valor de la sección aparece como ‘VII’.
\setcounter{section}{5} \addtocounter{section}{2} Aquí está en Roman: \Roman{section}.
\refstepcounter
Sinopsis:
\refstepcounter{counter}
Incrementa globalmente el valor de counter en uno, al igual que
\stepcounter
(véase \stepcounter
). La diferencia es que este
comando restablece el valor de cualquier contador numerado dentro de
él. (Para la definición de “contadores numerados dentro”,
véase \newcounter
: Asignar un contador).
Además, este comando también define el valor actual de \ref
es
el resultado de \thecounter
.
Mientras que el valor del contador se establece globalmente, el valor
de \ref
se establece localmente, es decir, dentro del grupo
actual.
\stepcounter
Sinopsis:
\stepcounter{counter}
Agrega globalmente uno a counter y restablece todos los
contadores numerados dentro de ella. (Para la definición de
“contadores numerados dentro”, véase \newcounter
: Asignar un contador).
Este comando difiere de \refstepcounter
en que este no influye
en las referencias; es decir, no define el valor actual de \ref
será el resultado de \thecounter
(véase \refstepcounter
).
\day
, \month
y \year
LaTeX define el contador \day
para el día del mes
(nominalmente con valor entre 1 y 31), \month
para el mes del
año (nominalmente con un valor entre 1 y 12), y \year
para el
año. Cuando TeX se inicia, se establecen a partir de los valores
actuales en el sistema. El comando relacionado \today
produce
una cadena que representa el día actual (véase \today
).
Los contadores no se actualizan a medida que avanza el trabajo, por lo que, en principio, podría ser incorrecto al final. Además, TeX no controla la sensatez:
\day=-2 \month=13 \year=-4 \today
no da ningún error o advertencia y da como resultado la salida ‘-2, -4’ (el valor del mes falso no produce ningún resultado).
Véase Entrada de la línea de comandos, para forzar la fecha a un valor dado desde la línea de comandos.
length es una medida de distancia. Muchos comandos de LaTeX toman un argumento como longitud.
Las longitudes vienen en dos tipos. Un longitud rígida como
10pt
no contiene un componente plus
o minus
.
(TeX sencillo llama a esto una dimensión). Una longitud
de goma (que TeX simple llama a skip o glue) como con
1cm plus0.05cm minus0.01cm
puede contener uno o ambos
componentes. En esa longitud elástica, el 1cm
es la
longitud natural mientras que los otros dos, componentes
plus
y minus
, permiten que TeX estire o reduzca la
longitud para optimizar la colocación.
Las siguientes ilustraciones utilizan estos dos comandos.
% hace una barra negra de 10pt de alto y #1 de ancho \newcommand{\blackbar}[1]{\rule{#1}{10pt}} % Hace un cuadro alrededor del #2 que tenga el #1 de ancho (excluyendo % el borde) \newcommand{\showhbox}[2]{% \fboxsep=0pt\fbox{\hbox a #1{#2}}}
Este ejemplo usa esos comandos para mostrar una barra negra de 100 puntos de largo entre ‘XXX’ y ‘YYY’. Esta longitud es rígida.
XXX\muestracaja{100pt}{\barranegra{100pt}}YYY
En cuanto a las longitudes elásticas, la reducción es más simple: con
1cm minus 0.05cm
, la longitud natural es 1cm pero TeX
la puede reducir hasta 0.95cm. Más allá de eso, TeX se niega
a encogerse más. Por lo tanto, debajo del primero funciona bien,
produciendo un espacio de 98 puntos entre las dos barras.
XXX\showhbox{300pt}{% \blackbar{101pt}\hspace{100pt minus 2pt}\blackbar{101pt}}YYY XXX\showhbox{300pt}{% \blackbar{105pt}\hspace{100pt minus 1pt}\blackbar{105pt}}YYY
Pero el segundo recibe una advertencia como ‘Overfull \hbox (1.0pt too wide) detectado en la línea 17’. En la salida, la primer ‘Y’ se sobrescribe al final de la barra negra, porque el material de la caja es más ancho que los 300pt asignados, ya que TeX se ha negado a reducir el total a menos de 309 puntos.
Estirar es como encoger excepto que si se le pide a TeX que estire más allá de la cantidad dada, lo hará. Aquí la primera línea está bien, produciendo un espacio de 110 puntos entre las barras.
XXX\showhbox{300pt}{% \blackbar{95pt}\hspace{100pt plus 10pt}\blackbar{95pt}}YYY XXX\showhbox{300pt}{% \blackbar{95pt}\hspace{100pt plus 1pt}\blackbar{95pt}}YYY
En la segunda línea TeX necesita un tramo de 10 puntos y solo se especificó 1 punto. TeX estira el espacio al requerido pero te da una advertencia como ‘Infracompleto \hbox (maliciosos 10000) detectados en la línea 22’. (No hablaremos de la malicia).
Puedes estirar y encoger en la misma longitud, como en 1ex plus
0.05ex minus 0.02ex
.
Si TeX está configurando dos o más longitudes elásticas, asigna la ampliación o reducción en proporción.
XXX\showhbox{300pt}{% \blackbar{100pt}% left \hspace{0pt plus 50pt}\blackbar{80pt}\hspace{0pt plus 10pt}% middle \blackbar{100pt}}YYY % right
Las barras izquierda y derecha ocupan 100 puntos, por lo que la
del medio necesita otros 100. La barra central es de 80 puntos
por lo que los dos \hspace
se deben extender 20 puntos.
Porque los dos son plus 50pt
y plus 10pt
, TeX obtiene
5/6 del tramo del primer espacio y 1/6 del segundo.
El componente plus
o minus
de una longitud elástica
puede contener un componente fill, como en 1in plus2fill
.
Esto da la longitud infinita capacidad de estiramiento o contracción
para que TeX pueda establecer a cualquier distancia. Aquí las dos
figuras estarán espaciadas por igual en la página.
\begin{minipage}{\linewidth} \hspace{0pt plus 1fill}\includegraphics{godel.png}% \hspace{0pt plus 1fill}\includegraphics{einstein.png}% \hspace{0pt plus 1fill} \end{minipage}
TeX tiene tres niveles de infinito para componentes de pegamento:
fil
, fill
y filll
. Los últimos son más infinitos
que los anteriores. Por lo general, los autores de documentos solo
usan el del medio (véase \hfill
y véase \vfill
).
Multiplicar una longitud elástica por un número la convierte en una
longitud rígida, por lo que después de
\setlength{\ylength}{1in plus 0.2 in}
y
\setlength{\zlength}{3\ylength}
entonces el valor de
\zlength
es 3in
.
\setlength
\addtolength
\settodepth
\settoheight
\settowidth
\stretch
TeX y LaTeX conocen estas unidades tanto dentro como fuera del modo math.
pt
¶Punto, 1/72,27 pulgadas. La conversión (aproximada) a unidades métricas es 1punto = .35146mm = .035146cm.
pc
¶Pica, 12 puntos
in
¶Pulgada, 72.27 puntos
bp
¶Punto grande, 1/72 pulgada. Esta longitud es la definición de un punto en PostScript y muchos sistemas de autoedición.
mm
¶Milímetro, 2.845pt
cm
¶Centímetro, 10mm
dd
¶Punto didot, 1.07 pt
cc
¶Cicero, 12 dd
sp
¶Punto escalado, 1/65536 pt
Otras tres unidades se definen de acuerdo con la letra actual, en lugar de que sea una dimensión absoluta.
ex
¶La altura x de la letra actual ex, tradicionalmente la altura de la letra minúscula x, se usa a menudo para longitudes verticales.
em
¶Del mismo modo
em, tradicionalmente el ancho de la letra M mayúscula, se
utiliza a menudo para longitudes horizontales. Este también a menudo
es el tamaño de la letra actual, por ejemplo, una letra nominal
10pt debe tener 1em = 10pt. LaTeX tiene varios
comandos para producir espacios horizontales basados en em
(véase \enspace
, \quad
y \qquad
).
mu
¶Finalmente, en el modo matemático, muchas definiciones se expresan en términos de la unidad matemática mu, definida por 1em = 18mu, donde el em es tomar de la familia actual de símbolos matemáticos. Véase Espaciado en modo matemático.
El uso de estas unidades puede ayudar a que una definición funcione
mejor en todos los cambios de letra. Por ejemplo, una definición del
espacio vertical entre lista de elementos dados como
\setlength{\itemsep}{1ex plus 0.05ex minus 0.01ex}
es más
probable que siga siendo razonable si se cambia la letra que una
definición dada en puntos.
\setlength
Sinopsis:
\setlength{\len}{amount}
Establece la longitud \len en amount. El nombre de
longitud \len
tiene que ser una secuencia de control
(véase Secuencia de control, palabra de control y símbolo de control), y como tal debe comenzar con una
barra invertida, \
bajo circunstancias normales. La
cantidad puede ser una longitud elástica (véase Longitudes).
Puede ser positivo, negativo o cero, y puede estar en cualquier unidad
que LaTeX entienda (véase Unidades de longitud).
A continuación, con los valores predeterminados de LaTeX, el primer párrafo tendrá sangría mientras que el segundo no.
Le dije al médico que me rompí la pierna en dos lugares. \setlength{\parindent}{0em} Dijo que dejara de ir a esos lugares.
Si no declaraste \len con \newlength
, por ejemplo si lo
escribes mal como en
\newlength{\specparindent}\setlength{\sepcparindent}{...}
,
entonces obtienes un error como ‘Secuencia de control no
definida. <argument> \sepcindent’. Si omites la barra invertida al
comienzo del nombre de la longitud entonces obtienes un error como
‘Número faltante, tratado como cero.’.
\addtolength
Sinopsis:
\addtolength{\len}{amount}
Incrementa la longitud \len por cantidad. El nombre de
longitud \len
tiene que ser una secuencia de control
(véase Secuencia de control, palabra de control y símbolo de control), y como tal debe comenzar con una
barra invertida, \
bajo circunstancias normales. La
cantidad es una longitud elástica (véase Longitudes). Puede
ser positivo, negativo o cero, y puede estar en cualquier unidad que
LaTeX entienda (véase Unidades de longitud).
A continuación, si \parskip
comienza con el valor 0pt
plus 1pt
Doctor: ¿cómo está el niño que se tragó el dólar de plata? \addtolength{\parskip}{1pt} Enfermera: sin cambios.
luego tiene el valor 1pt plus 1pt
para el segundo párrafo.
Si no declaraste \len con \newlength
, por ejemplo si lo
escribes mal como en
\newlength{\specparindent}\addtolength{\sepcparindent}{...}
,
luego obtienes un error como ‘Secuencia de control no
definida. <argument> \sepcindent’. Si cantidad usa una longitud
que no ha sido declarada, por ejemplo, si por ejemplo escribes mal lo
anterior como \addtolength{\specparindent}{0.6\prainden}
,
entonces obtienes algo así como ‘Secuencia de control
indefinida. <argumento> \praindent’. Si dejas la barra invertida
fuera de \len, como en \addtolength{parindent}{1pt}
,
entonces obtienes algo como ‘No puedes usar `la letra p' después
de \advance’.
\settodepth
Sinopsis:
\settodepth{\len}{text}
Establece la longitud \len en la profundidad del cuadro en el
que se encuentra LaTeX escribiendo el argumento text. El
nombre de longitud \len
tiene que ser una secuencia de
control (véase Secuencia de control, palabra de control y símbolo de control), y como tal debe comenzar con
una barra invertida, \
en circunstancias normales.
Esto imprimirá qué tan bajo van los descendientes de caracteres.
\newlength{\alphabetdepth} \settodepth{\alphabetdepth}{abcdefghijklmnopqrstuvwxyz} \the\alphabetdepth
Si no declaraste \len con \newlength
, si por ejemplo
escribes mal lo anterior como \setto depth{\aplhabet
depth}{abc...}
, entonces obtienes algo como ‘Secuencia de
control indefinida. <argument> \aplhabetdepth’. Si omites la barra
invertida \len, como en
\settodepth{alphabetdepth}{...}
entonces obtienes algo como
‘Número faltante, tratado como cero. <para ser leído de nuevo>
\setbox’.
\settoheight
Sinopsis:
\settoheight{\len}{text}
Establece la longitud \len a la altura del cuadro en el que se
coloca LaTeX escribe el argumento text
. El nombre de
longitud \len
tiene que ser una secuencia de control
(véase Secuencia de control, palabra de control y símbolo de control), y como tal debe comenzar con una
barra invertida, \
en circunstancias normales.
Esto imprimirá qué tan alto van los caracteres.
\newlength{\alphabetheight} \settoheight{\alphabetheight}{abcdefghijklmnopqrstuvwxyz} \the\alphabetheight
Si no se ha declarado tal longitud \len con \newlength
,
si por ejemplo escribes mal como
\settoheight{\aplhabetheight}{abc...}
, entonces obtienes
algo como ‘Secuencia de control indefinida. <argumento>
\alphabetheight’. Si y deja la barra invertida fuera de \len,
como en \settoheight{alphabetheight}{...}
entonces obtienes
algo como ‘Número faltante, tratado como cero. <para ser leído de
nuevo> \setbox’.
\settowidth
Sinopsis:
\settowidth{\len}{text}
Establece la longitud \len al ancho del cuadro en el que
LaTeX coloca el argumento text escrito. El nombre de
longitud \len
tiene que ser una secuencia de control
(véase Secuencia de control, palabra de control y símbolo de control), y como tal debe comenzar con una
barra invertida, \
en circunstancias normales.
Esto imprime el ancho del alfabeto ASCII en minúsculas.
\newlength{\alphabetwidth} \settowidth{\alphabetwidth}{abcdefghijklmnopqrstuvwxyz} \the\alphabetwidth
Si no se ha declarado tal longitud \len con \newlength
,
si, por ejemplo, escribes mal lo anterior como
\settowidth{\aplhabetwidth}{abc...}
, entonces obtienes algo
como ‘Secuencia de control indefinida. <argumento>
\aplhabetwidth’. Si y deja la barra invertida fuera de \len,
como en \settoheight{alphabetwidth}{...}
entonces obtienes
algo como ‘Número faltante, tratado como cero. <para ser leído de
nuevo> \setbox’.
\stretch
Sinopsis:
\stretch{number}
Produce una longitud de caucho con longitud natural cero y
number veces \fill
unidades de capacidad de estiramiento
(véase Longitudes). El number puede ser positivo o negativo.
Este comando es robusto (véase \protect
).
Este comando es robusto. (véase \protect
). En este ejemplo
horizontal, LaTeX produce tres marcas y la distancia entre el
primero y el segundo es otra vez la mitad de largo que la distancia
entre el segundo y tercero.
\rule{0.4pt}{1ex}\hspace{\stretch{1.5}}% \rule{0.4pt}{1ex}\hspace{\stretch{1}}% \rule{0.4pt}{1ex}
En este ejemplo vertical, el ‘Dedicamos …’ tendrá tres veces el espacio debajo de él que encima de él.
\newenvironment{dedication}{% en el preámbulo del documento \clearpage\thispagestyle{empty}% \vspace*{\stretch{1}} % de espacio extensible en la parte % superior \it }{% \vspace{\stretch{3}} % espacio en el bot es 3 veces mayor que % en la parte superior \clearpage } ... \begin{dedication} % en el cuerpo del documento Dedicamos este libro a nuestras esposas. \end{dedication}
Sinopsis, una de:
\numexpr expression \dimexpr expression \glueexpr expression \muglue expression
Cualquier lugar donde puedes escribir un número entero, o una dimensión pegamento TeX, o TeX, o muglue, en su lugar puedes escribir una expresión para calcular ese tipo de cantidad.
Un ejemplo es que \the\dimexpr\linewidth-4pt\relax
produce como
salida la longitud que es cuatro puntos menos que el ancho de una
línea (el único propósito de \the
es mostrar el resultado en el
documento). Análogamente, \romannumeral\numexpr6+3\relax
produce ‘ix’ y \the\glueexpr 5pt plus 1pt * 2 \relax
producirá ‘10.0pt plus 2.0pt’.
Una conveniencia aquí sobre hacer cálculos mediante la asignación de
registros y entonces usando \advance
, etc., es que la
evaluación de expresiones no implica asignaciones y, por lo tanto, se
puede realizar en lugares donde las asignaciones no están permitidas.
El siguiente ejemplo calcula el ancho del \parbox
.
\newlength{\offset}\setlength{\offset}{2em} \begin{center} \parbox{\dimexpr\linewidth-\offset*3}{Con malicia hacia ninguno con caridad para todos con firmeza en el derecho como Dios nos da para ver el derecho esforcémonos en terminar el trabajo en el que estamos para vendar las heridas de la nación, para cuidar de aquel que habrá llevado la batalla y para su viuda y su huérfano \textasciitilde\ para hacer todo lo que puedas alcanzar y cuidar una paz justa y duradera entre nosotros y con todas las naciones ---Abraham Lincoln, Segundo Discurso Inaugural, de el memorial} \end{center}
La expresión consta de uno o más términos del mismo tipo
(entero, dimensión, etc.) que se suman o se restan. Un término que es
un tipo de número, dimensión, etc., consta de un factor de ese tipo,
opcionalmente multiplicado o dividido por factores. Un factor de un
tipo es ya sea una cantidad de ese tipo o una subexpresión entre
paréntesis. La expresión produce un resultado del tipo dado, por lo
que \numexpr
produce un número entero, \dimexpr
produce
una dimensión, etc.
En el ejemplo de cita anterior, cambiando a
\dimexpr\linewidth-3*\offset
da el error Unidad de medida
ilegal (pt insertado)
. Esto se debe a que para \dimexpr
y
\glueexpr
, la entrada consiste en una dimensión o valor de
pegamento seguido de un factor de multiplicación opcional, y no al
revés. Así \the\dimexpr 1pt*10\relax
es válido y produce
‘10.0pt’, pero \the\dimexpr 10*1pt\relax
da el error
Unidad ilegal
.
Las expresiones absorben tókenes y llevan a cabo las matemáticas
apropiadas hasta un \relax
(que será absorbido), o hasta el
primer token no válido. Por lo tanto, \the\numexpr2+3px
imprimirá ‘5px’, porque LaTeX lee el \numexpr2+3
, que
está formado por números, y luego encuentra la letra p
, que no
puede ser parte de un número. Por lo tanto, termina la expresión y
produce ‘5’, seguido del texto normal ‘px’.
Este comportamiento de terminación es útil en las comparaciones. En
\ifnum\numexpr\parindent*2 < 10pt Yes\else No\fi
, el menor que
sign termina la expresión y el resultado ‘No’ es (en un artículo
estándar de LaTeX).
Las expresiones pueden usar los operadores +
, -
,
*
y /
junto con paréntesis para subexpresiones,
(...)
. En pegar expresiones en que las partes plus
y
minus
no necesitan paréntesis para ser afectadas por un
factor. Entonces \the\glueexpr 5pt plus 1pt * 2 \relax
da como
resultado ‘10pt plus 2pt’.
TeX obligará a otros tipos numéricos de la misma manera que lo hace
cuando hace asignación de registro. Así \the\numexpr\dimexpr
1pt\relax\relax
dará como resultado ‘65536’, que es 1pt
convertido a puntos escalados (véase sp
, la unidad interna de TeX) y luego forzado a un
número entero. Con un \glueexpr
aquí, el estirar y encoger se
eliminaría. Yendo por el contrario, un \numexpr
dentro de un
\dimexpr
o \glueexpr
necesitará unidades apropiadas,
como en \the\dimexpr\numexpr 1 + 2\relax pt\relax
, que produce
‘3.0pt’.
Detalles de la aritmética: cada factor se comprueba para estar en el
rango permitido, los números deben ser menores que 2^{31} en
valor absoluto, y las dimensiones o los componentes del pegamento
deben ser inferiores a 2^{14} puntos, o mu
, o
fil
, etc. Las operaciones aritméticas se realizan
individualmente, a excepción de una operación de escala (una
multiplicación seguida inmediatamente por una división) que se realiza
como una operación combinada con un producto de 64 bits como valor
intermedio. El resultado de cada operación se vuelve a comprobar para
estar en el rango permitido.
Finalmente, la división y la escala se realizan con redondeo (a
diferencia de TeX’s \divide
, que trunca). De este modo
\the\dimexpr 5pt*(3/2)\relax
pone ‘10.0pt’ en el
documento, porque redondea 3/2
a 2
, mientras que
\the\dimexpr 5pt*(4/3)\relax
produce ‘5.0pt’.
Para comenzar un párrafo, simplemente escribe un texto. Para acabar con el párrafo actual, pon una línea vacía. Son tres párrafos, cuya separación se hace mediante dos líneas vacías.
Es una verdad universalmente reconocida, que un solo hombre en posesión de buena fortuna, debe estar necesitado de una esposa. Por muy poco conocidos que puedan ser los sentimientos o las opiniones de un hombre así sobre su primer vez entrando en un barrio, esta verdad también está grabada en la mente de las familias aledañas, que se le considera la propiedad legítima de una u otra de sus hijas. ``Mi querido señor Bennet'', le dijo su dama un día, ``¿Has oído que Netherfield Park está alquilado por fin?''
Un separador de párrafo puede estar hecho de una secuencia de al menos
una línea de espacio en blanco, al menos una de las cuales no termina
con un comentario. Una línea en blanco es una línea que está vacía o
compuesta solo de caracteres en blanco, como un espacio o
tabulación. Los comentarios en el código fuente comienzan con un
%
y se extienden hasta el final de la línea. En el siguiente
ejemplo, las dos columnas son idénticas:
\documentclass[twocolumn]{article} \begin{document} Primer párrafo. Segundo párrafo. \newpage Primer párrafo % La separación de líneas puede contener caracteres en blanco. Segundo párrafo. \end{document}
Una vez que LaTeX ha recopilado todo el contenido de un párrafo, divide el contenido en líneas de una manera optimizada en todo el párrafo (véase Salto de línea).
Hay lugares donde no se permite un nuevo párrafo. No pongas una línea
en blanco en modo math (véase Modos); aquí la línea en blanco antes
del \end{equation}
\begin{equation} 2^{|S|} > |S| \end{equation}
obtendrás el error ‘Se inserto el $ faltante’. Del mismo modo,
la línea en blanco en este argumento \section
\section{aaa bbb}
obtiene ‘¿Argumento faltante? {aaa ! El párrafo terminó antes de completar \@sect’.
\par
Sinopsis (ten en cuenta que mientras lees la entrada TeX convierte
cualquier secuencia de una o más líneas en blanco a un \par
,
Crear párrafos):
\par
Finaliza el párrafo actual. La forma habitual de separar párrafos es
con una línea en blanco pero el comando \par
es completamente
equivalente. Este comando es robusto (véase \protect
).
Este ejemplo usa \par
en lugar de una línea en blanco
simplemente por legibilidad.
\newcommand{\syllabusLegalese}{% \whatCheatingIs\par\whatHappensWhenICatchYou}
En el modo LR, el comando \par
no hace nada y se ignora. En
modo de párrafo, el comando \par
finaliza el modo de párrafo,
cambiando LaTeX a modo vertical (véase Modos).
No puedes usar el comando \par
en modo matemático. Tampoco lo
puedes utilizar en el argumento de muchos comandos, como los comandos
de seccionado, por ejemplo, \section
(véase Crear párrafos
y \newcommand
y \renewcommand
).
El comando \par
no es lo mismo que el comando
\paragraph
. Este último es, como \section
o
\subsection
, un comando de seccionado utilizado por las clases
de documentos estándar LaTeX (véase \subsubsection
, \paragraph
, \subparagraph
).
El comando \par
no es lo mismo que \newline
o el salto
de línea doble barra invertida, \\
. La diferencia es que
\par
finaliza el párrafo, no solo la línea, y también
desencadena la adición de el espacio vertical entre párrafos
\parskip
(véase \parindent
y \parskip
).
La salida de este ejemplo
xyz \setlength{\parindent}{3in} \setlength{\parskip}{5in} \noindent test\indent test1\par test2
es: después de ‘xyz’ hay un salto vertical de 5 pulgadas y luego aparece ‘test’, alineado con el margen izquierdo. En la misma línea, hay un espacio horizontal vacío de 3 pulgadas y luego aparece ‘test1’. Finalmente, hay un espacio vertical de 5 pulgadas, seguido de un párrafo nuevo con una sangría de párrafo de 3 pulgadas, y luego LaTeX pone el texto ‘test2’.
\indent
y \noindent
Sinopsis:
\indent
o
\noindent
Va al modo horizontal (véase Modos). El comando \indent
primero genera un cuadro vacío cuyo ancho es \parindent
. Estos
comandos son robustos (véase \protect
).
Normalmente se crea un nuevo párrafo poniendo una línea en blanco.
Véase \par
, por la diferencia entre este comando y \par
. Para
comenzar un párrafo sin sangría, o continuar un párrafo interrumpido,
usa \noindent
.
En medio de un párrafo, el comando \noindent
no tiene efecto,
porque LaTeX ya está en modo horizontal allí. El único efecto del
comando \indent
es generar un espacio.
Este ejemplo inicia un párrafo nuevo.
... fin del párrafo anterior. \noindent Este párrafo no tiene sangría.
y esto continúa un párrafo interrumpido.
Los datos \begin{center} \begin{tabular}{rl} ... \end{tabular} \end{center} \noindent muestra esto claramente.
Para omitir la sangría en todo el documento, pon
\setlength{\parindent}{0pt}
en el preámbulo. Si lo haces,
es posible que también desees establecer la longitud de los espacios
entre párrafos, \parskip
(véase \parindent
y \parskip
).
Los estilos predeterminados de LaTeX tienen
el primer párrafo después de una sección que es sin sangría, como es
la composición tipográfica tradicional en inglés. Para cambiar eso,
busca en CTAN el paquete indentfirst
.
\parindent
y \parskip
Sinopsis:
\setlength{\parindent}{horizontal len} \setlength{\parskip}{vertical len}
Ambas son longitudes elásticas (véase Longitudes). Afectan a la
sangría de párrafos ordinarios, no de párrafos dentro de minipáginas
(véase minipage
), y el espacio vertical entre párrafos,
respectivamente.
Por ejemplo, si esto se pone en el preámbulo:
\setlength{\parindent}{0em} \setlength{\parskip}{1ex}
El documento tendrá párrafos sin sangría, pero en su lugar están separados verticalmente por aproximadamente la altura de una ‘x’ minúscula.
En la clase document estándar de LaTeX, el valor
predeterminado para \parindent
en documentos de una columna es
15pt
cuando el el tamaño de texto predeterminado es
10pt
, 17pt
para 11pt
y 1.5em
para
12pt
. En documentos de dos columnas es 1em
. (Estos
valores se establecen antes de que LaTeX llame a \normalfont
para que em
se derive de la letra predeterminada, Computer
Modern. Si utilizas una letra diferente y luego estableces
\parindent
en 1em coincidentes en esa letra, pon
\AtBeginDocument{\setlength{\parindent}{1em}}
en el
preámbulo).
El valor predeterminado para \parskip
en las clases
document
estándar de LaTeX es 0pt plus1pt
.
Sinopsis, una de:
\marginpar{right} \marginpar[left]{right}
Crea una nota en el margen. La primera línea de la nota tendrá la
misma línea base que la línea en el texto donde el \marginpar
ocurre.
El margen que usa LaTeX para la nota depende del diseño actual
(véase Opciones de la clase documento) y también en
\reversemarginpar
(ve abajo). Si estás utilizando el diseño de
un solo lado (opción de documento oneside
) entonces va en el
margen derecho. Si estás usando diseño de dos caras (opción de
documento twoside
) entonces va en el margen exterior. Si estás
en el diseño de dos columnas (opción de documento twocolumn
)
entonces va en el margen más cercano.
Si declaras \reversemarginpar
entonces LaTeX colocará notas
marginales posteriores en el margen opuesto al dado en el párrafo
anterior. Vuelve a la posición predeterminada con
\normalmarginpar
.
Cuando especificas el argumento opcional left, entonces se usa para una nota en el margen izquierdo, mientras que el argumento obligatorio right se utiliza para una nota en el margen derecho.
Normalmente, a la primera palabra de una nota, no se le aplicará la
separación silábica. Puedes habilitar guiones allí comenzando
left o right con \hspace{0pt}
.
Estos parámetros afectan el formato de la nota:
\marginparpush
¶Espacio vertical mínimo entre notas; predeterminado ‘7pt’ para documentos ‘12pt’, ‘5pt’ de lo contrario. Ve también parámetros marginparpush del diseño de página.
\marginparsep
¶Espacio horizontal entre el texto principal y la nota; predeterminado ‘11pt’ para documentos ‘10pt’, ‘10pt’ de lo contrario.
\marginparwidth
¶Ancho de la nota en sí; predeterminado para un documento ‘10pt’ de una sola cara es ‘90pt’, ‘83pt’ para ‘11pt’ y ‘68pt’ para ‘12pt’; ‘17pt’ más en cada caso para un documento de dos caras. En el modo de dos columnas, el valor predeterminado es ‘48pt’.
La rutina estándar de LaTeX para notas marginales no impide notas se caigan de la parte inferior de la página.
Produce texto matemático poniendo LaTeX en modo matemático o pantalla modo matemático (véase Modos). Este ejemplo muestra ambos.
La ecuación de onda para \( u \) es \begin{displaymath} \frac{\partial^2u}{\partial t^2} = c^2\nabla^2u \end{displaymath} donde \( \nabla^2 \) es el Laplacian espacial y \( c \) es constante.
El modo math es para matemáticas en línea. En el ejemplo anterior se
invoca por la \(
inicial y terminado por la \)
final
correspondiente. El modo de pantalla matemática es para ecuaciones
mostradas y aquí es invocado por el entorno displaymath
. Ten
en cuenta que cualquier texto matemático que sea, incluido el texto
matemático que consta de un solo carácter, se maneja en modo
matemático.
Cuando está en modo matemático o en modo de visualización matemática, LaTeX maneja muchos aspectos de tu texto de entrada de manera diferente que en otros modos de texto. Por ejemplo,
contrastar x+y con \( x+y \)
en el modo matemático, las letras están en cursiva y el espacio alrededor del signo más es diferente.
Hay tres formas de hacer fórmulas en línea, para poner LaTeX en modo math.
\( material matemático \) $ material matemático $ \begin{math} material matemático \end{math}
Se prefiere la primera forma y la segunda es bastante común, pero la
tercera forma rara vez se usa. A veces puedes usar uno y a veces
otro, como en \(x\) y $y$
. Puedes utilizar estos en el párrafo
o en modo LR (véase Modos).
Para mostrar fórmulas, pon a LaTeX en modo de visualización matemática con o:
\begin{displaymath} material matemático \end{displaymath}
o
\begin{equation} material matemático \end{equation}
(véase displaymath
, véase equation
). La única diferencia es que
con el entorno equation
, LaTeX pone un número de fórmula
junto a la fórmula. La construcción \[ math \]
es
equivalente a \begin{displaymath} math
\end{displaymath}
. Estos entornos sólo se pueden utilizar en el
modo párrafo (véase Modos).
La
American Mathematical Society ha puesto a disposición gratuitamente un
conjunto de paquetes que amplían enormemente sus opciones para
escribir matemáticas, amsmath
y amssymb
(también
ten en cuenta el paquete mathtools
que es una extensión y
carga amsmath
). Los nuevos documentos que tendrán texto
matemático deben usar estos paquetes. Las descripciones de estos
paquetes están fuera del alcance de este documento; ve su
documentación en CTAN.
Sinopsis (en modo matemático o modo de visualización matemático), uno de:
base^exp base^{exp}
o, uno de:
base_exp base_{exp}
Hace que exp aparezca como un superíndice de base (con el
carácter signo de intercalación, ^
) o un subíndice (con
guión bajo, _
).
En este ejemplo, 0
y 1
son subscripts mientras que
2
son superscripts.
\( (x_0+x_1)^2 \leq (x_0)^2+(x_1)^2 \)
Para que el subscript o superscript contenga más de un carácter, rodea
la expresión con llaves, como en e^{-2x}
. La cuarta línea de
este ejemplo muestra llaves usadas para agrupar una expresión para el
exponente.
\begin{displaymath} (3^3)^3=27^3=19\,683 \qquad 3^{(3^3)}=3^{27}=7\,625\,597\,484\,987 \end{displaymath}
LaTeX sabe cómo manejar un superíndice en un superíndice, o un
subíndice sobre subíndice, o superscript sobre subs, o subs sobre
supers. Así que, expresiones como e^{x^2}
y x_{i_0}
dan producción. Ten en cuenta el uso en esas expresiones de llaves
para dar a base una determinada exp. Si ingresas
\(3^3^3\)
, esto se interpreta como \(3^{3}^{3}\)
y
luego obtienes el error TeX ‘Doble superíndice’.
LaTeX hace lo correcto cuando algo tiene tanto un subscript como un superscript. En este ejemplo, la integral tiene ambos. Salen en el lugar correcto sin ninguna intervención del autor.
\begin{displaymath} \int_{x=a}^b f'(x)\,dx = f(b)-f(a) \end{displaymath}
Ten en cuenta las llaves alrededor de x=a
para hacer que la
expresión completa sea un subíndice.
Para poner un superscript o subscript antes de un símbolo, usa una
construcción como {}_t K^2
. Las llaves vacías {}
dan al subíndice algo para adjuntar y evita que accidentalmente
adjuntes un símbolo anterior.
Usar el carácter de subíndice o superíndice fuera del modo math o el
modo display math
, como en la expresión x^2
, obtendrás
el error TeX ‘Falta insertar el $’.
Una razón común para querer subscripts fuera de un
modo math es la composición tipográfica de fórmulas químicas. Hay
paquetes para eso, como mhchem
; ve CTAN.
LaTeX proporciona casi cualquier símbolo matemático o técnico que
cualquiera usa. Por ejemplo, si incluyes $\pi$
en tu fuente,
obtendrás el símbolo pi π. Ve el “Paquete LaTeX
Integral Lista de símbolos” en
https://ctan.org/pkg/comprehensive.
A continuación, tienes una lista de símbolos comúnmente usados. De
ninguna manera es exhaustiva. Cada símbolo se describe con una frase
corta y su clase de símbolo, que determina el espacio a su alrededor,
se da entre paréntesis. A no ser que dicho de otra manera, los
comandos para estos símbolos solo se pueden usar en modo matemáticas.
Para redefinir un comando para que se pueda usar cualquiera que sea el
estado modo actual, \ensuremath
.
\|
¶∥ Paralelo (relación). Sinónimo: \parallel
.
\aleph
¶ℵ Aleph, cardinal transfinito (común).
\alpha
¶α Letra griega alfa minúscula (común).
\amalg
¶⨿ Unión disjunta (binaria)
\angle
¶∠ Ángulo geométrico (común). Similar: less-than
sign <
y salto de línea angular \langle
.
\approx
¶≈ Casi igual a (relación).
\ast
¶∗ Operador asterisco, convolución, seis puntas
(binario). Sinónimo: *
, que suele ser un superíndice o
subíndice, como en la estrella Kleene. Similar \star
, que
es de cinco puntas, y a veces se usa como una operación binaria
general, y a veces reservado para la correlación cruzada.
\asymp
¶≍ Asintóticamente equivalente (relación).
\backslash
¶\ Barra invertida (común). Similar: set
minus \setminus
, y \textbackslash
para barra
invertida fuera del modo matemático.
\beta
¶β Letra griega minúscula beta (común).
\bigcap
¶⋂ Intersección (operador) de tamaño variable o
n-ario. Similar: intersección binaria \cap
.
\bigcirc
¶⚪ Círculo, más grande (binario). Similar: función
composición \circ
.
\bigcup
¶⋃ Unión (operador) de tamaño variable o
n-aria. Similar: binario union \cup
.
\bigodot
¶⨀ Operador de punto en un círculo de tamaño variable u (operador) n-ario.
\bigoplus
¶⨁ Operador más (operador) de tamaño variable, o n-ario, dentro de un círculo.
\bigotimes
¶⨂ Operador de tiempo dentro de un círculo de tamaño variable, u (operador) n-ario.
\bigtriangledown
¶▽ Triángulo abierto de tamaño variable o n-ary apuntando hacia abajo (binario). Sinónimo: \varbigtriangledown.
\bigtriangleup
¶△ Triángulo abierto de tamaño variable o n-ary apuntando hacia arriba (binario). Sinónimo: \varbigtriangleup.
\bigsqcup
¶⨆ Unión cuadrada de tamaño variable u (operador) n-ario.
\biguplus
¶⨄ Operador de unión de tamaño variable, o n-ario, con un signo más (operador). (Ten en cuenta que el nombre solo tiene una p).
\bigvee
¶⋁ De tamaño variable, o n-ario, u (operador) lógico.
\bigwedge
¶⋀ De tamaño variable, o n-ario, y lógico (operador).
\bot
¶⊥, arriba, abajo, elemento mínimo de un conjunto de elementos
parcialmente ordenado, o una contradicción (común). Consulta
también \top
.
\bowtie
¶⋈ Unión natural de dos relaciones (relación).
\Box
¶□ Operador modal por necesidad; caja cuadrada abierta
(común). No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\bullet
¶• Viñeta (binario). Similar: multiplicación
dot \cdot
.
\cap
¶∩ Intersección de dos conjuntos (binario). Similar: de
tamaño variable operator \bigcap
.
\cdot
¶⋅ Multiplicación (binario). Similar: Bala
dot \bullet
.
\chi
¶χ Chi griego minúscula (común).
\circ
¶∘ Composición de funciones, operador de anillo
(binario). Similar: operator \bigcirc
de tamaño
variable.
\clubsuit
¶♣ Palo de la carta del club (común).
\complement
¶∁, Complemento de conjunto, usado como superíndice como en
$S^\complement$
(común). No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
. También
usado: $S^{\mathsf{c}}$
or $\bar{S}$
.
\cong
¶≅ Congruente (relación).
\coprod
¶∐ Coproducto (operador).
\cup
¶∪ Unión de dos conjuntos (binario). Similar: de tamaño
variable operator \bigcup
.
\dagger
¶† Relación Dagger (binario).
\dashv
¶⊣ Guión con torniquete invertido vertical (relación).
Similar: turnstile \vdash
.
\ddagger
¶‡ Relación de doble daga (binario).
\Delta
¶Δ Delta mayúscula griega, usado para incremento (común).
\delta
¶δ Delta minúscula griega (común).
\Diamond
¶◇ Operador de diamante grande (común).
No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\diamond
¶⋄ Operador de diamante (binario). Similar: large
diamond \Diamond
, encierra en un círculo
bullet \bullet
.
\diamondsuit
¶♢ Palo de carta diamante (común).
\div
¶÷ Signo de división (binario).
\doteq
¶≐ Se acerca al límite (relación). Similar:
geométricamente igual to \Doteq
.
\downarrow
¶↓ Flecha hacia abajo, converge (relación).
Similar: \Downarrow
flecha hacia abajo de doble línea.
\Downarrow
¶⇓ Flecha hacia abajo de doble línea (relación).
Similar: \downarrow
flecha hacia abajo de una sola línea.
\ell
¶ℓ Letra cursiva minúscula l (común).
\emptyset
¶∅ Símbolo de conjunto vacío (común). La forma
variante es \varnothing
.
\epsilon
¶ϵ Epsilon semilunar en minúsculas
(común). Similar a Letra de texto griego. Más ampliamente
utilizado en matemáticas es el script en letra pequeña épsilon
\varepsilon
ε. Relacionado: la
relación de pertenencia del conjunto \in
∈.
\equiv
¶≡ Equivalencia (relación).
\eta
¶η Letra griega minúscula (común).
\exists
¶∃ Cuantificador existencial (común).
\flat
¶♭ Bemol musical (común).
\forall
¶∀ Cuantificador universal (común).
\frown
¶⌢ Arco curvo hacia abajo (común).
\Gamma
¶Γ letra griega mayúscula (común).
\gamma
¶γ Letra griega minúscula (común).
\ge
¶≥ Mayor o igual que (relación). este es un sinónimo
for \geq
.
\geq
¶≥ Mayor o igual que (relación). este es un sinónimo
for \ge
.
\gets
¶← Se le asigna el valor (relación).
Sinónimo: \leftarrow
.
\gg
¶≫ Mucho mayor que (relación). Similar: mucho menos
que \ll
.
\hbar
¶ℏ Constante de Planck sobre dos pi (común).
\heartsuit
¶♡ Palo de cartas de corazón (común).
\hookleftarrow
¶↩ Flecha izquierda enganchada (relación).
\hookrightarrow
¶↪ Flecha derecha enganchada (relación).
\iff
¶⟷ Si y solo si (relación). Es
\Longleftrightarrow
con un \thickmuskip
a cada lado.
\Im
¶ℑ Parte imaginaria (común). Ve: parte
real \Re
.
\imath
¶i sin punto; se usa cuando pones un acento en una i (véase Acentos matemáticos).
\in
¶∈ Establecer elemento (relación). Ve también: semilunar
minúscula epsilon \epsilon
ϵ y letra
minúscula epsilon \varepsilon
.
\infty
¶∞ Infinito (común).
\int
¶∫ Integral (operador).
\iota
¶ι Letra griega minúscula (común).
\Join
¶⨝ Símbolo de corbatín condensado (relación). No disponible en TeX estándar.
\jmath
¶J sin punto; se usa cuando pones un acento en una j (véase Acentos matemáticos).
\kappa
¶κ Letra griega minúscula (común).
\Lambda
¶Λ letra griega mayúscula (común).
\lambda
¶λ Letra griega minúscula (común).
\land
¶∧ Lógico y (binario). Sinónimo: \wedge
.
Consulta también or lógico \lor
.
\langle
¶⟨ Ángulo izquierdo, o secuencia, corchete (apertura).
Similar: menos-que <
. Coincide con \rangle
.
\lbrace
¶{ Llave izquierda
(apertura). Sinónimo: \{
. Coincide
con \rbrace
.
\lbrack
¶[ Corchete izquierdo (apertura).
Sinónimo: [
. Coincide con \rbrack
.
\lceil
¶⌈ Soporte de techo izquierdo, como un corchete pero
con la parte inferior rasurada (apertura). Coincide
con \rceil
.
\le
¶≤ Menor o igual que (relación). Este es un sinónimo
para \leq
.
\leadsto
¶⇝ Flecha derecha ondulada (relación). Para obtener
este símbolo fuera del modo matemático, puedes poner
\newcommand*{\Leadsto}{\ensuremath{\leadsto}}
en el
preámbulo y entonces usa \Leadsto
en su lugar.
\Leftarrow
¶⇐ Está implícito en la flecha izquierda de doble
línea (relación). Similar: flecha izquierda de una sola
línea \leftarrow
.
\leftarrow
¶← Flecha izquierda de una sola línea (relación).
Sinónimo: \gets
. Similar: doble línea izquierda
flecha \Leftarrow
.
\leftharpoondown
¶↽ Arpón izquierdo de una línea, lengüeta debajo de la lengüeta (relación).
\leftharpoonup
¶↼ Arpón izquierdo de una línea, púa sobre barra (relación).
\Leftrightarrow
¶⇔ Biimplicación; flecha de dos puntas de
doble línea (relación). Similar: flecha de dos puntas de una sola
línea \leftrightarrow
.
\leftrightarrow
¶↔ Flecha de dos puntas de una sola línea
(relación). Similar: doble línea flecha de dos
puntas \Leftrightarrow
.
\leq
¶≤ Menor o igual que (relación). Este es un sinónimo
para \le
.
\lfloor
¶⌊ Soporte de piso izquierdo
(apertura). Coincidencia: \floor
.
\lhd
¶◁ Punta de flecha, es decir, triángulo, apuntando a la
izquierda (binario). Para el símbolo de subgrupo normal, debe cargar
amssymb
y usa \vartriangleleft
(que es una
relación y así da un mejor espaciado).
\ll
¶≪ Mucho menos que (relación). Similar: mucho mayor
que \gg
.
\lnot
¶¬ Negación lógica
(común). Sinónimo: \neg
.
\longleftarrow
¶⟵ Flecha izquierda larga de una sola línea
(relación). Similar: largo flecha izquierda de doble
línea \Longleftarrow
.
\longleftrightarrow
¶⟷ Flecha larga de dos puntas de una sola
línea (relación). Similar: larga doble línea flecha de dos
puntas \Longleftrightarrow
.
\longmapsto
¶⟼ Flecha izquierda larga de una sola línea que
comienza con una barra vertical (relación). Similar: versión más
corta \mapsto
.
\longrightarrow
¶⟶ Flecha derecha larga de una sola línea
(relación). Similar: largo flecha derecha de doble
línea \Longrightarrow
.
\lor
¶∨ Lógico o (binario). Sinónimo: \vee
.
Consulta también y lógico \land
.
\mapsto
¶↦ Flecha izquierda de una sola línea que comienza con
una barra vertical (relación). Similar: versión más
larga \longmapsto
.
\mho
¶℧ Conductancia, semicírculo omega mayúscula girada (común).
\mid
¶∣ Barra vertical de una línea (relación). Un uso típico
de \mid
es para un conjunto \{\, x \mid x\geq 5 \,\}
.
Similar: \vert
y |
producen la misma línea única de
símbolo de barra vertical pero sin ningún espacio (caen en la clase
ordinarios) y no los debes usar como relaciones, sino solo como
ordinales, es decir, símbolos de notas al pie. Para el valor
absoluto, consulta la entrada para \vert
y por norma ve la
entrada para \Vert
.
\models
¶⊨ Implica o satisface; torniquete doble, guión doble
corto (relación). Similar: guión doble largo \vDash
.
\mp
¶∓ Menos o más (relación).
\mu
¶μ Letra griega minúscula (común).
\nabla
¶∇ Operador del, o diferencial, de Hamilton (común).
\natural
¶♮ Notación musical natural (común).
\ne
¶≠ No es igual (relación). Sinónimo: \neq
.
\nearrow
¶↗ Flecha noreste (relación).
\neg
¶¬ Negación lógica (común).
Sinónimo: \lnot
. A veces, en cambio, se usa para
negación: \sim
.
\neq
¶≠ No es igual (relación). Sinónimo: \ne
.
\ni
¶∋ Membresía reflejada épsilon; tiene el miembro
(relación). Sinónimo: \owns
. Similar: es un miembro
de \in
.
\not
¶Sólido largo, o barra oblicua, que se usa para tachar un siguiente operador (relación).
Muchos operadores negados están disponibles que no requieren
\not
, particularmente con el paquete amssymb
. Por
ejemplo, \notin
es tipográficamente preferible a
\not\in
.
\notin
¶∉ No es un elemento de (relación). Similar: no
subconjunto de \nsubseteq
.
\nu
¶ν Letra griega minúscula (común).
\nwarrow
¶↖ Flecha noroeste (relación).
\odot
¶⊙ Punto dentro de un círculo (binario). Similar: de
tamaño variable operador \bigodot
.
\oint
¶∮ Integral de contorno, integral con círculo en el medio (operador).
\Omega
¶Ω letra griega mayúscula (común).
\omega
¶ω Letra griega minúscula (común).
\ominus
¶⊖ Signo menos, o guión, dentro de un círculo (binario).
\oplus
¶⊕ Signo más dentro de un círculo (binario). Similar:
de tamaño variable operador \bigoplus
.
\oslash
¶⊘ Solidus, o slash, dentro de un círculo (binario).
\otimes
¶⊗ Signo de tiempo, o cruz, dentro de un círculo
(binario). Similar: operador de tamaño
variable \bigotimes
.
\owns
¶∋ épsilon de membresía reflejada; tiene el miembro
(relación). Sinónimo: \ni
. Similar: es un miembro
de \in
.
\parallel
¶∥ Paralelo (relación). Sinónimo: \|
.
\partial
¶∂ Diferencial parcial (común).
\perp
¶⟂ Perpendicular (relación). Similar: \bot
usa el mismo glifo pero el espaciado es diferente porque está en la
clase común.
\Phi
¶Φ Letra griega mayúscula (común).
\phi
¶ϕ Letra griega minúscula (común). La forma variante
es \varphi
φ.
\Pi
¶Π letra griega mayúscula (común).
\pi
¶π Letra griega minúscula (común). La forma variante
es \varpi
ϖ.
\pm
¶± Más o menos (binario).
\prec
¶≺ Precede (relación). Similar: menor que <
.
\preceq
¶⪯ Precede o es igual a (relación). Similar: menor que
o igual a \leq
.
\prime
¶′ Prime, o minuto en una expresión de tiempo
(común). Normalmente se usa como un superíndice:
$f^\prime$
; $f^\prime$
y $f'$
producen el mismo
resultado. Una ventaja del segundo es que $f'''$
produce el
símbolo deseado, es decir, el mismo resultado como
$f^{\prime\prime\prime}$
, pero usa bastante menos
mecanografía. Solo puedes usar \prime
en modo math. Usando la
comilla derecha simple '
en modo texto produce un carácter
diferente (apóstrofe).
\prod
¶∏ Producto (operador).
\propto
¶∝ Es proporcional a (relación)
\Psi
¶Ψ letra griega mayúscula (común).
\psi
¶ψ Letra griega minúscula (común).
\rangle
¶⟩ Ángulo recto, o secuencia, corchete (cierre).
Similar: mayor que >
. Coincidencia:\langle
.
\rbrace
¶} Llave derecha (de
cierre). Sinónimo: \}
. Coincide con \lbrace
.
\rbrack
¶] Corchete derecho (de
cierre). Sinónimo: ]
. Coincide con \lbrack
.
\rceil
¶⌉ Soporte de techo derecho (cierre). Coincide
con \lceil
.
\Re
¶ℜ Parte real, números reales, R mayúscula cursiva
(común). Relacionado: doble línea o negrita de pizarra,
R \mathbb{R}
; acceder esto, carga el paquete
amsfonts
.
\restriction
¶↾, Restricción de una función (relación). Sinónimo:
\upharpoonright
. No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\revemptyset
¶⦰, Símbolo de conjunto vacío invertido (común).
Relacionado: \varnothing
. No disponible en TeX simple. En LaTeX necesitas cargar el paquete stix.
\rfloor
¶⌋ Soporte de piso derecho, un corchete derecho con el
corte superior apagado (cierre). Coincide con \lfloor
.
\rhd
¶◁ Punta de flecha, es decir, triángulo, apuntando a la
derecha (binario). Para el símbolo de subgrupo normal, en su lugar,
debes cargar amssymb
y use \vartriangleright
(que es una relación y así da un mejor espaciado).
\rho
¶ρ Letra griega minúscula (común). La forma variante
es \varrho
ϱ.
\Rightarrow
¶⇒ Implica, flecha de doble línea hacia la derecha
(relación). Similar: flecha derecha de una sola
línea \rightarrow
.
\rightarrow
¶→ Flecha de una sola línea que apunta hacia la
derecha (relación). Sinónimo: \to
. Similar: línea doble
fecha derecha \Rightarrow
.
\rightharpoondown
¶⇁ Arpón que apunta hacia la derecha con lengüeta debajo de la línea (relación).
\rightharpoonup
¶⇀ Arpón apuntando a la derecha con lengüeta sobre el línea (relación).
\rightleftharpoons
¶⇌ Arpón derecho arriba arpón izquierdo abajo (relación).
\searrow
¶↘ Flecha que apunta al sureste (relación).
\setminus
¶⧵ Establecer diferencia, solido inverso o barra
invertida, como \ (binario). Similar: barra
inversa \backslash
y también \textbackslash
fuera
del modo matemático.
\sharp
¶♯ Sostenido musical (común).
\Sigma
¶Σ letra griega mayúscula (común).
\sigma
¶σ Letra griega minúscula (común). La forma
variante es \varsigma
ς.
\sim
¶∼ Similar, en una relación (relación).
\simeq
¶≃ Similar o igual a, en una relación (relación).
\smallint
¶∫ Signo integral que no cambia a un tamaño mayor en una pantalla (operador).
\smile
¶⌣ Arco curvo hacia arriba, sonrisa (normal).
\spadesuit
¶♠ Palo de cartas de espadas (común).
\sqcap
¶⊓ Símbolo de intersección cuadrada (binario). Similar:
intersección cap
.
\sqcup
¶⊔ Símbolo de unión cuadrada (binario). Similar:
unión cup
. Relacionado: de tamaño variable
operator \bigsqcup
.
\sqsubset
¶⊏, símbolo de subconjunto cuadrado (relación). Similar:
subconjunto \subset
. No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\sqsubseteq
¶⊑ Subconjunto cuadrado o símbolo igual
(binario). Similar: subconjunto o igual a \subseteq
.
\sqsupset
¶⊐, símbolo de superconjunto cuadrado (relación). Similar:
superconjunto \supset
. No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\sqsupseteq
¶⊒ Superconjunto cuadrado o símbolo igual
(binario). Similar: superconjunto o igual \supseteq
.
\star
¶⋆ Estrella de cinco puntas, a veces utilizada como
binario general pero a veces reservado para la correlación cruzada
(binario). Similar: los sinónimos asterisco *
y
\ast
, que son de seis puntas, y más a menudo aparecen como un
superíndice o subíndice, como con la estrella Kleene.
\subset
¶⊂ Subconjunto (ocasionalmente, está implícito en) (relación).
\subseteq
¶⊆ Subconjunto o igual a (relación).
\succ
¶≻ Viene después, tiene éxito (relación). Similar: es
menos que >
.
\succeq
¶⪰ Tiene éxito o es igual a (relación). Similar: menos
que o igual a \leq
.
\sum
¶∑ Sumatoria (operador). Similar: capital griega
sigma \Sigma
.
\supset
¶⊃ Superconjunto (relación).
\supseteq
¶⊇ Superconjunto o igual a (relación).
\surd
¶√ Símbolo radical (común). El comando LaTeX
\sqrt{...}
escribe la raíz cuadrada del argumento, con una
barra que se extiende para cubrir el argumento.
\swarrow
¶↙ Flecha que apunta al suroeste (relación).
\tau
¶τ Letra griega minúscula (común).
\theta
¶θ Letra griega minúscula (común). La forma
variante es \vartheta
ϑ.
\times
¶× Signo de multiplicación de escuela primaria
(binario). Ve también \cdot
.
\to
¶→ Flecha de una sola línea que apunta hacia la derecha
(relación). Sinónimo: \rightarrow
.
\top
¶⊤ Arriba, elemento más grande de un conjunto
parcialmente ordenado (común). Consulta también \bot
.
\triangle
¶△ Triángulo (común).
\triangleleft
¶◁ Triángulo sin rellenar que apunta hacia la
izquierda (binario). Similar: \lhd
. Para el símbolo de
subgrupo normal que debe cargar amssymb
y
usar \vartriangleleft
(que es una relación y por lo tanto
proporciona un mejor espaciado).
\triangleright
¶▷ Triángulo sin rellenar que apunta a la
derecha (binario). Para el símbolo de subgrupo normal, en su lugar,
debe cargar amssymb
y usar \vartriangleright
(que es una relación y así da un mejor espaciado).
\unlhd
¶⊴ Punta de flecha subrayada sin relleno que apunta
hacia la izquierda, es decir, triángulo, con una línea debajo
(binario). Para el símbolo de subgrupo normal carga amssymb
y usa \vartrianglelefteq
(que es una relación y por lo
tanto da mejor espaciado).
\unrhd
¶⊵ Punta de flecha subrayada sin relleno que apunta
hacia la derecha, es decir, triángulo, con una línea debajo
(binario). Para el símbolo de subgrupo normal carga amssymb
y usa \vartrianglerighteq
(que es una relación y por lo
tanto da mejor espaciado).
\Uparrow
¶⇑ Flecha de doble línea que apunta hacia arriba
(relación). Similar: apuntando hacia arriba de una sola línea
flecha \uparrow
.
\uparrow
¶↑ Flecha de una sola línea que apunta hacia arriba,
diverge (relación). Similar: doble línea apuntando hacia arriba
flecha \Uparrow
.
\Updownarrow
¶⇕ Flecha de doble línea que apunta hacia arriba
y hacia abajo (relación). Similar: una sola línea apuntando hacia
arriba y hacia abajo arrow \updownarrow
.
\updownarrow
¶↕ Flecha de una sola línea que apunta hacia
arriba y hacia abajo (relación). Similar: doble línea apuntando hacia
arriba y hacia abajo arrow \Updownarrow
.
\upharpoonright
¶↾, arpón levantado, con púa en el lado derecho
(relación). Sinónimo: \restriction
.
No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\uplus
¶⊎ Unión multiconjunto, un símbolo de unión con un
símbolo más en el medio (binario). Similar:
union \cup
. Relacionado: operador de tamaño
variable \biguplus
.
\Upsilon
¶Υ letra griega mayúscula (común).
\upsilon
¶υ Letra griega minúscula (común).
\varepsilon
¶ε Epsilon de script en letra minúscula
(común). Esto es ampliamente utilizado en matemáticas que la
forma épsilon semilunar no variante
\epsilon
ϵ. Relacionado: establece
membresía \in
.
\vanothing
¶∅, Símbolo de conjunto vacío. Similar:
\emptyset
. Relacionado:
\revemptyset
. No disponible en TeX simple. En LaTeX necesitas cargar el paquete amssymb
.
\varphi
¶φ Variante de la letra griega minúscula (común).
La forma no variante es \phi
ϕ.
\varpi
¶ϖ Variante de la letra griega minúscula (común).
La forma no variante es \pi
π.
\varrho
¶ϱ Variante de la letra griega minúscula (común).
La forma no variante es \rho
ρ.
\varsigma
¶ς Variante de la letra griega minúscula (común).
La forma no variante es \sigma
σ.
\vartheta
¶ϑ Variante de la letra griega minúscula (común).
La forma no variante es \theta
θ.
\vdash
¶⊢ Demostrable; torniquete, vertical y un guión
(relación). Similar: torniquete giró un
semicírculo \dashv
.
\vee
¶∨ Lógico o; una forma de v hacia abajo (binario).
Relacionado: y lógico \wedge
. Similar: de tamaño
variable operator \bigvee
.
\Vert
¶‖ Doble barra vertical (común). Véase Delimitadores,
sobre cómo usar el paquete mathtools
para crear símbolos de
norma.
\vert
¶| Barra vertical de una sola línea (común). Para “tal
que”, como en la definición de un conjunto, usa \mid
porque es una relación Véase Delimitadores, para saber cómo usar el
paquete mathtools
para crear símbolos de valor absoluto de
tamaño flexible.
\wedge
¶∧ y lógico (binario). Sinónimo: \land
.
Ve también or lógico \vee
. Similar: operator de tamaño
variable \bigwedge
.
\wp
¶℘ Weierstrass p (común).
\wr
¶≀ Producto de guirnalda (binario).
\Xi
¶Ξ letra griega mayúscula (común).
\xi
¶ξ Letra griega minúscula (común).
\zeta
¶ζ Letra griega minúscula (común).
Los siguientes símbolos se usan con mayor frecuencia en texto sin formato, pero LaTeX proporciona versiones para usar en texto matemático.
\mathdollar
¶Signo de dólar en modo matemático: $.
\mathparagraph
¶Signo de párrafo (pilcrow) en modo matemático, ¶.
\mathsection
¶Signo de sección en modo math: §.
\mathsterling
¶Signo esterlina en modo matemático: £.
\mathunderscore
¶Guión bajo en modo matemático: _.
\boldmath
y \unboldmath
Estas son las flechas que
vienen con LaTeX estándar. Los paquetes latexsym
y
amsfonts
contienen muchos más.
Símbolo | Comando | |
---|---|---|
⇓ | \Downarrow | |
↓ | \downarrow | |
↩ | \hookleftarrow | |
↪ | \hookrightarrow | |
← | \leftarrow | |
⇐ | \Leftarrow | |
⇔ | \Leftrightarrow | |
↔ | \leftrightarrow | |
⟵ | \longleftarrow | |
⟸ | \Longleftarrow | |
⟷ | \longleftrightarrow | |
⟺ | \Longleftrightarrow | |
⟼ | \longmapsto | |
⟹ | \Longrightarrow | |
⟶ | \longrightarrow | |
↦ | \mapsto | |
↗ | \nearrow | |
↖ | \nwarrow | |
⇒ | \Rightarrow | |
→ | \rightarrow , o \to | |
↘ | \searrow | |
↙ | \swarrow | |
↑ | \uparrow | |
⇑ | \Uparrow | |
↕ | \updownarrow | |
⇕ | \Updownarrow |
Un ejemplo de la diferencia entre \to
y \mapsto
es:
\( f\colon D\to C \) dado por \( n\mapsto n^2 \)
.
Para diagramas conmutativos hay una serie de
paquetes, incluyendo tikz-cd
y amscd
.
\boldmath
y \unboldmath
Sinopsis (usada en modo párrafo o modo LR):
\boldmath \( math \)
o
\unboldmath \( math \)
Declaraciones para cambiar las letras y símbolos en math para
estar en un tipo de letra en negrita, o para anular eso y traer de
vuelta el predeterminado (sin negrita), respectivamente. Se deben usar
cuando no está en modo math o el modo display math
(véase Modos). Ambos comandos son frágiles (véase \protect
).
En este ejemplo, cada comando \boldmath
tiene lugar dentro de
un \mbox
,
tenemos $\mbox{\boldmath \(v \)} = 5\cdot\mbox{\boldmath \(u \)$}$
lo cual significa que \boldmath
solo se llama en modo texto,
aquí LR y explica por qué debemos cambiar LaTeX al modo math para
establecer v
y u
.
Si usas cualquiera de los comandos dentro del modo math
, como
con Problema: \( \boldmath x \)
, entonces obtienes algo como
‘Advertencia de letras LaTeX: Comando \boldmath no válido en
modo math’ y ‘Advertencia de tipo de letra LaTeX: Comando
\mathversion inválido en modo math’.
bm
: Símbolos matemáticos individuales en negritaEspecificar \boldmath
es el mejor método para componer una
expresión matemática en negrita. Pero para componer tipográficamente
símbolos individuales dentro de una expresión en negrita, el paquete
bm
proporcionado por el equipo del proyecto LaTeX es
mejor. Su uso está fuera del alcance de este documento (consulta su
documentación en https://ctan.org/pkg/bm o en tu instalación)
pero el espacio en la salida de este pequeño ejemplo mostrará que es
una mejora sobre \boldmath
dentro de una expresión:
\usepackage{bm} % en el preámbulo ... tenemos $\bm{v} = 5\cdot\bm{u}$
Desafortunadamente, al usar los motores Unicode (XeLaTeX,
LuaLaTeX), ni \boldmath
ni bm
suelen funcionar
bien, porque los tipos de letra matemáticos de OpenType que
normalmente se usan con esos motores rara vez vienen con un compañero
en negrita, y tanto \boldmath
como bm
lo requieren.
(La implementación de bm
se basa en \boldmath
, por lo
que los requisitos son los mismos). Si tienes un tipo de letra
matemático en negrita, entonces \boldmath
y el bm
funcionan bien.
Si no hay tal tipo de letra disponible, una alternativa es construir
un tipo de letra en negrita falso con el parámetro FakeBold=1
del paquete fontspec
(consulta su documentación,
https://ctan.org/pkg/fontspec). Esto puede ser aceptable para
redacción o distribución informal, pero los resultados están lejos de
ser una verdadera negrita.
Otra alternativa al manejo de negrita para tipos de letra matemáticos
OpenType es usar el \symbf
(negrita), \symbfit
(negrita
y cursiva) y comandos relacionados del paquete unicode-math
.
Estos no cambian el tipo de letra actual, sino que cambian el
"alfabeto" (Unicode) usado, que en la práctica es más compatible que
un tipo de letra en negrita separado. Son posibles muchas
variaciones, por lo que hay sutilezas para obtener la salida deseada.
Como de costumbre, consulta la documentación del paquete
(https://ctan.org/pkg/unicode-math).
Sinopsis:
\usepackage{amssymb} % en el preámbulo ... \mathbb{uppercase-letter}
Proporciona símbolos en negrita de pizarra, a veces también conocidos como letras doublestruck, usadas para denotar conjuntos de números como los números naturales, los enteros, etc.
Aquí
\( \forall n \in \mathbb{N}, n^2 \geq 0 \)
el \mathbb{N}
da el símbolo de pizarra en negrita
ℕ, representación de los números naturales.
Si el argumento contiene algo que no sea una letra mayúscula, no obtienes un error, pero obtienes resultados extraños, incluidos caracteres inesperados.
Hay paquetes que dan acceso a otros símbolos además de las letras mayúsculas; mira en CTAN.
Sinopsis:
\mathcal{letras-mayúsculas}
Utiliza un tipo de letra como el tipo script.
En este ejemplo, el identificador del gráfico se genera en letra cursiva.
Sea la gráfica \( \mathcal{G} \).
Si usa algo que no sea una letra mayúscula, entonces no obtienes un
error, pero tampoco obtienes una salida caligráfica matemática. Por
ejemplo, \mathcal{g}
genera un símbolo de llave de cierre.
Los delimitadores son paréntesis, llaves u otros caracteres que se utilizan para marcar el inicio y el final de las subfórmulas. Esta fórmula tiene tres conjuntos de paréntesis que delimitan las tres subfórmulas.
(z-z_0)^2 = (x-x_0)^2 + (y-y_0)^2
No es necesario que los delimitadores coincidan, por lo que puedes
ingresar \( [0,1) \)
.
Estos son los delimitadores comunes.:
Delimitador | Comando | Nombre |
---|---|---|
( | ( | Paréntesis izquierdo |
) | ) | Paréntesis derecho |
\} | { o \lbrace | Llave izquierda |
\{ | } o \rbrace | Llave derecha |
[ | [ o \lbrack | Corchete izquierdo |
] | ] o \rbrack | Corchete derecho |
⌊ | \lfloor | Left floor bracket |
⌋ | \rfloor | Soporte de piso derecho |
⌈ | \lceil | Soporte superior izquierdo |
⌉ | \rceil | Soporte superior derecho |
⟨ | \langle | Paréntesis angular izquierdo |
⟩ | \rangle | Soporte angular derecho |
/ | / | Barra o barra inclinada |
\ | \backslash | Barra invertida o barra invertida |
| | | o \vert | Barra vertical |
‖ | \| o \Vert | Barra vertical doble |
El paquete mathtools
te permite crear
comandos para pares delimitadores. Por ejemplo, si pones
\DeclarePairedDelimiter\abs{\lvert}{\rvert}
en tu preámbulo
entonces obtienes dos comandos para barras verticales de una sola
línea (solo funcionan en modo matemático). La forma con estrella,
como \abs*{\frac{22}{7}}
, tiene la altura de las barras
verticales coincide con la altura del argumento. La forma sin
estrella, como \abs{\frac{22}{7}}
, tiene las barras fijas
a una altura predeterminada. Esta forma acepta un argumento opcional,
como en el \abs[comando size]{\frac{22}{7}}
, donde
la altura de las barras se da en comando size, como
\Bigg
. Usando en su lugar \lVert
y \rVert
como
símbolos te darán un símbolo de norma con el mismo comportamiento.
\left
y \right
Sinopsis:
\left delimiter1 ... \right delimiter2
Crea paréntesis, llaves u otros delimitadores coincidentes. LaTeX hace los delimitadores lo suficientemente altos como para cubrir el tamaño de la fórmula que ellos encierran.
Esto crea un vector unitario rodeado por paréntesis lo suficientemente alto como para cubrir las entradas.
\begin{equation} \left(\begin{array}{c} 1 \\ 0 \\ \end{array}\right) \end{equation}
Véase Delimitadores, para obtener una lista de los delimitadores comunes.
Cada \left
debe tener un \right
coincidente. En el
ejemplo anterior, al omitir \left(
aparece el mensaje de error
‘Extra \right’. Omitir el \right)
obtiene ‘No puedes
usar `\eqno' en modo matemático’.
Sin embargo, delimiter1 y delimiter2 no necesitan coincidir. Una caso común es que deseas un aparato ortopédico sin igual, como se muestra a continuación. Usa un punto, ‘.’, como delimitador nulo.
\begin{equation} f(n)=\left\{\begin{array}{ll} 1 &\mbox{--if \(n=0\)} \\ f(n-1)+3n^2 &\mbox{--else} \end{array}\right. \end{equation}
Ten en cuenta que para obtener una llave como delimitador, los debes
prefijar con una barra invertida, \{
(véase Caracteres reservados). (Los paquetes amsmath
y mathtools
te permiten obtener la construcción anterior a través de un entorno
cases
).
El par \left ... \right
forma un grupo. Una consecuencia es
que la fórmula encerrada en el par \left ... \right
no puede
tener saltos de línea en la salida. Esto incluye saltos de línea
manuales y automáticos generados por LaTeX. En este ejemplo,
LaTeX rompe la ecuación para que la fórmula se ajuste a los
márgenes.
Lorem ipsum dolor sit amet \( (a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z) \)
Pero con \left
y \right
Lorem ipsum dolor sit amet \( \left(a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z\right) \)
LaTeX no romperá la línea, lo que hará que la fórmula se extienda al margen.
Porque \left ... \right
hace un grupo, todas las reglas de
agrupación usuales se mantienen. Aquí, el valor de \testlength
establecido dentro de la ecuación se olvidará y la salida es
‘1.2pt’.
\newlength{\testlength} \setlength{\testlength}{1.2pt} \begin{equation} \left( a+b=c \setlength{\testlength}{3.4pt} \right) \the\testlength \end{equation}
El par \left ... \right
afecta el espaciado horizontal de la
fórmula adjunta, de dos maneras. La primera es que en \(
\sin(x) = \sin\left(x\right) \)
el que está después del signo igual
tiene más espacio alrededor del x
. Eso es porque \left(
... \right)
inserta un nodo interno mientras que ( ... )
inserta un nodo de apertura. La segunda forma en que el par afecta el
espacio horizontal es que debido a que forman un grupo, la subfórmula
adjunta se escribirá en su forma de ancho natural, sin estirar ni
encoger para que la línea se ajuste mejor.
TeX escala los delimitadores según la altura y la profundidad de la fórmula adjunta. Aquí LaTeX aumenta los corchetes para extender la altura de la integral.
\begin{equation} \left[ \int_{x=r_0}^{\infty} -G\frac{Mm}{r^2}\, dr \right] \end{equation}
El tamaño manual a menudo es mejor. Por ejemplo, aunque por debajo de la regla no tiene profundidad, TeX creará delimitadores que se extienden muy por debajo de la regla.
\begin{equation} \left( \rule{1pt}{1cm} \right) \end{equation}
TeX puede elegir delimitadores que son demasiado pequeños, como en
\( \left| |x|+|y| \right| \)
. También puede elegir
delimitadores demasiado grandes, como aquí.
\begin{equation} \left( \sum_{0\leq i<n} i^k \right) \end{equation}
Un tercer caso incómodo es cuando una fórmula que se muestra durante
mucho tiempo está en más de una línea y debe hacer coincidir los
tamaños del delimitador de apertura y cierre; no puedes usar
\left
en la primera línea y \right
en la última porque
deben estar emparejados.
Para cambiar manualmente el tamaño de los delimitadores, \bigl
, \bigr
, etc..
\bigl
, \bigr
, etc.Sinopsis, una de:
\bigldelimiter1 ... \bigrdelimiter2 \Bigldelimiter1 ... \bigrdelimiter2 \biggldelimiter1 ... \biggrdelimiter2 \Biggldelimiter1 ... \Biggrdelimiter2
(como con \bigl[...\bigr]
; estrictamente hablando, no necesitan
coincidir, ve más abajo), o uno de:
\bigmdelimiter \Bigmdelimiter \biggmdelimiter \Biggmdelimiter
(como con \bigm|
), o uno de:
\bigdelimiter \Bigdelimiter \biggdelimiter \Biggdelimiter
(como con \\big[
).
Produce delimitadores de tamaño manual. Para delimitadores que son
tamaño automático \left
y \right
).
Esto produce barras verticales exteriores ligeramente más grandes.
\bigl| |x|+|y| \bigr|
Los comandos anteriores se enumeran en orden de tamaño creciente.
Puedes usar el tamaño más pequeño como \bigl...\bigr
en un
párrafo sin causar que LaTeX separe las líneas. Los tamaños más
grandes están destinados para las ecuaciones mostradas.
Véase Delimitadores, para obtener una lista de los delimitadores comunes. En la familia de comandos con ‘l’ o ‘r’, delimiter1 y delimiter2 no necesita coincidir.
Los comandos ‘l’ y ‘r’ producen delimitadores abiertos y cerrados que no insertan ningún espacio horizontal entre un átomo precedente y el delimitador, mientras que los comandos sin ‘l’ y ‘r’ insertan algunos espacios (porque cada delimitador se establece como una variable ordinaria). Compara estos dos.
\begin{tabular}{l} \(\displaystyle \sin\biggl(\frac{1}{2}\biggr) \) \\ % bien \(\displaystyle \sin\bigg(\frac{1}{2}\bigg) \) \\ % mal \end{tabular}
El tratamiento tipográfico tradicional está en la primera línea.
Sobre la segunda línea, la salida tendrá algo de espacio extra entre
la \sin
y el que apoya una moción paréntesis de apertura.
Los comandos sin ‘l’ o ‘r’ dan el espacio correcto en algunas circunstancias, como con esta gran línea vertical
\begin{equation} \int_{x=a}^b x^2\,dx = \frac{1}{3} x^3 \Big|_{x=a}^b \end{equation}
(muchos autores reemplazarían \frac
con el comando
\tfrac
del paquete amsmath
), y como con esta barra
inclinada más grande.
\begin{equation} \lim_{n\to\infty}\pi(n) \big/ (n/\log n) = 1 \end{equation}
A diferencia del par \left...\right
(véase \left
y \right
),
los comandos aquí con ‘l’ o ‘r’ no forman un grupo.
Estrictamente hablando, no es necesario que coincidan para que puedas
escribir algo como esto.
\begin{equation} \Biggl[ \pi/6 ] \end{equation}
Los comandos con ‘m’ son para relaciones, que están en medio de fórmulas, como aquí.
\begin{equation} \biggl\{ a\in B \biggm| a=\sum_{0\leq i<n}3i^2+4 \biggr\} \end{equation}
Las elipsis son los tres puntos (generalmente tres) que indican que un patrón continúa.
\begin{array}{cccc} a_{0,0} &a_{0,1} &a_{0,2} &\ldots \\ a_{1,0} &\ddots \\ \vdots \end{array}
LaTeX proporciona estos.
\cdots
¶Puntos suspensivos horizontales con los puntos elevados al centro de
la línea, como en ⋯. Usado como: \( a_0\cdot
a_1\cdots a_{n-1} \)
.
\ddots
¶Puntos suspensivos diagonales, ⋱. Ve el arreglo del ejemplo anterior para un uso.
\ldots
¶\mathellipsis
¶\dots
¶Puntos suspensivos en la línea base, …. Usado como:
\( x_0,\ldots x_{n-1} \)
. Otro ejemplo es el arreglo del
ejemplo anterior. Los sinónimos son \mathellipsis
y
\dots
. Un sinónimo de el paquete amsmath
es
\hdots
.
También puedes usar este comando fuera del texto matemático, como en
Los engranajes, frenos, \ldots{} están todos rotos
.
\vdots
¶Puntos suspensivos verticales, ⋮. Ve el arreglo del ejemplo anterior para un uso.
El paquete amsmath
tiene el comando
\dots
para semánticamente marcar puntos suspensivos. Este
ejemplo produce dos salidas de aspecto diferente para los dos primeros
usos del comando \dots
.
\usepackage{amsmath} % en el preámbulo ... Supongamos que \( p_0, p_1, \dots, p_{n-1} \) enumera todos los números primos. Observa que \( p_0\cdot p_1 \dots \cdot p_{n-1} +1 \) no es un múltiplo de cualquier \( p_i \). Conclusión: hay infinitos números primos \( p_0, p_1, \dotsc \).
En la primera línea, LaTeX busca la coma que sigue a \dots
para determinar que debe generar puntos suspensivos en la línea base.
El segundo tiene un \cdot
después de \dots
por lo que
LaTeX genera un puntos suspensivos que están en el eje matemático,
centrados verticalmente. Sin embargo, el tercer uso no tiene un
carácter de seguimiento, por lo que debes decirle a LaTeX qué
hacer. Puedes usar uno de los comandos: \dotsc
si necesitas
los puntos suspensivos apropiados para una coma después, \dotsb
si necesitas los puntos suspensivos que se ajustan cuando los puntos
van seguidos de un operador binario o símbolo de relación,
\dotsi
para puntos con integrales, o \dotso
para otros.
El comando \dots
de amsmath
difiere de otra manera del comando \dots
del kernel de
LaTeX: emite un espacio delgado después de los puntos
suspensivos. Además, el paquete unicode-math
automáticamente
carga amsmath
, por lo que \dots
del amsmath
puede estar activo incluso cuando no lo cargaste explícitamente,
cambiando así la salida de \dots
tanto en modo de texto como
matemático.
Aún más sobre los comandos de puntos suspensivos: cuando se ejecuta
bajo motores Unicode (lualatex
, xelatex
), LaTeX usará
el carácter de puntos suspensivos Unicode (U+2026) en el tipo de
letra, si está disponible; bajo motores TeX tradicionales
(pdflatex
, latex
), compondrá tipográficamente tres
puntos espaciados. En general, los puntos suspensivos Unicode de un
solo carácter casi no tienen espacio entre los tres puntos, mientras
que el espaciado de los puntos suspensivos no Unicode es más flexible,
más de acuerdo con la tipografía tradicional.
Las versiones en mayúsculas de estas letras griegas solo se muestran cuando difieren de las mayúsculas romanas.
Symbol | Command | Name | |
---|---|---|---|
α | \alpha | Alpha | |
β | \beta | Beta | |
γ, Γ | \gamma ,
\Gamma | Gamma | |
δ, Δ | \delta ,
\Delta | Delta | |
ε, ϵ | \varepsilon , \epsilon | Epsilon | |
ζ | \zeta | Zeta | |
η | \eta | Eta | |
θ, ϑ | \theta ,
\vartheta | Theta | |
ι | \iota | Iota | |
κ | \kappa | Kappa | |
λ, Λ | \lambda ,
\Lambda | Lambda | |
μ | \mu | Mu | |
ν | \nu | Nu | |
ξ, Ξ | \xi , \Xi | Xi | |
π, Π | \pi , \Pi | Pi | |
ρ, ϱ | \rho ,
\varrho | Rho | |
σ, Σ | \sigma ,
\Sigma | Sigma | |
τ | \tau | Tau | |
ϕ, φ, Φ | \phi ,
\varphi , \Phi | Phi | |
χ | \chi | chi | |
ψ, Ψ | \psi , \Psi | Psi | |
ω, Ω | \omega ,
\Omega | Omega |
Para ómicron, si estás utilizando la letra Computer Modern
predeterminada de LaTeX luego ingresa ómicron como ‘o’ o
‘O’. Si te gusta tener el nombre o si tu letra muestra una
diferencia, entonces puedes usar algo como
\newcommand\omicron{o}
. El paquete unicode-math
tiene \upomicron
para omicron vertical y \mitomicron
para matemáticas itálicas.
Mientras que el símbolo de relación de pertenencia establecida
∈ generado por \in
está relacionado con epsilon,
nunca se usa para una variable.
Estos comandos producen nombres de funciones romanas en modo matemático con espaciado.
\arccos
¶coseno inverso
\arcsin
¶Seno inverso
\arctan
¶Tangente inversa
\arg
¶Ángulo entre el eje real y un punto en el plano complejo
\bmod
¶Operador módulo binario, usado como en \( 5\bmod 3=2 \)
\cos
¶Coseno
\cosh
¶Coseno hiperbólico
\cot
¶Cotangente
\coth
¶Cotangente hiperbólico
\csc
¶Cosecante
\deg
¶Grados
\det
¶Determinante
\dim
¶Dimensión
\exp
¶Exponencial
\gcd
¶Máximo común divisor
\hom
¶Homomorfismo
\inf
¶Infimum
\ker
¶Kernel
\lg
¶Logaritmo en base 2
\lim
¶Límite
\liminf
¶Límite inferior
\limsup
¶Límite superior
\ln
¶Logaritmo natural
\log
¶Logaritmo
\max
¶Máximo
\min
¶Mínimo
Módulo entre paréntesis, como se usa en \( 5\equiv 2\pmod 3 \)
¶\Pr
¶Probabilidad
\sec
¶Secante
\sin
¶Seno
\sinh
¶Seno hiperbólico
\sup
¶Supremum sup
\tan
¶Tangente
\tanh
¶Tangente hiperbólica
El paquete amsmath
agrega mejoras en
algunos de estos, y también te permite definir el tuyo propio. La
documentación completa está en CTAN, pero brevemente, puedes definir
un operador de identidad con
\DeclareMathOperator{\identity}{id}
que es como los de
arriba pero se imprime como ‘id’. La forma estrellada
\DeclareMathOperator*{\op}{op}
establece cualquier
superíndice o subíndice para estar arriba y abajo, como es tradicional
con \lim
, \sup
o \max
.
LaTeX proporciona una variedad de comandos para producir letras acentuadas en matemáticas. Estos son diferentes de los acentos en el texto normal. (véase Acentos).
\acute
¶Acento agudo matemático
\bar
¶Acento de barra de matemáticas
\breve
¶Acento matemático breve
\check
¶\ddots
¶\dot
¶\grave
¶\hat
¶Acento de sombrero de matemáticas (circunflejo)
\mathring
¶Acento de anillo matemático
\tilde
¶Acento de tilde matemática
\vec
¶símbolo de vector de matemáticas
\widehat
¶Acento de sombrero ancho de matemáticas
\widetilde
¶Acento de tilde ancho de matemáticas
Cuando pones un acento en una i o una j, la tradición es usar uno sin
punto, \imath
o jmath
(véase Símbolos matemáticos).
LaTeX proporciona comandos para hacer líneas superpuestas o subrayadas, o poner llaves sobre o debajo de algún material.
\underline{text}
¶text subrayado. Funciona dentro y fuera del modo matemático.
La línea siempre está completamente debajo del texto, teniendo en
cuenta descendientes, por lo que en \(\underline{y}\)
la
línea es más baja que en \(\underline{x}\)
. Este comando es
frágil (véase \protect
).
Ten en cuenta que el paquete ulem
subraya el
modo de texto y permite salto de línea, así como una serie de otras
características. Ve la documentación en CTAN.
También \hrulefill
y \dotfill
para producir una línea, para
cosas como una firma.
\overline{text}
¶Coloca una línea horizontal sobre text. Funciona dentro y fuera
del modo matemático. Por ejemplo, \overline{x+y}
.
Ten en cuenta que esto difiere del comando \bar
(véase Acentos matemáticos).
\underbrace{math}
¶Pone una llave debajo de math. Por ejemplo, este
(1-\underbrace{1/2)+(1/2}-1/3)
enfatiza la parte telescópica.
Adjunta texto a la llave usando el comando de subíndice, _
o
superíndice, ^
, como aquí.
\begin{displaymath} 1+1/2+\underbrace{1/3+1/4}_{>1/2}+ \underbrace{1/5+1/6+1/7+1/8}_{>1/2}+\cdots \end{displaymath}
El superíndice aparece encima de la expresión, por lo que se puede ver desconectado de la llave inferior.
\overbrace{math}
¶Pone una llave sobre math, como con
\overbrace{x+x+\cdots+x}^{\mbox{\(k\) times}}
. Ve
también \underbrace
.
El paquete mathtools
agrega una llave
superior e inferior, así como algunas mejoras en los corchetes.
Consulta la documentación en CTAN.
Al componer matemáticas, LaTeX pone espacios de acuerdo con las
reglas normales para textos de matemáticas. Si ingresas y=m x
entonces LaTeX ignora el espacio y en la salida la m está al lado
de la x, como y=mx.
Pero las reglas de LaTeX ocasionalmente necesitan ajustes. Por
ejemplo, en una integral la tradición es poner un pequeño espacio
extra entre el f(x)
y el dx
, aquí hecho con el comando
\,
:
\int_0^1 f(x)\,dx
LaTeX proporciona los siguientes comandos para usar en modo
matemático. Muchas de estas definiciones de espaciado se expresan en
términos de la unidad matemática mu. Se define como
1/18em, donde el em se toma de la familia actual de símbolos
matemáticos (véase Unidades de longitud). Así, un
\thickspace
es algo así como 5/18 veces el ancho de
una ‘M’.
\;
¶Sinónimo: \thickspace
. Normalmente 5.0mu plus 5.0mu
.
Con el paquete amsmath
, o a partir de la versión 2020-10-01
LaTeX, se puede utilizar tanto en modo texto como en modo
matemático; de lo contrario, en modo matemático solamente.
\negthickspace
¶Normalmente -5.0mu plus 2.0mu minus 4.0mu
. Con el paquete
amsmath
, o a partir de la versión 2020-10-01 LaTeX, se
puede usar en modo texto así como en modo matemático; de lo contrario,
solo en modo matemático.
\:
¶\>
Sinónimo:
\medspace
. Normalmente 4.0mu plus 2.0mu minus 4.0mu
.
Con el paquete amsmath
, o a partir del 2020-10-01 la versión
de LaTeX, se puede usar tanto en modo de texto como en modo
matemático; antes de eso, solo en modo matemático.
\negmedspace
¶Normalmente -4.0mu plus 2.0mu minus 4.0mu
. Con el paquete
amsmath
, o a partir de la versión 2020-10-01 LaTeX, se
puede usar en modo texto así como modo matemático; antes de eso, solo
en modo matemático.
\,
¶Sinónimo: \thinspace
. Normalmente
3mu
, que es 1/6em. Se puede usar tanto en modo
matemático como en modo texto (véase \thinspace
y \negthinspace
).
Este espacio es muy utilizado, por ejemplo entre la función y el
infinitesimal en una integral \int f(x)\,dx
y, si un autor hace
esto, antes de la puntuación en una ecuación mostrada.
La antiderivada es \begin{equation} 3x^{-1/2}+3^{1/2}\,. \end{equation} \end{equation}
\!
¶Sinónimo:
\negthinspace
. Un espacio delgado negativo. Normalmente
-3mu
. Con el paquete amsmath
, o a partir de la
versión 2020-10-01 de LaTeX, se puede usar tanto en modo de texto
como en modo matemático; de lo contrario, el comando \!
es solo
modo matemático, pero el comando \negthinspace
también ha
funcionado siempre en modo texto (véase \thinspace
y \negthinspace
).
\quad
¶Esto es 18mu, es
decir, 1em. Esto se usa a menudo para el espacio ecuaciones o
expresiones circundantes, por ejemplo para el espacio entre dos
ecuaciones dentro de un entorno displaymath
. Está disponible
tanto en modo de texto como matemático.
\qquad
¶Una longitud de 2 quads, es decir, 36mu = 2em. Esta disponible en modo texto y modo matemático.
\smash
Sinopsis:
\smash{subformula}
Escribe subformula como si su altura y profundidad fuera cero.
En este ejemplo, la exponencial es tan alta que sin el comando
\smash
LaTeX separaría su línea de la línea por encima de
él, y el espaciado desigual de las líneas puede resultar antiestético.
Para calcular la tetración $\smash{2^{2^{2^2}}}$, evaluar de arriba hacia abajo, como $2^{2^4}=2^{16}=65536$.
(Debido al \smash
, la expresión impresa se podría encontrar con
la línea anterior, por lo que es posible que desees esperar hasta la
versión final del documento para hacer tales ajustes).
Esto representa el efecto de \smash
usando \fbox
para
rodear el cuadro que LaTeX pondrá en la línea. El comando
\blackbar
crea una barra que se extiende desde 10 puntos
debajo la línea base a 20 puntos arriba.
\newcommand{\blackbar}{\rule[-10pt]{5pt}{30pt}} \fbox{\blackbar} \fbox{\smash{\blackbar}}
El primer cuadro que coloca LaTeX tiene una altura de 20 puntos y 10 puntos de profundidad. Pero el segundo cuadro es tratado por LaTeX como teniendo cero altura y cero profundidad, a pesar de que la tinta impresa en la página aún se extiende muy por encima y por debajo de la línea.
El comando \smash
aparece a menudo en matemáticas para ajustar
el tamaño de un elemento que rodea una subfórmula. Aquí el primer
radical se extiende por debajo de la línea base mientras que el
segundo se encuentra justo en la línea base.
\begin{equation} \sqrt{\sum_{0\leq k< n} f(k)} \sqrt{\vphantom{\sum}\smash{\sum_{0\leq k< n}} f(k)} \end{equation}
Ten en cuenta el uso de \\vphantom
para dar al comando
\sqrt
un argumento con la altura de \sum
(véase \phantom
, \vphantom
y \hphantom
).
Si bien se usan con mayor frecuencia en matemáticas, estos tres pueden
aparecer en otros contextos. Sin embargo, no hacen que LaTeX
cambie a modo horizontal. Entonces, si uno de estos comienza un
párrafo, lo debes anteponer con \leavevmode
.
xxx xxx xxx \smash{yyy} % sin sangría de párrafo \leavevmode\smash{zzz} % sangría de párrafo habitual
El paquete mathtools
tiene operadores
que brindan control sobre romper un cuadro de subfórmula.
\phantom
, \vphantom
y \hphantom
Sinopsis:
\phantom{subformula}
o
\vphantom{subformula}
o
\hphantom{subformula}
El comando \phantom
crea un cuadro con la misma altura,
profundidad y ancho como subformula, pero vacío. Es decir, este
comando provoca que LaTeX escriba el espacio pero no lo llena con
el material. Aquí LaTeX pondrá una línea en blanco con el ancho
correcto para la respuesta, pero no mostrará esa respuesta.
\begin{displaymath} \int x^2\,dx=\mbox{\underline{$\phantom{(1/3)x^3+C}$}} \end{displaymath}
La variante \vphantom
produce un cuadro invisible con el mismo
tamaño vertical que subformula, la misma altura y profundidad,
pero teniendo ancho cero. Y \hphantom
crea un cuadro con el
mismo ancho que subformula pero con altura y profundidad cero.
En este ejemplo, la torre de exponentes en la segunda expresión del
sumando es tan alto que TeX coloca esta expresión más abajo que su
predeterminado. Sin ajuste, las dos expresiones de sumando estarían
en niveles diferentes. El \vphantom
en la primera expresión
dice a TeX que deje tanto espacio vertical como para la torre, por
lo que las dos expresiones salen al mismo nivel.
\begin{displaymath} \sum_{j\in\{0,\ldots\, 10\}\vphantom{3^{3^{3^j}}}} \sum_{i\in\{0,\ldots\, 3^{3^{3^j}}\}} i\cdot j \end{displaymath}
Estos comandos a menudo se usan junto con \smash
.
Véase \smash
, que incluye otro ejemplo de \vphantom
.
Los tres comandos fantasma aparecen a menudo,
pero ten en cuenta que LaTeX proporciona un conjunto de otros
comandos para trabajar con tamaños de caja que pueden ser más
convenientes, incluyendo \makebox
(véase \mbox
y \makebox
)
también como \settodepth
(véase \settodepth
),
\settoheight
(véase \settoheight
), y \settowidth
(véase \settowidth
). Además, el paquete mathtools
tiene
muchos comandos que ofrecen control detallado sobre el espaciado.
Los tres comandos producen una caja ordinaria, sin
ningún estado de matemáticas especial. Entonces, para hacer algo como
adjuntar un superíndice, deberías darle ese estado, por ejemplo con el
comando \operatorname
del paquete amsmath
.
Si bien se usan con mayor frecuencia en matemáticas, estos tres pueden
aparecer en otros contextos. Sin embargo, no hacen que LaTeX
cambie a modo horizontal. Entonces, si uno de estos comienza un
párrafo, lo debes anteponer con \leavevmode
.
\mathstrut
Sinopsis:
\mathstrut
El análogo de \strut
para matemáticas. Véase \strut
.
La entrada $\sqrt{x} + \sqrt{x^i}$
da salida donde el
segundo radical es más alto que el primero. Para agregar espacio
vertical adicional sin ningún espacio horizontal, para que los dos
tengan la misma altura, usa $\sqrt{x\mathstrut} +
\sqrt{x^i\mathstrut}$
.
El comando \mathstrut
agrega la altura vertical de un
paréntesis de apertura, (
, pero sin espacio horizontal. Se
define como \vphantom{(}
, así que \phantom
, \vphantom
y \hphantom
para más. Una ventaja sobre \strut
es que
\mathstrut
no agrega profundidad, que suele ser lo correcto
para las fórmulas. Usar la altura de un paréntesis de apertura es
solo una convención; para un control completo sobre la cantidad de
espacio, usa \rule
con un ancho cero. Véase \rule
.
Las reglas de TeX para escribir una fórmula dependen del contexto.
Por ejemplo, dentro de una ecuación mostrada, la entrada
\sum_{0\leq i<n}k^m=\frac{n^{m+1}}{m+1}+\mbox{términos
de orden inferior}
dará salida con el índice de suma centrado debajo
del símbolo de suma. Pero si esa entrada está en línea, entonces el
índice de suma está a la derecha en lugar de debajo, por lo que no
empujará aparte las líneas. Del mismo modo, en un contexto mostrado,
los símbolos en el numerador y el denominador será más grande que para
un contexto en línea, y en mostrar subíndices matemáticos y los
superíndices están más separados que en matemáticas en línea.
TeX usa cuatro estilos matemáticos.
\begin{equation}
... \end{equation}
.
TeX determina un estilo matemático predeterminado, pero lo puedes
redefinir con una declaración de \displaystyle
, o
\textstyle
, o \scriptstyle
o \scriptscriptstyle
.
En este ejemplo, la fracción de la línea ‘Arithmetic’ se verá arrugada.
\begin{tabular}{r|cc} \textsc{Name} &\textsc{Series} &\textsc{Sum} \\ \hline Arithmetic &$a+(a+b)+(a+2b)+\cdots+(a+(n-1)b)$ &$na+(n-1)n\cdot\frac{b}{2}$ \\ Geometric &$a+ab+ab^2+\cdots+ab^{n-1}$ &$\displaystyle a\cdot\frac{1-b^n}{1-b}$ \\ \end{tabular}
Pero debido a la declaración \displaystyle
, la fracción de la
línea ‘Geometric’ será fácil de leer, con caracteres del mismo
tamaño que en el resto de la línea.
Otro ejemplo es que, en comparación con la misma entrada sin la declaración, el resultado de
obtenemos $\pi=2\cdot{\displaystyle\int_{x=0}^1 \sqrt{1-x^2}\,dx}$
tendrá un signo integral que es mucho más alto. Ten en cuenta que
aquí el \displaystyle
se aplica solo a una parte de la fórmula,
y está delimitado por estar dentro de llaves, como
‘{\displaystyle ...}’.
El último ejemplo es una fracción continua.
\begin{equation} a_0+\frac{1}{ \displaystyle a_1+\frac{\mathstrut 1}{ \displaystyle a_2+\frac{\mathstrut 1}{ \displaystyle a_3}}} \end{equation}
Sin las declaraciones de \displaystyle
, los denominadores
serían establecido en estilo script y estilo scriptscript. (El
\mathstrut
mejora la altura de los denominadores;
véase \mathstrut
).
LaTeX contiene una amplia variedad de funciones matemáticas. Aquí están algunas que no encajan en otras categorías.
:
y \colon
Sinopsis, una de:
: \colon
En matemáticas, el carácter de dos puntos, :
, es una relación.
Con proporciones laterales \( 3:4 \) y \( 4:5 \), el triángulo es correcto.
LaTeX ordinario define \colon
para producir el carácter de
dos puntos con el espacio apropiado para la puntuación, como en la
notación de creación de conjuntos \{x\colon 0\leq x<1\}
.
Pero el paquete amsmath
ampliamente
utilizado define \colon
para su uso en la definición de
funciones f\colon D\to C
. Así que si quieres el carácter de
dos puntos como puntuación y entonces usa \mathpunct{:}
.
\*
Sinopsis:
\*
Un símbolo de multiplicación que permite un salto de línea. Si hay un
salto entonces LaTeX pone un símbolo \times
,
×, antes de ese salto.
En \( A_1\* A_2\* A_3\* A_4 \)
, si no hay salto de línea,
entonces LaTeX los muestra como si fuera \( A_1 A_2 A_3 A_4
\)
. Si ocurre un salto de línea, por ejemplo, entre los dos del
medio, entonces LaTeX lo establece como \( A_1 A_2 \times
\)
, seguido por el salto, seguido de \( A_3 A_4 \)
.
\frac
Sinopsis:
\frac{numerator}{denominator}
Produce la fracción. Usado como: \begin{displaymath}
\frac{1}{\sqrt{2\pi\sigma}} \end{displaymath}
. En el modo
math en línea sale pequeño; ve la explicación de \displaystyle
(véase Fórmulas math).
\sqrt
Sinopsis, una de:
\sqrt{arg} \sqrt[root-number]{arg}
La raíz cuadrada, u opcionalmente otras raíces, de arg. El
argumento opcional root-number da la raíz, es decir, ingresa la
raíz cúbica de x+y
como \sqrt[3]{x+y}
.
El tamaño del radical crece con el de arg (conforme la altura
del radical crece, el ángulo en la parte más a la izquierda se hace
más pronunciado, hasta que arg
es lo suficientemente alto, es
vertical).
LaTeX tiene un símbolo \surd
separado para hacer una raíz
cuadrada sin arg (véase Símbolos matemáticos).
A medida que LaTeX procesa tu documento, en cualquier momento se encuentra en uno de seis modos. Se dividen en tres categorías de dos cada una, los modos horizontales, los modos matemáticos y los modos verticales. Algunos comandos solo funcionan en un modo u otro (en particular, muchos comandos solo funcionan en uno de los modos matemáticos), y los mensajes de error se referirán a estos.
modo LR (para el modo de izquierda a
derecha; en TeX simple esto se llama modo horizontal
restringido) está en vigor cuando se inicia LaTeX hace una caja
con un comando \mbox
. Como en el modo de párrafo, la salida de
LaTeX es una cadena de palabras con espacios entre ellas. A
diferencia de en modo párrafo, en modo LR LaTeX nunca comienza una
nueva línea, simplemente continúa de izquierda a derecha. (Aunque
LaTeX no se quejará que la caja LR es demasiado larga, cuando está
terminada y luego intenta poner esa caja en una línea, bien se podría
quejar de que la caja LR terminada no cabe allí).
Muestra modo math es cuando LaTeX está generando una fórmula
matemática. (Las fórmulas mostradas difieren un poco de las fórmulas
en línea. Un ejemplo es que la ubicación del subíndice en \int
difiere en las dos situaciones).
Modo vertical interno está
en efecto cuando LaTeX comienza a hacer una \vbox
. No tiene
saltos de página, y como tal es el análogo vertical del modo LR.
Por ejemplo, si comienzas un artículo de LaTeX con ‘Let \( x \) ...’ entonces estos son los modos: primero LaTeX inicia cada documento en modo vertical, entonces lee la ‘L’ y cambia al modo párrafo, entonces el siguiente cambio ocurre en la ‘\(’ donde LaTeX cambia al modo matemático, y luego, cuando sale de la fórmula, parece volver al modo de párrafo.
El modo párrafo tiene dos subcasos. Si usas un comando
\parbox
o un minipage
entonces LaTeX se pone en modo
párrafo. Pero no pondré un salto de página aquí. Dentro de una de
estas cajas, llamada parbox, LaTeX está en modo de
párrafo interior. Es la situación mas usual, donde puedes poner
saltos de página, es modo de párrafo externo (véase Salto de página).
\ensuremath
Sinopsis:
\ensuremath{formula}
Se asegura de que formula esté escrito en modo matemático.
Por ejemplo, puedes redefinir comandos que normalmente solo se pueden usar en modo matemático, para que se puedan usar tanto en matemáticas como en texto sin formato.
\newcommand{\dx}{\ensuremath{dx}} En $\int f(x)\, \dx$, el \dx{} es un infinitesimal.
Precaución: el comando \ensuremath
es útil pero no una panacea.
\newcommand{\alf}{\ensuremath{\alpha}} Obtienes un alfa en modo texto: \alf. Pero compara el espaciado correcto en $\alf+\alf$ con el de \alf+\alf.
Lo mejor es escribir cosas matemáticas en modo math.
El estilo de una página determina dónde coloca LaTeX los componentes de esa página, como encabezados y pies de página, y el cuerpo del texto. Este incluye páginas en la parte principal del documento pero también incluye páginas especiales como la portada de un libro, una página de un índice o la primera página de un artículo.
El paquete fancyhdr
se usa comúnmente
para construir estilos de página. Ve su documentación.
\maketitle
Sinopsis:
\maketitle
Genera un título. En las clases estándar el título aparece en una
página separada, excepto en la clase article
donde está en la
parte superior de la primera página. (Véase Opciones de la clase documento, para obtener información sobre la opción titlepage
de la clase documento).
Este ejemplo muestra que \maketitle
aparece en su lugar
habitual, inmediatamente después de \begin{document}
.
\documentclass{article} \title{Construir un reactor nuclear usando solo cocos} \author{Jonas Grumby\thanks{% Con el apoyo de una beca Ginger de la Roy Hinkley Society.} \\ Capitán, \textit{Minnow} \and Willy Gilligan\thanks{% Gracias a la fundación Mary Ann Summers ya Thurston y Lovey Howell.} \\ Compañero, \textit{Minnow} } \date{1964-Sep-26} \begin{document} \maketitle Solo siéntate y escucharás un cuento, el cuento de un fatídico viaje. Que partió desde este puerto tropical, a bordo de este diminuto barco. El compañero era un navegante poderoso, el Capitán valiente y seguro. Un conjunto de cinco pasajeros navega ese día para un recorrido de tres horas. Un recorrido de tres horas. ...
Le dices a LaTeX la información utilizada para producir el título
haciendo las siguientes declaraciones. Estos deben venir antes de
\maketitle
, ya sea en el preámbulo o en el cuerpo del
documento.
Requerido. Declara el autor o autores del documento. El argumento es
un lista de autores separados por los comandos \and
. Para
separar líneas dentro de la entrada de un solo autor, por ejemplo,
para dar la institución o dirección, usa una barra invertida doble,
\\
. Si omites la declaración \author
entonces obtienes
‘Advertencia LaTeX: Sin \autor dado’.
\date{text}
¶Opcional. Declara text como la fecha del documento. El
text no necesita estar en un formato de fecha; puede ser
cualquier texto. Si omites \date
entonces LaTeX usa la
fecha actual (véase \today
). Para no tener fecha, utiliza
\date{}
.
\thanks{text}
¶Opcional. Produce una nota al pie. Lo puedes usar en la información del autor para agradecimientos como se ilustra arriba, pero también lo puedes usar en el título, o cualquier lugar donde tenga sentido una marca de nota al pie. Puede ser cualquier texto en absoluto para que lo puedas usar para cualquier propósito, como imprimir una dirección de correo electrónico.
\title{text}
¶Requerido. Declara text como título del documento. Obtiene un
salto de línea dentro de text con una barra invertida doble,
\\
. Si omites la declaración \title
, entonces el
comando \maketitle
produce el ‘Error de LaTeX: No se
proporcionó \title’.
Para crear tu propia página de título, titlepage
. También lo
puedes crear como único o lo puedes incluir como parte de un comando
\maketitle
renovado. (Muchos editores proporcionarán una clase
para usar en lugar de article
que formatea el título según sus
requisitos de la casa).
\pagenumbering
Sinopsis:
\pagenumbering{number-style}
Especifica el estilo de los números de página y restablece el número de página. El estilo de numeración se refleja en la página, y también en la tabla de contenido y otras referencias de página. Esta declaración tiene alcance global por lo que su efecto no se detiene por un final de grupo como una llave de cierre o un fin de entorno.
En este ejemplo, antes de la sección ‘Principal’ las páginas
están numeradas ‘a’, etc. Comenzando en la página que contiene la
llamada a \pagenumbering
en esa sección, las páginas están
numeradas ‘1’, etc.
\begin{document}\pagenumbering{alph} ... \section{Main}\pagenumbering{arabic} ...
El argumento number-style es uno de los siguientes
(también \alph \Alph \arabic \roman \Roman \fnsymbol
: Imprime contadores).
arabic
número arábigo: 1, 2, …
roman
Números romanos en minúsculas: i, ii, …
Roman
Números romanos en mayúsculas: I, II, …
alph
minúsculas: a, b, … Si tienes más de 26 páginas, entonces obtén ‘Error de LaTeX: Contador demasiado grande’.
Alph
letras mayúsculas: A, B, … Si tiene más de 26 páginas, entonces obtienes ‘Error de LaTeX: Contador demasiado grande’.
gobble
¶LaTeX no genera un número de página, aunque se
reinicia. Las referencias a esa página también están en blanco.
(Esto no lo hace trabajar con el popular paquete hyperref
para tener el número de página no aparece, es posible que desees
utilizar \pagestyle{empty}
o \thispagestyle{empty}
).
Tradicionalmente, si un documento tiene antesala—prefacio, tabla de
contenido, etc.—entonces se numera con números romanos en
minúsculas. El asunto principal de un documento utiliza el árabe.
Véase \frontmatter
, \mainmatter
, \backmatter
.
Si deseas cambiar el lugar donde aparece el número de página en la
página, \pagestyle
. Si deseas cambiar el valor del número de
página, entonces manipula el contador page
(véase Contadores).
\pagestyle
Sinopsis:
\pagestyle{style}
Declaración que especifica cómo se componen los encabezados y pies de página, desde la página actual en adelante.
Una explicación con un ejemplo está abajo. Ten en
cuenta primero que el paquete fancyhdr
es ahora la forma
estándar de manipular encabezados y pies de página. Nuevos documentos
que necesitan hacer algo diferente a una de las opciones estándar a
continuación deben usar este paquete. Ve su documentación en CTAN.
Valores para style:
plain
El encabezado está vacío. El pie de página contiene solo un número de página, centrado.
empty
Tanto el encabezado como el pie de página están vacíos.
headings
Coloca encabezados y pies de página continuos en cada página. El estilo del documento especifica lo que va allí; ve la explicación a continuación.
myheadings
Encabezados personalizados, especificados a través de los comandos
\markboth
o \markright
.
Un poco de discusión sobre la motivación del mecanismo de LaTeX te
ayudará a trabajar con las opciones headings
o
myheadings
. La fuente del documento a continuación produce un
artículo, a dos caras, con el estilo de página headings
. En
las páginas de la izquierda de este documento, LaTeX quiere (además
del número de página) el título de la sección actual. En sus páginas
de la derecha LaTeX quiere el título de la subsección actual.
Cuando crea una página, LaTeX obtiene esta información del comandos
\leftmark
y \rightmark
. Así que depende de
\section
y \subsection
para almacenar esa información
allí.
\documentclass[twoside]{article} \pagestyle{headings} \begin{document} ... \section{Section 1} ... \subsection{Subsección 1.1} ... \section{Sección 2} ... \subsection{Subsección 2.1} ... \subsection{Subsección 2.2} ...
Supongamos que la segunda sección cae en una página de la izquierda. Aunque cuando la página comienza en la primera sección, LaTeX pondrá ‘Sección 2’ en el encabezado de la página izquierda. En cuanto al encabezado derecho, si ninguna subsección comienza antes del final de la página derecha, entonces LaTeX deja en blanco el encabezado de la derecha. Si una subsección aparece antes de terminar la página derecha entonces hay dos casos. Si al menos una subsección comienza en la página de la derecha, entonces LaTeX colocará el encabezado derecho en el título de la primera subsección que comienza en esa página derecha. Si al menos uno de 2.1, 2.2, …, comienza en la página izquierda pero ninguno empieza a la derecha entonces LaTeX pone en el encabezado de la derecha el título del último inciso por comenzar, es decir, el que esté vigente durante la página de la derecha.
Para lograr esto, en un artículo de dos caras, LaTeX hace que
\section
emita un comando \markboth
, configurando
\leftmark
a ‘Section 2’ y configura \rightmark
en un contenido vacío. Y, LaTeX hace que \subsection
emita
un comando \markright
, configurando \rightmark
a
‘Subsección 2.1’, etc.
Aquí están las descripciones de \markboth
y \markright
:
\markboth{left-head}{right-head}
¶Establece la información de rumbo tanto a la derecha como a la
izquierda para un estilo de página de headings
o
myheadings
. Una página de la izquierda el encabezado
left-head es generado por el último comando \markboth
antes del final de la página. Un encabezado de página a la derecha
right-head es generado por el primer \markboth
o
\markright
que viene en la página si hay uno, de lo contrario
por el último que vino antes de esa página.
\markright{right-head}
¶Establece el encabezado de la página de la derecha, dejando el izquierdo sin cambios.
\thispagestyle
Sinopsis:
\thispagestyle{style}
Funciona de la misma manera que el \pagestyle
(véase \pagestyle
), excepto que cambia a style solo para la
página actual. Esta declaración tiene alcance global, por lo que su
efecto no está delimitado por llaves o entornos.
A menudo, la primera página de un capítulo o sección tiene un estilo
diferente. Por ejemplo, este documento de libro LaTeX tiene la
primera página del primer capítulo en estilo plain
, como es el
predeterminado (véase Estilos de página).
\documentclass{book} \pagestyle{headings} \begin{document} \chapter{Primer capítulo} ... \chapter{Segundo capítulo}\thispagestyle{empty} ...
El estilo plain
tiene un número de página, centrado en el pie
de página. Para hacer que la página esté completamente vacía, el
comando \thispagestyle{empty}
sigue inmediatamente al segundo
\chapter
.
LaTeX tiene muchas formas de producir espacios en blanco o espacios llenos. Algunos de estos se adaptan mejor al texto matemático; para estos Espaciado en modo matemático.
\enspace
, \quad
y \qquad
\hspace
\hfill
\hss
\spacefactor
\
~
\thinspace
y \negthinspace
\/
\hrulefill
y \dotfill
\bigskip
, \medskip
y \smallskip
\bigbreak
, \medbreak
y \smallbreak
\strut
\vspace
\vfill
\addvspace
\enspace
, \quad
y \qquad
Sinopsis, una de:
\enspace \quad \qquad
Inserta un espacio horizontal de 1/2em, 1em o 2em. La em es una longitud definida por un diseñador de fuentes, a menudo considerada como el ancho de una M mayúscula. Una ventaja de describir el espacio en ems es que puede ser más portátil entre documentos que una medida absoluta como puntos (véase Longitudes/em).
Esto pone un espacio adecuado entre dos gráficos.
\begin{center} \includegraphics{womensmile.png}% \qquad\includegraphics{mensmile.png} \end{center}
Véase Espaciado en modo matemático, para \quad
y
\qquad
. Estas son longitudes de siglos de composición
tipográfica y, por lo tanto, pueden ser una mejor opción en muchas
circunstancias que las longitudes arbitrarias, como las que se
obtienen con \hspace
.
\hspace
Sinopsis, una de:
\hspace{length} \hspace*{length}
Inserta la cantidad length de espacio horizontal. length
puede ser positiva, negativa o cero; agregar una cantidad negativa de
espacio es como retroceder. Es una longitud elástica, es decir, puede
contener un componente plus
o minus
, o ambas
(véase Longitudes). Debido a que el espacio se puede estirar y
contraer, a veces se le llama pegamento.
Esto hace una línea con ‘Name:’ a una pulgada del margen derecho.
\noindent\makebox[\linewidth][r]{Name:\hspace{1in}}
La forma *
inserta un espacio horizontal que no se puede
descartar. Más precisamente, cuando TeX divide un párrafo en
líneas blancas el espacio—pegamentos y kerns—que vienen en un
salto de línea se descartan. La forma-*
evita eso
(técnicamente, agrega un elemento invisible no descartable delante del
espacio).
En este ejemplo
\parbox{0.8\linewidth}{% Completa cada espacio en blanco: Cuatro \hspace*{1in} y hace siete años nuestros padres produjeron en este continente, un nuevo \hspace*{1in}, concebido en \hspace*{1in}, y dedicado a la propuesta que todos los hombres son creados \hspace*{1in}.}
el espacio en blanco de 1 pulgada que sigue a ‘concebido en’
cae al principio de una linea. Si borras el *
entonces
LaTeX descarta el espacio en blanco.
Aquí, el \hspace
separa los tres gráficos.
\begin{center} \includegraphics{lion.png}% el espacio extra queda fuera del comentario \hspace{1cm minus 0.25cm}\includegraphics{tiger.png}% \hspace{1cm minus 0.25cm}\includegraphics{bear.png} \end{center}
Porque el argumento de cada \hspace
tiene minus 0.25cm
,
cada uno se puede encoger un poco si las tres figuras son demasiado
anchas. Pero cada espacio no se reducirá más de 0.25cm
(véase Longitudes).
\hfill
Sinopsis:
\hfill
Produce una longitud elástica que no tenga espacio natural pero que se pueda estirar horizontalmente tanto como sea necesario (véase Longitudes).
Esto crea un párrafo de una línea con ‘Name:’ en el lado izquierdo de la página y ‘Prueba uno’ a la derecha.
\noindent Name:\hfill Prueba uno
El comando \hfill
es equivalente a \hspace{\fill}
y
por lo que el espacio se puede descartar en los saltos de línea. Para
evitar eso, en su lugar usa \hspace*{\fill}
(véase \hspace
).
Aquí las gráficas están espaciadas uniformemente en el centro de la figura.
\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} ... \begin{figure} \hspace*{\fill}% \vcenteredhbox{\includegraphics{graph0.png}}% \hfill\vcenteredhbox{\includegraphics{graph1.png}}% \hspace*{\fill}% \caption{Comparación de dos gráficos} \label{fig:twographs} \end{figure}
Ten en cuenta los \hspace*
donde el espacio se podría eliminar.
\hss
Sinopsis:
\hss
Produce un espacio horizontal que es infinitamente contraíble así como
infinitamente extensible (este comando es un primitivo TeX). Los
autores LaTeX deben alcanzar primero el comando \makebox
para obtener efectos de \hss
(véase \mbox
y \makebox
).
Aquí, el \hss
de la primera línea hace que la Z sobresalga
hacia la derecha, sobrescribiendo la Y. En la segunda línea, la Z
sobresale a la izquierda, sobrescribiendo la X.
X\hbox to 0pt{Z\hss}Y X\hbox to 0pt{\hss Z}Y
Sin el \hss
obtienes algo como ‘Sobrecarga \hbox
(6.11111pt demasiado ancho) detectado en la línea 20’.
\spacefactor
Sinopsis:
\spacefactor=integer
Influye en el comportamiento de estiramiento y contracción del pegamento de LaTeX. La mayoría a nivel de usuario los documentos no utilizan este comando.
Mientras LaTeX está estilizando el material, puedes estirar o
encoger los espacios entre palabras. (Este espacio no es un carácter;
se llama el pegamento entre palabras; véase \hspace
). El
comando \spacefactor
(de TeX simple) te permite, por
ejemplo, hacer que el espacio después de un punto se extienda más que
el espacio después de una letra de final de palabra.
Después de que LaTeX coloca cada carácter, regla u otro cuadro, establece un parámetro llamado factor de espacio. Si lo siguiente en la entrada es un espacio, entonces este parámetro afecta cuánto se puede estirar o encoger. Un factor de espacio que es mayor que el valor normal significa que el pegamento se puede estirar más y encoger menos. Normalmente, el espacio factor es 1000. Este valor está en efecto después de la mayoría de los caracteres, y cualquier cuadro que no sea de caracteres o fórmula matemática. Pero es 3000 después de un punto, signo de exclamación o signo de interrogación, es 2000 después de dos puntos, 1500 después un punto y coma, 1250 después de una coma y 0 después de un paréntesis derecho o paréntesis, comillas dobles de cierre o comillas simples. Finalmente, es 999 después de una letra mayúscula.
Si el factor espacio f es 1000, entonces el espacio de pegamento será el valor del espacio normal de la letra (para Computer Modern Roman 10 puntos esto es 3.3333 puntos). De lo contrario, si el factor de espacio f es mayor de 2000, entonces TeX agrega el valor de espacio extra de la letra (para Computer Modern Roman 10 point esto es 1.11111 points), y entonces la letra el valor de estiramiento normal se multiplica por f /1000 y el valor normal el valor de contracción se multiplica por 1000/f (para Computer Modern Roman 10 puntos, estos son 1.66666 y 1.11111 puntos).
Por ejemplo, considera el punto que termina El mejor amigo de un
hombre es su perro.
Después de eso, TeX pone un espacio extra
fijo, y también permite que el pegamento para estirar 3 veces más y
encoger 1/3 más, que el pegamento después de amigo
, que no
termina en un punto.
Las reglas para los factores espaciales son aún más complejas porque
juegan papeles adicionales. En la práctica, hay dos consecuencias.
Primero, si un punto u otro signo de puntuación está seguido por un
paréntesis derecho o corchete, o comillas simples o dobles a la
derecha, entonces el efecto de espaciado de ese período lleva a través
de esos caracteres (es decir, el pegamento siguiente habrá aumentado
el estiramiento y la contracción). Segundo, si la puntuación viene
después de una letra mayúscula, entonces su efecto no está en su lugar
por lo que obtienes un espacio ordinario. Este segundo caso también
afecta a las abreviaturas que no terminen en mayúscula (véase \@
).
Solo puedes usar \spacefactor
en modo párrafo o modo LR
(véase Modos). Puedes ver el valor actual con
\the\spacefactor
o \showthe\spacefactor
.
(Comentario, no realmente relacionado con \spacefactor
: si
obtienes errores como ‘No puedes usar `\spacefactor' en modo
vertical’, o ‘No puedes usar `\spacefactor' en modo matemático.’,
o ‘Impropio \spacefactor’ entonces probablemente hayas intentado
redefinir un comando interno. Véase \makeatletter
y \makeatother
).
\@
Sinopsis:
capital-letter\@.
Trata un punto como final de oración, donde LaTeX de lo contrario
pensaría que es parte de una abreviatura. LaTeX piensa que un
punto termina una abreviatura si el punto va después de una letra
mayúscula, y en caso contrario piensa que el punto termina la oración.
De manera predeterminada, al justificar una línea LaTeX ajusta el
espacio después de un punto final de oración (o un signo de pregunta,
de exclamación, coma o dos puntos) más de lo que ajusta el espacio
entre palabras (véase \spacefactor
).
Este ejemplo muestra los dos casos para recordar.
Las canciones \textit{Guitarra roja}, etc.\ son de Loudon Wainwright~III\@.
El segundo punto termina la oración, a pesar de que está precedido por
una mayúscula. Le decimos a LaTeX que termina la oración poniendo
\@
antes. El primer punto termina la abreviatura ‘etc.’
pero no la oración. El espacio de barra invertida, \
, produce
un espacio en la mitad de la oración.
Entonces: si tienes una letra mayúscula seguida de un punto que
termina la oración, entonces coloca \@
antes del punto. Esto
se mantiene incluso si hay un paréntesis o corchete derecho
intermedio, o derecho simple o comillas dobles, porque el efecto de
espaciado de ese período continúa esos caracteres. Por ejemplo, este
Usa la \textit{Guía de Prácticas de Instrucción}, (un libro de la MAA)\@.
tendrá el espaciado correcto entre oraciones después del punto.
El comando \@
es solo para un modo de texto. Si lo usas fuera
de un modo de texto, entonces obtienes ‘No puedes usar
`\spacefactor' en modo vertical’ (véase Modos).
Comentario: el caso inverso es un punto que termina una abreviatura
cuya última letra no es una letra mayúscula, y esa abreviatura no es
la última palabra en la oración. Para ese caso sigue el punto con una
barra invertida, (\
), o una tie, (~
), o \@
.
Algunos ejemplos son Nat.\ Acad.\ Science
y Mr.~Bean
, y
(manure, etc.\@) a la venta
(nótese en la última que la
\@
viene antes del paréntesis de cierre).
\frenchspacing
y \nonfrenchspacing
Sinopsis, una de:
\frenchspacing \nonfrenchspacing
La primera declaración hace que LaTeX maneje el espacio entre
oraciones de la misma manera que el espaciado entre palabras en medio
de una frase. El segundo vuelve al manejo predeterminado en el que el
espacio entre oraciones se estira o se encoge más
(véase \spacefactor
).
Algunas tradiciones tipográficas, incluido el inglés, prefieren
ajustar el espacio entre oraciones (o espacios después de un signo de
interrogación, signo de exclamación, coma o dos puntos) más que el
espacio entre palabras que están en medio de una oración. Declarando
\frenchspacing
(el comando es de TeX) simple cambia a la
tradición de que todos los espacios son tratados por igual.
\normalsfcodes
Sinopsis:
\normalsfcodes
Restablece los factores de espacio de LaTeX a los valores
predeterminados (véase \spacefactor
).
\
Esta sección se refiere al comando que consta de dos caracteres, una
barra invertida seguida de un espacio.
Sinopsis:
\
Produce un espacio. De manera predeterminada produce espacios en blanco de longitud 3.33333pt más 1.66666pt menos 1.11111pt.
Cuando escribes uno o más espacios en blanco entre palabras, LaTeX produce espacio blanco. Pero eso es diferente a un espacio explícito. Esto ilustra.
\begin{tabular}{rl} Un espacio en blanco:& hace algo de espacio \\ Tres espacios en blanco:& en un renglón \\ Tres espacios:&\ \ \ en un renglón \\ \end{tabular}
En la primera línea, LaTeX pone algo de espacio después de los dos
puntos. Sobre la segunda línea LaTeX colapsa los tres espacios en
blanco para generar un espacio en blanco, por lo que termina con el
mismo espacio después de los dos puntos como en la primera linea.
LaTeX los colapsaría de manera similar en un solo espacio en blanco
si uno, dos o los tres espacios en blanco fueron reemplazados por una
tabulación, o por una nueva línea. Sin embargo, la línea inferior
pide tres espacios para que el área blanca sea más ancha. Es decir,
el comando barra invertida-espacio crea una cantidad fija de espacio
horizontal. (Ten en cuenta que puedes definir un espacio horizontal
de cualquier ancho con \hspace
; \hspace
).
El comando barra-inversa-espacio tiene dos usos principales. A menudo
se usa después de secuencias de control para evitar que se traguen el
espacio en blanco que sigue, como después de \TeX
en
\TeX\ (o \LaTeX)
. (Pero usar llaves tiene la ventaja de seguir
funcionando si el siguiente carácter es un espacio en blanco o
cualquier otra no letra, como en \TeX{} (o \LaTeX{})
en la
que {}
se puede agregar después de \LaTeX
así como
después de \TeX
). El otro uso común es que marca un punto como
final de una abreviatura en lugar de terminar una oración, como en
Prof.\ Smith
o Jones et al.\ (1993)
(véase \@
).
En circunstancias normales, \
TAB y \
NEWLINE
son equivalentes a la barra invertida-espacio, \
.
Ten en cuenta también que para permitir la sangría del código fuente, en circunstancias normales, TeX ignora los espacios en blanco iniciales en una línea. Entonces el siguiente imprime ‘una palabra’:
una palabra
donde el espacio en blanco entre ‘una’ y ‘palabra’ es producido por la nueva línea después de ‘una’, no por el espacio antes de ‘palabra’.
~
Sinopsis:
before~after
El carácter tie, ~
, genera un espacio entre before
y after en el que la línea no se romperá. De manera
predeterminada el espacio en blanco tiene una longitud de
3.33333pt más 1.66666pt menos 1.11111pt
(véase Longitudes).
Ten en cuenta que la palabra ‘tie’ tiene este significado en la comunidad TeX/Texinfo; esto difiere del término tipográfico “tie”, que es un diacrítico en forma de arco, llamado acento de “lazo-después” en El libro TeX.
Aquí LaTeX no romperá la línea entre las dos últimas palabras:
Gracias al Prof.~Lerman.
Además, a pesar del punto, LaTeX no usa el espaciado al final de la
oración (véase \@
).
Los lazos evitan la separación de cosas al final de la línea donde eso
podría causar confusión. También todavía permiten la separación
silábica (de cualquiera de las palabras ligadas), por lo que
generalmente son preferibles a poner palabras consecutivas en un
\mbox
(véase \mbox
y \makebox
).
También son cuestión de gusto, a veces alarmantemente dogmáticos, entre los lectores. Sin embargo, aquí hay algunos modelos de uso, muchos de ellos de El libro de TeX.
Capítulo~12
, o Teorema~\ref{th:Wilsons}
, o
Figura~\ref{fig:KGraph}
.
(b)~Muestra que $f(x)$ es
(1)~continuo, y (2)~acotado
.
$745.7.8$~watts
(El paquete
siunitx
tiene una función especial para esto) o
144~eggs
. Esto incluye entre un número de mes y día en una
fecha: Octubre~12
o 12~Oct
. En general, en cualquier
expresión donde números y abreviaturas o símbolos están separados por
un espacio: AD~565
, o 2:50~pm
, o Boeing~747
, o
268~Camino de las llanuras
, o \$$1.4$~billón
. Otras
opciones comunes aquí son un espacio delgado (véase \thinspace
y \negthinspace
) y no hay espacio en absoluto.
equals~$n$
, o menor que~$\epsilon$
, o dado~$X$
, o
módulo~$p^e$ para todos los ~$n$
grandes (pero compara
es~$15$
con es $15$~veces la altura
). Entre símbolos
matemáticos en aposición con sustantivos: dimensión~$d$
o
función~$f(x)$
(pero compara con longitud $l$~o
más
). Cuando un símbolo es un objeto fuertemente ligado de una
preposición: de~$x$
, o de $0$ a~$1$
, o en común
con ~$m$
.
$1$,~$2$, o~$3$
o $1$,~$2$,
\ldots,~$n$
.
Donald~E. Knuth
, o Luis~I. Trabb~Pardo
, o
Charles~XII
—pero debes darle a TeX lugares para romper la
línea así que podrías hacer Charles Louis Xavier~Joseph de~la
Vall\'ee~Poussin
.
\thinspace
y \negthinspace
Sinopsis, una de:
\thinspace \negthinspace
Estos producen espacios irrompibles e inextensibles de 1/6em y
-1/6em, respectivamente. Estos son los equivalentes en modo
texto de \,
y \!
(véase Espaciado en modo matemático/\thinspace).
Puedes usar \,
como sinónimo de \thinspace
en modo
texto.
Un uso común de \thinspace
es como el espacio entre comillas
anidadas:
Killick respondió: "Escuché al capitán decir: 'Ahoy allí.'\thinspace"
Otro uso es que algunas guías de estilo requieren un \thinspace
entre una elipsis y un punto final de oración (otras guías de estilo,
creo que los tres puntos y/o los cuatro puntos son suficientes). Otro
uso específico del estilo es entre iniciales, como en
D.\thinspace E.\Knuth
.
LaTeX proporciona una variedad de comandos de
espaciado similares para el modo matemático (véase Espaciado en modo matemático). Con el paquete amsmath
, o como de la versión
2020-10-01 LaTeX, se pueden usar en modo texto así como el modo
matemático, incluido \!
para \negthinspace
; pero de lo
contrario, solo están disponibles en el modo matemático.
\/
Sinopsis:
before-character\/after-character
Inserta una corrección en cursiva, un pequeño espacio definido
por el diseñador de letra para cada carácter (posiblemente cero), para
evitar el carácter chocando con lo que sigue. Cuando usas \/
,
LaTeX toma la corrección del archivo métrico de la fuente, la
escala por cualquier escala que se ha aplicado a la fuente, y luego
inserta esa cantidad de espacio horizontal.
Aquí, si no fuera por la \/
, el before-character
cursiva f golpearía el after-character roman H
\newcommand{\companylogo}{{\it f}\/H}
porque la letra cursiva f se inclina mucho hacia la derecha.
Si after-character es un punto o una coma, no insertes una corrección en cursiva ya que esos símbolos de puntuación son tan bajos para la línea base ya. Sin embargo, con punto y coma o dos puntos, así como con letras normales, la corrección en cursiva puede ayudar. Se usa normalmente entre un cambio de fuentes cursivas o inclinadas a una fuente vertical.
Cuando usas comandos como \emph
y \textit
y
\textsl
para cambiar las fuentes, LaTeX inserta
automáticamente la corrección en cursiva cuando sea necesario
(véase Estilos de tipos de letra). Sin embargo, declaraciones como
\em
e \itshape
y \slshape
no inserta
automáticamente correcciones en cursiva.
Los caracteres verticales también pueden tener una corrección en
cursiva. Un ejemplo donde se necesita es el nombre
pdf\/\TeX
. Sin embargo, la mayoría de los caracteres verticales
tienen una corrección de cursiva cero. Algunos creadores de fuentes no
incluyen valores de corrección de cursiva ni siquiera para fuentes en
cursiva.
Técnicamente, LaTeX usa otro valor específico de fuente, el llamado
parámetro inclinado (es decir, \fontdimen1
), para
determinar si posiblemente insertar una corrección en cursiva, en
lugar de vincular la acción a comandos de fuente particulares.
No existe el concepto de corrección de cursiva en el modo matemático; el espaciado matemático está hecho de una manera diferente.
\hrulefill
y \dotfill
Sinopsis, una de:
\hrulefill \dotfill
Produce una longitud elástica horizontal infinita (véase Longitudes) que LaTeX se rellena con una regla (es decir, una línea) o con puntos, en lugar de espacio en blanco.
Esto genera una línea de 2 pulgadas de largo.
Nombre:~\makebox[2in]{\hrulefill}
Este ejemplo, cuando se coloca entre líneas en blanco, crea un párrafo que está justificado a la izquierda y a la derecha y donde el medio está lleno de manera uniforme de puntos espaciados.
\noindent John Aubrey, RN \dotfill{} Melbury Lodge
Para hacer que la regla o los puntos vayan al final de la línea, usa
\null
al comenzar o terminar.
Para cambiar el grosor de la regla, copia la definición y ajústala, como aquí
\renewcommand{\hrulefill}{% \leavevmode\leaders\hrule height 1pt\hfill\kern0pt }
que cambia el grosor predeterminado de 0.4pt a 1pt. Del mismo modo, ajusta el espacio entre puntos como con
\renewcommand{\dotfill}{% \leavevmode\cleaders\hbox to 1.00em{\hss .\hss }\hfill\kern0pt }
que cambia la longitud predeterminada de 0.33em a 1.00em.
Este ejemplo produce una línea para una firma.
\begin{minipage}{4cm} \centering \hrulefill\\ Firmado \end{minipage}
La línea mide 4cm de largo.
\bigskip
, \medskip
y \smallskip
Sinopsis, una de:
\bigskip \medskip \smallskip
Produce una cantidad de espacio vertical, grande, mediano o
pequeño. Estos comandos son frágiles (véase \protect
).
Aquí el salto sugiere el paso del tiempo (de El océano dorado por O’Brian).
El señor Saumarez tendría algo grosero que decirle, sin duda: él estaba en casa de nuevo, y era una delicia. \bigskip ``Ciento cincuenta y siete millas y un tercio, en veinticuatro horas", dijo Pedro.
Cada comando está asociado a una longitud definida en el archivo de la clase documento.
\bigskip
¶Lo mismo que \vspace{\bigskipamount}
, normalmente alrededor
de una línea de espacio, con estiramiento y contracción. El valor
predeterminado para el libro
y las clases de article
son
12pt plus 4pt minus 4pt
.
\medskip
¶Lo mismo que \vspace{\medskipamount}
, normalmente alrededor
de la mitad de una línea de espacio, con estiramiento y contracción.
El valor predeterminado para las clases book
y article
son 6pt plus 2pt minus 2pt
.
\smallskip
¶Lo mismo que \vspace{\smallskipamount}
, normalmente sobre un
espacio de un cuarto de línea, con estiramiento y contracción. El
valor predeterminado para las clases book
y article
son
3pt plus 1pt minus 1pt
.
Debido a que cada comando es un \vspace
, si lo usas en medio
del párrafo entonces insertará su espacio vertical entre la línea en
la que lo usas y la siguiente línea, no necesariamente en el lugar
donde lo usas. Así que estos son mejores entre párrafos.
Los comandos \bigbreak
, \medbreak
y \smallbreak
son similares pero también sugieren a LaTeX que este es un buen
lugar para poner un salto de página (véase \bigbreak
, \medbreak
y \smallbreak
.
\bigbreak
, \medbreak
y \smallbreak
Sinopsis, una de:
\bigbreak \medbreak \smallbreak
Produce un espacio vertical que sea grande o mediano o pequeño, y sugiere a LaTeX que este es un buen lugar para romper la página. (Las sanciones asociadas son −200, −100 y −50) respectivamente.
Véase \bigskip
, \medskip
y \smallskip
, para más. Estos comandos
producen el mismo espacio vertical pero difieren en que también
eliminan un espacio vertical precedente si es menor que lo que
insertarías (como con \addvspace
). Además, terminan un párrafo
donde se usan: este ejemplo
abc\bigbreak def ghi jkl mno pqr
generará tres párrafos, el primero que termina en ‘abc’ y el segundo comienza, después de un espacio vertical adicional y una sangría de párrafo, con ‘def’.
\strut
Sinopsis:
\strut
Asegúrate de que la línea actual tenga una altura de al menos
0.7\baselineskip
y profundidad al menos de
0.3\baselineskip
. Esencialmente, LaTeX inserta en la línea
un rectángulo de ancho cero,
\rule[-0.3\baselineskip]{0pt}{\baselineskip}
(véase \rule
). El \baselineskip
cambia con la fuente o
tamaño de fuente actual.
En este ejemplo, \strut
mantiene la caja dentro del marco de
tener altura cero.
\setlength{\fboxsep}{0pt}\framebox[2in]{\strut}
Este ejemplo tiene cuatro listas. En el primero hay una brecha mucho
mayor. entre los elementos 2 y 3 que entre los elementos 1
y 2. La segunda lista corrige eso con un \strut
al final
de su primer elemento de la segunda línea.
\setlength{\fboxsep}{0pt} \noindent\begin{minipage}[t]{0.2\linewidth} \begin{enumerate} \item \parbox[t]{15pt}{test \\ test} \item test \item test \end{enumerate} \end{minipage}% \begin{minipage}[t]{0.2\linewidth} \begin{enumerate} \item \parbox[t]{15pt}{test \\ test\strut} \item test \item test \end{enumerate} \end{minipage}% \begin{minipage}[t]{0.2\linewidth} \begin{enumerate} \item \fbox{\parbox[t]{15pt}{test \\ test}} \item \fbox{test} \item \fbox{test} \end{enumerate} \end{minipage}% \begin{minipage}[t]{0.2\linewidth} \begin{enumerate} \item \fbox{\parbox[t]{15pt}{test \\ test\strut}} \item \fbox{test} \item \fbox{test} \end{enumerate} \end{minipage}%
Las dos listas finales usan \fbox
para mostrar lo que está
sucediendo. El primer elemento \parbox
de la tercera lista va
solo al final de su segundo ‘test’, que sucede que no tiene
ningún carácter que descender por debajo de la línea base. La cuarta
lista agrega el puntal que da el espacio adicional necesario debajo de
la línea base.
El comando \strut
suele
ser útil en gráficos, como en TikZ
o Asymptote
.
Por ejemplo, puedes tener un comando como
\graphnode{nombre-nodo}
que se ajusta a un círculo
alrededor de nombre-nodo. Sin embargo, a menos que tengas
cuidado con el nombre-nodo ‘x’ y ‘y’ producirán
círculos de diferentes diámetros porque los caracteres son de
diferentes tamaños. Un \graphnode
cuidadoso podría insertar
\strut
, entonces nombre-nodo y luego dibujar el círculo.
El enfoque general de usar un \rule
ancho cero es útil en
muchas circunstancias. En esta tabla, la regla de ancho cero mantiene
la parte superior de la primera integral de golpear el \hline
.
Del mismo modo, la segunda regla evita que la segunda integral
coincida con la primera.
\begin{tabular}{rl} \textsc{Integral} &\textsc{Value} \\ \hline $\int_0^x t\, dt$ &$x^2/2$ \rule{0em}{2.5ex} \\ $\int_0^x t^2\, dt$ &$x^3/3$ \rule{0em}{2.5ex} \end{tabular}
(Aunque el comando de doble barra invertida de final de línea tiene un
argumento opcional para cambiar el salto de línea base
correspondiente, eso no resuelve este problema. Cambiar la primera
barra invertida doble a algo como \\[2.5ex]
pondrá más espacio
entre la línea de encabezado y la regla \hline
, y la integral
seguiría cumpliendo la regla).
\vspace
Sinopsis, una de:
\vspace{length} \vspace*{length}
Agrega length al espacio vertical. length puede ser
positivo, negativo o cero. Es una longitud elástica — puede
contener un componente plus
o minus
(véase Longitudes).
Esto pone espacio entre los dos párrafos.
Y dormí. \vspace{1ex plus 0.5ex} El nuevo día amaneció frío.
(Véase \bigskip
, \medskip
y \smallskip
, para interpárrafo de
espacios común).
La forma *
inserta un espacio vertical que no se puede
descartar. Más precisamente, LaTeX descarta el espacio vertical en
un salto de página y la forma-*
hace que el espacio permanezca.
Este ejemplo deja espacio entre las dos preguntas.
Pregunta: Encuentra la integral de \( 5x^4+5 \). \vspace*{2cm más 0.5cm} Pregunta: Encuentra la derivada de \( x^5+5x+9 \).
Ese espacio estará presente incluso si el salto de página cae entre las preguntas.
Si usas \vspace
en medio de un párrafo (es decir, en modo
horizontal), entonces el espacio se inserta después de la línea que
contiene el comando \vspace
; no comienza un nuevo párrafo en el
comando \vspace
.
En este ejemplo, las dos preguntas estarán espaciadas verticalmente de manera uniforme en la página, con al menos una pulgada de espacio debajo de cada una.
\begin{document} 1) ¿Quién puso el bomp en el bomp bah bomp bah bomp? \vspace{1in plus 1fill} 2) ¿Quién puso el carnero en la rama lama ding dong? \vspace{1in plus 1fill} \end{document}
\vfill
Sinopsis:
\vfill
Finaliza el párrafo actual e inserta una longitud elástica vertical que sea infinita, por lo que se puede estirar o encoger tanto como sea necesario (véase Longitudes).
A menudo se usa de la misma manera que \vspace{\fill}
,
excepto que \vfill
finaliza el párrafo actual mientras que
\vspace{\fill}
agrega el espacio vertical infinito debajo de
su línea, independientemente de la estructura del párrafo. En ambos
casos ese espacio desaparecerá en un perímetro de la página; para
eludir esto, ve la opción destacada en \vspace
.
En este ejemplo, la página está llena, por lo que las líneas superior e inferior contienen el texto ‘¡Perro perdido!’ y el segundo ‘¡Perro perdido!’ es exactamente a medio camino entre ellos.
\begin{document} ¡Perro perdido! \vfill ¡Perro perdido! % perfectamente en el medio \vfill ¡Perro perdido! \end{document}
\addvspace
Sinopsis:
\addvspace{vert-length}
Agrega un espacio vertical de vert-length. Sin embargo, si hay
dos o más \addvspace
en una secuencia y luego juntos solo
agregan el espacio necesario para que la longitud natural sea igual al
máximo de la vert-length está en esa secuencia. Este comando es
frágil (véase \protect
). El vert-length es una longitud
elástica (véase Longitudes).
Este ejemplo ilustra. El picture
dibuja una escala sobre la
cual se colocan las reglas. En un artículo LaTeX estándar, la
longitud \baselineskip
es 12pt. Como muestra la escala,
las dos reglas están separadas por 22pt: la suma del
\baselineskip
y el 10pt desde el primer
\addvspace
.
\documentclass{article} \usepackage{color} \begin{document} \setlength{\unitlength}{2pt}% \noindent\begin{picture}(0,0)% \multiput(0,0)(0,-1){25}{{\color{blue}\line(1,0){1}}} \multiput(0,0)(0,-5){6}{{\color{red}\line(1,0){2}}} \end{picture}% \rule{0.25\linewidth}{0.1pt}% \par\addvspace{10pt}% \addvspace{20pt}% \par\noindent\rule{0.25\linewidth}{0.1pt}% \end{document}
Ahora descomenta el segundo \addvspace
. No hace la brecha
20pt más; en cambio, la brecha es la suma de
\baselineskip
y 20pt. Entonces \addvspace
en
cierto sentido hace lo contrario de su nombre—se asegura de que
múltiples espacios verticales no acumulan, sino que sólo se utiliza el
más grande.
LaTeX usa este comando para ajustar el espacio vertical arriba o
abajo de un entorno que comienza un nuevo párrafo. Por ejemplo, un
entorno theorem
comienza y termina con \addvspace
, por
lo que dos theorem
consecutivos están separados por un espacio
vertical, no dos.
Un error ‘Algo anda mal, tal vez un \item’ faltante que apunta a
un \addvspace
significa que no estabas en modo vertical cuando
presionaste este comando. Una forma de cambiar eso es preceder a
\addvspace
con un comando \par
(véase \par
), como en
el ejemplo anterior.
En esencia, LaTeX pone las cosas en cajas y luego pone las cajas en una página. Así que estos comandos son centrales.
Hay muchos paquetes en CTAN que son útiles para
manipular cajas. Un complemento útil para los comandos aquí es
adjustbox
.
\mbox
y \makebox
Sinopsis, una de:
\mbox{text} \makebox{text} \makebox[width]{text} \makebox[width][position]{text}
Crea una caja, un contenedor para el material. El text está
escrito en modo LR (véase Modos) para que no se divida en líneas.
El comando \mbox
es robusto, mientras que \makebox
es
frágil (véase \protect
).
Debido a que text
no se divide en líneas, puedes usar
\mbox
para evitar la separación silábica. En este ejemplo,
LaTeX no dividirá con guiones el nombre del tanque, ‘T-34’.
El tanque soviético \mbox{T-34} es un símbolo de victoria contra el nazismo.
Las dos primeras llamadas a comandos que se muestran, \mbox
y
\makebox
, son más o menos iguales. Crean una caja apenas lo
suficientemente ancha para contener el texto. (Son como simples
\hbox
de TeX).
En la tercera versión, el argumento opcional width especifica el ancho de la caja. Ten en cuenta que el espacio ocupado por el texto no necesita igualar el ancho de la caja. Por un lado, text puede ser demasiado pequeño; esto crea un cuadro de línea completa
\makebox[\linewidth]{Examen del capítulo}
con ‘Examen del capítulo’ centrado. Pero text también puede ser demasiado ancho para width. Ve el siguiente ejemplo de cuadros de ancho cero.
En el argumento
width puedes usar las siguientes longitudes que se refieren a la
dimensión de la caja que obtiene LaTeX al componer text:
\depth
, \height
, \width
, \totalheight
(esta es la altura de la caja más su profundidad). Por ejemplo, para
hacer un cuadro con el texto estirado para duplicar el tamaño natural
se puede decir esto.
\makebox[2\width]{Obtener una camilla}
Para la cuarta versión de la sinopsis del comando, el argumento opcional position da la posición del texto dentro del cuadro. Puede tomar los siguientes valores:
c
El text está centrado (predeterminado).
l
El text está alineado a la izquierda.
r
Flujo a la derecha.
s
Estira el espacio entre palabras en text en todo el width.
El text debe contener un espacio extensible para que esto
funcione. Por ejemplo, esto podría encabezar un comunicado de prensa:
\noindent\makebox[\textwidth][s]{\large\hfil LIBERACIÓN\hfil
INMEDIATA\hfil}
Un uso común de \makebox
es crear cuadros de texto de ancho
cero. Esto pone el valor de las preguntas del cuestionario a la
izquierda de esas preguntas.
\newcommand{\pts}[1]{\makebox[0em][r]{#1 points\hspace*{1em}}} \pts{10}¿Cuál es la velocidad en el aire de una golondrina sin carga? \pts{90}¿Una golondrina africana o europea?
El borde derecho de la salida
‘10 puntos’ (ten en cuenta el espacio final después de
‘puntos’) estará justo antes de ‘Cual’. Puedes usar
\makebox
de manera similar al hacer gráficos, como en
TikZ
o Asymptote
, donde pones el borde del texto
en una ubicación en un punto conocido, independientemente de la
longitud de ese texto.
Para cajas con marcos \fbox
y \framebox
. Para
colores Cuadros de colores.
Hay una versión relacionada de \makebox
que se usa dentro del
entorno picture
, donde la longitud se da en términos de
\unitlength
(véase \makebox
(picture)).
Puesto que text está escrito en modo LR, ni una barra invertida
doble \\
ni \par
te darán una nueva línea; por ejemplo
\makebox{abc def \\ ghi}
genera ‘abc defghi’ mientras
\makebox{abc def \par ghi}
genera ‘abc def ghi’, ambos
en una sola línea. Para obtener varias líneas, \parbox
y minipage
.
\fbox
y \framebox
Sinopsis, una de:
\fbox{text} \framebox{text} \framebox[width]{text} \framebox[width][position]{text}
Crea un cuadro con un marco envolvente, cuatro reglas que rodean el
text. Estos comandos son los mismos que \mbox
y
\makebox
excepto para el marco (véase \mbox
y \makebox
). El
comando \fbox
es robusto, el comando \framebox
es frágil
(véase \protect
).
\fbox{¡Advertencia! No se muestra el trabajo, no se otorga crédito.}
LaTeX pone el texto en un cuadro, el texto no se puede dividir silábicamente. Alrededor de esa caja, separadas de ella por un pequeño espacio, hay cuatro reglas que hacen un cuadro.
Las dos primeras invocaciones de comandos, \fbox{...}
y
\framebox{...}
, son más o menos iguales. En cuanto a la
tercera y cuartas invocaciones, los argumentos opcionales te permiten
especificar el ancho de la casilla como width y la posición del
texto dentro de ese cuadro como position. Véase \mbox
y \makebox
, para la descripción completa pero aquí hay un ejemplo de
creación de un cuadro vacío de 1/4in de ancho.
\setlength{\fboxsep}{0pt}\framebox[0.25in]{\strut}}
El \strut
asegura una altura total de \baselineskip
(véase \strut
).
Estos parámetros determinan el diseño del marco.
\fboxrule
¶El grosor de las reglas alrededor de la caja cerrada. El valor
predeterminado es 0.2pt. Cámbialo con un comando como
\setlength{\fboxrule}{0.8pt}
(véase \setlength
).
\fboxsep
¶La distancia desde el marco hasta la caja cerrada. El valor
predeterminado es 3pt. Cámbialo con un comando como
\setlength{\fboxsep}{0pt}
(véase \setlength
).
Establecerlo en 0pt es útil a veces: esto colocará un marco
alrededor de la imagen sin borde blanco.
{\setlength{\fboxsep}{0pt}% \framebox{% \includegraphics[width=0.5\textwidth]{prudence.jpg}}}
Las llaves adicionales mantienen el efecto del \setlength
local.
Al igual que con \mbox
y \makebox
, LaTeX no romperá
líneas en text. Pero este ejemplo tiene líneas de ruptura
LaTeX para hacer un párrafo, y luego encuadra el resultado.
\framebox{% \begin{minipage}{0.6\linewidth} Querida, aquí debemos correr lo más rápido que podamos, solo para mantenernos en el lugar. Y si deseas ir a donde debes correr el doble de rápido que eso. \end{minipage}}
Véase Cuadros de colores, para colores que no sean blanco y negro.
El entorno picture
tiene una versión del comando
\framebox
donde las unidades dependen del \unitlength
de
picture
(véase \framebox
(picture)).
\parbox
Sinopsis, una de:
\parbox{width}{contenido} \parbox[position]{width}{contenido} \parbox[position][height]{width}{contenido} \parbox[position][height][inner-pos]{width}{contenido}
Produce un cuadro de texto de width de ancho. Usa este comando
para hacer una caja de pequeños fragmentos de texto, de un solo
párrafo. Este comando es frágil (véase \protect
).
\begin{picture}(0,0) ... \put(1,2){\parbox{1.75in}{\raggedright Debido a que el gráfico es una línea en este artículo semilog, la relación es exponencial.}} \end{picture}
El contenido se procesa en modo texto (véase Modos) por lo que
LaTeX dividirá líneas para formar un párrafo. Pero no hará varios
párrafos; para eso, usa un entorno minipage
(véase minipage
).
Las opciones para \parbox
(excepto contenido) son las
mismas como las de minipage
. Para mayor comodidad, un resumen
de las opciones está aquí, pero minipage
para obtener una
descripción completa.
Hay dos argumentos necesarios. El width es una longitud rígida (véase Longitudes). Establece el ancho del cuadro en el que LaTeX compone contenido. contenido es el texto que se coloca en esa caja. No debe tener ningún componente de creación de párrafos.
Hay tres argumentos opcionales, position, height e
inner-pos. La position da la alineación vertical de la
parbox con respecto al material circundante. Los valores
apoyados son c
o m
para hacer que el centro vertical del
parbox se alinea con el centro de la línea de texto adyacente (este es
el predeterminado), o t
para hacer coincidir la línea superior
del parbox con la línea base del material circundante, o b
para
que coincida con la línea de fondo.
El argumento opcional height redefine la altura natural de la caja.
El argumento opcional inner-pos controla la ubicación de
content dentro del parbox
. Su valor predeterminado es el
valor de position. Sus posibles valores son: t
para
poner el content en la parte superior del cuadro, c
para
ponerlo en el centro vertical, b
para colocarlo en la parte
inferior del cuadro y s
para estirarlo verticalmente (para
ello, el texto debe contener espacio extensible verticalmente).
\raisebox
Sinopsis, una de:
\raisebox{distance}{text} \raisebox{distance}[height]{text} \raisebox{distance}[height][depth]{text}
Sube o baja text. Este comando es frágil (véase \protect
).
Este ejemplo hace un comando para denotar la restricción de una función bajando el símbolo de la barra vertical.
\newcommand*\restricted[1]{\raisebox{-.5ex}{$|$}_{#1}} $f\restricted{A}$
El primer argumento obligatorio distance especifica qué tan lejos subir el segundo argumento obligatorio text. Esta es una longitud rígida (véase Longitudes). Si es negativo entonces baja text. El text se procesa en modo LR por lo que no puede contener saltos de línea (véase Modos).
Los argumentos opcionales height y depth son dimensiones. Si se especifican, redefinen la altura y profundidad natural de la caja, LaTeX compone tipográficamente text.
En los argumentos distance,
height y depth puedes utilizar las siguientes longitudes
que se refieren a la dimensión de la caja que LaTeX empieza a
componer text: \depth
, \height
, \width
,
\totalheight
(esta es la altura de la caja más su profundidad).
Esto alineará dos gráficos en su parte superior (véase Gráficos).
\usepackage{graphicx,calc} % en el preámbulo ... \begin{center} \raisebox{1ex-\height}{% \includegraphics[width=0.4\linewidth]{lion.png}} \qquad \raisebox{1ex-\height}{% \includegraphics[width=0.4\linewidth]{meta.png}} \end{center}
El primer \height
es la altura de lion.png mientras que
el segundo es la altura de meta.png.
\sbox
y \savebox
Sinopsis, una de:
\sbox{box-cmd}{text} \savebox{box-cmd}{text} \savebox{box-cmd}[width]{text} \savebox{box-cmd}[width][pos]{text}
Compone text igual que con \makebox
(véase \mbox
y \makebox
) excepto que LaTeX no lo genera, sino que lo guarda en un
registro de caja al que hace referencia una variable denominada
box-cmd. El nombre de la variable box-cmd comienza con
una barra invertida, \
. Debes haber asignado previamente el
cuadro de registro box-cmd con \newsavebox
(véase \newsavebox
). El comando \sbox
es robusto mientras
\savebox
es frágil (véase \protect
).
Esto crea y utiliza un registro de caja.
\newsavebox{\fullname} \sbox{\fullname}{John Jacob Jingleheimer Schmidt} ... \usebox{\fullname}! ¡Su nombre también es mi nombre! ¡Cuando salimos, la gente siempre grita! ¡Ahí va \usebox{\fullname}! Ya da da da da da da.
Una ventaja de usar y reutilizar un registro de caja sobre una
variable macro \newcommand
es la eficiencia, que LaTeX no
necesita vuelve a escribir repetidamente el contenido. Ve el ejemplo
a continuación.
Las dos primeras llamadas a comandos que se muestran arriba,
\sbox{box-cmd}{text}
y
\savebox{box-cmd}{text}
, son más o menos
iguales. En cuanto a la tercera y cuarta, los argumentos opcionales
te permiten especificar el ancho de la caja como width, y la
posición del texto dentro de esa caja como position.
Véase \mbox
y \makebox
, para la descripción completa.
En los comandos \sbox
y \savebox
el text es
tipografiado en modo LR para que no tenga saltos de línea
(véase Modos). Si usas estos, entonces LaTeX no te da un error
pero ignora lo que quieres: si ingresas \sbox{\newreg}{test
\\ test}
y \usebox{\newreg}
entonces obtienes
‘testtest’, mientras que si ingresas \sbox{\newreg}{test
\par test}
y \usebox{\newreg}
entonces obtienes ‘test
test’, pero no hay error ni advertencia. Para solucionar esto, usa
\parbox
o minipage
como aquí.
\newsavebox{\areg} \savebox{\areg}{% \begin{minipage}{\linewidth} \begin{enumerate} \item Primer elemento \item Segundo elemento \end{enumerate} \end{minipage}} ... \usebox{\areg}
Como ejemplo de la eficiencia de reutilizar el contenido de un registro, esto pone la misma imagen en cada página del documento colocándola en el encabezado. LaTeX solo la compone una vez.
\usepackage{graphicx} % todo esto en el preámbulo \newsavebox{\sealreg} \savebox{\sealreg}{% \setlength{\unitlength}{1in}% \begin{picture}(0,0)% \put(1.5,-2.5){% \begin{tabular}{c} \includegraphics[height=2in]{companylogo.png} \\ La oficina del presidente \end{tabular}} \end{picture}% } \markright{\usebox{\sealreg}} \pagestyle{headings}
El entorno picture
es bueno para ajustar la ubicación.
Si el registro \noreg
aún no se ha definido, obtendrás algo
como ‘Secuencia de control indefinida. <argument> \noreg’.
lrbox
Sinopsis:
\begin{lrbox}{box-cmd} text \end{lrbox}
Esta es la forma de entorno de los comandos \sbox
y
\savebox
, y es equivalente a ellos. Véase \sbox
y \savebox
,
para la descripción completa.
El text dentro del entorno se guarda en el cuadro de registro
referido por la variable box-cmd
. El nombre de la
variable box-cmd debe comenzar con una barra invertida,
\
. Debes asignar esta caja regístrate con anticipación con
\newsavebox
(véase \newsavebox
). En este ejemplo el entorno
es conveniente para ingresar el tabular
.
\newsavebox{\jhreg} \begin{lrbox}{\jhreg} \begin{tabular}{c} \includegraphics[height=1in]{jh.png} \\ Jim Hef{}feron \end{tabular} \end{lrbox} ... \usebox{\jhreg}
\usebox
Sinopsis:
\usebox{box-cmd}
Produce el cuadro guardado más recientemente en el registro de cuadro
box-cmd por los comandos \sbox
o \savebox
, o el
entorno lrbox
. Para obtener más información y ejemplos,
véase \sbox
y \savebox
. (Ten en cuenta que el nombre de la variable
box-cmd comienza con una barra invertida, \
). Este
comando es robusto (véase \protect
).
Puedes agregar color al texto, reglas, etc. También puedes tener color en un cuadro o en una página entera y escribir texto encima.
El soporte de color viene como un paquete adicional. Así que pon
\usepackage{color}
en el preámbulo de su documento para usar
los comandos descritos aquí.
Muchos otros paquetes también complementan las capacidades de color de LaTeX. Particularmente digno de mención es xcolor, que se utiliza ampliamente y extiende significativamente las capacidades descritas aquí, incluida la adición de modelos de color ‘HTML’ y ‘Hsb’.
color
Sinopsis (debe estar en el preámbulo del documento):
\usepackage[comma-separated option list]{color}
Cuando cargas el paquete color hay dos tipos de opciones de archivo disponibles.
El primero especifica el controlador de impresora. LaTeX no contiene información sobre diferentes sistemas de salida, sino que depende de información almacenada en un archivo. Normalmente no debes especificar la opción driver en el documento y, en su lugar, confía en la configuración predeterminada de tu sistema. Una ventaja de esto es que hace que el documento sea portátil a través de los sistemas. Para completar, incluimos una lista de los controladores. Los relevantes actualmente son: dvipdfmx, dvips, dvisvgm, luatex, pdftex, xetex. Los dos xdvi y oztex esencialmente son alias para dvips (y xdvi es monocromo). Los que no se deben usar para nuevos sistemas son: dvipdf, dvipdfm, dviwin, dvipsone, emtex, pctexps, pctexwin, pctexhp, pctex32, truetex, tcidvi, vtex (y dviwindo es un alias de dvipsone).
El segundo tipo de opciones, más allá de los controladores, se encuentran a continuación.
monochrome
Deshabilita los comandos de color, para que no generen errores pero tampoco generar color.
dvipsnames
Pone a disposición una lista de 68 nombres de colores que se usan con frecuencia, particularmente en documentos heredados. Estos nombres de colores originalmente fueron proporcionados por el controlador dvips, dando el nombre de la opción.
nodvipsnames
No carga esa lista de nombres de colores, ahorrando LaTeX una pequeña cantidad de espacio de memoria.
Un modelo de color es una forma de representar los colores. Las capacidades de LaTeX dependen del controlador de la impresora. Sin embargo, pdftex, los controladores de impresora xetex y luatex son, con diferencia, los más comúnmente utilizados. Los siguientes modelos funcionan para esos controladores. Todo pero uno de estos también es compatible con prácticamente todos los demás controladores de impresora usados hoy.
Ten en cuenta que la combinación de colores puede ser aditiva o sustractiva. Mezcla aditiva de colores de luz, de modo que, por ejemplo, combinando intensidades completas de rojo, verde y azul produce blanco. Mezclas sustractivas de pigmentos, como con tintas, de modo que la combinación de la intensidad total de cian, magenta y el amarillo hace negro.
cmyk
Una lista separada por comas con cuatro números reales entre 0 y 1, inclusive. El primer número es la intensidad del cian, el segundo es magenta, y los otros son amarillo y negro. Un valor numérico de 0 significa intensidad mínima, mientras que un 1 es para intensidad máxima. Este modelo a menudo se utiliza en la impresión a color. Es un modelo sustractivo.
gray
Un solo número real entre 0 y 1, ambos inclusive. Los colores son sombras de gris. El número 0 produce negro mientras que el 1 da blanco.
rgb
Una lista separada por comas con tres números reales entre 0 y 1, inclusive. El primer número es la intensidad del componente rojo, el segundo es verde, y el tercero el azul. Un valor numérico de 0 significa que no se agrega nada de ese componente, mientras que un 1 significa intensidad total. Este es un modelo aditivo.
RGB
(pdftex, xetex, luatex drivers) Una lista
separada por comas con tres números enteros entre 0 y 255, ambos
inclusive. Este modelo es una conveniencia de usar rgb
ya que
fuera de LaTeX los colores a menudo se describen en un modelo
rojo-verde-azul usando números en este rango. Los valores
introducidos aquí se convierten al modelo rgb
mediante división
entre 255.
named
Se accede a los colores por nombre, como ‘PrussianBlue’. La
lista de nombres depende del controlador, pero todos admiten los
nombres ‘black’, ‘azul’, ‘cian’, ‘verde’,
‘magenta’, ‘rojo’, ‘white’ y ‘yellow’ (Consulta la
opción dvipsnames
en Opciones del paquete color
).
Estos son los comandos disponibles con el paquete color.
Sinopsis:
\definecolor{name}{model}{specification}
Asigna el nombre name al color. Por ejemplo, después de esto
\definecolor{silver}{rgb}{0.75,0.75,0.74}
puedes usar ese nombre de color con Hola hola,
\textcolor{silver}{Silver}!
.
Este ejemplo da al color un nombre más abstracto, por lo que podría cambiar y no ser engañoso.
\definecolor{logocolor}{RGB}{145,92,131} % RGB needs pdflatex \newcommand{\logo}{\textcolor{logocolor}{Bob's Big Bagels}}
A menudo, los colores de un documento se definen en el preámbulo o en la clase o estilo, en lugar de en el cuerpo del documento.
Sinopsis:
\textcolor{name}{...} \textcolor[color model]{color specification}{...}
o
\color{name} \color[color model]{color specification}
El texto afectado obtiene el color. Esta línea
\textcolor{magenta}{Mi nombre es Ozymandias, Rey de Reyes;} ¡Mirad mis obras, poderosos, y desesperaos!
hace que la primera mitad esté en magenta mientras que el resto está
en negro. Puedes usar un color declarado con \definecolor
exactamente de la misma manera que usamos el color integrado
‘magenta’.
\definecolor{MidlifeCrisisRed}{rgb}{1.0,0.11,0.0} Estoy pensando en adquirir un \textcolor{MidlifeCrisisRed}{auto deportivo}.
Los dos \textcolor
y \color
difieren en que la primera
es una forma de comando, que incluye el texto a colorear como
argumento. Con frecuencia esta forma es más conveniente, o al menos
más explícita. La segunda forma es una declaración, como en La
luna está hecha de {\color{green} green} cheese
, por lo que está
vigente hasta el final del grupo actual o entorno. Esto a veces es
útil cuando se escriben macros o como debajo, donde colorea todo
dentro del entorno center
, incluyendo las líneas verticales y
horizontales.
\begin{center} \color{blue} \begin{tabular}{l|r} UL &UR \\ \hline LL &LR \end{tabular} \end{center}
Puedes usar el color en las ecuaciones. Un documento podría tener esta definición en el preámbulo
\definecolor{highlightcolor}{RGB}{225,15,0}
y luego contener esta ecuación.
\begin{equation} \int_a^b \textcolor{highlightcolor}{f'(x)}\,dx=f(b)-f(a) \end{equation}
Normalmente, los colores utilizados en un documento se declaran en una clase o estilo. Pero a veces quieres uno único. Esas son las segundas formas en la sinopsis.
Colores de \textcolor[rgb]{0.33,0.14,0.47}{Purple} y {\color[rgb]{0.72,0.60,0.37}Gold} para el equipo.
El formato de especificación de color depende del modelo de
color (véase Modelos de color). Por ejemplo, mientras rgb
toma tres números, gray
solo toma uno.
La selección fue \textcolor[gray]{0.5}{grayed out}.
Los colores dentro de los colores no combinan. De este modo
\textcolor{green}{clase de \textcolor{blue}{blue}}
tiene una palabra final que es azul, no una combinación de azul y verde.
Sinopsis:
\colorbox{name}{...} \colorbox[nombre del modelo]{color de fondo del cuadro}{...}
o
\fcolorbox{color del cuadro}{color de fondo del cuadro}{...} \fcolorbox[nombre del modelo]{color del cuadro}{color de fondo del cuadro}{...}
Haz un cuadro con el color de fondo indicado. El comando
\fcolorbox
pone un marco alrededor de la caja. Por ejemplo
esto
Nombre:~\colorbox{cyan}{\makebox[5cm][l]{\strut}}
hace una caja de color cian de cinco centímetros de largo y recibe su
profundidad y altura del \strut
(por lo que la profundidad es
-.3\baselineskip
y la altura es \baselineskip
). Este
pone texto blanco sobre un fondo azul.
\colorbox{blue}{\textcolor{white}{Bienvenido a la máquina.}}
Los comandos \fcolorbox
usan los mismos parámetros que
\fbox
(véase \fbox
y \framebox
), \fboxrule
y
\fboxsep
, para establecer el grosor de la regla y el límite
entre el interior de la caja y la regla circundante. Los valores
predeterminados de LaTeX son 0.4pt
y 3pt
,
respectivamente.
Este ejemplo cambia el grosor del borde a 0.8 puntos. Nota que está rodeado de llaves para que el cambio termine al final de la segunda línea.
{\setlength{\fboxrule}{0.8pt} \fcolorbox{black}{red}{Bajo ninguna circunstancia gires esta perilla.}}
Sinopsis:
\pagecolor{name} \pagecolor[modelo de color]{especificación de color} \nopagecolor
Los dos primeros establecen el fondo de la página, y todas las páginas
posteriores, al color. Para una explicación de la especificación en
la segunda forma véase Texto en color. La tercera devuelve el fondo
a la normalidad, que es un fondo transparente. (Si eso no es
compatible, usa \pagecolor{white}
, aunque eso hará un fondo
blanco en lugar del fondo transparente predeterminado).
... \pagecolor{cyan} ... \nopagecolor
Puedes usar gráficos como archivos PNG o PDF en tu documento LaTeX. Necesitas un paquete adicional, que viene estándar con LaTeX. Este ejemplo es el breve procedimiento.
\include{graphicx} % va en el preámbulo ... \includegraphics[width=0.5\linewidth]{plot.pdf}
Para usar los comandos descritos aquí, el preámbulo de tu documento
debe contener ya sea \usepackage{graphicx}
o
\usepackage{graphics}
. La mayoría de las veces,
graphicx
es la mejor elección.
Los gráficos vienen en dos tipos principales, rasterizados y vectoriales. LaTeX puede usar ambos. En gráficos rasterizados, el archivo contiene una entrada para cada ubicación en un arreglo, describiendo de qué color es. Un ejemplo es una fotografía en formato JPG. En gráficos vectoriales, el archivo contiene una lista de instrucciones como ‘dibuja un círculo con este radio y ese centro’. Un ejemplo es un dibujo lineal producido por el programa Asymptote, en formato PDF. En general, los gráficos vectoriales son más útiles porque puedes cambiar la escala de su tamaño sin pixelación u otros problemas, y porque suelen tener un tamaño más pequeño.
Hay sistemas particularmente adecuados para hacer gráficos para un
documento LaTeX. Por ejemplo, estos te permiten usar las mismas
letras como en tu documento. LaTeX viene con un entorno
picture
(véase picture
) que tiene capacidades simples.
Además de eso, hay otras formas de incluir los comandos de creación de
gráficos en el documento. Dos de dichos sistemas son los paquetes
PSTricks y TikZ. También hay sistemas externos a LaTeX, que
generan un gráfico que incluyes usando los comandos de este capítulo.
Dos que usan un lenguaje de programación son Asymptote y MetaPost.
Uno que utiliza una interfaz gráfica es Xfig. La descripción completa
de estos sistemas está fuera del alcance de este documento; ve su
documentación en CTAN.
graphics
Sinopsis (debe estar en el preámbulo del documento):
\usepackage[lista de opciones separadas por comas]{graphics}
o
\usepackage[lista de opciones separadas por comas]{graphicx}
El paquete graphicx
tiene un formato para argumentos opcionales
al comando \includegraphics
que sea conveniente (es el formato
valor-clave), por lo que es la mejor opción para documentos nuevos.
Cuando cargas el paquete graphics
o graphicx
con
\usepackage
hay dos tipos de opciones disponibles.
La primera es que LaTeX no contiene información sobre diferentes sistemas de salida, sino que depende de la información almacenada en un archivo controlador de impresora. Normalmente no debes especificar el controlador en el documento y, en su lugar, confía en la opción predeterminada de tu sistema. Una ventaja de esto es que hace que el documento sea portátil entre sistemas.
Para completar, aquí hay una lista de los controladores. Los actualmente relevantes son: dvipdfmx, dvips, dvisvgm, luatex, pdftex, xetex. Los dos xdvi y oztex esencialmente son alias para dvips (y xdvi es monocromo). Los que no se deben usar para sistemas nuevos son: dvipdf, dvipdfm, dviwin, dvipsone, emtex, pctexps, pctexwin, pctexhp, pctex32, truetex, tcidvi, vtex (y dviwindo es un alias para dvipsone). Estos se almacenan en archivos con una extensión .def, como pdftex.def.
El segundo tipo de opciones se encuentra a continuación.
demo
En lugar de un archivo de imagen, LaTeX coloca un rectángulo de
150 pt por 100 pt (a menos que se especifique otro tamaño en
el comando \includegraphics
).
draft
Para cada archivo gráfico, no se muestra, sino que su nombre de archivo es impreso en una caja del tamaño correcto. Para determinar el tamaño, el archivo debe estar presente.
final
(Predeterminado) Redefinir cualquier opción draft
anterior, de
modo que el documento muestra el contenido de los archivos gráficos.
hiderotate
No muestra texto girado. (Esto permite la posibilidad de que una vista previa no tiene la capacidad de rotar el texto).
hidescale
No mostrar texto escalado. (Esto permite la posibilidad de que una vista previa no tiene la capacidad de escalar).
hiresbb
En un archivo PS o EPS, el tamaño del gráfico se puede especificar de
dos formas. Las líneas de %%BoundingBox
describen el tamaño
del gráfico usando un número entero múltiplo de un punto PostScript,
es decir, múltiplos enteros de 1/72 pulgada. Una adición posterior al
lenguaje PostScript permite múltiplos decimales, como 1.23, en líneas
%%HiResBoundingBox
. Esta opción tiene LaTeX para leer el
tamaño de esta última.
graphics
Estos comandos configuran la forma en que LaTeX busca en el sistema de archivos gráficos.
El comportamiento del código de búsqueda del sistema de archivos necesariamente es dependiente de la plataforma. En este documento cubrimos GNU/Linux, Macintosh y Windows, así como esos sistemas suelen estar configurados. Para otras situaciones consulta la documentación en grfguide.pdf, o la fuente de LaTeX, o su documentación de la distribución de TeX.
\graphicspath
Sinopsis:
\graphicspath{lista de directorios entre llaves}
Declara una lista de directorios para buscar archivos gráficos. Esto
permite que luego digas algo como \includegraphics{lion.png}
en lugar de tener que dar su ruta.
LaTeX siempre busca archivos gráficos primero en el directorio actual (y el directorio de salida, si se especifica; véase directorio de salida). La siguiente declaración le dice al sistema que busque en el subdirectorio pix, y luego ../pix.
\usepackage{graphicx} % o gráficos; poner en el preámbulo ... \graphicspath{ {pix/} {../pix/} }
La declaración \graphicspath
es opcional. Si no lo incluyes
entonces el valor predeterminado de LaTeX es buscar en todos los
lugares en los que generalmente busca un archivo (usa el
\input@path
de LaTeX). En particular, en este caso uno de
los lugares donde mira es el directorio actual.
Encierra cada nombre de directorio entre llaves; por ejemplo arriba
dice ‘{pix}
’. Haz esto incluso si solo hay un
directorio. Cada nombre de directorio debe terminar en una barra
diagonal, /. Esto es cierto incluso en Windows, donde una
buena práctica es usar barras diagonales para todos los separadores de
directorio ya que hace que el documento sea portátil a otras
plataformas. Si tienes espacios en el nombre de tu directorio, usa
dobles comillas, como con {"my docs/"}
. Usar una de estas
reglas incorrectamente hará que LaTeX informe Error: Archivo
`filename' no encontrado
.
Básicamente, el algoritmo es que con este ejemplo, después de mirar en el directorio actual,
\graphicspath{ {pix/} {../pix/} } ... \usepackage{lion.png}
para cada uno de los directorios enumerados, LaTeX lo concatena con
el nombre de archivo y busca el resultado, encontrando
pix/lion.png y luego ../pix/lion.png. Este algoritmo
significa que el comando \graphicspath
no busca subdirectorios
recursivamente: si emites \graphicspath{{a/}}
y el gráfico
está en a/b/lion.png entonces LaTeX no lo encontrará.
También significa que puedes usar rutas absolutas como
\graphicspath{{/home/jim/logos/}}
o
\graphicspath{{C:/Users/Albert/Pictures/}}
. Sin embargo,
usar esto significa que el documento no es portátil. (Puedes
conservar portabilidad ajustando el parámetro TEXINPUTS
de tu
archivo de configuración del sistema TeX; consulta la documentación
de tu sistema).
Puedes usar \graphicspath
en cualquier parte del documento. Lo
puedes usar más de una vez. Muestra su valor con
\makeatletter\typeout{\Ginput@path}\makeatother
.
Los directorios se toman con respecto al archivo base. Eso es, supón
que estás trabajando en un documento basado en book/book.tex y
contiene \include{chapters/chap1}
. Si en chap1.tex
pones \graphicspath{{plots/}}
entonces LaTeX no buscará
gráficos en book/chapters/plots, sino en cambio en
book/plots.
\DeclareGraphicsExtensions
Sinopsis:
\DeclareGraphicsExtensions{lista de extensiones de archivo separadas por comas}
Declara las extensiones de nombre de archivo para probar. Esto te
permite especificar el orden en el que elegir los formatos gráficos
cuando incluyes archivos gráficos dando el nombre del archivo sin la
extensión, como en \includegraphics{functionplot}
.
En este ejemplo, LaTeX encontrará archivos en formato PNG antes que archivos PDF.
\DeclareGraphicsExtensions{.png,PNG,.pdf,.PDF} ... \includegraphics{lion} % encontrará lion.png antes que lion.pdf
Debido a que el nombre de archivo lion no tiene punto, LaTeX
usa la lista de extensiones. Para cada directorio en la ruta de
gráficos (véase \graphicspath
), LaTeX probará las extensiones en
el orden dado. Si no encuentra dicho archivo después de probar todos
los directorios y extensiones, entonces informa ‘! Error de
LaTeX: Archivo `lion' no encontrado’. Ten en cuenta que debes
incluir los puntos al comienzo de las extensiones.
Dado que los nombres de archivo de GNU/Linux y Macintosh distinguen entre mayúsculas y minúsculas, la lista de extensiones de archivo distinguen entre mayúsculas y minúsculas en esas plataformas. La plataforma Windows no distingue entre mayúsculas y minúsculas.
No es necesario que incluya \DeclareGraphicsExtensions
en tu
documento; el controlador de la impresora tiene un valor
predeterminado razonable. Por ejemplo, el pdftex.def más
reciente tiene esta lista de extensiones.
.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2
Para cambiar el orden, usa el paquete grfext
.
Puedes usar este comando en cualquier parte del documento. Lo puedes
usar más de una vez. Muestra su valor con
\makeatletter\typeout{\Gin@extensions}\makeatother
.
\DeclareGraphicsRule
Sinopsis:
\DeclareGraphicsRule{extension}{type}{size-file extension}{command}
Declara cómo manejar archivos gráficos cuyos nombres terminan en extensión.
Este ejemplo declara que todos los archivos con nombres de la forma nombre-de-archivo-sin-punto.mps se tratará como salida de MetaPost, lo cual significa que el controlador de la impresora usará su código de manejo de MetaPost para ingresar el archivo.
\DeclareGraphicsRule{.mps}{mps}{.mps}{}
Este
\DeclareGraphicsRule{*}{mps}{*}{}
le dice a LaTeX que debe manejar como salida MetaPost cualquier archivo con una extensión no cubierta por otra regla, por lo que cubre filename.1, nombre-de-archivo.2, etc.
Esto describe los cuatro argumentos.
La extensión de archivo a la que se aplica esta regla. La extensión es
cualquier cosa después e incluyendo el primer punto en el nombre del
archivo. Usa la estrella Kleene, forma-*
, para indicar el
comportamiento predeterminado de todas las extensiones no declaradas.
El tipo de archivo involucrado. Este tipo es una cadena que se debe
definir en el controlador de la impresora. Por ejemplo, archivos con
extensiones .ps, .eps o .ps.gz se pueden
clasificar como tipo eps
. Todos los archivos del mismo tipo se
ingresarán con el mismo comando interno por el controlador de la
impresora. Por ejemplo, los tipos de archivo que pdftex
reconoce son: jpg
, jbig2
, mps
, pdf
,
png
, tif
.
La extensión del archivo a leer para determinar el tamaño del gráfico, si existe tal archivo. Puede ser lo mismo que extension pero puede ser diferente.
Como ejemplo, considera un gráfico PostScript. Para hacerlo más
pequeño, puede estar comprimido en un archivo .ps.gz. Los
archivos comprimidos no son fáciles de leer por LaTeX para que
pueda poner la información del cuadro delimitador en un archivo
separado. Si size-file extension está vacío, entonces debes
especificar la información de tamaño en los argumentos de
\includegraphics
.
Si el archivo del controlador tiene un procedimiento para leer
archivos de tamaño para tipo
entonces se usará, de lo contrario
usará el procedimiento para leer archivos .eps. (Por lo tanto,
puedes especificar el tamaño de archivos de mapa de bits en un archivo
con una línea de estilo PostScript %%BoundingBox
si no otro
formato está disponible).
Un comando que se aplicará al archivo. Este a menudo se deja
vacío. Este comando debe comenzar con una sola comilla inversa. De
este modo,
\DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c
#1}
especifica que cualquier archivo con la extensión .eps.gz
se debe tratar como un archivo eps
, con la información de
BoundingBox almacenado en el archivo con extensión .eps.bb, y
que el comando gunzip -c
se ejecutará en tu plataforma para
descomprimir el archivo.
Tal comando es específico para tu plataforma. Además, tu sistema TeX te debe permitir ejecutar comandos externos; como medida de seguridad los sistemas modernos restringen la ejecución de comandos a menos que lo permitas explícitamente. Consulta la documentación de tu distribución TeX.
Estos son los comandos disponibles con los paquetes graphics
y graphicx
.
\includegraphics
Sinopsis del paquete graphics
:
\includegraphics{filename} \includegraphics[urx,ury]{filename} \includegraphics[llx,lly][urx,ury]{filename} \includegraphics*{filename} \includegraphics*[urx,ury]{filename} \includegraphics*[llx,lly][urx,ury]{filename}
Sinopsis del paquete graphicx
:
\includegraphics{filename} \includegraphics[key-value list]{filename} \includegraphics*{filename} \includegraphics*[key-value list]{filename}
Incluye un archivo de gráficos. La forma destacada
\includegraphics*
recortar el gráfico al tamaño especificado,
mientras que para la forma sin estrella cualquier parte del gráfico
que está fuera del cuadro del tamaño especificado se sobreimprimir el
área circundante.
Este
\usepackage{graphicx} % en el preámbulo ... \begin{center} \includegraphics{plot.pdf} \end{center}
incorporará al documento el gráfico en plot.pdf, centrado y en
su tamaño nominal. También puedes dar una ruta al archivo, como con
\includegraphics{graphics/plot.pdf}
. Para especificar una
lista de ubicaciones para buscar el archivo, véase \graphicspath
.
Si tu nombre de archivo incluye espacios, ponlo entre comillas
dobles. Un ejemplo es \includegraphics{"sister picture.jpg"}
.
El comando \includegraphics{filename}
decide sobre el
tipo de gráfico dividiendo filename en el primer punto. Puedes
en su lugar, usar filename sin punto, como en
\includegraphics{turing}
, y luego LaTeX intenta una
secuencia de extensiones como .png
y .pdf
hasta que
encuentre un archivo con esa extensión
(véase \DeclareGraphicsExtensions
).
Si tu nombre de archivo contiene puntos antes de la extensión, puedes
ocultar con llaves, como en
\includegraphics{{plot.2018.03.12.a}.pdf}
. O, si usas el
paquete graphicx
entonces puedes usar las opciones
type
y ext
; ve abajo. Este y otros problemas de nombre
de archivo también se manejan con el paquete grffile.
Este ejemplo coloca un gráfico en un entorno figure
para que
LaTeX lo pueda mover a la página siguiente si al encajarlo en la
página actual es incómodo (véase figure
).
\begin{figure} \centering \includegraphics[width=3cm]{lungxray.jpg} \caption{La evidencia es abrumadora: no fumes.} \label{fig:xray} \end{figure}
Esto coloca un gráfico que no flotará, por lo que es seguro que aparecerá en este punto en el documento incluso si haces que LaTeX estire el texto o recurra a las áreas en blanco de la página. Estará centrado y tendrá un subtítulo.
\usepackage{caption} % en el preámbulo ... \begin{center} \includegraphics{pix/nix.png} \captionof{figure}{El espíritu de la noche} \label{pix:nix} % opcional \end{center}
Este ejemplo pone una caja con un gráfico al lado de otra que tiene texto, con los dos centrados verticalmente.
\newcommand*{\vcenteredhbox}[1]{\begin{tabular}{@{}c@{}}#1\end{tabular}} ... \begin{center} \vcenteredhbox{\includegraphics[width=0.4\textwidth]{plot}} \hspace{1em} \vcenteredhbox{\begin{minipage}{0.4\textwidth} \begin{displaymath} f(x)=x\cdot \sin (1/x) \end{displaymath} \end{minipage}} \end{center}
Si usas el paquete graphics
entonces las únicas opciones
involucran el tamaño del gráfico (pero \rotatebox
y
\scalebox
). Cuando un argumento opcional está presente,
entonces es [urx,ury]
y da las coordenadas de la
parte superior esquina derecha de la imagen, como un par de
dimensiones TeX (véase Unidades de longitud). Si se omiten las
unidades, de manera predeterminada son bp
. En este caso, se
supone que la esquina inferior izquierda de la imagen está en (0,0).
Si hay dos argumentos opcionales, entonces el principal es
[llx,lly]
, especificando las coordenadas de la
imagen abajo a la izquierda. Por lo tanto,
\includegraphics[1in,0.618in]{...}
pide el gráfico se
colocará de manera que tenga 1 pulgadas de ancho y
0.618 pulgadas alto y por lo que su origen está en (0,0).
El paquete graphicx
te brinda muchas más opciones.
Especifícalos en una forma clave-valor, como aquí.
\begin{center} \includegraphics[width=1in,angle=90]{lion} \hspace{2em} \includegraphics[angle=90,width=1in]{lion} \end{center}
Las opciones se leen de izquierda a derecha. Así que el primer gráfico de arriba está hecho de una pulgada de ancho y luego se gira, mientras que el segundo se gira y luego se hace de una pulgada de ancho. Por lo tanto, a menos que el gráfico sea perfectamente cuadrado, los dos terminarán con diferentes anchos y alturas.
Hay muchas opciones. Las principales se enumeran primero.
Ten en cuenta que LaTeX coloca un gráfico en un cuadro, que es conocido tradicionalmente como su delimitador de cuadro (distinto del PostScript BoundingBox descrito a continuación). El área impresa del gráfico puede ir más allá de este cuadro, o sentarse dentro de este cuadro, pero cuando LaTeX crea una página junta casillas y esta es la casilla asignada para el gráfico.
width
El gráfico se mostrará de modo que su cuadro delimitador tenga este
ancho. Un ejemplo es \includegraphics[width=1in]{plot}
.
Puedes usar las dimensiones TeX estándar (véase Unidades de longitud) y también es conveniente \linewidth
, o en un
documento de dos columnas, \columnwidth
(véase Parámetros de composición de página). Un ejemplo es que al usar calc puedes
hacer que el gráfico sea 1 cm más estrecho que el ancho del texto
con \includegraphics[width=\linewidth-1.0cm]{hefferon.jpg}
.
height
El gráfico se mostrará de modo que su
delimitador de cuadro tenga esta altura. Puedes usar las dimensiones
TeX estándar (véase Unidades de longitud), y también
\pageheight
y \textheight
son convenientes
(véase Parámetros de composición de página). Por ejemplo, el
comando \includegraphics[height=0.25\textheight]{godel}
hará
el gráfico un cuarto de la altura del área de texto.
totalheight
El gráfico se mostrará de modo que su delimitador de cuadro tenga esta altura más profundidad. Esto difiere de la altura si se gira el gráfico. Por ejemplo, si se ha girado -90, entonces tendrá una altura cero pero una gran profundidad.
keepaspectratio
Si se establece en
true
, o simplemente se especifica como aquí
\includegraphics[...,keepaspectratio,...]{...}
y das como opciones tanto width
como height
(o
totalheight
), entonces LaTeX hará que el gráfico sea tan
grande como sea posible sin distorsión. Es decir, LaTeX se
asegurará de que el gráfico no sea más ancho que width
ni más
alto que height
(o totalheight
).
scale
Factor por el cual escalar el gráfico. Para hacer un gráfico el doble
de su tamaño nominal, ingresa
\includegraphics[scale=2.0]{...}
. Este número puede ser
cualquier valor; un número entre 0 y 1 reducirá el gráfico y un
número negativo lo reflejará.
angle
Rota el gráfico. El ángulo se toma en grados y en sentido
antihorario. El gráfico se gira sobre su origen
; ve esa
opción. Para una descripción completa de cómo se compone el material
rotado, véase \rotatebox
.
origin
El punto del gráfico sobre el que ocurre la rotación. Los posible
valores son cualquier cadena que contenga una o dos: l
para
izquierda, r
para derecha, b
para la parte inferior,
c
para el centro, t
para la parte superior y B
para la línea base. Por lo tanto, al ingresar el comando
\includegraphics[angle=180,origin=c]{moon}
convertirá la
imagen al revés sobre el centro de esa imagen, mientras que el comando
\includegraphics[angle=180,origin=lB]{LeBateau}
convertirá su
imagen al revés sobre su línea base izquierda. (El carácter c
da el centro horizontal en bc
o tc
, pero da el centro
vertical en lc
o rc
). El valor predeterminado es
lB
.
Para rotar sobre un punto arbitrario, véase \rotatebox
.
Estas son opciones menos utilizadas.
viewport
Selecciona una subregión del gráfico para mostrar. Toma cuatro
argumentos, separados por espacios y dados en dimensiones TeX, como
con \includegraphics[.., viewport=0in 0in 1in 0.618in]{...}
.
Cuando la unidad se omite, las dimensiones predeterminadas son grandes
puntos bp
. Se toman en relación con el origen
especificado por el delimitador del cuadro. Ve también la opción
trim
.
trim
Proporciona partes del gráfico para que no se muestren. Toma cuatro
argumentos, separados por espacios, que se dan en dimensiones TeX,
como con \includegraphics[.., trim= 0in 0.1in 0.2in 0.3in,
...]{...}
. Estos dan las cantidades del gráfico para no mostrar,
es decir, LaTeX recortará la imagen 0 pulgadas a la izquierda,
0.1 pulgadas a la parte inferior, 0.2 pulgadas a la derecha
y 0.3 pulgadas en la parte superior. Consulta también la opción
viewport
.
clip
Si se establece en true
, o solo se especifica como aquí
\includegraphics[...,clip,...]{...}
luego, el gráfico se recorta al delimitador del cuadro. Esto es lo
mismo que utilizar la forma estrellada del comando,
\includegraphics*[...]{...}
.
page
Proporciona el número de página de un archivo PDF de varias páginas.
El valor predeterminado es page=1
.
pagebox
Especifica qué delimitador de cuadro usar para los archivos PDF de
entre mediabox
, cropbox
, bleedbox
,
trimbox
, o artbox
. Los archivos PDF no tienen el
BoundingBox que los archivos PostScript tienen, pero pueden
especificar hasta cuatro rectángulos predefinidos. MediaBox da los
límites del medio físico. CropBox es la región a la que se recortará
el contenido de la página cuando se despliega. BleedBox es la región
a la que se dirige el contenido de la página se debe recortar en
producción. TrimBox tiene las dimensiones previstas de la página
terminada. El ArtBox es el grado de significado del contenido de la
página. El controlador establecerá el tamaño de la imagen en función
de CropBox si está presente, de lo contrario no utilizará uno de los
otros, con un orden de preferencia definido por el controlador.
MediaBox siempre está presente.
interpolate
Habilita o deshabilita la interpolación de imágenes rasterizadas por
parte del espectador. Se puede configurar con interpolate=true
o simplemente especificarlo como aquí.
\includegraphics[...,interpolate,...]{...}
quiet
No escribe información en el registro. Lo puedes configurar con
quiet=true
o simplemente especificarlo con
\includegraphics[...,quiet,...]{...}
,
draft
Si lo configuras con draft=true
o simplemente lo especificas
con
\includegraphics[...,draft,...]{...}
entonces el gráfico no aparecerá en el documento, posiblemente guardando tinta de color de la impresora. En su lugar, LaTeX colocará un cuadro vacío del tamaño correcto con el nombre del archivo impreso en él.
Estas opciones abordan el delimitador del cuadro para PostScript
encapsulando archivos gráficos, que tienen un tamaño especificado con
una línea %%BoundingBox
que aparece en el archivo. Tiene
cuatro valores, dando la coordenada x inferior, la coordenada
y inferior, la coordenada x superior y la coordenada
y superior. Las unidades son puntos PostScript, equivalentes a
los puntos grandes de TeX, 1/72 pulgada. Por ejemplo, si un
archivo .eps tiene la línea %%BoundingBox 10 20 40 80
entonces su tamaño natural es 30/72 pulgadas de ancho por
60/72 pulgadas de alto.
bb
Especifica el cuadro delimitador de la región mostrada. El argumento
es cuatro dimensiones separadas por espacios, como con
\includegraphics[.., bb= 0in 0in 1in 0.618in]{...}
. Por lo
general, \includegraphics
lee los números BoundingBox del
archivo EPS automáticamente, por lo que esta opción solo es útil si
falta el cuadro delimitador en ese archivo o si deseas cambiarlo.
bbllx, bblly, bburx, bbury
Establece el cuadro delimitador. Estos cuatro son obsoletos, pero se conservan por compatibilidad con paquetes antiguos.
natwidth, natheight
Una alternativa para bb
. Ajustar
\includegraphics[...,natwidth=1in,natheight=0.618in,...]{...}
es lo mismo que configurar bb=0 0 1in 0.618in
.
hiresbb
Si se establece en true
, o simplemente se especifica como con
\includegraphics[...,hiresbb,...]{...}
entonces LaTeX buscará las líneas %%HiResBoundingBox
en
lugar de líneas %%BoundingBox
. (Las líneas BoundingBox
solo usan números naturales mientras que las líneas
HiResBoundingBox
usan decimales; ambos usan unidades
equivalentes a los puntos grandes de TeX, 1/72 pulgadas). Para
redefinir una configuración anterior de true
, la puedes
establecer en false
.
Las siguientes opciones permiten a un usuario anular el método
LaTeX de elegir el tipo de gráfico en función de la extensión del
nombre de archivo. Un ejemplo es ese
\includegraphics[type=png,ext=.xxx,read=.xxx]{lion}
leerá el
archivo lion.xxx como si fuera lion.png. Para obtener
más información sobre estos, véase \DeclareGraphicsRule
.
type
Especifica el tipo de gráficos.
ext
Especifica la extensión de gráficos. Solo usa esto junto con la
opción type
.
read
Especifica la extensión de archivo del archivo leído. Solo usa esto
junto con la opción type
.
command
Especifica un comando que se aplicará a este archivo. Solo usa esto
en conjunción con la opción type
. Véase Opciones de la línea de comandos, para una explicación sobre cómo habilitar la
funcionalidad \write18
para ejecutar comandos externos.
\rotatebox
Sinopsis si usas el paquete graphics
:
\rotatebox{angle}{material}
Sinopsis si usas el paquete graphicx
:
\rotatebox{angle}{material} \rotatebox[key-value list]{angle}{material}
Pon material en un cuadro y lo gira angle grados en sentido antihorario.
Este ejemplo gira los encabezados de las columnas de la tabla cuarenta y cinco grados.
\begin{tabular}{ll} \rotatebox{45}{Character} &\rotatebox{45}{NATO phonetic} \\ A &AL-FAH \\ B &BRAH-VOH \end{tabular}
El material puede ser cualquier cosa que vaya en una caja, incluido un gráfico.
\rotatebox[origin=c]{45}{\includegraphics[width=1in]{lion}}
Para colocar el material rotado, el primer paso es que LaTeX establece material en un cuadro, con un punto de referencia en la línea base izquierda. El segundo paso es la rotación, predeterminada sobre el punto de referencia. El tercer paso es que LaTeX calcula un cuadro para delimitar el material rotado. Cuarto, LaTeX mueve este cuadro horizontalmente para que el borde izquierdo de este nuevo delimitador del cuadro coincida con el borde izquierdo del cuadro del primer paso (no es necesario que coincidan verticalmente). Este nuevo cuadro delimitador, en su nueva posición, es lo que LaTeX usa como cuadro cuando se compone tipográficamente este material.
Si usas el paquete graphics
entonces la rotación es sobre el
punto de referencia de la caja. Si usas el paquete graphicx
entonces estas son las opciones que pueden ir en la lista de
valores clave, pero ten en cuenta que puedes obtener el mismo efecto
sin necesidad de este paquete, excepto las opciones x
e
y
(véase \includegraphics
).
origin
El punto de la caja de material sobre el cual ocurre la
rotación. El posible valor es cualquier cadena que contenga uno o dos
de: l
para izquierda, r
para derecha, b
para la
parte inferior, c
para el centro, t
para la parte
superior y B
para la línea base. Así, la primera línea aquí
\rotatebox[origin=c]{180}{moon} \rotatebox[origin=lB]{180}{LeBateau}
dará la vuelta a la imagen desde el centro mientras que la segunda
voltea tu imagen al revés sobre su línea base izquierda. (El carácter
c
da el centro horizontal en bc
o tc
pero da el
centro vertical en lc
o rc
, y da ambos en c
). El
valor predeterminado es lB
.
x, y
Especifica un punto arbitrario de rotación con
\rotatebox[x=TeX dimensión,y=TeX
dimensión]{...}
(véase Unidades de longitud). Estos dan la
compensación desde el punto de referencia de la caja.
units
Esta clave te permite cambiar el valor predeterminado de grados en el
sentido contrario a las agujas del reloj. Establecer
units=-360
cambia la dirección a grados en el sentido de las
agujas del reloj y la configuración de units=6.283185
cambia a
radianes en sentido contrario a las agujas del reloj.
\scalebox
Sinopsis:
\scalebox{factor horizontal}{material} \scalebox{factor horizontal}[factor vertical]{material} \reflectbox{material}
Escala el material.
Este ejemplo reduce a la mitad el tamaño, tanto horizontal como verticalmente, del primer texto y duplica el tamaño del segundo.
\scalebox{0.5}{DRINK ME} and \scalebox{2.0}{Eat Me}
Si no especificas el factor vertical opcional, entonces el valor predeterminado es el mismo que el factor horizontal.
Puedes usar este comando para cambiar el tamaño de un gráfico, como aquí.
\scalebox{0.5}{\includegraphics{lion}}
Si usas el paquete graphicx
, puedes conseguir la misma cosa
con argumentos opcionales para \includegraphics
(véase \includegraphics
).
El comando \reflectbox
abrevia
\scalebox{-1}[1]{material}
. Por lo tanto, Able
was I\reflectbox{Able was I}
mostrará la frase ‘Able was I’
seguida inmediatamente por su reflejo especular contra un eje
vertical.
\resizebox
Sinopsis:
\resizebox{horizontal length}{vertical length}{material} \resizebox*{horizontal length}{vertical length}{material}
Dado un tamaño, como 3cm
, transforma material para
hacerlo a ese tamaño. Si longitud horizontal o longitud
vertical es un signo de exclamación !
entonces se usa el
otro argumento para determinar un factor de escala para ambas
direcciones.
Este ejemplo hace que el gráfico tenga media pulgada de ancho y lo escala verticalmente por el mismo factor para evitar que se distorsione.
\resizebox{0.5in}{!}{\includegraphics{lion}}
La forma sin estrella \resizebox
toma longitud vertical
como la altura del cuadro mientras que la forma estrellada
\resizebox*
lo lleva a ser altura+profundidad. Por ejemplo,
haz que el texto tenga una altura+profundidad de un cuarto de pulgada
con \resizebox*{!}{0.25in}{\parbox{3.5in}{Este cuadro
tiene altura y profundidad.}}
.
Puedes usar \depth
, \height
, \totalheight
y
\width
para referirte al tamaño original de la caja. Es decir,
hace el texto de dos pulgadas de ancho pero manteniendo la altura
original con \resizebox{2in}{\height}{Dos pulgadas}
.
LaTeX proporciona comandos para insertar caracteres que tienen un significado especial no corresponde a los caracteres simples que puedes escribir.
inputenc
\rule
\today
LaTeX reserva los siguientes caracteres para propósitos
especiales. Por ejemplo, el signo de porcentaje %
es para
comentarios. Se llaman caracteres reservados o caracteres
especiales. Todo está explicado en otra parte de este manual.
# $ % & { } _ ~ ^ \
Si deseas que un carácter reservado se imprima por sí mismo, en el
texto fuente del cuerpo, para todos menos los últimos tres caracteres
en esa lista simplemente coloca una barra invertida \
delante del carácter. De este modo, escribir \$1.23
producirá $1.23
en tu salida.
En cuanto a los últimos tres caracteres, para obtener una tilde en la
letra del cuerpo del texto usa \~{}
(omitir las llaves daría
como resultado que el siguiente carácter recibe un acento de tilde).
Del mismo modo, para colocar un acento circunflejo en el texto del
cuerpo fuente usa \^{}
. Para colocar una barra invertida en
el texto del cuerpo fuente, ingresa \textbackslash{}
.
Para producir los caracteres reservados en una fuente de máquina de
escribir, utiliza \verb!!
como se muestra a continuación (la
doble barra inversa \\
en el ejemplo solo está ahí para
dividir las líneas en la salida).
\begin{center} \# \$ \% \& \{ \} \_ \~{} \^{} \textbackslash \\ \verb!# $ % & { } _ ~ ^ \! \end{center}
Sinopsis:
\uppercase{text} \lowercase{text} \MakeUppercase{text} \MakeLowercase{text}
Cambia el caso de los caracteres. Los comandos primitivos TeX
\uppercase
y \lowercase
están configurados de forma
predeterminada para funcionar solo con las 26 letras a–z y A–Z. Los
comandos LaTeX \MakeUppercase
y \MakeLowercase
también cambian caracteres a los que se accede mediante comandos como
\ae
o \aa
. Los comandos \MakeUppercase
y
\MakeLowercase
son robustos pero tienen argumentos en
movimiento (véase \protect
).
Estos comandos no cambian el uso de mayúsculas y minúsculas en el
nombre de un comando dentro de text. Pero cambian el caso de
todas las demás letras dentro del argumento text. De este modo,
\MakeUppercase{Let $y=f(x)$
} produce ‘LET Y=F(X)’. Otro
ejemplo es que se cambiará el nombre de un entorno, de modo que
\MakeUppercase{\begin{tabular} ... \end{tabular}}
produce
un error porque la primera mitad se cambia a \begin{TABULAR}
.
LaTeX usa la misma tabla fija para cambiar mayúsculas y minúsculas a lo largo de un documento. La tabla utilizada está diseñada para la codificación de fuente T1; esto funciona bien con las fuentes TeX estándar para todos los alfabetos latinos, pero causará problemas al usar otros alfabetos.
Para cambiar el caso del texto que resulta de una macro dentro de
text tienes que hacer la expansión. Aquí el \Schoolname
produce ‘FACULTAD DE MATEMÁTICAS’.
\newcommand{\schoolname}{Facultad de matemáticas} \newcommand{\Schoolname}{\expandafter\MakeUppercase \expandafter{\schoolname}}
El paquete textcase
trae algunas de las
funciones que faltan en los comandos LaTeX estándar
\MakeUppercase
y \MakeLowerCase
.
Para escribir en mayúsculas solo la primera letra
de las palabras, puedes usar el paquete mfirstuc
.
El manejo de todas las reglas de mayúsculas y minúsculas especificadas
por Unicode, por ejemplo, para escrituras no latinas, es un trabajo
mucho más grande que cualquier cosa prevista en el TeX original y
LaTeX. Se ha implementado en el paquete expl3
a partir
de 2020. El artículo “Cambio de caso: De primitivas TeX al
algoritmo Unicode”, (Joseph Wright, TUGboat 41:1,
https://tug.org/TUGboat/tb41-1/tb127wright-case.pdf), da una
buena visión general del tema, pasado y presente.
Puedes acceder a cualquier carácter de la fuente actual usando su
número con el comando \symbol
. Por ejemplo, el carácter de
espacio visible usado en el comando \verb*
tiene el código
decimal 32 en la fuente de máquina de escribir Computer Modern
estándar, por lo que se puede escribir como \symbol{32}
.
También puedes especificar números en octal (base 8) usando un prefijo
'
, o hexadecimal (base 16) con un prefijo "
, por lo que
el espacio visible en 32 decimal también se podría escribir como
\symbol{'40}
o \symbol{"20}
.
LaTeX proporciona comandos para generar una serie de símbolos que
no son letras en texto corriente. Algunos de estos, especialmente los
más oscuros, no están disponibles en OT1. A partir del lanzamiento de
LaTeX de febrero de 2020, todos los símbolos están disponibles de
manera predeterminada; antes de eso, era necesario usar el paquete
textcomp
para algunos (técnicamente, aquellos en la
codificación de fuentes TS1
).
\copyright
¶\textcopyright
¶© El símbolo de copyright.
\dag
¶† El símbolo de la daga (en texto).
\ddag
¶‡ El símbolo de la daga doble (en texto).
latex
¶El logotipo de LaTeX.
latex
¶LaTeX2e, logo.
\guillemotleft («)
¶\guillemotright (»)
¶\guilsinglleft (‹)
¶\guilsinglright (›)
¶«, », ‹, › Comillas angulares simples y dobles, de uso común en francés.
\ldots
¶\textellipsis
¶\dot
¶… Puntos suspensivos (tres puntos en la línea base):
\ldots
y \dots
también trabaja en modo math
(véase Puntos, horizontales o verticales). Ve la descripción de los puntos suspensivos del
modo math
para obtener información adicional.
\lq
¶‘ Comilla izquierda (apertura).
p
¶\textparagraph
¶¶ Signo de párrafo (pilcrow).
\pounds
¶\textsterling
¶£ libras esterlinas inglesas.
\quotedblbase („)
¶\quotesinglbase (‚)
¶„ y ‚ Comillas simples y dobles en la línea base.
\rq
¶’ Comilla de derecha (de cierre).
s
¶\textsection
¶§ Signo de sección.
tex
¶El logotipo de TeX.
\textasciicircum
¶^ circunflejo ASCII.
\textasciitilde
¶~ Tilde ASCII.
\textasteriskcentered
¶* asterisco centrado
\textbackslash
¶\ Barra invertida. Sin embargo, \texttt{\textbackslash}
de
manera predeterminada produce una barra invertida en letra romana (no
de máquina de escribir); para una barra invertida de máquina de
escribir, es necesario utilizar la codificación de tipo de letra T1 (u
otra no predeterminada), como en:
\usepackage[T1]{fontenc}
\textbar
¶| Barra vertical.
\textbardbl
¶⏸ Doble barra vertical.
\textbigcircle
¶◯, símbolo de círculo grande.
\textbraceleft
¶{ Llave izquierda. Ve los comentarios en \textbackslash
arriba sobre hacer que \texttt{\textbraceleft}
produzca una
llave en máquina de escribir.
\textbraceright
¶} Llave derecha. Ve los comentarios en \textbackslash
arriba
sobre hacer que \texttt{\textbraceright}
produzca una llave
en máquina de escribir.
\textbullet
¶• Viñeta.
\textcircled{letter}
¶Ⓐ, circulo alrededor de letra.
\textcompwordmark
¶\textcapitalcompwordmark
¶\textascendercompwordmark
¶Se utiliza para separar letras que normalmente se ligarían. Por
ejemplo, f\textcompwordmark i
produce ‘fi’ sin
ligadura. Este es más útil en idiomas distintos del inglés. La forma
\textcapitalcompwordmark
tiene la altura máxima de la fuente
mientras que la forma \textascendercompwordmark
tiene la altura
ascendente.
\textdagger
¶† Daga.
\textdaggerdbl
¶‡ Daga doble.
\textdollar (o \$
)
¶$ signo de dólar.
\textemdash (o ---
)
¶— Guión largo. Se utiliza para puntuación, por lo general similar a
las comas o paréntesis, como en ‘Los playoffs---si tienes
suficiente suerte para llegar a los playoffs --- son más como un
sprint.
’ Convenciones para espaciar alrededor de guiones-em que
varían ampliamente.
\textendash (o --
)
¶– En-dash. Usado para rangos, como en ‘ve las páginas 12--14
’.
\texteuro
¶El símbolo de la moneda del euro: €.
Para un diseño de glifo alternativo, prueba el
paquete eurosym
; además, la mayoría de las fuentes hoy día
vienen con su propio símbolo de euro (Unicode U+20AC).
\textexclamdown (o !`
)
¶¡ Signo de exclamación al revés.
\textfiguredash
¶Guión usado entre números, Unicode U+2012. Definido en junio de 2021 lanzamiento de LaTeX. Cuando se usa en pdfTeX, aproximado por un guión-en; con un motor Unicode, escribe el glifo si está disponible en la fuente actual, o escribe la advertencia habitual “Carácter faltante” al archivo de registro.
\textgreater
¶> Símbolo mayor que.
\texthorizontalbar
¶Carácter de barra horizontal, Unicode U+2015. Definido en junio de
2021 lanzamiento de LaTeX. Comportamiento como con
\textfiguredash
arriba; la aproximación pdfTeX es un guión
largo.
\textless
¶< Símbolo menor que.
\textleftarrow
¶←, Flecha izquierda.
\textnonbreakinghyphen
¶Carácter de guión de no separación, Unicode U+2011. Definido en junio
lanzamiento de 2021 de LaTeX. Comportamiento como con
\textfiguredash
arriba; la aproximación pdfTeX es un guión
ASCII regular (con saltos no permitidos después).
\textordfeminine
¶\textordmasculine
¶ª, º Símbolos ordinales femeninos y masculinos.
\textperiodcentered
¶· Punto centrado.
\textquestiondown (o ?`
)
¶¿ Signo de interrogación de apertura.
\textquotedblleft (o ``
)
¶“ Comillas dobles a la izquierda.
\textquotedblright (o ''
)
¶” Doble comilla derecha.
\textquoteleft (o `
)
¶‘ Comilla izquierda simple.
\textquoteright (o '
)
¶’ Comilla simple derecha.
\textquotesingle
¶', Comillas rectas simples. (De la codificación TS1).
\textquotestraightbase
¶\textquotestraightdblbase
¶Comillas rectas simples y dobles en la línea base.
\textregistered
¶® Símbolo de registrado.
\textrightarrow
¶→, Flecha derecha.
\textthreequartersemdash
¶﹘, “Tres cuartos” de guión largo, entre guión corto y guión largo.
\texttrademark
¶™ Símbolo de marca comercial.
\texttwelveudash
¶﹘, “Dos tercios” guión largo, entre guión corto y guión largo.
\textunderscore
¶_ Guion bajo.
\textvisiblespace
¶␣, Símbolo de espacio visible.
LaTeX tiene una amplia compatibilidad para muchos de los scripts
del mundo e idiomas, proporcionada a través del paquete principal
babel
, que admite pdfLaTeX, XeLaTeX y LuaLaTeX. El
paquete polyglossia
proporciona una compatibilidad similar
con estos últimos dos motores.
Esta sección no cubre esa compatibilidad. Solo enumera los comandos
del núcleo LaTeX para crear caracteres acentuados. Los comandos
\capital...
que se muestran aquí producen formas alternativas
para utilizar con mayúsculas. Estos no están disponibles con OT1.
A continuación, para que sean más fáciles de encontrar, los acentos se ilustran con minúsculas ‘o’.
Ten en cuenta que \i
produce una i sin punto,
y \j
produce una j sin punto.
Estos se usan a menudo en lugar de sus contrapartes punteadas cuando
están acentuados.
\"
¶\capitaldieresis
ö Umlaut (diéresis).
\'
¶\capitalacute
ó Acento agudo.
\.
¶ȯ Acento de punto.
\=
¶\capitalmacron
ō Acento macrón (sobre la barra).
\^
¶\capitalcircumflex
ô Acento circunflejo (sombrero).
\`
¶\capitalgrave
ò Acento grave.
\~
¶\capitaltilde
ñ Acento de tilde.
b
¶o̲ Acento de barra debajo.
Relacionado con esto, \underbar{text}
produce una barra
debajo del text. El argumento siempre se procesa en modo LR
(véase Modos). La barra siempre es una posición fija debajo de la
línea base, cruzando así a través de descendientes. Véase también
\underline
en Sobre y subrayado.
c
¶\capitalcedilla
ç Acento cedilla debajo.
\d
¶\capitaldotaccent
ọ Acento de puntos debajo.
\H
¶h
ő Acento largo con diéresis húngara.
\k
¶\capitalogonek
ǫ Ogonek. No disponible en la codificación OT1.
\r
¶\capitalring
o̊ Acento de anillo.
\t
¶\capitaltie
\newtie
\capitalnewtie
Tie después de acento (utilizado para transliterar del cirílico, como
en la romanización ALA-LC). Se espera que el argumento tenga dos
caracteres. La forma \newtie
está centrada en su cuadro.
\u
¶\capitalbreve
ŏ Acento breve.
\v
¶\capitalcaron
acento de ǒ Háček (cheque, carón).
\accent
Sinopsis:
\accent number character
Un comando primitivo de TeX utilizado para generar caracteres acentuados a partir de acentos y letras. El acento es seleccionado por number, un argumento numérico, seguido de un espacio y luego un character argumento para construir el carácter acentuado en la fuente actual.
Estos son caracteres ‘e’ acentuados.
\accent18 e \accent20 e \accent21 e \accent22 e \accent23 e
El primero es un acento grave, el segundo un carón, el tercero un breve, el cuarto un macrón, y el quinto un anillo arriba.
La posición del acento la determina el diseñador de la fuente y, por
lo tanto, el resultado del uso de \accent
puede diferir entre
las fuentes. En LaTeX es deseable tener glifos para caracteres
acentuados en lugar de construirlos usando \accent
. Usar glifos
que ya contienen los caracteres acentuados (como en la codificación
T1) permite la separación silábica correcta mientras que
\accent
deshabilita la separación silábica (específicamente con
la codificación de fuente OT1 donde los glifos acentuados están
ausentes).
Puede haber un cambio de fuente opcional entre number y
character. Ten en cuenta también que este comando establece el
\spacefactor
a 1000 (véase \spacefactor
).
Una característica inevitable de algunas letras cirílicas y la mayoría
de las letras cirílicas acentuadas es que se deben ensamblar a partir
de múltiples elementos (acentos, modificadores, etc.) mientras
\accent
proporciona un solo acento y una sola combinación de
letras. También hay casos en los que deben aparecer acentos entre
letras que \accent no admite. Aún existen otros casos en los que las
letras I y J tienen puntos sobre sus contrapartes minúsculas que
entran en conflicto con los acentos punteados. El uso de
\accent
en estos casos no funcionará ya que no puede analizar
mayúsculas/minúsculas.
Estos son los comandos básicos de LaTeX para insertar letras más allá de A–Z que extienden el alfabeto latino, usados principalmente en otros idiomas distintos al inglés.
\aa
¶\AA
å y Å.
\ae
¶\AE
æ y Æ.
\dh
¶\DH
Letra islandesa eth: ð y Ð. No disponible con codificación OT1, necesitas el paquete fontenc para seleccionar una codificación de fuentes alternativa, como T1.
\dj
¶\DJ
d y D cruzadas, alias d mayúscula y minúscula con trazo. No disponible con la codificación OT1, necesitas el paquete fontenc para seleccionar una codificación de fuente alternativa, como T1.
\ij
¶\IJ
ij e IJ (excepto algo más juntos de lo que aparece aquí).
\l
¶\L
ł y Ł.
\ng
¶\NG
Letra lapona eng, también utilizada en fonética.
\o
¶\O
ø y Ø.
\oe
¶\OE
œ y Œ.
\ss
¶\SS
ß y SS.
\th
¶\TH
Espina de letra islandesa: þ y Þ. No disponible con codificación OT1, necesitas el paquete fontenc para seleccionar una codificación de fuentes alternativa, como T1.
inputenc
Sinopsis:
\usepackage[encoding-name]{inputenc}
Declara que la codificación de texto del archivo de entrada sea encoding-name. De manera predeterminada, si este paquete no está cargado, es UTF-8. Técnicamente, especificar el nombre de codificación es opcional, pero en la práctica no es útil omitirlo.
En un archivo de ordenador, los caracteres se almacenan de acuerdo con
un esquema llamado codificación. Hay muchas codificaciones
diferentes. La más simple es ASCII, que admite 95 caracteres
imprimibles, no suficientes para la mayoría de los idiomas del
mundo. Por ejemplo, para componer un carácter de diéresis ‘ä’
en un archivo fuente LaTeX codificado en ASCII, se usa la secuencia
\"a
. Esto crearía archivos fuente para cualquier cosa pero el
inglés es difícil de leer; incluso para el inglés, a menudo más
extenso que la codificación más conveniente.
El estándar de codificación moderno, en cierto modo una unión de los demás, es UTF-8, una de las representaciones de Unicode. Este es el valor predeterminado para LaTeX desde 2018.
El paquete inputenc
es cómo LaTeX sabe qué codificación se
usó. Por ejemplo, el siguiente comando dice explícitamente que el
archivo de entrada es UTF-8 (ten en cuenta la falta de un guión).
\usepackage[utf8]{inputenc}
Precaución: usa inputenc
solo con el motor pdfTeX
(véase Motores TeX). (Los motores XeTeX y LuaTeX asumen
que el archivo de entrada está codificado en UTF-8). Si invocas a
LaTeX con ya sea el comando xelatex
o el comando
lualatex
e intentas declarar una codificación que no sea
UTF-8 con inputenc
, como latin1
, obtendrás el error
inputenc no está diseñado para xetex o luatex
.
Un error de paquete inputenc
como Byte UTF-8 no válido
"96
significa que parte del material en el archivo de entrada no
sigue el esquema de codificación. A menudo, estos errores provienen
de la copia de material de un documento que utiliza una codificación
diferente a la del archivo de entrada; Esta es una comilla izquierda
simple de una página web usando latin1
dentro de un archivo de
entrada LaTeX que usa UTF-8. La solución más sencilla es
reemplazar el carácter no UTF-8 con su equivalente UTF-8, o usar un
comando LaTeX o carácter equivalente.
En algunos documentos, como una colección de
artículos de revistas de una variedad de autores, cambiar la
codificación en medio del documento puede ser necesario. Usa el
comando \inputencoding{encoding-name}
. Los valores más
comunes para encoding-name son: ascii
, latin1
,
latin2
, latin3
, latin4
, latin5
,
latin9
, latin10
, y utf8
.
\rule
Sinopsis, una de:
\rule{width}{thickness} \rule[raise]{width}{thickness}
Produce una regla, un rectángulo relleno.
Este ejemplo produce una mancha rectangular, a veces llamada símbolo de Halmos, o simplemente “qed”, a menudo usado para marcar el final de una prueba:
\newcommand{\qedsymbol}{\rule{0.4em}{2ex}}
El paquete amsthm
incluye este comando, con un símbolo de
aspecto poco diferente.
Los argumentos obligatorios dan el width horizontal y el vertical thickness del rectángulo. Son longitudes rígidas (véase Longitudes). El argumento opcional raise también es un argumento rígido y le dice a LaTeX cuánto elevar la regla por encima de la línea base, o la baja si la longitud es negativa.
Esto produce una línea, un rectángulo que es ancho pero no alto.
\noindent\rule{\textwidth}{0.4pt}
La línea es el ancho de la página y 0.4 puntos de altura. El grosor esta línea es común en LaTeX.
Una regla que tenga cero ancho o cero espesor, no aparecerá en la
salida, pero puede hacer que LaTeX cambie la salida a su alrededor.
Véase \strut
, por ejemplo.
\today
Sinopsis:
\today
Produce la fecha de hoy en el formato ‘mes dd, yyyy’. Un ejemplo de una fecha en ese formato es ‘julio 4, 1976’.
Paquetes multilingües como
babel
o polyglossia
, o clases como lettre,
localizarán \today
. Por ejemplo, lo siguiente generará
‘julio 4, 1976’:
\year=1976 \month=7 \day=4 \documentclass{minimal} \usepackage[french]{babel} \begin{document} \today \end{document}
\today
utiliza los contadores \day
, \month
y
\year
(véase \day
, \month
y \year
).
Varios paquetes en CTAN funcionan con fechas. Uno
es el paquete datetime
que puede producir una amplia
variedad de formatos de fecha, incluidos los estándares ISO.
La fecha no se actualiza mientras se ejecuta el proceso LaTeX, por lo que, en principio, la fecha podría ser incorrecta para cuando finalice el programa.
LaTeX te permite dividir un documento grande en varios pequeños. Esto puede simplificar la edición o permitir que varios autores trabajen en el documento. También puede acelerar el procesamiento.
Independientemente de cuántos archivos independientes utilices, siempre hay uno archivo raíz, en el que comienza la compilación de LaTeX. Esto muestra tal archivo con cinco archivos incluidos.
\documentclass{book} \includeonly{ % comenta las líneas a continuación para omitir la % compilación pref, chap1, chap2, append, bib } \begin{document} \frontmatter \include{pref} \mainmatter \include{chap1} \include{chap2} \appendix \include{append} \backmatter \include{bib} \end{document}
Esto traerá material de pref.tex, chap1.tex,
chap2.tex, append.tex y bib.tex. Si compilas
este archivo, y luego comentas todas las líneas dentro
\includeonly{...}
a excepción de chap1
, y vuelve a
compilar, entonces LaTeX solo procesará el material del primer
capítulo. Por lo tanto, tu salida aparecerá más rápidamente y será
más breve para imprimir. Sin embargo, la ventaja del comando
\includeonly
es que LaTeX conservará la información de los
números de página y todas las referencias cruzadas de las otras partes
del documento para que estas aparezcan correctamente en tu salida.
Véase Plantilla de book
larger, para otro ejemplo de
\includeonly
.
\endinput
Sinopsis:
\endinput
Cuando \include{filename}
, dentro de filename.tex el
material después de \endinput
no se incluirá. Este comando es
opcional; si filename.tex no tiene \endinput
entonces
LaTeX leerá todo el archivo.
Por ejemplo, supón que el archivo raíz de un documento tiene
\input{chap1}
y este es chap1.tex.
\chapter{Uno} Este material aparecerá en el documento. \endinput Esto no aparecerá.
Esto puede ser útil para poner documentación o comentarios al final de
un archivo, o para evitar caracteres basura que se pueden agregar si
el archivo es transmitido en el cuerpo de un correo electrónico.
También es útil para depurar: una estrategia para localizar errores
es poner \endinput
a mitad del camino a través del archivo
incluido y ver si el error desaparece. Ahora, sabiendo qué mitad
contiene el error, mover el \endinput
a la mitad a través de
esa área reduce aún más la ubicación. Este proceso encuentra
rápidamente la línea infractora.
Después de leer \endinput
, LaTeX continúa leyendo hasta el
final de la línea, por lo que algo puede seguir este comando y ser
leído, no obstante. Esto te permite, por ejemplo, cerrar un
\if...
con un \fi
.
\include
e \includeonly
Sinopsis:
\includeonly{ % en el preámbulo del documento ... filename, ... } ... \include{filename} % en el cuerpo del documento
Lleva material del archivo externo filename.tex a un documento LaTeX.
El comando \include
hace tres cosas: ejecuta \clearpage
(véase \clearpage
y \cleardoublepage
), entonces ingresa el material
de filename.tex en el documento, y luego hace otro
\clearpage
. Este comando solo puede aparecer en el cuerpo del
documento.
El comando \includeonly
controla qué archivos leerá LaTeX
bajo los siguientes comandos \include
. Su lista de los nombres
de archivo están separados por comas. Debe aparecer en el preámbulo o
incluso anterior, por ejemplo, la línea de comandos; no puede aparecer
en el cuerpo del documento.
Este documento raíz de ejemplo, constitution.tex, trae tres archivos, preamble.tex, articles.tex y enmiendas.tex.
\documentclass{book} \includeonly{ preamble, articles, amendments } \begin{document} \include{preamble} \include{articles} \include{amendments} \end{document}
El archivo preamble.tex no contiene ningún código especial; justamente tienes un extracto del capítulo constitution.tex y lo pones en un archivo separado solo por conveniencia de edición.
\chapter{Preamble} Nosotros, el Pueblo de los Estados Unidos, con el fin de formar una Unión más perfecta, ...
Ejecutar LaTeX en constitution.tex hace que el material de
tres archivos aparezca en el documento pero también genera los
archivos auxiliares preamble.aux, articles.aux y
enmiendas.aux. Estos contienen información como números de
página (véase Referencias cruzadas). Si ahora comentas líneas de
\includeonly
con preámbulo
y enmiendas
y ejecuta
LaTeX nuevamente, el documento resultante muestra solo el material
de articles.tex, no el material de preamble.tex o
amendments.tex. No obstante, toda la información de los
archivos auxiliares omitidos todavía está allí, incluyendo el número
de página inicial del capítulo.
Si el preámbulo del documento no tiene \includeonly
entonces
LaTeX incluirá todos los archivos que solicites con comandos
\include
.
El comando \include
crea una nueva página. Para evitarlo,
consulta \input
(que, sin embargo, no retiene la información
auxiliar).
Véase Plantilla de book
larger, para otro ejemplo usando
\include
e \includeonly
. Ese ejemplo también usa
\input
para algún material que no necesariamente comenzará en
una nueva página.
Los nombres de archivo pueden incluir rutas.
\documentclass{book} \includeonly{ chapters/chap1, } \begin{document} \include{chapters/chap1} \end{document}
Para que tu documento sea portátil entre distribuciones y plataformas, debes evitar espacios en los nombres de los archivos. La tradición es usar en su lugar guiones o guiones bajos. No obstante, para el nombre ‘amo amas amat’, esto funciona bajo TeX Live en GNU/Linux:
\documentclass{book} \includeonly{ "amo\space amas\space amat" } \begin{document} \include{"amo\space amas\space amat"} \end{document}
y esto funciona bajo MiKTeX en Windows:
\documentclass{book} \includeonly{ {"amo amas amat"} } \begin{document} \include{{"amo amas amat"}} \end{document}
No puedes usar \include
dentro de un archivo que se está
incluyendo u obtienes ‘Error LaTeX: \include no se puede anidar.’
El comando \include
no puede aparecer en el preámbulo del
documento; vas a obtener ‘Error de LaTeX: Falta
\begin{document}’.
Si un archivo que \include
no existe, por ejemplo, si
\include{athiesm}
pero quisiste decir
\include{atheism}
, entonces LaTeX no te da un error pero
te avisa ‘No hay archivo athiesm.tex.’ (También creará
athiesm.aux).
Si \include
el archivo raíz en sí mismo, primero obtienes
‘Error de LaTeX: solo se puede usar en el preámbulo.’ Las
ejecuciones posteriores obtienen ‘Capacidad excedida de TeX, lo
siento [text input levels=15]’. Arreglar esto, debe eliminar la
inclusión \include{root}
pero también elimina el
archivo root.aux y vuelve a ejecutar LaTeX.
\input
Sinopsis:
\input{filename}
LaTeX procesa el archivo como si su contenido estuviera insertado
en el archivo actual. Para un mecanismo de inclusión más sofisticado
\include
e \includeonly
.
Si filename no termina en ‘.tex’ entonces LaTeX primero intenta el nombre del archivo con esa extensión; este es el caso habitual. Si filename termina con ‘.tex’ luego LaTeX busca el nombre de archivo tal como es.
Por ejemplo, este
\input{macros}
hará que LaTeX busque primero macros.tex. Si encuentra ese archivo, entonces procesa su contenido como si hubiera sido copiar y pegar. Si no hay ningún archivo con el nombre macros.tex, entonces LaTeX intenta el nombre macros, sin extensión. (Esto puede variar según la distribución).
Para que tu documento sea portátil entre distribuciones y plataformas, debes evitar espacios en los nombres de los archivos. La tradición es usar en su lugar guiones o guiones bajos. No obstante, para el nombre ‘amo amas amat’, esto funciona bajo TeX Live en GNU/Linux:
\input{"amo\space amas\space amat"}
y esto funciona bajo MiKTeX en Windows:
\input{{"amo amas amat"}}
Sinopsis, una de:
\tableofcontents \listoffigures \listoftables
Produce una tabla de contenido, o una lista de figuras, o una lista de
tablas. Pon el comando en el archivo de entrada donde deseas que se
coloque la tabla o la lista. No escribas las entradas; por ejemplo,
normalmente las entradas de la tabla de contenido se genera
automáticamente a partir de los comandos de seccionado
\chapter
, etc.
Este ejemplo ilustra el primer comando, \tableofcontents
.
LaTeX producirá una tabla de contenido en la primera página del
libro.
\documentclass{book} % \setcounter{tocdepth}{1} \begin{document} \tableofcontents\newpage ... \chapter{...} ... \section{...} ... \subsection{...} ... \end{document}
Descomentar la segunda línea haría que esa tabla contuviera los
listados de capítulos y secciones, pero no listados de subsecciones,
porque el comando \section
tiene nivel 1.
Véase Seccionado, para nivel números de las unidades de corte. Para
obtener más información sobre el tocdepth
véase Seccionado/tocdepth.
Otro ejemplo del uso de \tableofcontents
está en Plantilla de book
larger.
Si deseas un salto de página después de la tabla de contenido, escribe
un comando \newpage
después del comando
\tableofcontents
, como arriba.
Para hacer la tabla de contenido, LaTeX almacena la información en un archivo auxiliar llamado root-file.toc (véase Dividir la entrada). Por ejemplo, este archivo LaTeX test.tex
\documentclass{article} \begin{document} \tableofcontents\newpage \section{Primera sección} \subsection{Primera subsección} ...
escribe estas líneas en test.toc.
\contentsline {section}{\numberline {1}Primera sección}{2} \contentsline {subsection}{\numberline {1.1}Primera subsección}{2}
Cada línea contiene un solo comando, \contentsline
(véase \contentsline
). El primer argumento, el section
o
subsection
, es la unidad de seccionamiento. El segundo
argumento tiene dos componentes. El gancho \numberline
determina cómo el número de sección, 1
o 1.1
, aparece en
la tabla de contenido (véase \numberline
). El resto del segundo
argumento de \contentsline
, ‘Primera sección’ o
‘Primera subsección’, es el texto del título de la sección.
Finalmente, el tercer argumento, ‘2’, es el número de página en
el que comienza esta unidad de seccionado.
Para componer estas líneas, la clase “document” proporciona
\l@section-unit
comandos como
\l@section{text}{pagenumber}
y
\l@subsection{text}{pagenumber}
. Estos
comandos a menudo usan el comando \@dottedtocline
(véase \@dottedtocline
).
Una consecuencia de la estrategia de LaTeX de usar archivos auxiliares es que para obtener la información correcta en el documento debes ejecutar LaTeX dos veces, una vez para almacenar la información y la segunda vez para recuperarla. En el curso normal de escribir un documento los autores ejecutan LaTeX un número de veces, pero puedes notar que la primera vez que compilas un nuevo documento, la página de la tabla de contenido estará vacía excepto por su encabezado ‘Contenido’. Simplemente ejecuta LaTeX de nuevo.
Los comandos \listoffigures
y \listoftables
producen un
lista de figuras y lista de tablas. Su información se almacena en
archivos con extensión .lof y .lot. Funcionan de la
misma manera como \tableofcontents
pero este último es más
común, así que lo usamos para la mayoría de los ejemplos.
Puede agregar material manualmente a la tabla de contenido, la lista
de figuras y la lista de tablas. Por ejemplo, agrega una línea sobre
un sección a la tabla de contenido con
\addcontentsline{toc}{section}{text}
.
(véase \addcontentsline
). Agregar material arbitrario, es decir,
sin línea material, con \addtocontents
, como con el comando
\addtocontents{lof}{\protect\vspace{2ex}}
, que agrega
espacio vertical a la lista de figuras (véase \addtocontents
).
Líneas en la tabla de contenido, la lista de figuras y la lista de
tablas, tienen cuatro partes. Primero es una sangría. A continuación
hay una caja en la que se colocan números de seccionado, y luego el
tercer recuadro contiene el título del texto, como ‘Primera
sección’. Finalmente hay una caja contra el margen derecho, dentro de
la cual LaTeX pone el cuadro del número de página. Para la sangría
y el ancho del cuadro numérico, véase \@dottedtocline
. El cuadro
del margen derecho tiene ancho \@tocrmarg
y el número de
página está justo en ese espacio, dentro de un cuadro de ancho
\@pnumwidth
. De manera predeterminada \@tocrmarg
es
2.55em
y \@pnumwidth
es 1.55em
. Cámbialos como
con \renewcommand{\@tocrmarg}{3.5em}
.
CTAN tiene muchos paquetes
para la tabla de contenido y listas de figuras y tablas
(véase CTAN: La red integral de archivo TeX). El paquete tocloft
es conveniente para
ajustar algunos aspectos del valor predeterminado, como el espaciado.
Y, tocbibbind
agregará automáticamente la bibliografía,
índice, etc. a la tabla de contenido.
Para cambiar el encabezado de la página de la tabla de contenido, haz
algo como estos comandos antes de llamar a \tableofcontents
,
etc.
\renewcommand{\contentsname}{Tabla de contenido} \renewcommand{\listfigurename}{Traza} \renewcommand{\listtablename}{especificaciones}
Paquetes de
internacionalización como babel
o polyglossia
cambiará estos encabezados según el idioma base elegido.
\@dottedtocline
Sinopsis:
\@dottedtocline{section-level-num}{indent}{numwidth}{text}{pagenumber}
Usado internamente por LaTeX para formatear una línea de entrada en
la tabla de contenido, lista de figuras o lista de tablas. Los
autores no ingresan directamente los comandos \@dottedtocline
.
Este comando suele utilizarlo \l@section
,
\l@subsection
, etc., para dar formato a las líneas de
contenido. Por ejemplo, el archivo article.cls contiene estas
definiciones:
\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} \newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} \newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
En este ejemplo, \@dottedcline
parece haber recibido solo tres
argumentos. Pero rastrear el código interno muestra que recoge los
argumentos finales text y pagenumber en la sinopsis desde
una llamada a \contentsline
(véase \contentsline
).
Entre el cuadro para el texto del título de una sección y el cuadro
del margen derecho, estos comandos \@dottedtocline
insertan
líderes punteados, es decir, puntos espaciados uniformemente El
espacio de punto a punto viene dado por el comando \@dotsep
.
De manera predeterminada es 4.5 (está en unidades matemáticas, también
conocido como mu
, que son 1/18
em. Cámbialo
usando \renewcommand
, como en
\renewcommand{\@dotsep}{3.5}
.
En la clase book estándar, LaTeX no usa líderes punteados para las entradas de la tabla Part y Chapter, y en la clase article estándar no usa líderes punteados para las entradas de la sección.
\addcontentsline
Sinopsis:
\addcontentsline{ext}{unit}{text}
Agrega una entrada al archivo auxiliar con extensión ext.
Lo siguiente resultará en una línea ‘Apéndices’ en la tabla de contenido.
\addcontentsline{toc}{section}{\protect\textbf{Apéndices}}
Aparecerá al mismo nivel de sangría que las secciones, estará en negrita, y se le asignará el número de página asociado con el punto donde aparece el comando en el archivo de entrada.
El comando \addcontentsline
escribe información en el archivo
root-name.ext, donde root-name es el nombre
del archivo raíz (véase Dividir la entrada). Escribe que
información como el texto del comando
\contentsline{unit}{text}{num}
, dónde
num
es el valor actual del contador unit
(véase \contentsline
). El caso más común es la tabla de contenido y
allí num es el número de página de la primera página de
unit.
Este comando es invocado por los comandos de seccionado
\chapter
, etc. (véase Seccionado), y también por
\caption
dentro de un entorno flotante (véase Flotantes).
Pero también lo utilizan directamente los autores. Por ejemplo, un
autor que escribe un libro cuyo estilo es tener un prefacio sin
numerar puede usar el \chapter*
con asterisco. Pero ese
comando omite la información de la tabla de contenido, que se puede
ingresar manualmente, como aquí.
\chapter*{Preface} \addcontentsline{toc}{chapter}{\protect\numberline{}Prefacio}
En el archivo root-name.toc LaTeX pondrá la línea
\contentsline {chapter}{\numberline {}Prefacio}{3}
;
nota que el número de página ‘3’ es generado automáticamente por
el sistema, no ingresado manualmente.
Todos los argumentos para \addcontentsline
son obligatorios.
Por lo general, una de las cadenas toc
para la tabla de
contenido, lof
para la lista de figuras, o lot
para la
lista de tablas. La extensión del nombre de archivo del archivo de
información.
Una cadena que depende del valor del argumento ext, normalmente una de:
toc
Para la tabla de contenido, este es el nombre de una unidad seccional:
part
, chapter
, section
, subsection
, etc.
lof
Para la lista de figuras: figure
.
lot
Para la lista de tablas: table
.
El texto de la entrada. Debes \protect
cualquier comando
frágil (véase \protect
) utilizado en él.
El comando \addcontentsline
tiene una interacción con
\include
(véase \include
e \includeonly
). Si los usas en el
mismo nivel, como con
\addcontentsline{...}{...}{...}\include{...}
entonces
las líneas en la tabla de contenido pueden aparecer en el orden
incorrecto. La solución es mover \addcontentsline
al archivo
que se incluye.
Si usas una unidad que LaTeX no reconoce, como con el error tipográfico aquí
\addcontentsline{toc}{section}{\protect\textbf{Apéndices}}
entonces no obtienes un error sino que el formato en la tabla de contenido no tendrá sentido.
\addtocontents
Sinopsis:
\addtocontents{ext}{text}
Agrega text, que puede ser texto o comandos de formato, directamente a el archivo auxiliar con extensión ext. Este es el más utilizado para la tabla de contenido, así que esa es la discusión aquí, pero también se aplica a la lista de figuras y la lista de tablas.
Esto pondrá un espacio vertical en la tabla de contenido después del encabezado ‘Contenido’.
\tableofcontents\newpage \addtocontents{toc}{\protect\vspace*{3ex}}
Esto pone la palabra ‘Página’, en negrita, encima de la columna del número de página y después del encabezado.
\tableofcontents \addtocontents{toc}{~\hfill\textbf{Página}\par} \chapter{...}
Esto agrega una línea que anuncia el trabajo de un nuevo autor.
\addtocontents{toc}{% \protect\vspace{2ex} \textbf{Capítulos de N. Otro autor}\par}
La diferencia entre \addtocontents
y \addcontentsline
es
que este último es estrictamente para líneas, como con una línea que
da el número de página para el comienzo de un nuevo subconjunto de
capítulos. Como muestran los ejemplos anteriores,
\addtocontents
es para material como el espaciado.
El comando \addtocontents
tiene dos argumentos. Ambos son
requeridos.
Por lo general, uno de: toc para la tabla de contenido, lof para la lista de figuras, o lot para la lista de tablas. La extensión del archivo contiene la información.
El texto, y posiblemente los comandos, que se van a escribir.
Los comandos de seccionado como \chapter
usan el comando
\addcontentsline
para almacenar información. Este comando crea
líneas en el archivo auxiliar .toc que contiene el comando
\contentsline
(véase \addcontentsline
). A diferencia de el
comando \addtocontents
coloca el material directamente en ese
archivo.
El comando \addtocontents
tiene una interacción con
\include
(véase \include
e \includeonly
). Si los usas en el
mismo nivel, como con
\addtocontents{...}{...}\include{...}
entonces las líneas
en la tabla de contenido pueden aparecer en el orden incorrecto. La
solución es mover \addtocontents
al archivo que se incluye.
\contentsline
Sinopsis:
\contentsline{unit}{text}{pagenumber}
Utilizado internamente por LaTeX para componer una entrada de la
tabla de contenido, lista de figuras o lista de tablas (véase Tabla de contenido, lista de figuras, lista de tablas). Los autores no ingresan directamente los comandos
\contentsline
.
Por lo general, la adición de material a estas listas la realizan
automáticamente los comandos \chapter
, \section
,
etc. para la tabla de contenido, o por el comando \caption
dentro de un entorno \figure
o \table
(véase figure
y
véase table
). De este modo, donde el archivo raíz es
thesis.tex y contiene la declaración \tableofcontents
,
el comando \chapter{Capítulo Uno}
produce algo como esto en
el archivo thesis.toc.
\contentsline {chapter}{\numberline {1}Capítulo uno}{3}
Si el archivo contiene la declaración \listoffigures
entonces
un entorno figure
que involucra \caption{Test}
producirá algo como esto en thesis.lof.
\contentsline {figure}{\numberline {1.1}{\ignorespaces Test}}{6}
Para agregar material manualmente, usa
\addcontentsline{filetype}{unit}{text}
,
donde filetype es toc
, lof
o lot
(véase \addcontentsline
).
Para manipular cómo se escribe el material
\contentline
, consulta el paquete tocloft
.
Ten en cuenta que el paquete hyperref
cambia la definición de \contentsline
(y
\addcontentsline
) para agregar más argumentos, para hacer
hipervínculos. Esta es la fuente del error El argumento de
\contentsline tiene una }
adicional cuando se agrega/elimina el uso
del paquete hyperref
y ya se ejecutó una compilación.
Soluciona este error eliminando el archivo .toc o .lof o
.lot y ejecutando LaTeX de nuevo.
\nofiles
Sinopsis:
\nofiles
Evita que LaTeX escriba archivos auxiliares. La única salida serán los archivos .log y .pdf (o .dvi). Este comando debe ir en el preámbulo.
Debido al comando \nofiles
este ejemplo no producirá un archivo
.toc.
\documentclass{book} \nofiles \begin{document} \tableofcontents\newpage \chapter{...} ...
LaTeX no borrará ningún archivo auxiliar existente, por lo que si
insertas el comando \nofiles
después de ejecutar el archivo y
obtener un .toc entonces la página de la tabla de contenido
seguirá mostrando la información antigua.
\numberline
Sinopsis:
\numberline{number}
Escribe su argumento alineado a la izquierda en un cuadro. Esto se
usa en un comando \contentsline
para escribir el número de
sección (véase \contentsline
).
Por ejemplo, esta línea en un .toc hace que el 1.1
sea
composición tipográfica a la izquierda.
\contentsline {subsection}{\numberline {1.1}Motivación}{2}
De forma predeterminada, LaTeX escribe los números de sección en un
cuadro de longitud \@tempdima
. Esa longitud la establecen los
comandos \l@section
, \l@subsection
, etc. Poner números
de sección dentro de una caja de ancho natural con
\renewcommand{\numberline}[1]{#1~}
antes de
\tableofcontents
.
Este comando es frágil, por lo que es posible que debas precederlo con
\protect
(véase \protect
). Un ejemplo es el uso de
\protect
en este comando,
\addcontentsline{toc}{section}{\protect\numberline{}Resumen}
para obtener el \numberline
en el comando \contentsline
en el archivo .toc: \contentsline
{section}{\numberline {}Resumen}{6}
(LaTeX agrega
automáticamente el número de página ‘6’;
véase \addcontentsline
).
Si le dices a LaTeX qué términos quieres que aparezcan en un índice, entonces puede producir ese índice, en orden alfabético y con los números de página mantenidos automáticamente. Esto ilustra los conceptos básicos.
\documentclass{article} \usepackage{makeidx} % Proporcionar comandos de indexación \makeindex % \usepackage{showidx} % Muestra notas al margen de las entradas % del índice ... \begin{document} ... Teorema de Wilson\index{Teorema de Wilson} dice que un número $n>1$ es primo si y solo si el factorial de $n-1$ es congruente con $-1$ modulo~$n$.\index{congruencia!y el Teorema de Wilson} ... \printindex \end{document}
Como muestra, declara las entradas de índice con el comando
\index
(véase \index
). Cuando ejecutas LaTeX,
\index
escribe su información, como ‘Teorema de Wilson’ y
el número de página, a un archivo auxiliar cuyo nombre termina en
.idx. A continuación, alfabetiza y hace otras manipulaciones,
como ejecutar un comando externo, normalmente makeindex
(véase makeindex
), que escribe un archivo cuyo nombre termina en
.ind. Finalmente, \printindex
trae esta información
manipulada en la salida (véase \printindex
).
Por lo tanto, si el ejemplo anterior está en el archivo
numth.tex entonces ejecutar ‘pdflatex numth’ guardará la
entrada de índice y la información del número de página a
numth.idx. Luego ejecutar ‘makeindex numth’ ordena
alfabéticamente y guarda los resultados en
numth.ind. Finalmente, ejecutar de nuevo ‘pdflatex numth’
mostrará el índice deseado, en el lugar donde está el comando
\printindex
en el archivo fuente.
Hay muchas opciones para la salida. Un ejemplo es que el signo de
exclamación en \index{congruencia!y teorema de Wilson}
produce una entrada principal de ‘congruencia’ con una subentrada
de ‘y Teorema de Wilson’. Para obtener más información,
véase makeindex
.
Los comandos \makeindex
y \printindex
son
independientes. Omitir el \makeindex
evitará que LaTeX
guarde las entradas de índice al archivo auxiliar. Omitir el
\printindex
hará que LaTeX no muestre el índice en la salida
del documento.
Hay muchos paquetes en el área de indexación. El paquete
showidx
hace que cada entrada de índice se muestre en el
margen de la página donde aparece el \index
. Esto puede ayudar
en la preparación del índice. El paquete multind
, entre
otros, admite múltiples índices. Consulta también la entrada de
preguntas frecuentes de TeX sobre este tema,
https://www.texfaq.org/FAQ-multind, y el tema de CTAN,
https://ctan.org/topic/index-multi.
Los documentos que son pequeños y estáticos pueden tener un índice producido manualmente. Esto creará una página separada etiquetada como ‘Index’, en formato de dos columnas.
\begin{theindex} \item acorn squash, 1 \subitem maple estufado, 2 \indexspace \item bacon, 3 \subitem maple estufado, 4 \end{theindex}
Ten en cuenta que el autor debe ingresar los números de página, lo
cual es tedioso y que dará como resultado números incorrectos si el
documento cambia. Esta es la razón por lo que en la mayoría de los
casos, los métodos automatizados como makeindex
son los
mejores. Véase Índices.
Sin embargo, cubrimos los comandos para completado, y porque los
métodos automatizados se basan en estos comandos. Hay tres niveles de
entradas. Cómo muestra el ejemplo, una entrada principal usa
\item
, las subentradas usan \subitem
, y el nivel más
bajo usa \subsubitem
. Las líneas en blanco entre entradas no
tienen efecto. El ejemplo anterior incluye \indexspace
para
producir espacio vertical en la salida que usa algunos estilos de
índice antes de que comience la primera entrada con una nueva letra.
\index
Sinopsis:
\index{index-entry-string}
Declara una entrada en el índice. Este comando es frágil
(véase \protect
).
Por ejemplo, como se describe en Índices, una forma de obtener
un índice de lo que sigue es compilar el documento con pdflatex
test
, entonces procesar las entradas del índice con makeindex
test
y luego compilar de nuevo con pdflatex test
.
% file test.tex ... W~Ackermann (1896--1962).\index{Ackermann} ... Ackermann function\index{Ackermann!function} ... rate of growth\index{Ackermann!function!growth rate}
Las tres entradas de índice obtendrán un número de página, como
‘Ackermann, 22’. LaTeX formateará el segundo como un
subelemento del primero, en la línea debajo de ella y con sangría, y
la tercera como subelemento de la segunda. Tres niveles de
profundidad es lo máximo que puede anidar subentradas. (Si agregas
\index{Ackermann!function!growth rate!comparison}
entonces
makeindex
dice ‘Escaneando archivo de entrada
test.idx....hecho (4 entradas aceptadas, 1 rechazada)’ y el cuarto
nivel del índice falla silenciosamente).
Si ingresas un segundo \index
con el mismo
index-entry-string, obtendrás una sola entrada de índice con dos
números de página (a menos que caigan en la misma página). De este
modo, agregar como por Ackermann.\index{Ackermann}
más tarde
en el mismo documento como el anterior dará una entrada de índice como
‘Ackermann, 22, 151’. Además, puedes introducir las entradas del
índice en cualquier orden, por lo que la instancia
\index{Ackermann!function}
podría venir antes de
\index{Ackermann}
.
Obtiene un rango de páginas en la salida, como ‘Hilbert, 23--27’, como aquí.
W~Ackermann (1896--1962).\index{Ackermann} ... D~Hilbert (1862--1943)\index{Ackermann!Hilbert|(} ... Desaprobado de su matrimonio.\index{Ackermann!Hilbert|)}
Si el comienzo y el final del rango de páginas son iguales, entonces el sistema solo da un único número de página, no un rango.
Si indexas subentradas pero no una entrada principal, como con
\index{Jones!program}
e \index{Jones!results}
,
entonces el resultado es el elemento ‘Jones’ sin coma ni número
de página, seguido de dos subelementos, como ‘programa, 50’ y
‘resultados, 51’.
Genera una entrada de índice que diga ‘ve’ usando un carácter de
barra vertical: \index{Ackermann!function|see{P\'eter's
function}}
. En su lugar, puedes obtener ‘ve también’ con
seealso
. (El texto ‘ve’ está definido por \seename
y ‘ve también’ por \alsoname
. Los puedes redefinir
utilizando un paquete de internacionalización como babel
o
polyglossia
, o directamente como con
\renewcommand{\alsoname}{Ve también}
).
La característica ‘see’ es parte de una funcionalidad más
general. Después de la barra vertical puedes poner el nombre de un
comando de una sola entrada, como en \index{group|textit}
(ten en cuenta la barra invertida que falta en el comando
\textit
) y el sistema aplicará ese comando al número de página,
aquí dando algo como \textit{7}
. Puedes definir tus propios
comandos de una sola entrada, como
\newcommand{\definedpage}[1]{{\color{blue}#1}}
y
entonces \index{Ackermann!function|definedpage}
dará un
número de página azul (véase Color). Otro ejemplo, menos práctico,
es este,
\newcommand\indexownpage[1]{#1, \thepage} ... Epimenides.\index{self-reference|indexownpage}
que crea una entrada citando el número de página de su propia lista de índice.
Las dos funciones recién descritas se combinan, como aquí
\index{Ackermann!function|(definedpage} ... \index{Ackermann!function|)}
que genera una entrada de índice como ‘function, 23--27’ donde los números del rango de páginas están en azul.
Considera una entrada de índice como ‘α-ring’.
Entrado como $\alpha$-ring
hará que se ordene alfabéticamente
según el signo de dolar. En su lugar, lo puedes ingresar usando un
signo de arroba, como \index{alpha-ring@$\alpha$-ring}
. Si
especificas una entrada con un signo de arroba que separa dos cadenas,
pos@text
, entonces pos da la posición
alfabética de la entrada mientras text produce el texto de la
entrada. Otro ejemplo es que \index{Saint Michael's
College@SMC}
produce una entrada de índice ‘SMC’ en orden
alfabético en una ubicación diferente a su ortografía lo daría
naturalmente.
Para poner un carácter !
, @
, |
o "
en una
entrada de índice, escápala precediéndola con una comilla doble,
"
. (Las comillas dobles se eliminan antes de la
alfabetización).
Varios paquetes en CTAN tienen funcionalidad
adicional más allá de eso proporcionada por makeidx
. Uno es
index
, que permite múltiples índices y contiene un comando
\index*{index-entry-string}
que imprime el
index-entry-string además de indexarlo.
El comando \index
escribe la información de indexación en el
archivo root-name.idx. Específicamente, escribe texto
del comando
\indexentry{index-entry-string}{page-num}
,
donde page-num es el valor del contador \thepage
. Alguna
ocasión, cuando el comando \printindex
se confunde, debes
eliminar este archivo para comenzar con una pizarra nueva.
Si omites la llave de cierre de un comando \index
entonces
obtienes un mensaje como este.
¿Argumento fugitivo? {Ackermann!function ! ! El párrafo terminó antes de que \@wrindex se completara.
makeindex
Sinopsis, una de:
makeindex filename makeindex -s style-file filename makeindex options filename0 ...
Ordenar y procesar la información del índice en el archivo auxiliar
filename. Este es un programa de línea de comandos. Se
necesita uno o más archivos de índice sin procesar, archivos
filename.idx y produce el archivo de índice real, el
archivo filename.ind que ingresa \printindex
(véase \printindex
).
La primera forma del comando es suficiente para muchos usos, La segunda permite formatear el índice usando un archivo de estilo de índice, un archivo .isty. La tercera forma es la más general; ve la documentación completa en CTAN.
Este es un simple archivo .isty.
% book.isty % $ makeindex -s book.isty -p odd book.idx % crea el índice como book.ind, comenzando en una página impar. preamble "\\pagestyle{empty} \\small \\begin{theindex} \\thispagestyle{empty}" postamble "\n \\end{theindex}"
La descripción aquí cubre solo algunos de los posibles formatos de índice en style-file. Para obtener una lista completa, consulta la documentación en CTAN.
Un archivo de estilo consta de una lista de pares: specifier y
attribute. Estos pueden aparecer en el archivo en cualquier
orden. Todos los attributes son cadenas, excepto donde se
indique. Las cadenas son entre comillas dobles, "
y la
longitud máxima de una cadena tiene 144 caracteres. La \n
es
para una nueva línea y \t
es para una tabulación. Las barras
invertidas se escapan con otra barra invertida, \\
. Si una
línea comienza con un signo de porcentaje, %
, entonces es un
comentario.
preamble
¶Preámbulo del archivo de índice de salida. Define el contexto en el
que se encuentra el índice formateado. Predeterminado:
"\\begin{theindex}\n"
.
postamble
¶Postámbulo del archivo de salida del índice Predeterminado:
"\n\n\\end{theindex}\n"
.
group_skip
¶Tradicionalmente, los elementos del índice se dividen en grupos,
generalmente un grupo para entradas que comienzan con la letra
‘a’, etc. Este especificador da lo que se inserta cuando comienza
un nuevo grupo. Predeterminado: "\n\n \\indexspace\n"
(\indexspace
es un comando que inserta una longitud elástica,
de manera predeterminada es 10pt plus5pt minus3pt
).
lethead_flag
¶un entero. Rige lo que se inserta para un nuevo grupo o letra. Si es
0 (que es el valor predeterminado) entonces aparte de
group_skip
nada se insertará antes del grupo. Si es positivo
entonces en una nueva letra el lethead_prefix
y
lethead_suffix
serán insertada, con esa letra en mayúsculas
entre ellas. Si es negativo entonces lo que se insertará es la letra
en minúsculas. El valor predeterminado es 0.
lethead_prefix
¶Si un nuevo grupo comienza con una letra diferente, entonces este es
el prefijo insertado antes de la nueva letra del encabezado.
Predeterminado: ""
lethead_suffix
¶Si un grupo comienza con una letra diferente, entonces este es el
sufijo insertado después del nuevo encabezado de carta.
Predeterminado: ""
.
item_0
¶Lo que se pone entre dos elementos level 0. Predeterminado:
"\n \\item "
.
item_1
¶Colocar entre dos elementos level 1. Predeterminado: "\n
\\subitem "
.
item_2
¶Coloca entre dos elementos level 2. Predeterminado: "\n
\\subsubitem "
.
item_01
¶Lo que se coloca entre un elemento level 0 y un elemento
level 1. Predeterminado: "\n \\subitem "
.
item_x1
¶Que se coloca entre un elemento level 0 y un elemento
level 1 en el caso de que el elemento level 0 no tenga
ningún número de página (como en \index{aaa|see{bbb}}
).
Predeterminado: "\n \\subitem "
.
item_12
¶Lo que se coloca entre un elemento level 1 y un elemento
level 2. Predeterminado: "\n \\subsubitem "
.
item_x2
¶Que se pone entre un elemento level 1 y un elemento level 2,
si el level 1 elemento no tiene números de página.
Predeterminado: "\n \\subsubitem "
.
delim_0
¶Delimitador puesto entre una clave level 0 y su primer número de
página. Predeterminado: una coma seguida de un espacio en blanco,
", "
.
delim_1
¶Delimitador puesto entre una clave level 1 y su primer número de
página. Predeterminado: una coma seguida de un espacio en blanco,
", "
.
delim_2
¶Delimitador entre una clave level 2 y su primer número de
página. Predeterminado: una coma seguida de un espacio en blanco,
", "
.
delim_n
¶Delimitador entre dos números de página para la misma clave (en
cualquier nivel). Predeterminado: una coma seguida de un espacio en
blanco, ", "
.
delim_r
¶Lo que se coloca entre los números de página inicial y final de un
rango. Predeterminado: "--"
.
line_max
¶Un entero. Longitud máxima de la línea de una entrada de índice en la
salida, más allá de la cual la línea se envuelve. Predeterminado:
72
.
indent_space
¶Lo que se inserta al comienzo de una línea envuelta. Predeterminado:
"\t\t"
.
indent_length
¶Un número. La longitud de la sangría de la línea envuelta. El valor
predefinido indent_space
son dos tabulaciones y cada tabulación
tiene ocho espacios, por lo que el el valor predeterminado aquí es
16
.
page_precedence
¶Un documento puede tener páginas numeradas de diferentes maneras. Por
ejemplo, un libro puede tener las primeras páginas numeradas en
minúsculas romanas mientras que la página principal de la materia
están en árabe. Esta cadena especifica el orden en que aparecerán en
el índice. El comando makeindex
admite cinco tipos
diferentes de números: minúsculas romanas r
y numérico o árabe
n
y minúsculas alfabético a
y mayúsculas R
romano
y A
alfabético en mayúsculas. Predeterminado: "rnaRA"
.
Hay una serie de otros programas que hacen el trabajo que
makeindex
hace. Uno es xindy
(https://ctan.org/pkg/xindy), que hace internacionalización y
puede procesar índices para documentos marcados usando LaTeX y un
número de otros idiomas. Está escrito en Lisp, altamente configurable,
tanto en términos de marcado y en términos del orden de clasificación
del texto, como descrito en su documentación.
Un programa de indexación más reciente compatible con Unicode es
xindex
, escrito en Lua (https://ctan.org/pkg/xindex).
\printindex
Sinopsis:
\printindex
Coloca el índice en la salida.
Para obtener un índice, primero debes incluir
\usepackage{makeidx}\makeindex
en el preámbulo del documento
y compila el documento, entonces ejecuta el comando del sistema
makeindex
, y luego vuelve a compilar el documento.
Véase Índices, para más discusión y un ejemplo del uso de
\printindex
.
Sinopsis:
\usepackage{glossaries} \makeglossaries ... \newglossaryentry{label}{settings} ... \gls{label}. ... \printglossaries
El paquete glossaries te permite crear glosarios, incluidos múltiples glosarios, así como listas de siglas.
Para obtener el resultado de este ejemplo, compila el documento (por
ejemplo con nombre de archivo pdflatex
), entonces ejecuta el
comando de línea de comandos makeglossaries filename
y luego
vuelve a compilar el documento.
\documentclass{...} \usepackage{glossaries} \makeglossaries \newglossaryentry{tm}{% name={Máquina de Turing}, description={Un modelo de máquina hace cálculos. El modelo es sencillo pero puede calcular cualquier cosa que cualquier dispositivo existente pueda calcular. Es el modelo estándar utilizado en Informática.}, } \begin{document} Todo comienza con la definición de \gls{tm}. ... \printglossaries \end{document}
Eso da dos cosas. En el texto principal genera ‘... definición de una máquina de Turing’. Además, en una unidad seccional separada encabezada ‘Glossary’ aparece una lista de descripción. En letra negrita dice ‘Máquina de Turing’ y el resto del artículo dice en tipo normal ‘Un modelo de máquina … Informática’.
El comando \makeglossary
abre el archivo que contendrá la
información de entrada, root-file.glo. Pon el comando
\printglossaries
donde deseas que aparezcan los glosarios en tu
documento.
El paquete glossaries es muy poderoso. Por ejemplo, además los
comandos \newglossaryentry
y \gls
, hay comandos
similares para una lista de acrónimos. Consulta la documentación del
paquete en CTAN.
\newglossaryentry
Sinopsis, una de:
\newglossaryentry{label} { name={name}, description={description}, otras opciones, ... }
o
\longnewglossaryentry{label} { name={name}, other options ..., } {description}
Declara una nueva entrada para un glosario. label debe ser
único para el documento. Los ajustes asociados a la etiqueta son
pares: key=value
.
Esto pone el símbolo en negrita de la pizarra para los números reales ℝ, en el glosario.
\newglossaryentry{R} { name={\ensuremath{\mathbb{R}}}, description={los números reales}, }
Usa la segunda forma del comando si description abarca más de un párrafo.
Para obtener una lista completa de key, consulta la documentación del paquete en CTAN, pero aquí hay algunos.
name
¶(Obligatorio). La palabra, frase o símbolo que estás definiendo.
description
¶(Obligatorio). La descripción que aparecerá en el glosario. Si esto tiene más de un párrafo, entonces debe usar la segunda forma del comando dado en la sinopsis.
plural
¶La forma plural de name. Refiérete a la forma plural usando
\glspl
o \Glspl
(véase \gls
).
sort
¶Cómo colocar esta entrada en la lista de entradas que contiene el glosario.
symbol
¶Un símbolo, como un símbolo matemático, además del nombre.
\gls
Sinopsis, una de:
\gls{label} \glspl{label} \Gls{label} \Glspl{label}
Consulta una entrada del glosario. Las entradas se declaran con
\newglossaryentry
(véase \newglossaryentry
).
Este
\newglossaryentry{N}{% name={los números naturales}, description={Los números $0$, $1$, $2$, $\ldots$\@}, symbol={\ensuremath{\mathbb{N}}}, } ... Considera \gls{N}.
da la salida ‘Considera los números naturales’.
La segunda forma de comando \glspl{label}
produce el
plural de name (de manera predeterminada intenta agregar una
‘s’). La tercera forma escribe en mayúscula la primera letra de
name, al igual que la cuarta forma, que también toma el plural.
Sinopsis:
\documentclass{letter} \address{dirección del remitente} % dirección de retorno \signature{nombre del remitente} \begin{document} \begin{letter}{dirección del destinatario} \opening{salutation} cuerpo de la carta \closing{texto de cierre} \end{letter} ... \end{document}
Producir una o más cartas.
Cada carta está en un entorno letter
separado, cuyo argumento
recipient address a menudo contiene varias líneas separadas por
una barra invertida doble, (\\
). Por ejemplo, podrías
tener:
\begin{letter}{Ninon de l'Enclos \\ l'h\^otel Sagonne} ... \end{letter}
El inicio del entorno letter
restablece el número de página a
1, y la nota al pie al número 1 también.
El sender address y sender name son comunes a todas las
cartas, ya sea que haya una o más, por lo que es mejor ponerlas en el
preámbulo. Al igual que con la dirección del destinatario, a menudo
sender address contiene varias líneas separadas por una doble
barra invertida (\\
). LaTeX pondrá el sender
name bajo el cerramiento, tras un espacio vertical para la
tradicional firma manuscrita.
Cada cuerpo del entorno letter
comienza con un comando
\opening
requerido como \opening{Estimada señora o
señor:}
. El texto letter body LaTeX es normal por lo que
puede contener todo, desde listas enumeradas hasta matemáticas
mostradas, excepto que los comandos como \chapter
que no tienen
sentido en una carta se desactivan. Cada cuerpo de entorno
letter
normalmente termina con un comando \closing
como
\closing{Tuyo,}
.
Puede haber material adicional después del \closing
. Puedes
decir quien está recibiendo una copia de la carta con un comando como
\cc{El Jefe \\ el jefe de jefes}
. Hay un comando
\encl
similar para una lista de material adjunto. Y puedes
agregar una posdata con \ps
.
El valor predeterminado de LaTeX es sangrar el nombre del remitente
y el cierre encima de él por una longitud de \longindentation
.
De manera predeterminada esto es 0.5\textwidth
. Para que queden
alineados a la izquierda, coloca
\setlength{\longindentation}{0em}
en tu preámbulo.
Para establecer una fecha fija, usa algo como
\renewcommand{\today}{1958-Oct-12}
. Si pones en tu
preámbulo entonces se aplicará a todas las cartas.
Este ejemplo muestra solo un entorno letter
. Las tres lineas
marcadas como opcionales normalmente se omiten.
\documentclass{letter} \address{Calle del remitente \\ Ciudad del remitente} \signature{Nombre del remitente \\ Cargo del remitente} % opcionales: \location{Buzón 13} % optional: \telephone{(102) 555-0101} \begin{document} \begin{letter}{Nombre del destinatario \\ Dirección del destinatario} \opening{Señor:} % opcional: \thispagestyle{firstpage} No estoy interesado en entrar en un acuerdo comercial con usted. \closing{Sus más humildes, etc.,} \end{letter} \end{document}
Estos comandos se usan con la clase letter
.
\address
Sinopsis:
\address{dirección del remitente}
Especifica la dirección del remitente, tal como aparece en la carta y
en el sobre. Separa varias líneas en dirección del remitente
con una barra invertida doble \\
.
Debido a que se puede aplicar a varias cartas, esta declaración a
menudo se pone en el preámbulo. Sin embargo, puede ir en cualquier
lugar, incluso dentro de un entorno letter
individual.
Este comando es opcional: si no lo usas, la carta se formatea con un
espacio en blanco en la parte superior, para copiar en papel
preimpreso con membrete. Si usas la declaración \address
entonces tienes el formato de una carta personal.
Aquí tienes un ejemplo:
\address{Stephen Maturin \\ Las uvas de Savoy}
\cc
Sinopsis:
\cc{name0 \\ ... }
Produce una lista de nombres a los que se enviaron copias de la carta.
Este comando es opcional. Si aparece, normalmente viene después de
\closing
. Pone los nombres en diferentes líneas separándolos
con una barra invertida doble, \\
, como en:
\cc{Presidente \\ Vicepresidente}
\closing
Sinopsis:
\closing{text}
Produce el cierre de la carta. Esto es opcional, pero habitual. Aparece al final de una carta, encima de una firma manuscrita. Por ejemplo:
\closing{Respetuosamente,}
\encl
Sinopsis:
\encl{primer objeto encerrado \\ ... }
Produce una lista de las cosas incluidas en la carta. Este comando es
opcional; cuando se usa, generalmente se coloca después de
\closing
. Separa varias líneas con una barra invertida doble,
\\
.
\encl{License \\ Passport}
\location
Sinopsis:
\location{text}
El text aparece centrado en la parte inferior de la página.
Sólo aparece si el estilo de la página es firstpage
.
\makelabels
Sinopsis:
\makelabels % en el preámbulo
Opcional, para un documento que contiene entornos letter
. Si
simplemente pones \makelabels
en el preámbulo y luego, al final
del documento, obtendrás una hoja con etiquetas para todos los
destinatarios, una para cada entorno letter, que puedes copiar en una
hoja despegable de etiquetas de dirección.
Personaliza las etiquetas redefiniendo los comandos
\startlabels
, \mlabel
y \returnaddress
(y quizás
\name
) en el preámbulo. El comando \startlabels
establece el ancho, alto, número de columnas, etc., de la página en la
que se imprimen las etiquetas. El comando \mlabel{return
address}{recipient address}
produce las dos etiquetas (o
una, si eliges ignorar la return address) para cada entorno
letter. El primer argumento, return address, es el valor
devuelto por la macro \returnaddress
. El segundo argumento,
recipient address, es el valor pasado en el argumento al entorno
letter
. Predeterminado \mlabel
ignora el primer
argumento, el return address, provocando el comportamiento
predeterminado descrito en el párrafo anterior.
Esto ilustra la personalización. Su salida incluye una página con dos columnas con dos etiquetas cada una.
\documentclass{letter} \renewcommand*{\returnaddress}{Fred McGuilicuddy \\ Oshkosh, Mineola 12305} \newcommand*\originalMlabel{} \let\originalMlabel\mlabel \def\mlabel#1#2{\originalMlabel{}{#1}\originalMlabel{}{#2}} \makelabels ... \begin{document} \begin{letter}{A Einstein \\ 112 Mercer Street \\ Princeton, New Jersey, USA 08540} ... \end{letter} \begin{letter}{K G\"odel \\ 145 Linden Lane \\ Princeton, New Jersey, USA 08540} ... \end{letter} \end{document}
La primera columna contiene la dirección del remitente dos veces. La segunda columna contiene la dirección de cada destinatario.
El paquete envlab
facilita el formateo de
las etiquetas, con tamaños estándar ya proporcionados. Las líneas del
preámbulo \usepackage[personalenvelope]{envlab}
y
\makelabels
son todo lo que necesitas para imprimir sobres.
\name
Sinopsis:
\name{name}
Opcional. Nombre del remitente, utilizado para imprimir juntos en el sobre con la dirección del remitente.
\opening
Sinopsis:
\opening{salutation}
Obligatorio. Requerido. Sigue el \begin{letter}{...}
. El
argumento salutation es obligatorio. Por ejemplo:
\opening{Estimado John:}
\ps
Sinopsis:
\ps{text}
Agrega una posdata. Este comando es opcional y generalmente se usa
después de \closing
.
\ps{P.D. Después de haber leído esta carta, quémala. O cómetela.}
\signature
Sinopsis:
\signature{primera línea \\ ... }
El nombre del remitente. Este comando es opcional, aunque su inclusión es habitual.
El texto del argumento aparece al final de la carta, después del
cierre. LaTeX deja algo de espacio vertical para una firma escrita
a mano. Separa varias líneas con una doble barra
invertida, \\
. Por ejemplo:
\signature{J Fred Muggs \\ Casa Blanca}
Valor predeterminado de LaTeX para el espacio vertical del texto
\closing
hasta el texto \signature
es
6\medskipamount
, que es seis veces \medskipamount
(donde
\medskipamount
es igual a un \parskip
, que a su vez se
define de manera predeterminada aquí para 0.7em).
Este comando suele estar en el preámbulo, para aplicar a todas las
letras en el documento. Para que se aplique a una sola carta,
colócala dentro de un entorno letter
y antes del
\closing
.
Puedes incluir un gráfico en la firma como aquí.
\signature{\vspace{-6\medskipamount}\includegraphics{sig.png}\\ Mi nombre}
Para esto debes poner \usepackage{graphicx}
en el preámbulo
(véase Gráficos).
LaTeX usa la capacidad de escribir en un archivo y luego volver a leerlo para crear componentes de documentos como una tabla de contenido o un índice. También puedes leer un archivo que escribieron otros programas, o escribir un archivo para que otros lo lean. Te puedes comunicar con los usuarios a través de la terminal. Y puedes emitir instrucciones para el sistema operativo.
\openin
y \openout
Sinopsis:
\openin number=filename
o:
\openout number=filename
Abre un archivo para leer material o para escribirlo. En la mayoría
de los motores, el number debe estar entre 0 y 15, como en
\openin3
; en LuaLaTeX, number puede estar entre 0 y
127.
Aquí TeX abre el archivo presidents.tex para lectura.
\newread\presidentsfile \openin\presidentsfile=presidentes \typeout{presidentsfile es \el\presidentsfile} \read\presidentsfile a\presidentline \typeout{\presidentline}
El comando \newread
asigna números de flujo de entrada desde 0
a 15 (también hay un \newwrite
). El
\presidentsfile
es más memorable, pero bajo el capó sigue
siendo un número; el primer \typeout
da algo como
‘presidentsfile es 1’. Además, \newread
realiza un
seguimiento de la asignación de modo que si usas demasiados, obtendrás
un error como ‘! No hay espacio para un nuevo \read’. El segundo
\typeout
da la primera línea del archivo, algo así como ‘1
Washington, George’.
Normalmente, TeX no intentará abrir el archivo hasta enviar la
página siguiente. Para cambiar esto, usa \immediate\openin
number=filename
o \immediate\openout
number=filename
.
Cierra archivos con \closein number
y \closeout
number
.
La forma en que LaTeX maneja los nombres de archivo varía entre las distribuciones e incluso puede variar entre las versiones de una distribución. Si el archivo no tiene una extensión entonces TeX agregará un .tex. Esto crea presidents.tex, escribe una línea y la cierra.
\newwrite\presidentsfile \openout\presidentsfile=presidentes \write\presidentsfile{1 Washington, George} \closeout\presidentsfile
Pero los nombres de archivo con un punto pueden causar problemas: si TeX encuentra un filename de presidents.dat podría buscar primero presidents.dat.tex y posteriormente presidents.dat, o podría hacer lo contrario. La documentación de su distribución debe decir más, y si encuentras algo que funcione para ti, entonces eres bueno, pero para asegurar una portabilidad completa lo mejor es utilizar nombres de archivo que contiene solo las veintiséis letras ASCII (no distingue entre mayúsculas y minúsculas) y los diez dígitos, junto con el guión bajo y el guión, y en particular sin punto ni espacio.
Para \openin
, si TeX no puede encontrar el archivo, entonces
no da un error. Simplemente considera que la transmisión no está
abierta (prueba esto con \ifeof
; un recurso es el comando
\InputIfFileExists
, véase Comandos class y package). Si
intentas usar el mismo número dos veces, LaTeX no te dará un error.
Si intentas usar un número incorrecto y recibe un mensaje de error
como ‘! Número incorrecto (16). <para leer de nuevo> = l.30
\openin16=test.jh’.
\read
Sinopsis:
\read number tomacro
Hace que el comando macro contenga la siguiente línea de entrada
de texto que transmite number, como en \read5 to\data
.
Esto abre el archivo email.tex para lectura, pone el contenido
de la primera línea en el comando \email
y luego cierra el
archivo.
\newread\recipientfile \openin\recipientfile=email \read\recipientfile to\email \typeout{Email address: \email} \closein\recipientfile
Si number está fuera del rango de 0 a 15 o si no hay
archivo de ese número abierto, o si el archivo ha finalizado, entonces
\read
tomará la entrada de la terminal (o saldrá si la
interacción no está permitida, por ejemplo, \nonstopmode
;
véase modos de interacción). (Sin embargo, la forma natural en
LaTeX de tomar entradas desde la terminal es \typein
(véase \typein
).
Para leer un archivo completo como fuente LaTeX adicional, usa
\input
(véase \input
) o \include
(véase \include
e \includeonly
).
Una razón común para querer leer de un archivo de datos es realizar
combinaciones de correspondencia. CTAN tiene varios paquetes para
eso; uno es datatool
.
\typein
Sinopsis, una de:
\typein{prompt-msg} \typein[cmd]{prompt-msg}
Imprime prompt-msg en la terminal y hace que LaTeX se detenga y espere a que escribas una línea de entrada. Esta línea de entrada termina cuando presiones la tecla de retorno.
Por ejemplo, este
Mientras viva, nunca olvidaré \typein{Ingresar el nombre del estudiante:}
junto con esta interacción de la línea de comandos
Ingresa el nombre del estudiante: \@typein=Aphra Behn
da la salida ‘... nunca olvides a Aphra Behn’.
La primera versión del comando, \typein{prompt-msg}
,
provoca la entrada que escribiste para ser procesada como si se
hubiera incluido en el archivo de entrada en lugar del comando
\typein
En la segunda versión del comando, el argumento opcional
cmd
debe ser un nombre de comando, es decir, debe
comenzar con una barra invertida, \. Este nombre de comando se define
o redefine para ser la entrada que escribiste. Por ejemplo, este
\typein[\student]{Ingresa el nombre del estudiante:} \typeout{Recomendación para \student .}
da esta salida en la línea de comandos,
Ingresa el nombre del estudiante: \student=John Dee Recomendación para John Dee.
donde el usuario ha ingresado ‘John Dee.’
\typeout
Sinopsis:
\typeout{msg}
Imprime msg
en la terminal y en el archivo log
.
Este
\newcommand{\student}{John Dee} \typeout{Recomendación para \student .}
genera ‘Recomendación para John Dee’. Como lo que pasa aquí con
\student
, comandos que se definen con \newcommand
o
\renewcommand
(entre otros) se reemplazan por sus definiciones
antes de ser impresos.
Las reglas habituales de LaTeX para tratar múltiples espacios como
un solo espacio e ignorar los espacios después de un nombre de comando
se aplica a msg
. Utiliza el comando \space
para obtener
un solo espacio, independiente de los espacios circundantes. Usa
^^J
para obtener una nueva línea. Obtener un carácter de
porcentaje con \csname @percentchar\endcsname
.
Este comando puede ser útil para una depuración simple, como aquí:
\newlength{\jhlength} \setlength{\jhlength}{5pt} \typeout{La longitud es \la\jhlength.}
produce en la línea de comandos ‘La longitud es 5.0pt’.
\write
Sinopsis:
\write number{string}
Escribe string en el archivo de registro, en la terminal o en un
archivo abierto por \openout
. Por ejemplo, \write6
escribe en texto corriente el número 6.
Si aparece lo siguiente en basefile.tex entonces se abre basefile.jh, escribe ‘Hello World!’ y una nueva línea y cierra ese archivo.
\newwrite\myfile \immediate\openout\myfile=\jobname.jh % \jobname is root file basename ... \immediate\write\myfile{Hello world!} ... \immediate\closeout\myfile
El \newwrite
asigna un número de flujo, dándole un valor de
nombre simbólico para hacer la vida más fácil, para que
stream\newwrite\myfile\the\myfile
produzca algo como
‘stream 3’. Entonces \openout
asocia el número de flujo
con el nombre de archivo dado. TeX finalmente ejecutó
\write3
que pone la cadena en el archivo.
Por lo general, number está entre 0 y 15, porque normalmente los autores de LaTeX siguen el ejemplo anterior y se asigna el número por el sistema. Si number está fuera del rango de 0 a 15 o si no está asociado con un archivo abierto, LaTeX escribe string al archivo de registro. Si number es positivo entonces además LaTeX escribe string en la terminal.
Por lo tanto, test \write-1{Hello World!}
pone ‘Hello
World!’ seguido de una nueva línea en el archivo de registro. (Esto
es lo que dice el \wlog
el comando lo hace; véase \wlog
). Y
\write100{Hola Mundo!}
pone lo mismo en el archivo de
registro pero también pone ‘Hello World!’ seguido de una nueva
línea en la salida del terminal. (Pero 16, 17 y 18 son especial como
number; ve abajo).
En LuaTeX, en lugar de 16 flujos de salida, hay 256 (véase Motores TeX).
Usa \write\@auxout{string}
para escribir en el actual
.aux, que está asociado con el archivo raíz o con el archivo de
inclusión actual; y usa \write\@mainaux{string}
para
escribir en el .aux principal. Estos nombres simbólicos están
definidos por LaTeX.
De manera predeterminada LaTeX no escribe string a la derecha
del arreglo correcto. Esto se debe a que, por ejemplo, puedes
necesitar \write
para guardar el número de página actual, pero
cuando TeX encuentra un \write
por lo general no sabe cuál
es el número de página, ya que aún no ha hecho el salto de página.
Entonces, usas \write
en uno de tres contextos:
\immediate\write\@auxout{string} %1 \write\@auxout{string} %2 \protected@write\@auxout{}{string} %3
\edef
), por lo que para evitar la
expansión debes usar \noexpand
, toks
, etc., excepto que
debes usar #
en lugar de ##
).
\shipout
. En
\shipout
, string está completamente expandido.
\protected@write
, es como el segundo excepto que
puedes usar \protect
para evitar la expansión. El primer
argumento extra te permite insertar localmente definiciones
adicionales para hacer más macros protegidas o tener alguna otra
definición especial para escribir.
Como ejemplo simple de expansión con \write
, string aquí
contiene una secuencia de control \triplex
que hemos definido
como el texto ‘XYZ’:
\newwrite\jhfile \openout\jhfile=test.jh \newcommand{\triplex}{XYZ} \write\jhfile{test \triplex test}
Esto da como resultado el archivo test.jh que contiene el texto ‘test XYZtest’ seguido de una nueva línea.
Los casos en los que number es 16, 17 o 18 son especiales.
Porque el comportamiento de \write
cuando number está
fuera del rango de 0 a 15 descrito anteriormente, en Plain TeX
\write16
y \write17
a veces se usaba para escribir en el
archivo de registro y el terminal; sin embargo, en LaTeX, la forma
natural de hacerlo es con \typeout
(véase \typeout
). El
comando \write18
es aún más especial; los sistemas TeX
modernos lo usan para dar órdenes al sistema operativo
(véase \write18
).
Normalmente, \write
genera una sola línea. Puedes incluir una
nueva línea con ^^J
. Por lo tanto, esto produce dos líneas en
el archivo de registro.:
\wlog{Las líneas paralelas tienen mucho en común.^^JPero nunca se encuentran.}
Un caso común donde los autores necesitan escribir su propio archivo
es para respuestas a ejercicios, u otra situación en la que quieras
escribir textualmente, sin expandir las macros. CTAN tiene una serie
de paquetes para esto; uno es answers
.
\write
y seguridadLa capacidad de escribir archivos plantea problemas de seguridad. Si compilaste un descargó el archivo LaTeX y sobrescribió su archivo de contraseña, entonces estarías justificadamente preocupado.
Por lo tanto, de manera predeterminada, los sistemas TeX solo te permiten abrir archivos para escritura que están en el directorio actual o directorio de salida, si se especifica (véase directorio de salida), o en un subdirectorio de aquellos. Entonces, este código
\newwrite\jhfile \openout\jhfile=../test.jh
da un error como:
No escribir en ../test.jh (openout_any = p). ! No puedes escribir en el archivo `../test.jh'
Puedes obtener un error de este tipo cuando usas comandos como
\include{../filename}
porque LaTeX intentará abrir
../filename.aux. La solución más sencilla es poner los
archivos incluidos en el mismo directorio que el archivo raíz, o en
subdirectorios.
\message
Sinopsis:
\message{string}
Escribe string en el archivo de registro y en la terminal.
Por lo general, los autores de LaTeX usan \typeout
(véase \typeout
). Eso te permite usar \protect
en cualquier
comando frágil en string (véase \protect
). Pero
\typeout
siempre inserta una nueva línea al final de
string mientras que \message
no lo hace, por lo que este
último puede ser útil.
Con este cuerpo del documento de ejemplo.
antes\message{Uno Dos}\message{Tres}\message{Cuatro^^JI} \message{declarar una guerra de pulgares.}Después
bajo algunas circunstancias (ve más abajo) LaTeX escribe lo siguiente para tanto la terminal como el archivo de registro.
Uno Dos Tres Cuatro Declaro una guerra de pulgares.
El ^^J
produce una nueva línea. Además, en el documento de
salida, entre ‘before’ y ‘After’ será un solo espacio (del
final de la línea que sigue a ‘I}’).
Si bien \message
te permite tener más control sobre el formato,
un inconveniente es que LaTeX puede estropear ese formato porque
inserta saltos de línea dependiendo de lo que ya has
escrito. Contrasta este cuerpo del documento, donde ‘Two’ se ha
movido, al que se indica arriba.
antes de\message{Uno}\message{Dos Tres}\message{Cuatro^^JI} \message{declara una guerra de pulgares.}Después
Esto puede suceder: cuando LaTeX envía los mensajes a la terminal, ahora el mensaje con ‘Uno’ es más corto y cabe al final de la línea de salida en la terminal, y entonces LaTeX rompe la línea entre él y ‘Dos Tres’. Ese salto de línea también aparece en el archivo de registro. Esta inserción de salto de línea puede depender, por ejemplo, de la longitud de los nombres completos de las rutas de los archivos incluidos. Por lo tanto, producir líneas de una manera que es portátil es difícil, probablemente requiera comenzando su mensaje al principio de una línea.
\wlog
Sinopsis:
\wlog{string}
Escribe string en el archivo de registro.
\wlog{¿Escuchaste sobre el matemático que odia los negativos?} \wlog{No se detendrá ante nada para evitarlo.}
Por lo general, string aparece en una sola línea separada. Usa
^^J
para insertar una nueva línea.
\wlog{Helvetica y Times Roman entran a un bar.} \wlog{El barman dice,^^JNo servimos tu tipo.}
\write18
Sinopsis:
\write18{shell_command}
Emite un comando al shell del sistema operativo. El sistema operativo ejecuta el comando y la ejecución de LaTeX se bloquea hasta que acabe.
Esta secuencia (en Unix)
\usepackage{graphicx} % en el preámbulo ... \newcommand{\fignum}{1} \immediate\write18{cd pix && asy figure\fignum} \includegraphics{pix/figure\fignum.pdf}
ejecutará Asymptote (el programa asy
) en
pix/figure1.asy, para que luego el documento se pueda leer en
el gráfico resultante (véase \includegraphics
). Como cualquier
\write
, aquí LaTeX expande macros en shell_command
para que \fignum
sea reemplazado por ‘1’.
Otro ejemplo es que puedes ejecutar automáticamente BibTeX al
inicio de cada ejecución de LaTeX (véase Usar BibTeX) incluyendo
\immediate\write18{bibtex8 \jobname}
como la primera línea
del archivo. Ten en cuenta que \jobname
se expande al nombre
base del archivo raíz a menos que se pase la opción --jobname
en la línea de comandos, en cuyo caso este es el argumento de la
opción.
A veces es necesario realizar un proceso de varios pasos para obtener
la información de eso que quieres. Esto insertará en la entrada una
lista de todos los archivos PDF en el directorio actual (pero ve
texosquery
a continuación):
\immediate\write18{ls *.pdf > tmp.dat} \input{tmp.dat}
El comportamiento estándar de cualquier \write
es esperar hasta
que una página sea enviada antes de expandir las macros o escribir en
la secuencia (véase \write
). Pero a veces quieres que se haga ahora.
Para esto, usa \immediate\write18{shell_command}
.
Hay problemas de seguridad obvios al permitir comandos del sistema
dentro un archivo LaTeX. Si descargas un archivo de la red y
contiene comandos para eliminar todos sus archivos, entonces no
estarías satisfecho. La configuración estándar en las distribuciones
modernas desactiva el acceso completo al intérprete de comandos. Lo
puedes activar, si estás seguro de que los comandos del intérprete son
seguros, compilando con latex --enable-write18 filename
(véase Opciones de la línea de comandos). (La opción
--shell-escape
es un sinónimo, en TeX Live).
En lugar del acceso completo al intérprete, las distribuciones
modernas por omisión una versión restringida que permite que funcionen
algunos comandos, como los que ejecuta Metafont para generar fuentes
que faltan, incluso si no usa la opción enable-write18
. De
manera predeterminada esta lista de commands permitidos es corto y
presenta solo los comandos que están bajo el control de los
mantenedores de la distribución (véase Opciones de la línea de comandos).
El texto shell_command siempre se pasa a /bin/sh en
sistemas operativos similares a Unix y el intérprete de comandos de
DOS cmd.exe en Windows. Cualquier intérprete diferente
establecido por el usuario, y la variable de entorno SHELL
se
ignora.
Si lo que necesitas es información del sistema, como el nombre del
sistema operativo, información local o contenido del directorio, echa
un vistazo al paquete texosquery
, que proporciona una forma
de interfaz cómoda y segura para esto, a diferencia de los ejemplos
anteriores que usan el \write18
simple \write18
:
https://ctan.org/pkg/texosquery.
LaTeX proporciona un paquete shellesc
encima del comando
primitivo \write18
. Su propósito principal es proporcionar un
comando \ShellEscape
que funciona de manera idéntica en todos
los motores TeX; LuaTeX intencionalmente no retuvo
\write18
como una forma de invocar un comando del intérprete,
por lo que se necesita algún código específico del motor. El paquete
shellesc
también proporciona un comando
\DelayedShellEscape
, ejecutado a la hora de \output
, por
la misma razón.
Sinopsis (desde una línea de comandos de terminal):
pdflatex options argument
Ejecuta LaTeX en argument. En lugar de pdflatex
también puedes usar (para salida PDF) xelatex
o
lualatex
, o (para salida DVI) latex
o
dvilualatex
, entre otros (véase Motores TeX).
Por ejemplo, esto ejecutará LaTeX en el archivo thesis.tex, creando la salida thesis.pdf.
pdflatex thesis
Ten en cuenta que .tex es la extensión del nombre de archivo predeterminada.
pdfTeX es una extensión del programa TeX original, al igual que
XeTeX y LuaTeX (véase Motores TeX). Los dos primeros son
completamente retrocompatibles y el segundo, casi. Quizás la nueva
característica más fundamental para los tres es que el TeX original
produce su propio formato DVI, mientras que los más nuevos pueden
salir directamente a PDF. Esto les permite aprovechar las funciones
adicionales en PDF como hipervínculos, compatibilidad con formatos de
imagen modernos como JPG y PNG y programas de visualización
omnipresentes. En resumen, si corres pdflatex
o
xelatex
o lualatex
entonces obtendrás PDF de forma
predeterminada y tendrás acceso a todas sus modernas características.
Si ejecutas latex
o dvilualatex
, obtendrás DVI.
La descripción aquí asume pdflatex
.
Véase Opciones de la línea de comandos, para una selección de las más útiles opciones de la línea de comandos. En cuanto a argument, el caso habitual es que no comienza con una barra invertida, por lo que el sistema lo toma como el nombre de un archivo y compila ese archivo. Si argument comienza con una barra invertida, el sistema lo interpretará como una línea de entrada LaTeX, que se puede utilizar para efectos especiales (véase Entrada de la línea de comandos).
Si no proporcionaste argumentos ni opciones, pdflatex
solicita entrada desde la terminal. Puedes escapar de esto ingresando
CTRL-D.
Si LaTeX encuentra un error en tu documento, de manera predeterminada se detiene y te pregunta al respecto. Véase Recuperación de errores, para obtener un resumen de qué hacer.
Estas son las opciones de la línea de comandos relevantes para la autoría de documentos ordinarios. Para obtener una lista completa, intenta ejecutar ‘latex --help’ desde la línea de comandos.
Con muchas implementaciones puedes especificar opciones de la línea de comandos prefijándolos con ‘-’ o ‘--’. ESTE es el caso de ambos TeX Live (incluyendo MacTeX) y MiKTeX. Usaremos ambas convenciones indistintamente. Si una opción toma un valor, se puede especificar ya sea como un argumento separado (‘--foo val’), o como un argumento con un signo ‘=’ (‘--foo=val’), pero no puede haber espacios alrededor de ‘=’. Generalmente usaremos la sintaxis ‘=’.
-version
Muestra la versión actual, como ‘pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian)’ junto con una pequeña cantidad de información adicional, y sale.
-help
Proporciona un breve mensaje de uso que sea útil como aviso y sale.
-interaction=mode
¶TeX compila un documento en uno de cuatro modos de interacción:
batchmode
, nonstopmode
, scrollmode
,
errorstopmode
. En errorstopmode (el predeterminado),
TeX se detiene en cada error y solicita la intervención del
usuario. En modo por lotes no imprime nada en la terminal, los
errores se desplazan como si el usuario presionara RETURN en
cada error, y los archivos que faltan hacen que se aborte el
trabajo. En nonstopmode, aparece un mensaje de diagnóstico en la
terminal pero como en el modo por lotes, no hay interacción del
usuario. En scrollmode, TeX se detiene por falta de archivos
o entrada del teclado, pero nada más.
Por ejemplo, iniciar LaTeX con esta línea de comandos
pdflatex -interaction=batchmode filename
elimina la mayor parte de la salida de la terminal.
-jobname=string
Establece el valor de jobname de TeX en la cadena. El archivo de registro y el archivo de salida entonces se llamará string.log y string.pdf. véase Nombre del trabajo.
-output-directory=directory
Escribe archivos en el directorio directory. Ya debe existir. Esto se aplica a todos los archivos externos creados por TeX o LaTeX, como el archivo .log para la ejecución, el .aux, .toc, etc., archivos creados por LaTeX, así como el principal archivo de salida .pdf o .dvi en sí mismo.
Cuando se especifica, el directorio de salida directory además primero se verifica automáticamente cualquier archivo que se ingrese, de modo que los archivos externos se pueden volver a leer, si se desea. El verdadero directorio actual (en el que se ejecutó LaTeX) permanece sin cambios, y también se comprobaron los archivos de entrada.
--enable-write18
--disable-write18
--shell-escape
--no-shell-escape
Habilita o deshabilita \write18{shell_command}
(véase \write18
). Las dos primeras opciones son compatibles con
ambos TeX Live y MiKTeX, mientras que las dos segundas son
sinónimos compatibles por TeX Live.
Habilitar esta funcionalidad tiene importantes implicaciones de
seguridad, ya que permite que un archivo LaTeX ejecute cualquier
comando. Por lo tanto, de manera predeterminada, no se permite
\write18
sin restricciones. (El valor predeterminado para
TeX Live, MacTeX y MiKTeX es permitir la ejecución de un
número limitado de programas relacionados con TeX, que ellos
distribuyen).
Por ejemplo, si invocas a LaTeX con la opción
no-shell-escape
, y en tu documento llamas a \write18{ls
-l}
, entonces no obtienes un error pero el archivo de registro dice
‘runsystem(ls -l)...deshabilitado’.
-halt-on-error
Detiene el procesamiento en el primer error.
-file-line-error
-no-file-line-error
Habilita o deshabilita
filename:lineno:error
-style error de
mensajes. Estos solo están disponibles con TeX Live o MacTeX.
Como parte de la invocación de la línea de comandos
latex-engine options argument
puedes especificar una entrada LaTeX arbitraria comenzando argument con una barra invertida. (Todos los motores admiten esto). Este te permite hacer algunos efectos especiales.
Por ejemplo, este archivo (que usa el paquete
hyperref
para hipervínculos) puede producir dos tipos de
salida, una para leer en papel físico y otra para leer en línea.
\ifdefined\paperversion % en el preámbulo \newcommand{\urlcolor}{black} \else \newcommand{\urlcolor}{blue} \fi \usepackage[colorlinks=true,urlcolor=\urlcolor]{hyperref} ... \href{https://www.ctan.org}{CTAN} % en el cuerpo ...
Compilar este documento book.tex con la línea de comandos
pdflatex book
dará el enlace ‘CTAN’ en azul. Pero
compilarlo con
pdflatex "\def\paperversion{}\input book.tex"
tiene el enlace en negro. Usamos comillas dobles para evitar interpretación de los símbolos por el intérprete de la línea de comandos. (Este normalmente funciona en sistemas Unix y Windows, pero hay muchas peculiaridades de las comillas del intérprete, así que lee la documentación de tu sistema si necesitas).
De manera similar, desde el único archivo main.tex puedes compilar dos versiones diferentes.
pdflatex -jobname=students "\def\student{}\input{main}" pdflatex -jobname=teachers "\def\teachers{}\input{main}"
La opción jobname
está ahí porque, de lo contrario, ambos
archivos estarían llamando a main.pdf y el segundo
sobrescribiría el primero. (véase Nombre del trabajo).
En este ejemplo usamos la línea de comando para seleccionar qué partes de un documento incluir. Para un libro llamado mybook.tex y estructurado como esto.
\documentclass{book} \begin{document} ... \include{chap1} \include{chap2} ... \end{document}
la línea de comandos
pdflatex "\includeonly{chap1}\input{mybook}"
dará salida que tiene el primer capítulo pero ningún otro capítulo. Véase Dividir la entrada.
Ejecutar LaTeX crea una serie de archivos, incluido el PDF
principal (o salida DVI), pero también incluye otros. Estos archivos
se nombran con el así llamado jobname. El caso más común es
también el más simple, donde, por ejemplo, el comando pdflatex
thesis
crea thesis.pdf
y también thesis.log
y
thesis.aux
. Aquí el nombre del trabajo es thesis
.
En general, LaTeX se invoca como latex-engine
options argument
, donde latex-engine es el
pdflatex
, lualatex
, etc. (véase Motores TeX). Si argument no comienza con una barra invertida, como
es el caso anterior con thesis
, entonces TeX considera que
es el nombre del archivo para ingresar como el documento
principal. Este archivo se denomina root file (véase Dividir la entrada, y \input
). El nombre de ese archivo raíz, sin la
extensión .tex si la hay, es el nombre del trabajo. Si
argument comienza con una barra invertida, o si TeX está en
modo interactivo, entonces espera el primer comando \input
, y
el nombre del trabajo es el argumento de \input
.
Hay dos posibilidades más para el nombre del trabajo. Se puede
especificar directamente con la opción -jobname
, como en
pdflatex -jobname=myname
(véase Entrada de la línea de comandos para un ejemplo real).
La posibilidad final es texput, que es la última alternativa
predeterminada si no hay otro nombre disponible para TeX. Es
decir, si no se especificó la opción -jobname
y la compilación
se detiene antes de cualquier archivo de entrada, entonces el archivo
de registro se llamará texput.log.
Un caso especial de esto es que en las versiones de LaTeX de
(aproximadamente) 2020 o posterior, el nombre del trabajo también es
texput si el primer \input
ocurre como resultado de ser
llamado por \documentclass
o \RequirePackage
. Así que
esto producirá un archivo llamado texput.pdf:
pdflatex "\documentclass{minimal}\begin{document}Hello!\end{document}"
Sin embargo, este caso especial solo se aplica a esos dos comandos. Así, con
pdflatex "\documentclass{article}\usepackage{lipsum}\input{thesis}"
el archivo de salida es lipsum.pdf, ya que \usepackage
llama a \input
.
Dentro del documento, la macro \jobname
se expande al nombre
del trabajo. (Cuando ejecutas LaTeX en un archivo cuyo nombre
contiene espacios, la cadena devuelta por \jobname
contiene
comillas de inicio y final coincidentes). En la expansión de esa
macro, todos los caracteres son de catcode 12 (otro) excepto que
los espacios son category 10, incluyendo letras que normalmente
son catcode 11.
Debido a esta situación de catcode, usar el nombre del trabajo en un
condicional se puede volver complicado. Una solución es usar la macro
\IfBeginWith
del paquete xstring en su variante
estrella, que es insensible a catcode. Por ejemplo, en el siguiente
texto la nota a pie de página “Incluyendo Respublica Bananensis
Francorum.” solo está presente si el nombre de la tarea comienza
con mi-doc.
Si una democracia es solo un régimen donde los ciudadanos votan entonces todas las repúblicas bananeras \IfBeginWith*{\jobname}{my-doc}% {\footnote{Incluyendo Respublica Bananensis Francorum.}}{} son democracias.
Manipular el valor de \jobname
dentro de un documento no camba
el nombre del archivo de salida o el archivo de registro.
Si LaTeX encuentra un error en tu documento, entonces te da un
mensaje de error y te muestra un signo de interrogación, ?
.
Por ejemplo, ejecutando LaTeX en este archivo
\newcommand{\NP}{\ensuremath{\textbf{NP}}} El problema de \PN{} es de un millón de dólares.
hace que muestre esto y espere la entrada.
! Secuencia de control Indefinida. l.5 El problema \PN{} es uno de un millón de dólares. ?
Lo más sencillo es ingresar x y RETURN y arreglar el error de tipografía. En su lugar, podrías ingresar ? y RETURN para ver otros opciones.
Hay otros dos escenarios de error. El primero es que te olvidaste
incluir el \end{document}
o lo escribiste mal. En este caso
LaTeX te da un ‘*’ indicador. Puedes volver a la línea de
comandos escribiendo \stop y RETURN; este comando mejora
la salida de LaTeX inmediatamente, sea cual sea el estado en el que
se encuentre.
El último escenario es que escribiste mal el nombre del archivo. Por
ejemplo, en lugar de pdflatex test
puedes escribir
pdflatex tste
.
! No puedo encontrar el archivo `tste'. <*> tste (Presiona Enter para volver a intentarlo o Control-D para salir). Escribe otro nombre de archivo de entrada:
Lo más simple es ingresar CTRL d (manteniendo presionadas las teclas control y flecha abajo al mismo tiempo), y luego vuelve a escribir la línea de comandos correcta.
Aunque son material ilustrativo, quizás estas plantillas de documentos sean útiles. Los recursos de plantillas adicionales se enumeran en https://tug.org/interest.html#latextemplates.
beamer
La clase beamer
crea diapositivas de presentación. Tiene
una vasta variedad de características, pero aquí hay una plantilla
básica:
\documentclass{beamer} \title{Plantilla de clase Beamer} \author{Autor Alex} \date{31 de julio de 2020} \begin{document} \maketitle % sin [fragile], cualquier código {verbatim} obtiene misteriosos % errores. \begin{frame}[fragile] \frametitle{Primer diapositiva} \begin{verbatim} Este es \verbatim! \end{verbatim} \end{frame} \end{document}
El paquete Beamer en CTAN: https://ctan.org/pkg/beamer.
article
Una plantilla simple para un artículo.
\documentclass{article} \title{Plantilla de clase article} \author{Autor Alex} \begin{document} \maketitle \section{Primera sección} Algún texto. \subsection{Primera sección, primera subsección} Texto adicional. \section{Segunda sección} Algo más de texto. \end{document}
book
Esta es una plantilla sencilla para un libro. Véase Plantilla de book
larger, para una más elaborada.
\documentclass{book} \title{Plantilla de clase book} \autor{Autor Alex} \begin{document} \maketitle \chapter{Primero} Algún texto. \chapter{Segundo} Algún otro texto. \section{Un subtema} Fin. \end{document}
book
largerEsta es una plantilla algo elaborada para un libro. Véase Plantilla book
, por una más sencilla.
Esta plantilla usa \frontmatter
, \mainmatter
y
\backmatter
para controlar la tipografía de las tres áreas
principales de un libro (véase \frontmatter
, \mainmatter
, \backmatter
). El libro tiene una bibliografía y un índice.
También es notable que usa \include
e \includeonly
(véase Dividir la entrada). Mientras trabajas en un capítulo,
puedes comentar todas las demás entradas del capítulo desde el
argumento hasta \includeonly
. Eso acelerará la compilación sin
perder cualquier información como referencias cruzadas. (Material que
no necesita entrar en una nueva página se introduce con \input
en lugar de \include
. No obtienes el beneficio de referencia
cruzada con \input
).
\documentclass[titlepage]{book} \usepackage{makeidx}\makeindex \title{Plantilla de la clase book} \author{Autor Alex} \includeonly{% % frontcover, preface, chap1, % appenA, } \begin{document} \frontmatter \include{frontcover} % tal vez comentar mientras se redacta: \maketitle \input{dedication} \input{copyright} \tableofcontents \include{preface} \mainmatter \include{chap1} ... \appendix \include{appenA} ... \backmatter \bibliographystyle{apalike} \addcontentsline{toc}{chapter}{Bibliography} \bibliography \addcontentsline{toc}{chapter}{Index} \printindex \include{backcover} \end{document}
Saltar a: | $
&
*
-
.
/
1
:
[
\
^
_
{
~
¿
A B C D E F G H I J K L M N O P Q R S T U V W X Í |
---|
Saltar a: | $
&
*
-
.
/
1
:
[
\
^
_
{
~
¿
A B C D E F G H I J K L M N O P Q R S T U V W X Í |
---|