Verwenden von pstool mit Beamer

Verwenden von pstool mit Beamer

Ich möchte pstoolmit verwenden beamer, um eine Präsentation in zu erstellen, in pdflatexder die Abbildungen von verarbeitet werden psfrag. Wie das einfache Beispiel unten zeigt, werden die Abbildungen jedoch mit der beamerDokumentklasse verarbeitet, sodass sie jeweils einen vollständigen beamer„Rahmen“ um sich herum haben. Gibt es eine Möglichkeit, dies zu umgehen?

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

Beispiel

Ich vermute, dass es eine Lösung wäre, wenn es möglich wäre, die zur Verarbeitung der Zahlen verwendete Dokumentklasse zu überschreiben pstool, aber ich habe nicht herausgefunden, wie das geht.

Danke.

Antwort1

Der Schlüssel zur Lösung dieses Problems liegt in der Erkenntnis, dass ein „normaler“ Kompilierungsprozess Ihr Dokument im PDF-Modus durch pdfLaTeX sendet und dass psfragdie Grafik zum Durchführen der Ersetzungen im DVI-Modus durch pdfLaTeX gesendet wird.

Daher können bedingte Befehle entweder nur für das Hauptdokument oder nur für jede Grafik einfach Folgendes verwenden \ifpdf:

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

Und so in Ihrem Fall:

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

Dies wird in der Dokumentation überhaupt nicht erwähnt, daher werde ich das jetzt beheben.

Antwort2

pstoolDas Paket verwendet die Präambel der Hauptdokumentklasse (in Ihrer Frage ist es beamer), um die PDF-Abbildungen während der Hilfsverarbeitung ( latex-dvips-ps2pdf) der .epsBefehle figure und psfrag im Hintergrund zu erstellen. Um also eine circle.pdfAbbildung ohne Navigationsleiste zu erhalten, fügen Sie hinzu

\setbeamertemplate{navigation symbols}{} 

in der Präambel nach \documentclass{beamer}wie gezeigt in Wie wird man Navigationssymbole im Beamer los?und kompilieren mit pdflatex -shell-escapegibt

Bildbeschreibung hier eingeben

Sobald Sie alle PDF-Abbildungen haben, werden sie über die Hilfsverarbeitung generiert. Setzen Sie die Option process=nonestatt process=allund kommentieren Sie dienurZeile wie diese, %\setbeamertemplate{navigation symbols}{}um Beamer-Folien mit Abbildungen zu verarbeiten (ohne Navigationsleiste), und schließlich erhalten Sie eine Navigationsleiste auf den Haupt-Beamer-Folien.

Hinweis: \EndPreamblekann verwendet werden, um die Präambel für die Hilfsverarbeitung zu begrenzen und sie dadurch zu beschleunigen. Weitere Einzelheiten finden Sie unterpstool-Dokumentation

Antwort3

Das gleiche Problem tritt bei Verwendung eines {background canvas}-Bildes auf. Hier ist also eine Erweiterung der Lösung von @Will für den Fall der Verwendung eines {background canvas}-Bildes.

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

verwandte Informationen