'Optional' Text (w/ 'Prompts')

   The default action of Pathagoras when it encounters <<*Optional*>> text is to present the entire text block to the user, with the  question "Keep? Yes or No." With just a little more effort, you can provide a more meaningful “keep or delete” question to which the user can respond. To do so, add a prompt immediately after the word *Optional*, and note the end of the prompt with an "*".

informationAll of the text to the left of that third asterisk is called 'Administrative Text'. The administrative text is never part of the substantive text that you are choosing to keep or delete, but does help you and the end user in making the decision whether to keep it or delete it.


       <<*Optional*(prompt)* . . .>>


<<*Optional*Include 'Widgets Not in Stock' text?*The widgets you have ordered are not currently in stock. We will ship them as soon as possible. If we have not shipped within 5 days of this date, you will have the option to cancel the order.>>

When encountered during document assembly, the prompt after the command and before the asterisk that closes the administrative text is presented instead of the default question shown in the previous page.

Click to enlarge.

Optional Text (displaying user provided question.)


Make sure that the prompt is answerable ‘Yes’ or ‘No,’ with the ‘Yes’ answer resulting in inclusion of the text, and ‘No’ resulting in deletion of the text. (Note--the colors in the above and the following examples are for illustration purposes only.)

If you decide that the question needs reworking, simply open the source document and edit the question. Since there is no hidden coding or fields, there is never an impediment to perfecting your source documents.

In order to enable the Interview Wizard to process Optional text, it must be assigned either a !GroupName! or a Prompt.

<<*Optional*>> text in tables: While it is possible to use <<*Optional*>> text blocks within tables, you cannot cross table cells. That is the opening "<<" marker cannot be in one cell and the closing ">>" marker in another. If you must 'cross' cells, create two separate blocks. If assign a common 'group' name to each block, they will process as if one. See 'Groups' below. You may also wish to consider 'paragraph assembly.' The entire block of 'optional' text is saved as a single clause that you can select from either the Clause Selection Screen (along with others that can make up the entire document) or from a DropDown List.

The 'Negative Optional': You can provide a 'false' value to optional text. The 'false' value will be selected if you choose "No" or "False" to the question presented. To provide the 'false' part, simple type "/NEGOPT" (no quotes, color not important, CAPS mandatory) at the end of the Optional text block and type the language you want to be included in the document if the user provides a "No" or :"False" (If the user answers True or Yes, the first part remains and the false part is deleted, If the  user answers 'False' or 'No', the second part remains and the 'true' part is deleted. (The action is similar to that of an <<*Options*>> block where two choices are presented. It is, as you can see, simpler in structure.) Read more about Robust NEGOPT here. and the Simple NEGOPT here.


<<*Optional*!Apples!*An apple a day keeps the doctor away./NEGOPTThose wormy apples didn’t keep my doctor away.>>

More examples can be found at this page.

Hover-Over text: In addition to 'prompt' text that will appear on the pop-up screen which asks "Keep or Delete", you can provide up to 256 more characters of 'hover over' text. This hover-over text will appear when the user moves the cursor over the selection. It will display only during the time the cursor is 'hovering over' the selection. To add hover-over text, simply type  '++' (two plus-signs) at the end of the prompt text and then type the hover-over text. Make sure the hover-over text is within the administrative section of Optional block (i.e., before the third asterisk). E.g.,

<<*Optional*Include 'Widgets Not in Stock' text?++Use when product out of stock and are not expected to be replenished within 3 days of order*The widgets you have ordered are not currently in stock. We will ship them as soon as possible. If we have not shipped within 5 days of this date, you will have the option to cancel the order.>>

If you are using prompts to guide your end-users toward the proper selection, and are assigning !groupnames! so that the selection of the first appearance of the group will lead to the selections for subsequest appearances of that same group, type the prompts at the first appearance of the !groupname! ONLY. Do not repeat the prompts for other appearances of the !group!. Once the first member of the !group! is processed, Pathagoras has all the information it needs to handle the remainder. (While not technically 'illegal,' those extra repeats of the prompt language takes up space in the documents, makes it harder for you debug your documents and may be confusing to you and your end-user when generally perusing the document before processing.

See also:

Create <<*Options*>> Assistant

Structure Checker