pstool を beamer で使用する

pstool を beamer で使用する

pstoolを使って、 で処理された図を含むbeamerプレゼンテーションを作成したいと思います。ただし、以下の簡単な例が示すように、図は documentclass を使用して処理されるため、それぞれの周りに完全な「フレーム」があります。これを回避する方法はありますか?pdflatexpsfragbeamerbeamer

\documentclass{beamer}

\usepackage{lmodern}
\usepackage{graphicx}
\usepackage[process=all,crop=pdfcrop]{pstool}

\begin{document}
\begin{frame}
    \frametitle{Circle}
    \begin{figure}
        \psfragfig[width=0.3\textwidth]{figures/circle}
        {
            \psfrag{1}{\(s\)}
        }
    \end{figure}
\end{frame}
\end{document}

例

図を処理するために が使用するドキュメントクラスをオーバーライドすることができればpstool、それが解決策になるのではないかと思いますが、その方法が見つかりません。

ありがとう。

答え1

これを解決する鍵は、「通常の」コンパイル プロセスではドキュメントが PDF モードで pdfLaTeX を介して送信され、置換を行うためにpsfragグラフィックが DVI モードで pdfLaTeX を介して送信されることを認識することです。

したがって、メイン ドキュメントのみ、または各グラフィックのみの条件付きコマンドでは、次のように簡単に使用できます\ifpdf

\ifpdf
  % setup for the main document only
\else
  % setup for pstool images only
\fi

あなたの場合は次のようになります:

\ifpdf\else
  \setbeamertemplate{navigation symbols}{}
\fi

これはドキュメントにはまったく記載されていないので、今すぐ修正します。

答え2

pstoolパッケージはメインドキュメントクラスのプリアンブル(Qではbeamer)を使用して、 figureコマンドとpsfragコマンドlatex-dvips-ps2pdfの補助処理() 中にpdf図を作成します.eps。ナビゲーションバーのない図を取得するには、circle.pdf以下を追加します。

\setbeamertemplate{navigation symbols}{} 

序文の後\documentclass{beamer}Beamer のナビゲーション シンボルを削除するにはどうすればよいでしょうか?そしてコンパイルするpdflatex -shell-escape

ここに画像の説明を入力してください

すべてのPDF図が補助処理によって生成されたら、オプションprocess=noneを代わりに設定しprocess=all、コメントアウトします。のみこのような行 %\setbeamertemplate{navigation symbols}{}を追加すると、図付きのビーマー スライド (ナビゲーション バーなし) が処理され、最終的にメインのビーマー スライドにナビゲーション バーが表示されます。

注:\EndPreamble補助処理に使用されるプリアンブルを制限して処理を高速化するために使用できます。詳細については、pstool ドキュメント

答え3

{背景キャンバス} 画像を使用する場合にも同じ問題が発生します。そこで、{背景キャンバス} 画像を使用する場合の @Will のソリューションの拡張を以下に示します。

 \ifpdf
    \setbeamertemplate{background canvas}{%
    \includegraphics[width=\paperwidth,height=\paperheight]{my_background_image}  
    }
 \else
     \setbeamertemplate{navigation symbols}{}
     \setbeamertemplate{background canvas}{}
 \fi

関連情報