# coloring keywords in the whole document

Is there a way to color keywords into a document?

For instance, I want all the occurrences of a given word to appear in red in the whole document.

something like :

\colorize{red}{keywords={foo,bar}}

-
You could (mis)use the spelling package and put your keywords in \jobname.spb. Then set \spellinghighlightcolor to red. This only works with LuaLaTeX, though. –  Martin Heller Feb 7 '13 at 21:35

Just to elaborate a little on my comment. You could use spelling with LuaLaTeX like this:

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.spb}
foo
bar
\end{filecontents*}

\documentclass{article}
\usepackage{fontspec}
\usepackage{spelling}

\begin{document}

Keyword foo in text.

Keyword bar in text.

\end{document}


This will highlight foo and bar. You'll need two compilations.

-

AFAIK there is no such way, the easiest would be to use search & replace. Using LuaTeX however it should be possible. I have seen a presentation about the chickenize package once which showed similar features. LuaTeX is able to hook into the text output before it is written to the PDF.

Here's a link to the German presentation PDF: http://www.dante.de/events/mv45/Programm/atrautmann/folien-trautmann.pdf

-
You could automate and vary @UweZeigenhagen 's search & replace strategy with an awk (or python or ...) script that processed your TeX source prior to compilation. –  Ethan Bolker Feb 7 '13 at 19:38
It would be nice if you made your answer more complete, and included a simple example that does not rely on external sources. It is prefered on this site ;) –  yo' Feb 7 '13 at 20:04
"Give the hungry a fish and he's fed for a while. Show him how to catch fish and he'll tell you he has better things to do than putting sticks in the water..." :-) I have no experience with either the package or LuaTeX itself, so I can't provide an example. I just remembered the talk. –  Uwe Ziegenhagen Feb 7 '13 at 20:43