
Latex には、コンパイル時間を短縮するためのトリックとして使用できるドラフト クラスがあることは知っています。このクラスでは、コンパイル結果にロードされるイメージはありません。しかし、同じことを Beamer の 1 つのフレームにのみ実装することは可能ですか。つまり、Latex コンパイラーが特定のフレーム内のグラフィック イメージをロードしないようにする方法、または特定のフレーム内のイメージのみをロードして他のイメージを無視する方法を教えてください。
答え1
これは、パッケージdraft
のオプションを使用した簡単な解決策です。 (それぞれ) マクロは、ドラフト モードをアクティブ化 (それぞれ非アクティブ化) します。graphicx
\setdraftmode
\unsetdraftmode
\documentclass{beamer}
\usepackage{graphicx}
\let\origincludegraphics\includegraphics
\newcommand\draftincludegraphics[2][]{\origincludegraphics[draft,#1]{#2}}
\def\setdraftmode{\let\includegraphics\draftincludegraphics}
\def\unsetdraftmode{\let\includegraphics\origincludegraphics}
\begin{document}
\setdraftmode
\begin{frame}
\frametitle{First frame}
\includegraphics[width=.7\linewidth]{example-image-a}
\end{frame}
\unsetdraftmode
\begin{frame}
\frametitle{Second frame}
\includegraphics[width=.7\linewidth]{example-image-a}
\end{frame}
\end{document}
答え2
以下をご覧ください。 がdraft
グローバル オプションで設定されている場合、ファイル名のみが印刷されます。 がdraft
設定されていない場合は、画像が含まれます。
注: 画像オプション (幅、高さ) をコマンドに転送する方法がわかりません。
\documentclass[12pt,draft]{beamer}
\usepackage{graphicx}
\usepackage{ifdraft}
\newcommand{\draftinclude}[1]{
\ifdraft{%
#1}%
{\includegraphics{#1}}}
\begin{document}
\frame{
\frametitle{Test}
\draftinclude{gls.png}
}
\end{document}