Usando pstool con proyector

Usando pstool con proyector

Me gustaría utilizar pstoolwith beamerpara crear una presentación pdflatexcon figuras procesadas por psfrag. Sin embargo, como muestra el sencillo ejemplo siguiente, las figuras se procesan utilizando la beamerclase de documento, de modo que cada una tenga un beamer"marco" completo a su alrededor. ¿Hay alguna forma de evitar esto?

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

Ejemplo

Sospecho que si es posible anular la clase de documento utilizada pstoolpara procesar las figuras, esa sería una solución, pero no he encontrado cómo hacerlo.

Gracias.

Respuesta1

La clave para resolver esto es darse cuenta de que un proceso de compilación "normal" envía su documento a través de pdfLaTeX en modo PDF, y para realizar los psfragreemplazos el gráfico se envía a través de pdfLaTeX en modo DVI.

Por lo tanto, los comandos condicionales solo para el documento principal o solo para cada gráfico pueden usar simplemente \ifpdf:

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

Y así en tu caso:

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

Esto no se menciona en absoluto en la documentación, así que lo arreglaré ahora.

Respuesta2

pstoolEl paquete utiliza el preámbulo de la clase de documento principal (en su Q es beamer) para construir las figuras en pdf durante el procesamiento auxiliar subyacente ( latex-dvips-ps2pdf) de .epslos comandos figure y psfrag. Entonces, para obtener una circle.pdffigura sin barra de navegación, agregue

\setbeamertemplate{navigation symbols}{} 

en el preámbulo después \documentclass{beamer}como se muestra en ¿Cómo deshacerse de los símbolos de navegación en Beamer?y compilar con pdflatex -shell-escapeda

ingrese la descripción de la imagen aquí

Una vez que tenga todas las figuras en pdf, se generarán mediante procesamiento auxiliar. Establezca la opción process=noneen lugar de process=ally comente elsololínea como esta %\setbeamertemplate{navigation symbols}{}para procesar diapositivas del proyector con figuras (sin barra de navegación) y finalmente obtendrá la barra de navegación en las diapositivas del proyector principal.

Nota: \EndPreamblese puede utilizar para limitar el preámbulo utilizado para el procesamiento auxiliar y así acelerarlo. Más detalles consultedocumentación del taburete

Respuesta3

El mismo problema aparece cuando se utiliza una imagen de {lienzo de fondo}. Aquí hay una extensión de la solución de @Will en el caso de usar una imagen de {lienzo de fondo}.

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

información relacionada