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 |
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 so is the recommended approach. Below an example:
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{xcolor} \begin{document} This example shows different examples on how to use the \texttt{xcolor} 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}
In this example, the package xcolor is imported with
\usepackage{xcolor}
then the command \color{blue}
sets the blue
colour for the current block of text. In this case for the itemize 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 xcolor package in Overleaf
The colour system provided by the xcolor package 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[dvipsnames]{xcolor} \begin{document} This example shows different examples on how to use the \texttt{xcolor} 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 xcolor package has an additional parameter:
dvipsnames
Makes the colour names for the driver dvips available. 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.
usenames
must accompany dvipsnames
.
There are also svgnames
and x11names
that provide different set of colour names. Other possible drivers are: xdvi, dvipdf, pdftex, dvipsone, dviwin, emtex, truetex and xtex, but these usually need not be specified.
Two new commands are also presented in the example:
\textcolor{red}{easily}
easily
is printed in red
\colorbox{BurntOrange}{this text}
this text
are printed in BurntOrange
.
Open an example of the xcolor package in Overleaf
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[dvipsnames]{xcolor} \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.
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 xcolor package in Overleaf
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{xcolor} 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!}
\colorlet{Mycolor1}{green!10!orange!90!}
\definecolor{Mycolor2}{HTML}{00F9DE}
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:
Open an example of the xcolor package in Overleaf
The background colour of the entire page can be easily changed with \pagecolor
. See the next example:
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 xcolor package in Overleaf
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 Overleaf
For more information see: