Guest post by Qutub Sajib
While preparing a document in LaTeX, you may want to use colors for different purposes. Those purposes might be to color text or highlight text by changing its background color. You may even want to do both, highlight colored text. In this tutorial, we’re going to discuss how to color and highlight text, and how to define our own colors.
Coloring text
To color text in a document, you first need to add the color or xcolor package to the preamble of your LaTeX file. Since the xcolor package has more powerful features than the color package, in this tutorial we will be using xcolor. To do that, we add the following line to the preamble:
\usepackage{xcolor}
Now we are ready to use colors in our text either through \textcolor
or through \color
. These two commands work as follows:
\textcolor{colorname}{Text to be colored} {\color{colorname}Text to be colored}
The colorname
in the command stands for any “base color” as described in the documentation of xcolor package. Here is an example that shows how the color red
can be used in a document:
\textcolor{red}{Text colored with} \textcolor\\ {\color{red}Text colored with} \color

Among the nineteen base colors listed, some frequently used colors include green
, blue
, violet
, or purple
.
It’s possible to mix multiple colors to a new color. For example, the custom colored text here is a result of 55% green mixed with 45% blue as illustrated in the example:
This is some {\color{green!55!blue}custom colored text}
With xcolor
’s different package options, a large number of predefined colors can be used. The option dvipsnames
loads 68 cmyk
colors, the option svgnames
loads 151 rgb
colors, and the option x11names
loads 317 rgb
colors. For example, the color RedViolet
is available with the dvipsnames
option:
%Preabmle \usepackage[dvipsnames]{xcolor} %Document This is some {\color{RedViolet}RedViolet colored text}
Highlighting text
To highlight text, in addition to loading color
or xcolor
, we also need to load the soul package:
\usepackage{soul}
Now, text can be highlighted by simply using the command \hl{text}
.
This is some \hl{highlighted text}
By default, text is highlighted by changing the background color to yellow
. It is possible to change the highlighting color to your desired color. The soul
package provides the \sethlcolor{colorname}
command to change the highlighting color. For example, we can change the color to green
using:
%Preamble \usepackage{xcolor, soul} \sethlcolor{green} %Document This is some \hl{text highlighted in green}
Highlighting and coloring text
Text can be colored and highlighted by combining the previously discussed commands.
Some \textcolor{red}{\hl{colored, highlighted text}} (\textcolor) Some {\color{red}\hl{colored, highlighted text}} (\color)
Note that the \hl
command goes inside the \color
or \textcolor
command to work as expected.
Custom colors
Although the range of colors available in xcolor
is huge, we might want to define our own custom color. Provided that xcolor
package is loaded, new colors can be defined using the \definecolor
command. Before defining a new color, let’s see how the color red
is defined:
\definecolor{red}{rgb}{1,0,0}
Obviously, red
is the name of the color to be defined, rgb
is the color model, and 1,0,0
are three corresponding values for red, green, and blue. In other words, for red
we use 100% red, 0% green and 0% blue. With this, we can now define a new color OliveGreen
through the rgb
color model:
\definecolor{OliveGreen}{rgb}{0,0.6,0}
There are numerous online color mixing tools which are useful to get the numbers right. Here is such a tool: color mixer.
Similarly, we can define colors through the cmyk
color model. We can define OliveGreen by setting corresponding values for cyan, magenta, yellow, and black.
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}