
Eu tenho uma macro tirada deessa questãoque coloca um logotipo em todos os quadros seguintes \placelogotrue
e em nenhum quadro seguinte \placelogofalse
. Em grande parte, funciona como pretendido, mas causa manchete e linha alimentar dos quadroscomo logotipo será ligeiramente deslocado para a esquerda, deixando alguns espaços em branco falsos (compare o rodapé da imagem superior com o título da imagem inferior nas imagens abaixo):
Aqui está o código para reproduzir:
% !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}
Por que é que? Eu esperava \pgfputat
não alterar o espaçamento no quadro ...
Estou compilando com LuaLaTeX versão 1.12.0 (TeX Live 2020) no Arch Linux.
Responder1
Vamos explorá-lo por tentativa e erro (infelizmente não consegui encontrar o problema). Primeiro, se substituirmos \pgfbox[right,base]{\includegraphics[height=7mm]{example-image-a}}
por um espaço , o mesmo problema aparecerá, mas sem esse espaço
está tudo bem:
\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{ }\fi}%
A saída do código a seguir ( \pgfputat{ }
) também é semelhante à imagem acima:
\logo{\ifplacelogo\pgfputat{ }{}\fi}%
Se inserirmos o logotipo diretamente, \includegraphic
a situação vai piorar:
\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\includegraphics[height=7mm]{example-image-a}}\fi}%
Também é possível corrigir esse espaço em branco inserindo \hspace{-0.5mm}
before \pgfbox
ou \pgfxy
:
\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\hspace{-0.5mm}\pgfbox[right,base]{%
\includegraphics[height=7mm]{example-image-a}
}}\fi}%
ou usando \makebox[0pt][r]{}
em vez de\pgfbox
\logo{\ifplacelogo\pgfputat{\pgfxy(-0.1,7.72)}{\makebox[0pt][r]
{\includegraphics[height=7mm]{example-image-a}}}\fi}%
Veja tambémesta postagempara \llap
e \rlap
eesta postagem (não completamente relacionada).