La herramienta estándar para trabajar con color en LaTeX es el paquete xcolor. Es un superconjunto que sustituye al antiguo paquete color: no solo colorea texto y fondos, sino que también permite mezclar los colores mismos mediante expresiones de color como red!50!blue, su rasgo distintivo. Esta página recorre la carga del paquete, los modelos de color, las paletas con nombre y las mezclas.
Cargar el paquete
Para usar color, basta con poner \usepackage{xcolor} en el preámbulo. Fue escrito por Uwe Kern (2003–2021; ahora lo mantiene el LaTeX Project) y está diseñado para ser independiente del controlador, de modo que el color salga igual si apuntas a PDF o a DVI. Verás \usepackage{color} en documentos antiguos, pero para trabajos nuevos elige xcolor: las mezclas de color (expresiones) y los conjuntos extra de nombres son funciones exclusivas de xcolor que color no tiene.
De entrada tienes 19 nombres básicos de color, pero las opciones cargan conjuntos predefinidos de nombres adicionales. dvipsnames añade los 68 colores PostScript (dvips), svgnames los aproximadamente 151 colores SVG 1.1 / CSS, y x11names los aproximadamente 317 colores X11. La opción table además carga colortbl, lo que permite sombrear celdas y filas de tablas (consulta la página “Tablas con color”).
\usepackage{xcolor} % 基本(19 色)/ basics (19 colours)
\usepackage[dvipsnames]{xcolor} % + 68 色 / + 68 PostScript names
\usepackage[svgnames]{xcolor} % + 約151色 / + ~151 SVG names
\usepackage[x11names]{xcolor} % + 約317色 / + ~317 X11 names
\usepackage[dvipsnames,table]{xcolor} % 色名 + 表の着色 / names + colortblLas opciones se pueden combinar: escribe [dvipsnames,svgnames] para cargar varios conjuntos a la vez. Los nombres están diseñados para no chocar internamente, pero es más limpio cargar solo los conjuntos que realmente usas.
Aplicar color
El comando de uso diario es \textcolor{color}{texto}, que colorea solo el texto que le pasas. Si prefieres cambiar el color de todo lo que sigue, en lugar de envolver un fragmento entre llaves, usa la forma declarativa {\color{color} … } dentro de un grupo { }. Piensa en \color como un interruptor que sigue activo hasta el final de su grupo.
これは \textcolor{red}{赤い} 文字です。
{\color{blue} ここから先は青。} ここは元の色に戻ります。Para pintar un fondo, \colorbox{color}{texto} pone el texto sobre una caja rellena de ese color. Si quieres marco y relleno de colores distintos, usa \fcolorbox{colorMarco}{colorFondo}{texto}: el primer argumento es el borde y el segundo el relleno. Para cambiar el color de fondo de toda la página está \pagecolor{color} (se deshace con \nopagecolor). Afecta a todas las páginas desde ese punto, así que colócalo con cuidado si solo quieres, por ejemplo, una portada negra.
\colorbox{yellow}{ハイライト}
\fcolorbox{red}{yellow}{赤枠・黄背景}
\pagecolor{black} % これ以降、ページ全体が黒地にTodos estos comandos aceptan una expresión de color o un modelo explícito en lugar de un nombre simple. Por ejemplo, \textcolor{red!50!blue}{…}, o con un modelo entre corchetes, \textcolor[rgb]{1,0,0}{…} (los modelos se explican a continuación).
Definir tus propios colores
Para dar nombre a un color propio, usa \definecolor{nombre}{modelo}{valores}. Defínelo una vez en el preámbulo y después se comporta como cualquier otro nombre de color en \textcolor y comandos afines. Por ejemplo, para registrar un azul apagado como myblue:
\definecolor{myblue}{rgb}{0.2,0.4,0.8}
% 使う / use it:
\textcolor{myblue}{この文字は myblue}Una segunda herramienta, \colorlet{nombre}{color}, crea un nuevo nombre de color a partir de un color existente o de una expresión. Mientras \definecolor construye un color desde un modelo y números, \colorlet nombra el resultado de mezclar colores que ya tienes. Para llamar half a un rojo aclarado a medio camino hacia el blanco, escribe \colorlet{half}{red!50}. La notación de mezcla con ! se detalla en la sección siguiente.
Modelos de color
El segundo argumento de \definecolor es el modelo de color, es decir, el esquema para expresar un color como números. xcolor admite varios, desde cmyk orientado a imprenta hasta la notación hexadecimal HTML familiar de la web, así que puedes elegir según el trabajo. Los habituales son:
| Modelo | Valores | Ejemplo |
|---|---|---|
rgb | Rojo, verde y azul, cada uno 0–1 | {0.2,0.4,0.8} |
RGB | Rojo, verde y azul, cada uno entero 0–255 | {51,102,204} |
HTML | Seis dígitos hexadecimales, RRGGBB | {FF8800} |
cmyk | Cian, magenta, amarillo y negro, cada uno 0–1 | {0,0.5,1,0} |
gray | Un valor (0 = negro, 1 = blanco) | {0.5} |
named | Referencia a un nombre de color existente (p. ej. dvips) | {Periwinkle} |
El mismo naranja puede escribirse de varias maneras: solo cambia la notación, no el resultado. Las cuatro líneas siguientes definen esencialmente el mismo color. HTML toma seis dígitos hexadecimales, así que puedes pegar directamente un código de color web; cmyk es para imprenta (separación de cuatro colores).
\definecolor{o1}{rgb}{1,0.5,0}
\definecolor{o2}{RGB}{255,128,0}
\definecolor{o3}{HTML}{FF8000}
\definecolor{o4}{cmyk}{0,0.5,1,0}También puedes indicar un modelo en línea, entre corchetes, en el punto de uso. Para un color puntual sin definir un nombre, \textcolor[HTML]{FF8800}{…} o \color[gray]{0.5} es la vía rápida. El modelo named es especial y se refiere a nombres existentes, como los de dvipsnames; en el uso diario basta con escribir directamente el nombre del color.
Expresiones de color — mezclar
Aquí es donde xcolor brilla. En lugar de un nombre, puedes escribir una expresión de color con el signo de exclamación ! en cualquier sitio donde se espere un color. La forma básica es colorA!porcentaje!colorB, que mezcla ese porcentaje de A con el resto de B. Así, red!50!blue es 50 % rojo y 50 % azul; red!75!blue es 75 % rojo y 25 % azul.
Si omites el color B, el resto se toma como blanco. Así que red!20 significa “20 % rojo + 80 % blanco”: un rojo pálido, un tinte. Si mezclas con negro, obtienes un tono más oscuro: blue!30!black es “30 % azul + 70 % negro”, un azul marino intenso. Un signo menos inicial, como en -red, da el complementario (el inverso) del rojo.
red!50!blue— morado, mezcla a partes iguales de rojo y azulred!20— 20 % rojo, 80 % blanco: un rojo pálido (tinte)blue!30!black— 30 % azul, 70 % negro: un azul oscuro (sombra)-red— el complementario del rojo (hacia cian)green!40!yellow!60— las expresiones se encadenan; la mezcla avanza de izquierda a derecha
Como las expresiones funcionan en todas partes, puedes escribir \textcolor{blue!30!black}{…}, \colorbox{yellow!40}{…} y usarlas libremente dentro de \definecolor o \colorlet. Si nombras una mezcla una vez, puedes reajustar toda la paleta del documento desde una sola línea de definición: esa es la idea.
\textcolor{red!50!blue}{半分ずつの紫}
\colorbox{yellow!40}{薄い黄色の背景}
\colorlet{accent}{blue!30!black} % アクセント色を一括管理
\textcolor{accent}{見出しの色}Nombres de color disponibles
Incluso sin opciones, estos 19 colores básicos están siempre disponibles.
- black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow
Para una paleta más rica, añade un conjunto de nombres con las opciones anteriores. dvipsnames aporta 68 colores como RoyalBlue, Periwinkle y BurntOrange; svgnames aporta los aproximadamente 151 nombres familiares de CSS, como DarkSlateGray y Tomato. Los nombres distinguen mayúsculas y minúsculas, así que escribir royalblue por RoyalBlue da un error “undefined colour”. Para ver el aspecto de cada color, las cartas de color del manual de xcolor son la referencia fiable; ábrelo con texdoc xcolor.