6

While I was doing some research on beamer's overlay specification, I found the following two lines in beamerbaseoverlay.sty:

\def\beamer@@spacingcover{\beamer@smuggle{\pgfsys@begininvisible\pgfsys@endinvisible}}
\def\beamer@spacingcover{\beamer@@spacingcover\aftergroup\beamer@@spacingcover}

The first command seems weird because it does nothing: the effects of changing visibility will cancel. The second is even weirder in the sense that it does nothing twice.

I construct an example below by redefining those two command to be \relax. And I cannot see any difference. So...

what are \beamer@spacingcover and \beamer@@spacingcover for?

\documentclass{beamer}
\begin{document}
\makeatletter
\frame{
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. \pause
    Aenean non eleifend est. \pause
    Cras elementum eleifend libero. \pause
    Nam gravida mi in risus suscipit ultrices. \pause
    Duis mattis ex sem, non bibendum dui malesuada vitae. \pause
    Aliquam ut orci sed odio commodo volutpat. \pause
    Nulla ullamcorper diam nec dolor tincidunt, non sollicitudin ligula dictum. \pause
    Nullam vel urna bibendum, venenatis tellus id, ullamcorper lacus. \pause
    Vivamus nec dolor fermentum, bibendum ligula id, faucibus ex. \pause
    Nam et ex in lacus pulvinar ullamcorper. \pause
    Quisque sit amet egestas risus, eget porttitor sem. \pause
    Donec rutrum ornare auctor. \pause
    Sed at justo id nulla dignissim efficitur. \pause
    Quisque ut erat ultrices, porttitor felis ac, blandit lectus. \pause
    Integer hendrerit, ipsum sit amet fermentum egestas, lorem lectus sodales nulla, et volutpat tortor massa ut metus. \pause
    Sed congue in sem eget suscipit. \pause
    Cras consequat rutrum hendrerit.
}
\def\beamer@@spacingcover{\beamer@smuggle{\pgfsys@begininvisible\pgfsys@endinvisible}}
\def\beamer@spacingcover{}
\frame{
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
    Aenean non eleifend est. 
    Cras elementum eleifend libero. 
    Nam gravida mi in risus suscipit ultrices. 
    Duis mattis ex sem, non bibendum dui malesuada vitae. 
    Aliquam ut orci sed odio commodo volutpat. 
    Nulla ullamcorper diam nec dolor tincidunt, non sollicitudin ligula dictum. 
    Nullam vel urna bibendum, venenatis tellus id, ullamcorper lacus. 
    Vivamus nec dolor fermentum, bibendum ligula id, faucibus ex. 
    Nam et ex in lacus pulvinar ullamcorper. 
    Quisque sit amet egestas risus, eget porttitor sem. 
    Donec rutrum ornare auctor. 
    Sed at justo id nulla dignissim efficitur. 
    Quisque ut erat ultrices, porttitor felis ac, blandit lectus. 
    Integer hendrerit, ipsum sit amet fermentum egestas, lorem lectus sodales nulla, et volutpat tortor massa ut metus. 
    Sed congue in sem eget suscipit. 
    Cras consequat rutrum hendrerit.
}
\end{document}
  • Well, I'm not sure that “the effects of changing visibility will cancel”, because of side effects :-) See the current definition of \beamer@smuggle. (BTW according to my LaTeX session, \pgfsys@begininvisible is a macro for \special {ps::[begin]}\pgfsys@invoke {gsave nulldevice}\special {ps::[end]}, and \pgfsys@endinvisible is a macro for \special {ps::[begin]}\pgfsys@invoke {grestore}\special {ps::[end]}, where \pgfsys@invoke is itself a macro for \special {ps:: #1}.) – ShreevatsaR Apr 7 '17 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.