Me gustaría utilizar pstool
with beamer
para crear una presentación pdflatex
con figuras procesadas por psfrag
. Sin embargo, como muestra el sencillo ejemplo siguiente, las figuras se procesan utilizando la beamer
clase 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}
Sospecho que si es posible anular la clase de documento utilizada pstool
para 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 psfrag
reemplazos 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
pstool
El 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 .eps
los comandos figure y psfrag. Entonces, para obtener una circle.pdf
figura 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-escape
da
Una vez que tenga todas las figuras en pdf, se generarán mediante procesamiento auxiliar. Establezca la opción process=none
en lugar de process=all
y 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: \EndPreamble
se 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