tikzexternalize が Beamer テーマのコンテンツを外部化しないようにするにはどうすればよいですか?

tikzexternalize が Beamer テーマのコンテンツを外部化しないようにするにはどうすればよいですか?

Ulrike と Cfr のおかげで、実用的なソリューションが実現しました。

ただし、別の方法で実行できるかどうかはまだ少し興味があります。含まれているグラフィックを で囲む以外に\tikzexternaldisable\tikzexternalenableBeamer テーマのグラフィックが外部化されないようにする方法はありますか?


フットラインにロゴを含めたカスタマイズされたテーマがあります。

テーマで tikzexternalize を使用するとき (時々使用しますが、常に使用するわけではありません)、外部化を無効にしない限り、ロゴは外部化されます ( \tikzexternaldisable)。ただし、外部ライブラリをロードしていない場合、これは失敗します ( は\tikzexternaldisable不明なコマンドであるため)。

テーマのコンテンツが外部化されないようにするにはどうすればよいですか?

この MWE はフットライン ロゴを外部化します。

\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}

テーマにグラフィックを挿入するときに余分な行を必要としない、エレガントな Beamer または tikz コマンド/設定があることを期待しています。不明な点があればお知らせください。

答え1

非常に簡単な方法は、

\AtBeginDocument{\providecommand\tikzexternaldisable{\relax}} 

をプリアンブルに含めます。ライブラリをロードすると、何も実行されません。ロードしない場合は、コマンドが何も実行しないように定義されるようになります。

他のオプションとしては、たとえば、明示的に名前を付けた画像のみを外部化するように TikZ に指示し、外部化したい画像に名前を付けるというものがあります。

または、Beamer のテンプレート設定/定義コマンドを変更することもできますが、Beamer はさまざまなコマンドをさまざまな方法で使用するため、これがどのような影響を与えるかを追跡する必要があります。

テーマ グラフィックを外部化したくない理由については、何も言われていないのでよくわかりません。(これらが主な候補になると思います。)

関連情報