<<*Options*>> text blocks, multiple-choice variables and *Lists* each allow you (as the author of the source text) to provide choices of text from which the user may select. The main differences are these:
•<<*Options*>> is generally used for larger text blocks. By larger, we mean anything from a sentence to several paragraphs to several pages. (However, if the text is longer than a few paragraphs, you really should consider making the text a separate clause and select it, or options to it, from the Clause Selection Screen. But, given Pathagoras’ flexibility in this regard, you can do it with <<*Options*>> if that is your preference.)
•Variable are typically shorter, typically encompassing only a few words and spanning at most a line or two.
•<<*Options*>> are selected at document assembly time. (This is an important difference and concept to understand, so I will repeat-- <<*Options*>> are processed at document assembly time.) Here is how it is done:
When you press the Next>> button after having selected clauses from the Clause Selection Screen, Pathagoras quickly assembles those clauses into a single document. Immediately after that, Pathagoras returns to the top of the document and searches for any <<*Options*>> and <<*Optional*>> text blocks in the document. If it finds any, Pathagoras pauses to ask if the text block should be kept (<<*Optional*>>) or which option(s) should be kept (<<*Options*>>). The choices you make become part of the final assembled document. They are not 'stored’ as part of a reusable data record.
•On the other hand, variables and *Lists* remain intact in the assembled document until the Instant Database or GotForms? routine is run. So, after the document is fully assembled, the variables still await completion.