
Puede que no sea algo habitual, pero necesito poner algunas imágenes de tikz en una tabla con externalización. Hice
\documentclass{report}
\usepackage{tabu}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
%\tikzexternaldisable
%
\begin{filecontents}{A.tikz}
\begin{tikzpicture}
\draw (0,0) rectangle (2,2);
\end{tikzpicture}
\end{filecontents}
\begin{filecontents}{B.tikz}
\begin{tikzpicture}
\draw (0,0) rectangle (2,2);
\end{tikzpicture}
\end{filecontents}
%
\begin{document}
\begin{table}
\begin{tabu}{cc}
\tikzsetnextfilename{A}
\input{A.tikz}
&
\tikzsetnextfilename{B}
\input{B.tikz}
\end{tabu}
\end{table}
\end{document}
Funciona si desactivo tikzexternal. ¿Cualquier sugerencia?
Respuesta1
Esta es una "característica" de tabu
. Si rastrea el código, encontrará que deshabilita deliberadamente la escritura (entre otras cosas) para realizar pruebas de composición tipográfica sin ningún resultado real de las operaciones de escritura. Eso incluye deshabilitar \write18
, que TikZ necesita para realizar la externalización. Como tal, " tabu
está descartado" es lo mejor que puedo decir: haga una pregunta separada que muestre lo que desea hacer e intentaremos encontrar una tabu
manera gratuita.
Para los técnicos, el problema proviene de
\def\tabu@nowrite #1#{{\afterassignment}\toks@}
que es \let
un reemplazo de la \write
primitiva para ejecuciones tipográficas de prueba. Como puede ver, esto simplemente convierte el argumento en \write
algo descartable.