Using colours in LaTeX
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.
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 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
Basic usage
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.- if the package color is imported instead of xcolor, then
usenames
must accompanydvipsnames
.
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}
- 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 inred
\colorbox{BurntOrange}{this text}
- Changes the background colour of the text passed as second parameter. In the example the words
this text
are printed inBurntOrange
.
Open an example of the xcolor package in Overleaf
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[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.
- 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 xcolor package in Overleaf
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{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!}
- A new colour named LightRubineRed is created, this colour has 70% the intensity of the original RubineRed colour. 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 Overleaf
Setting the page background colour
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
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 Overleaf
Further reading
For more information see:
Overleaf guides
- Creating a document in Overleaf
- Uploading a project
- Copying a project
- Creating a project from a template
- Including images in Overleaf
- Exporting your work from Overleaf
- Working offline in Overleaf
- Using Track Changes in Overleaf
- Using bibliographies in Overleaf
- Sharing your work with others
- Debugging Compilation timeout errors
- How-to guides
LaTeX Basics
- Creating your first LaTeX document
- Choosing a LaTeX Compiler
- Paragraphs and new lines
- Bold, italics and underlining
- Lists
- Errors
Mathematics
- Mathematical expressions
- Subscripts and superscripts
- Brackets and Parentheses
- Fractions and Binomials
- Aligning Equations
- Operators
- Spacing in math mode
- Integrals, sums and limits
- Display style in math mode
- List of Greek letters and math symbols
- Mathematical fonts
Figures and tables
- Inserting Images
- Tables
- Positioning Images and Tables
- Lists of Tables and Figures
- Drawing Diagrams Directly in LaTeX
- TikZ package
References and Citations
- Bibliography management in LaTeX
- Bibliography management with biblatex
- Biblatex bibliography styles
- Biblatex citation styles
- Bibliography management with natbib
- Natbib bibliography styles
- Natbib citation styles
- Bibliography management with bibtex
- Bibtex bibliography styles
Languages
- Multilingual typesetting on Overleaf using polyglossia and fontspec
- International language support
- Quotations and quotation marks
- Arabic
- Chinese
- French
- German
- Greek
- Italian
- Japanese
- Korean
- Portuguese
- Russian
- Spanish
Document structure
- Sections and chapters
- Table of contents
- Cross referencing sections and equations
- Indices
- Glossaries
- Nomenclatures
- Management in a large project
- Multi-file LaTeX projects
- Hyperlinks
Formatting
- Lengths in LaTeX
- Headers and footers
- Page numbering
- Paragraph formatting
- Line breaks and blank spaces
- Text alignment
- Page size and margins
- Single sided and double sided documents
- Multiple columns
- Counters
- Code listing
- Code Highlighting with minted
- Using colours in LaTeX
- Footnotes
- Margin notes
Fonts
Presentations
Commands
Field specific
- Theorems and proofs
- Chemistry formulae
- Feynman diagrams
- Molecular orbital diagrams
- Chess notation
- Knitting patterns
- CircuiTikz package
- Pgfplots package
- Typing exams in LaTeX
- Knitr
- Attribute Value Matrices
Class files
- Understanding packages and class files
- List of packages and class files
- Writing your own package
- Writing your own class
- Tips