Another unconventional method is to have your button increment a counter (or just +1 an integer). Bit 0 of the counter will toggle on/off each increment.
That is my favorite too, and a very similar form is in that alternator PDF.
Note that it is essentially a form of the Start/Stop Circuit pattern; it can also be seen as a combination of the Start/Stop and State Coil/Fault Coil patterns (cf. here).
One thing about this compared to your first post is this output is not retentive.
This style is good for turning on a motor, as if the PLC cycled off the output would be turned off when it started again.
The latching style of your first post I use a similar method to set modes and features, that stay on during a power up and don't have to be re-engaged every time. Also, on the latching style you would have to plan for every condition possible, plus a variety of operator-induced conditions, and unlatch it when needed. I have seen programs with one latch and 30 unlatches, where adding a few XIC's or XIO's before the OTE would make he rung false.
It's a bad idea to latch outputs that would come on immediately unless it's something that needs to run constantly like a rooftop air scrubber.