Page 81 of the Beamer v3.20 user guide describes the behavior of the \onslide command. In particular, there are three forms when the optional text argument is given:

  • \onslide⟨overlay specification⟩{⟨text⟩},
  • \onslide+⟨overlay specification⟩{⟨text⟩}, and
  • \onslide*⟨overlay specification⟩{⟨text⟩}.

According to the user guide,

If a ⟨text⟩ argument is present, \onslide (without a ⟨modifier⟩) is mapped to \uncover, \onslide+ is mapped to \visible, and \onslide* is mapped to \only.

This raises three questions:

  • Is this mapping an exact correspondence?
  • If so, what is the point of allowing \onslide to accept an optional ⟨text⟩ argument: why not just require users to use \uncover, \visible, and \only directly?
  • Also, if so, is there any reason to prefer one form over the other as a best practice?
  • Please let me know if I should change this question to community wiki. Jul 1, 2012 at 20:34
  • For circuitikz labels \visible works while the others fail.
    – skvery
    Jun 3, 2021 at 6:57

1 Answer 1


If {text} is present and indeed starts with a brace, \onslide will just fall through to \only, \visible or \uncover, respectively.

However if there is no brace, it will fall though to \only, \beamer@noargsvisibleonslide and \beamer@noargsonslide which I vaguely presume are the switch variants of \visible and \uncover. (I really don't like the "can be switch or have an argument" style, so I'm not very motivated to dig deeper into this right now. ;) )

  • 7
    Do you think there is any reason to prefer one form (e.g., \onslide+{text} vs. \visible{text}) over the other as a best practice? In other words, why did the authors of Beamer choose to include these synonyms? Jul 6, 2012 at 14:28

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.