{Simple Optional Text} Blocks

   Pathagoras provides a very easy approach to providing optional text blocks. Almost no setup is required. Simply surround text you want to be 'optional' with {curly braces}.

   Using this simple markup style is not as 'robust' as the <<*Optional*>> text blocks (for example, you cannot provide a customized question or use prompts). But if the 'question' of whether or not to keep a certain, typically short, block of text is inherent in the text itself, and the robust aspects of the alternative style are not needed, 'simple optional' is an ideal solution.

   To create a {simple optional text block}, place the boundary markers around the subject text. Unless you changed the default characters, the boundary markers are "{" and "}".

  Like its 'big brother,' {Simple Optional Text} offers two types of blocks:

1.“Optional” text: This is pure ‘optional text.’  At document assembly time, the program will pause and ask “Include this text?” The user need only select “Yes” or “No” to tell Pathagoras whether the text block should be retained in the final document.

{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.}

2.“Options” text: This ‘type’ allows the user to choose among several options. Each option is separated from the others by a simple, “/OR” (No quotes. Caps mandatory. Color not required.). At document assembly time, the options are presented to the user on a selection screen.  The user selects one or more of the options shown.

{As per your request, the widgets will be shipped by Federal Express. We will bill you for the extra cost of shipping./OR As per your request, we will send the widgets by standard ground transport. This may take 3 to 5 additional days./OR As per your request, we will hold the widgets for pickup by your courier./OR 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.}

informationThe "/OR" separator: The '/OR' separator will present the end user with mutually exclusive 'radio' buttons on the choice selection screen.

informationThe "/ANDOR" separator: If you want the end user to be able to select more than one of the options, separate the choices with "/ANDOR". (No quotes. Caps Mandatory.)

   When Pathagoras encounters the optional text block (#1 above), it will highlight the text in the document and ask if you want to keep it (Figure 1).

Click to enlarge.

Figure 1. Optional Text dialog.
If  you select <Yes>, the boundary markers
are removed and the text remains in the document.
If you choose <No>, the entire text block is deleted from the document.

   When Pathagoras encounters the options text block (#2 above), it will parse out the individual choices and display them onto buttons on a selection screen. (If the text is too long to fit, only the first 200 or so characters of the option will display.) Check-boxes are shown at the left of each choice so that you can choose more than one option, if desired.

Click to enlarge.

Figure 2. Options block dialog.
Note that the actual text of the option is provided
(subject to space constraints.)

Note that the "/ANDOR" separator was used. It lead to a screen
where the end user can choose one or more of the options.

  !GroupNames!: Like its big brother, you can insert a !Groupname! to the beginning of related blocks of optional text. This will cause each {Simple Optional} and {Simple Options} containing the same !Groupname! to behave in a similar fashion.


With Simple Optional text:

{!Disclaimer!We disclaim all liability if you try to shave your head with our chainsaw.} (blah blah blah . . .) and furthermore {!Disclaimer!we also disclaim responsibility if you try to use our hedge trimmer to trim your fingernails.}

With Simple Options text:

We suggest that the color for the living room be {!colors!red/ORyellow/ORburnt orange} and the contrasting trim color be {!colors!yellow/ORpurple/ORroyal blue}.

  Notes: The automatic selection of subsequent choices by Pathagoras when using !GroupNames! depends upon the position of the first choice in the list, not its answer.  So, in the first above example, if ‘yellow’ (the second option) is selected when the first block is encountered, ‘purple’ (the second option in the second block) will be automatically selected.

  Note :The same examples above appear in the section discussing !Groupnames! with robust <<Optional/Options>> blocks. The differences are (1) the absence of the ability to add a short question or prompt for the end user, and (2) the requirement that '/OR' (instead of just a 'slash') be used to separate choices.

   Titles: Sometimes you need to communicate more information about the simple options block that the display of the actual text can accomplish. You can add a short title to the options block. To do so, simply type a word or phrase, up to 30 characters, followed by a colon, to the beginning of the simple options block. The title will be removed before the optional text is highlighted. It will be added to the question asking whether the text should be kept or deleted.

    Example: {Free Shipping:There will be no additional charge for this service.}

Notes: You must select "Colon represents Title" in the Options/Optional settings screen.

Click to collapse

Click to collapse

30 characters max. If you need more than 30 characters to provide a title, use Robust Optional. If the colon appears more than 30 characters from the left, it is presumed part of the original text.

       If you want to retain the 'title' text, either proceed the title with an asterisk or use Robust Optional.

       E.g., {*Attention: [Contact Name]}. OR <<*Optional*Attention: [Contact Name]>>

      You can combine !Groups! with Titles, but the !Groupname! must come first. (Use a Title only with the first appearance of the !Group!. You simply won't need it for the remainder.)


informationNote: The {Simple Optional Text} module will identify and act upon any curly brace sets in your document. If a document already contains text within {curly braces} that you do not intend to be optional, you have 3 choices:

1.  Disable Pathagoras' ability to process text it finds within curly braces. Click here to learn how to enable and disable this function.

2. Change the boundary markers that denote the 'native' text to something other than '{' and '}'. (Plain parenthesis will typically serve the same 'highlighting' function.)

3. Change the boundary markers that denote the 'simple' options text to something other than '{' and '}'. Read more here.

4. Just forego simple options and use 'robust options'.


information A {Simple Optional} text block cannot span more than a single cell of a table. {Simple Optional} text block can encompass an entire table, but both block markers must be outside the table.

information You are limited to no more than 9 choices if using multiple choice ( /OR or /ANDOR) features of simple options. If you need more, use the robust options tools described in previous sections.

information The appearance of /OR in a simple options block will always be interpreted as 'belonging' to the simple options block, not to a nest 'other' component (most ofter a nested multiple choice variable). So "{I really like fruit. My favorite is [apples/ORbananas/ORmangos]}" will result in the optional block behaving as an 'options' block. If you want to preserve the multiple choice variable, just use plain slashes, e.g., "{I really like fruit. My favorite is [apples/bananas/mangos]}"

information NESTING RULES: You cannot nest another simple options block within a simple options block.  You cannot nest a <<*Repeat* . . .>> block within a simple options block. You can nest a robust <<*Optional*. . .>> block within a simple options block. You can nest a robust <<*Options*. . .>> block within a simple options block. You can nest plain variables within a simple options block, but not multiple choice variables. Despite these allowances, a 'best practice' would be to use simple options for their original 'simple' purpose, and don't try to nest anything (other than simple variables) within them.