Estou escrevendo os slides da minha tese no beamer. Preciso alinhar verticalmente ao centro o conteúdo do slide quando uso a opção [allowframebreaks] no ambiente de quadro e a \newpage para iniciar um novo slide.
Como o próximo exemplo:
\begin{frame}[allowframebreaks]
\frametitle{Outline}
Some text....
\newpage
Some text....
\begin{figure}[!ht]
\input{myimage.pdf_tex}
\end{figure}
\newpage
Some text....
\begin{figure}[!ht]
\input{myimage2.pdf_tex}
\end{figure}
\end{frame}
Aqui ambas as figuras estão sempre no topo do slide, mas não no centro vertical. Preciso centralizar o conteúdo depois de passar para um novo slide com \newpage.
Desde já, obrigado. Eu realmente aprecio sua ajuda.
Responder1
Do beamer
manual:
Por padrão, todo o material de um slide é centralizado verticalmente. Você pode alterar isso usando as seguintes opções de classe:
\documentclass[t]{beamer}
Coloque o texto dos slides na parte superior (vertical) dos slides. Isso corresponde a um “flush” vertical. Você pode substituir isso para quadros individuais usando a opção c ou b.
\documentclass[c]{beamer}
Coloque o texto dos slides no centro (vertical) dos slides. Este é o padrão. Você pode substituir isso para quadros individuais usando a opção t ou b.
Então você pode usar algo como o próximo código para centralizar verticalmente seus quadros "quebrados":
\documentclass[t]{beamer} %<- 'c' is default option, 't' forces top aligned
\usepackage{lipsum}
\begin{document}
\begin{frame}[c,allowframebreaks]{centered frame} %<- 'c' forces to forget default
\lipsum[2]
\framebreak %<- with '\newpage' first frame is top aligned
\lipsum[5]
\end{frame}
\begin{frame}[allowframebreaks]{top aligned frame}
\lipsum[2]
\framebreak
\lipsum[5]
\end{frame}
\end{document}
Você costumava \newpage
quebrar o quadro, mas beamer
diz:
Você pode inserir os comandos \break, \nobreak e \penalty para controlar onde as quebras devem ocorrer. Os comandos \pagebreak e \nopagebreak também funcionam, inclusive suas opções. [...] O comando \framebreak é uma abreviação de \pagebreak e \noframebreak é uma abreviação de \nopagebreak.
Se você usar \newpage
o primeiro slide alinhado na parte superior, use \break
ou \framebreak
.
Apenas um último comentário do beamer
manual falando sobre allowframebreaks
a opção:
O uso desta opção é maligno. Numa (boa) apresentação você prepara cada slide cuidadosamente e pensa duas vezes antes de colocar algo em um determinado slide em vez de em algum slide diferente. Usar a
allowframebreaks
opção convida à criação de apresentações horríveis e intermináveis que mais se assemelham a um “papel projetado na parede” do que a uma apresentação. No entanto, a opção tem sua utilidade. Mais notavelmente, pode ser conveniente para dividir automaticamente bibliografias ou equações longas.