
De acordo com o exemplo dehttp://texdoc.net/texmf-dist/doc/latex/beamer/beameruserguide.pdf#subsubsection.8.2.2o seguinte código que acho que deve funcionar:
\documentclass{beamer}
\usepackage{lipsum}
\begin{document}
\begin{frame}{E}
\hskip-\beamer@leftmargin
\lipsum[2]
\end{frame}
\end{document}
No entanto, a compilação pdflatex -synctex=1 -interaction=nonstopmode test.tex
falha com erro subj na linha 180 do loghttps://pastebin.com/HmRdN0Vc.
Alguém pode explicar o que está errado aqui?
Responder1
@
normalmente não pode fazer parte de um nome de comando porque possui catcode 12 (outro), enquanto os caracteres do nome de comando precisam ter catcode 11 (letra). A solução é envolver seu quadro \makeatletter ... \makeatother
para alterar o código de gato @
corretamente (veja tambémessa questão):
\makeatletter
\begin{frame}{E}
\hskip-\beamer@leftmargin
\lipsum[2]
\end{frame}
\makeatother
Quanto à questão de usar essas macros dentro do quadro, beamer
não parece processar o conteúdo do quadro no modo normal de construção de parágrafo, mas lê seu conteúdo na forma de argumento de uma chamada de macro. Nesse momento, todos os catcodes dentro do quadro são fixos e não podem mais ser alterados. \makeatletter
portanto, não terá nenhum efeito. Porém, existe uma opção fragile
para permitir conteúdos com alterações de catcode:
\begin{frame}[fragile]{E}
\makeatletter
\hskip-\beamer@leftmargin
\makeatother
\lipsum[2]
\end{frame}