welcome: please sign in
location: Diff for "Computer/Latex/Tikzexternalize_Hyperref"
Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2018-11-24 19:51:36
Size: 609
Editor: leif
Comment:
Revision 12 as of 2022-05-23 08:24:18
Size: 1601
Editor: leif
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== Hyperref and Tikz Externalize === ## page was renamed from Computer/Latex/Hyperref_tikzexternalize
== Tikz Externalize and conflicts with some other packages ==

=== Tikz Externalize and Hyperref ===
Line 6: Line 9:
   \tikzifexternalizing{%
      \renewcommand{\hypersetup[1]}{}
   }{%
      \usepackage{hyperref}
   }
   \hypersetup{
      colorlinks, % These are of course only example options.
      bookmarksnumbered,
      linkcolor={black},
      citecolor={black},
      urlcolor={blue!90!black}
    }
    % \hypersetup{draft} % Remove the comment character for printing.
Line 20: Line 10:
\tikzifexternalizing{%
   \newcommand{\hypersetup}[1]{}
}{%
   \usepackage{hyperref}
}
  \hypersetup{%
     colorlinks,
     allcolors={blue!40!black},
  % allcolors={black}, % Uncomment for the printed version
  }
 
Line 21: Line 22:

=== 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 to handle this:

{{{unique

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

unique}}}

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.

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 to handle 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.

Computer/Latex/Tikzexternalize_Hyperref (last edited 2022-06-01 14:34:14 by leif)