# Differences and best practices: \onslide vs. \uncover, \onslide+ vs. \visible, \onslide* vs. \only?

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. –  Henry DeYoung Jul 1 '12 at 20:34

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. ;) )
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? –  Henry DeYoung Jul 6 '12 at 14:28