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.



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}


在LaTeX中使用颜色 Using colours in LaTeX_colours



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}


在LaTeX中使用颜色 Using colours in LaTeX_LaTex_02



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}


在LaTeX中使用颜色 Using colours in LaTeX_颜色_03



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} }


在LaTeX中使用颜色 Using colours in LaTeX_colours_04



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}


在LaTeX中使用颜色 Using colours in LaTeX_使用_05



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​