
¡Gracias a Ulrike y Cfr, ahora existe una solución que funciona!
Todavía tengo un poco de curiosidad por saber si se puede hacer de otra manera. ¿Existe otra forma además de rodear los gráficos incluidos \tikzexternaldisable
y \tikzexternalenable
asegurarse de que los gráficos del tema del proyector no se externalicen?
Tengo un tema personalizado en el que incluyo un logo en la línea de pie.
Cuando uso tikzexternalize con el tema, lo que hago a veces pero no siempre, el logotipo se exterioriza a menos que desactive la exteriorización ( \tikzexternaldisable
). Sin embargo, esto falla si no he cargado la biblioteca externa (ya que \tikzexternaldisable
entonces es un comando desconocido).
¿Cómo puedo asegurarme de que los contenidos del tema no se externalicen?
Este MWE exterioriza el logo de la línea de pie:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{external}
\makeatletter
\defbeamertemplate*{footline}{SomeName}[1][]%
{%
\begin{beamercolorbox}[wd=\paperwidth,ht=.1\paperheight,#1]{logo in foot}%
\tikzexternaldisable %fails if external isn't loaded
%^replacing with \csname tikzexternaldisable \endcsname has same effect as commenting the line out
\tikz\draw[fill=blue] (0,0) rectangle (.9286484375\paperwidth,.05\paperheight);
\tikzexternalenable %fails if external isn't loaded
%^replacing with \csname tikzexternalenable \endcsname has same effect as commenting the line out
\end{beamercolorbox}%
}
\makeatother
\tikzexternalize %Externalizes all images unless I disable and enable it in the beamertemplate
%Best would be if I could tell the externalize library to only externalize images in some of the layers of a beamer frame
\author{John Smith}
\begin{document}
\maketitle
\begin{frame}
\tikz\draw (0,0) circle (10cm);
\end{frame}
\end{document}
Espero que haya algún comando/configuración elegante de beamer o tikz que no requiera líneas adicionales al insertar gráficos en el tema. ¡Avíseme si algo no está claro!
Respuesta1
Un método muy simple es agregar
\AtBeginDocument{\providecommand\tikzexternaldisable{\relax}}
en su preámbulo. Si carga la biblioteca, esto no hará nada. Si no lo hace, se asegurará de que el comando esté definido para no hacer nada correctamente.
Otras opciones serían, por ejemplo, decirle a TikZ que externalice sólo las imágenes que nombre explícitamente y luego nombre las imágenes que desea externalizar.
O podría modificar la configuración/definición de comandos de la plantilla de Beamer, pero dado que Beamer usa una variedad de estos de diversas maneras, necesitaría rastrear el impacto que esto podría tener.
No estoy del todo seguro de por qué no quieres que se exterioricen los gráficos del tema, ya que no lo dices. (Habría pensado que estos serían los principales candidatos).