welcome: please sign in

Revision 11 as of 2022-05-20 11:09:25

Clear message
location: Computer / Latex / Tikzexternalize_Hyperref

Tikz Externalize and conflicts with some other packages

Tikz Externalize and Hyperref

Tikz Externalize does not work well with Hyperref without some extra measures. In order to get around the problem, include the following lines in your preamble

\tikzifexternalizing{%
   \newcommand{\hypersetup}[1]{}
}{%
   \usepackage{hyperref}  
}
  \hypersetup{%
     colorlinks,
     allcolors={blue!40!black},
  %  allcolors={black},   % Uncomment for the printed version
  }

Tikz Externalize and Todonotes

The package {todonotes} uses Tikz internally, and therefore some extra work is necessary if Tikz Externalize is used in the document. One possibility is to create an extra command handling this:

   \newcommand\Etodo[2][]{{\tikzexternaldisable\todo[#1]{#2}}}

This command should be used instead of the original \todo if externalize is active. The command name can of course be changed to anything easy to remember. Note that the matching \tikzexternalenable is not needed, because the internal commmand is enclosed in an extra group.

Tikz Externalize and Lualatex

In order to use tikzexternalize in lualatex another package is also necessary:

  \usepackage{shellesc} 

This package may also be used with latex and pdflatex, but is necessary with lualatex. Other packages also require {shellesc} with lualatex, and therefore it may seem that it is not necessary sometimes. It is always necessary.