The simplest application of logic within Pathagoras is the selection of one clause over another. While this is not 'in-document' logic, it does involve the same kind of selection decision that you are trying to implement as you implement the logic features of the program. You have an objective in mind, and you make mental selections based thereon. The same thing happens when you ask Pathagoras to make decisions for you. The only real difference is that you have to express your objective in writing and in a manner that the program will understand.

   The simplest 'programmable' logic blocks are 'Options' and 'Optional' text. They have been fully discussed and illustrated elsewhere (links provided below). We discuss them again here simply to illustrate the hierarchy of document logic tools available in Pathagoras.


{Optional} and {Options} text using 'simple' enclosures '{' and '}':

  {Optional} text: If Condition A (let's say, 'minor children'), then keep 'this' text, otherwise delete it. Here is an example:

{I direct that any funds otherwise due to my minor children be placed in an account established under Uniform Gifts to Minors Act.}

   When a simple {optional} text block is encountered during the assembly process*, Pathagoras will stop, highlight the text and ask you if you want to keep or delete that text. The positive or negative response to the question controls what happens next: either the highlighted text is retained or it is deleted.

Click here for information, instructions and illustrated examples on the use of  {Simple Optional} text blocks.

  {Options} text: Instead of the single action 'keep/delete' logic of Optional text, Pathagoras allows you to set up a collection of choices. When the end user encounters the Options block, the choices are presented separately and the user selects one of the available choices. The selected choice remains in the document and the others are excised.

Here is a simple example:

Your package will be shipped by {First Class Mail/ORFederal Express/ORUPS}.

The choices can be small elements as shown above, entire paragraphs and sections, or entire documents. There really is no limit as to the length of the individual choices.

Click here for information, instructions and more examples on the use of {Simple Options} text blocks.


Robust <<*Optional*>> and <<*Options*>> text.

   Robust blocks let you add questions and prompts to help guide the user to the desired choice.

<<*Optional*>> text: If Condition A (let's say, 'minor children'), then keep 'this' text, otherwise delete it."

 
<<*Optional*Are there Minor Children?*I direct that any funds otherwise due to my minor children be placed in an account established under the Uniform Gifts to Minors Act.>>

When an <<*Optional*>> text block is encountered, Pathagoras will stop, highlight the text and ask you if you want to keep or delete that text. If, as above, a question is posed within the administrative section of the text, Pathagoras will ask that question. The positive or negative response to the question controls what happens next: either the substantive text is retained or it is deleted.

Click here for information, instructions and illustrated examples on the use of robust <<*Optional*>> text blocks.

   <<*Options*>> text: Instead of the single action 'keep/delete' logic of Optional text, Pathagoras allows you to set up a collection of choices. When the end user encounters the Options block, the choices are presented separately on a new screen. The user then selects one or more of the available choices. The selected choice(s) remain in the document and the others are excised.

Here is a simple example:

Your package will be shipped by <<*Options*USPS/FedEx, Next Day/UPS, 72 hours*Your order will be shipped by First Class Mail/Your order will be shipped today for next day delivery by Federal Express/Your order will be shipped today for delivery within 72 hours by UPS.>>

Note:  The third '*' (adjacent to '72 hours') in the above example denotes the end of the 'administrative text' in the Options equation. In this example, short 'prompt' text is provided. Without prompt text, the entirety of the much longer choices would be presented to the end user for selection.

   'Radio button' presentation: In above example, when run during document assembly, checkboxes will be presented to the end user, and any, some or all of the choices could be selected. If you want to limit the user's ability to select one and only one of the options, add the '(radio)' argument. (In the above example, the radio argument is most appropriate. See below for 'better' example.)

Your package will be shipped by <<*Options(radio)*USPS/FedEx, Next Day/UPS, 72 hours*Your order will be shipped by First Class Mail/Your order will be shipped today for next day delivery by Federal Express/Your order will be shipped today for delivery within  72 hours by UPS.>>

Click here for information, instructions and more examples on the use of <<*Options*>> text block.


  'Options' and 'Optional' text blocks as discussed above are placed 'locally'. This simply means that the equation is placed at the precise point where you want the result to be. The logic block is processed as and where encountered.

*The document assembly process in Pathagoras is triggered in one of three ways:

1.Calling in a document via the Clause Selection Screen

2.Calling in a document via a DropDown List

3.Pressing <Alt-P> against an open document (This is our least 'favorite' method. If you press <Alt-P> against an original document and then save it, you will have overwritten -- and potentially ruined -- the original. But if you are testing with 'destruction' in mind -- i.e., on sample text -- then go for it.)