Cambio espurio del título al colocar condicionalmente el logotipo en la diapositiva del proyector usando \pgfputat

Cambio espurio del título al colocar condicionalmente el logotipo en la diapositiva del proyector usando \pgfputat

tengo una macro tomada deesta preguntaque coloca un logotipo en todos los fotogramas siguientes \placelogotruey en ningún fotograma siguiente \placelogofalse. Funciona en gran medida según lo previsto, pero provoca titulares y líneas de alimentación de los fotogramas.conel logotipo se desplazará ligeramente hacia la izquierda, dejando algunos espacios en blanco falsos (compare la línea de pie de la imagen superior con el título de la imagen inferior en las imágenes a continuación):

marco con logotipo marco sin logo

Aquí está el código para reproducir:

% !TeX program = lualatex
\documentclass{beamer}

\usetheme{Malmoe}
% graphics
\DeclareGraphicsExtensions{.jpg,.jpeg,.png,.pdf}

% TikZ/PGF
\usepackage{pgf}

% customization of beamer style
\setbeamertemplate{bibliography item}{}
\setbeamertemplate{navigation symbols}{}

% define logo
\newif\ifplacelogo
\placelogotrue
\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\pgfbox[right,base]{%
            \includegraphics[height=7mm]{example-image-a}
    }}\fi}%

% define custom headline
\setbeamertemplate{headline}
{%
    \leavevmode%
    \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{section in head/foot}%
        \hbox to .5\paperwidth{\hfil\insertsectionhead\hfil}
    \end{beamercolorbox}%
    \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex]{subsection in head/foot}%
        \hbox to .5\paperwidth{\hfil\insertsubsectionhead\hfil}
    \end{beamercolorbox}%
}

\begin{document}

\begin{frame}
\end{frame}

\placelogofalse
\begin{frame}
\end{frame}


\end{document}

¿Porqué es eso? Esperaba \pgfputatno alterar el espacio en el marco en absoluto...

Estoy compilando con LuaLaTeX Versión 1.12.0 (TeX Live 2020) en Arch Linux.

Respuesta1

Exploremoslo por prueba y error (Desafortunadamente no pude encontrar el problema). Primero, si reemplazamos \pgfbox[right,base]{\includegraphics[height=7mm]{example-image-a}}con un espacio , aparece el mismo problema, pero sin ese espacio está bien:

\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{ }\fi}%

ingrese la descripción de la imagen aquí

El resultado del siguiente código ( \pgfputat{ }) también es similar a la imagen de arriba:

\logo{\ifplacelogo\pgfputat{ }{}\fi}%

Si insertamos el logo directamente \includegraphicentonces la situación empeorará:

\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\includegraphics[height=7mm]{example-image-a}}\fi}%

ingrese la descripción de la imagen aquí

También se puede arreglar este espacio en blanco insertando \hspace{-0.5mm}antes \pgfboxo \pgfxy:

\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\hspace{-0.5mm}\pgfbox[right,base]{%
            \includegraphics[height=7mm]{example-image-a}
    }}\fi}%

o usar \makebox[0pt][r]{}en lugar de\pgfbox

\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\makebox[0pt][r]
{\includegraphics[height=7mm]{example-image-a}}}\fi}%

Ver tambiénesta publicaciónpara \llapy \rlapyesta publicación (no completamente relacionada).

Respuesta2

Reemplace el \logocomando por

\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\llap{\includegraphics[height=7mm]{example-image-a}}}\fi}

No verifiqué el origen del problema, que probablemente esté relacionado con \pgfbox.

ingrese la descripción de la imagen aquí

información relacionada