There are several elements in LATEX whose colour can be changed to improve the appearance of the document. Colours can be manually defined to a desired tone using several models, this article explains how.
Contents
|
Introduction
The simplest manner to use colours in your LATEX document is by importing the package color or xcolor. Both packages provide a common set of commands for colour manipulation, but the latter is more flexible and supports a larger number of colour models. Below an example:
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{color} \begin{document} This example shows different examples on how to use the \texttt{color} package to change the colour of elements in \LaTeX. \begin{itemize} \color{blue} \item First item \item Second item \end{itemize} \noindent {\color{red} \rule{\linewidth}{0.5mm} } \end{document}
Note: In all the examples the package xcolor can be used instead of color
In this example, the package color is imported with
\usepackage{color}
then the command \color{blue}
sets the blue
colour for the current block of text. In this case for theitemize environment.
The colour of a second block of text, delimited by { and }, is set to red
with the command \color{red}
, then a 0.5mm-thick horizontal ruler is inserted by \rule{\linewidth}{0.5mm}
.
The amount of available colour names depends on the driver, usually the next colours can be used with any driver: white, black, yellow, green, blue, purple cyan and magenta.
See the reference guide for more colours supported by other drivers.
Open an example of the color package in ShareLaTeX
Basic usage
The colour system provided by the packages color and xcolor is built around the idea of colour models, the colour mode and the colour names supported by a driver vary.
The model based on colour names is very intuitive, even though the list of available names is limited, usually provides enough options. Below an example:
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage[usenames, dvipsnames]{color} \begin{document} This example shows different examples on how to use the \texttt{color} package to change the colour of elements in \LaTeX. \begin{itemize} \color{ForestGreen} \item First item \item Second item \end{itemize} \noindent {\color{RubineRed} \rule{\linewidth}{0.5mm} } The background colour of some text can also be \textcolor{red}{easily} set. For instance, you can change to orange the background of \colorbox{BurntOrange}{this text} and then continue typing. \end{document}
There are a few changes in this example compared to the one presented in the introduction. First, the command to import the color package has two additional parameters:
-
usenames
Makes the names in the corresponding driver name model available. This option can be omitted in xcolor. -
dvipsnames
Makes the colour names for the driver dvips available, if the package color is imported, this option must be used in conjunction with usenames
. From this new set of colour names, the example uses: ForestGreen, RubineRed and BurntOrange. See the reference guide for a complete list of possible colours.
Other possible drivers are: xdvi, dvipdf, pdftex, dvipsone, dviwin, emtex, truetex and xtex.
Two new commands are also presented in the example:
\textcolor{red}{easily}
Changes the colour of inline text. Takes two parameters, the colour to use and the text whose colour is changed. In the example the word easily
is printed in red
\colorbox{BurntOrange}{this text}
Changes the background colour of the text passed as second parameter. In the example the words this text
are printed in BurntOrange
.
Open an example of the color package in ShareLaTeX
Creating your own colours
It is possible to define your own colours, the manner in which the colour is defined depends on the preferred model. Below an example using the 4 colour models typically supported by any driver.
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage[usenames, dvipsnames]{color} \definecolor{mypink1}{rgb}{0.858, 0.188, 0.478} \definecolor{mypink2}{RGB}{219, 48, 122} \definecolor{mypink3}{cmyk}{0, 0.7808, 0.4429, 0.1412} \definecolor{mygray}{gray}{0.6} \begin{document} User-defined colours with different colour models: \begin{enumerate} \item \textcolor{mypink1}{Pink with rgb} \item \textcolor{mypink2}{Pink with RGB} \item \textcolor{mypink3}{Pink with cmyk} \item \textcolor{mygray}{Gray with gray} \end{enumerate} \end{document}
The command \definecolor
takes three parameters: the name of the new colour, the model, and the colour definition. Roughly speaking, each number represent how much of each colour you add to the mix that makes up the final colour.
- rgb: Red, Green, Blue. Three comma-separated values between 0 and 1 define the components of the colour.
- RGB: The same as rgb, but the numbers are integers between 0 and 255.
- cmyk: Cyan, Magenta, Yellow and blacK. Comma-separated list of four numbers between 0 and 1 that determine the colour according to the additive model used in most printers.
- gray: Grey scale. A single number between 0 and 1.
In the example, mypink1, mypink2 and mypink3 define the same colour but for different models. You can actually see that the one defined by cmyk is slightly different.
Colours defined by either model can later be used within your document not only to set the colour of the text, but for any other element that takes a colour as parameter, for instance tables (you must add the parameter table
to the preamble), graphic elements created with TikZ, plots, vertical rulers in multicolumn documents and code listings.
Open an example of the color package in ShareLaTeX
xcolor-only colour models
There are some additional commands that are only available with the package xcolor, these enable support for more colour models and friendly colour mixing.
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage[dvipsnames]{xcolor} \colorlet{LightRubineRed}{RubineRed!70!} \colorlet{Mycolor1}{green!10!orange!90!} \definecolor{Mycolor2}{HTML}{00F9DE} \begin{document} This document present several examples on how to use the \texttt{color} package to change the colour of elements in \LaTeX. \begin{itemize} \item \textcolor{Mycolor1}{First item} \item \textcolor{Mycolor2}{Second item} \end{itemize} \noindent {\color{LightRubineRed} \rule{\linewidth}{1mm} } \noindent {\color{RubineRed} \rule{\linewidth}{1mm} }
Three new colours are defined in this example, each one in a different manner.
\colorlet{LightRubineRed}{RubineRed!70!}
A new colour named LightRubineRed is created, this colour has 70% the intensity of the original RubineRedcolour. You can think of it as a mixture of 70% RubineRed and 30% white. Defining colours in this way is great to obtain different tones of a main colour, common practice in corporate brands. In the example, you can see the original RubineRed and the new LightRubineRed used in two consecutive horizontal rulers. \colorlet{Mycolor1}{green!10!orange!90!}
A colour named Mycolor1 is created with 10% green and 90%orange. You can use any number of colours to create new ones with this syntax. \definecolor{Mycolor2}{HTML}{00F9DE}
The colour Mycolor2 is created using the HTML
model. Colours in this model must be created with 6 hexadecimal digits, the characters A,B,C,D,E and F must be upper-case.
The colour models that only xcolor support are:
- cmy cyan, magenta, yellow
- hsb hue, saturation, brightness
- HTML RRGGBB
- Gray Grey scale, a number between 1 and 15.
- wave Wave length. Between 363 and 814.
Open an example of the xcolor package in ShareLaTeX
Setting the page background colour
The background colour of the entire page can be easily changed with \pagecolor
. See the next example:
\pagecolor{black} \color{white}
The command \pagecolor{black}
set the page colour to black. This is a switch command, meaning it will take effect in the entire document unless another switch command is used to revert it. \nopagecolor
will change the background back to normal.
Open an example of the color package in ShareLaTeX
Reference guide
Basic colour names available in LATEX
white, black, red, green, blue, cyan, magenta, yellow
Colour names available with the dvipsnames
option
Other drivers have more colour names available, links to documentations in the further reading section.
Open an example of the xcolor package in ShareLaTeX