
Según el ejemplo dehttp://texdoc.net/texmf-dist/doc/latex/beamer/beameruserguide.pdf#subsubsection.8.2.2El siguiente código creo que debería funcionar:
\documentclass{beamer}
\usepackage{lipsum}
\begin{document}
\begin{frame}{E}
\hskip-\beamer@leftmargin
\lipsum[2]
\end{frame}
\end{document}
Sin embargo, la compilación pdflatex -synctex=1 -interaction=nonstopmode test.tex
falla con un error de subj en la línea 180 del registrohttps://pastebin.com/HmRdN0Vc.
¿Alguien puede explicar qué está pasando aquí?
Respuesta1
@
normalmente no puede ser parte de un nombre de comando porque tiene el código cat 12 (otro), mientras que los caracteres del nombre del comando deben tener el código cat 11 (letra). La solución es envolver su marco \makeatletter ... \makeatother
para cambiar el código cat @
correctamente (ver tambiénesta pregunta):
\makeatletter
\begin{frame}{E}
\hskip-\beamer@leftmargin
\lipsum[2]
\end{frame}
\makeatother
En cuanto a la cuestión del uso de estas macros dentro del marco, beamer
no parece procesar el contenido del marco en el modo de creación de párrafos normal, sino que lee su contenido en forma de argumento de una llamada de macro. En ese momento, todos los códigos de cat dentro del marco se fijan y ya no se pueden cambiar. \makeatletter
por lo tanto no tendrá ningún efecto. Sin embargo , existe una opción fragile
para permitir contenidos con cambios de código cat:
\begin{frame}[fragile]{E}
\makeatletter
\hskip-\beamer@leftmargin
\makeatother
\lipsum[2]
\end{frame}