<<*If(arguments)* . . .>>

New in v. 2020:

   The <<*AskOptions* . . .>> can present many choices. Imagine the fifty United States as a list of choices. Next imagine that you want Pathagoras to perform certain actions if Florida, Georgia and/or South Carolina are selected, and another set of actions if Washington, Oregon and/or California are selected.

   Pathagoras' <<*If(any)* . . .>> and <<*If(all)*. . .>> commands will make this possible. (Before introduction of the 'any' and 'all' arguments, you could 'stack' multiple <<If* commands to accomplish the same ends. "Any' and 'all' simplify the process tremendously.

   Here is perhaps a more practical (law office based) example.

<<*AskOptions*!TypeDeed!Standard Deed/Deed of Gift/Marital Settlement Deed/Deed of Trust*>>

   Some deeds are taxable, others are not. Let's say you want to set a groupname called '!Taxable!' and assign a 'True' or 'False' value (so that the 'tax' language will appear, or will be omitted, depending upon the selection made).

   You could do this:

 <<*If*!TypeDeed!="1" OR !TypeDeed!="4",!Taxable!="True",!Taxable!="False">>

but the equation can be shortened with the '(any)' argument, thusly:

 <<*If(any)*!TypeDeed!="1,4",!Taxable!="True",!Taxable!="False">>

   (Note that the reference of the choices is to their respective positions in the list, not the actual text.)

   As there is an unlimited number of AskOptions equations of unlimited length (again, picture the 50 United States), you can see how an '(any)' or '(all)' or '(not)' argument can save much space and avoid many typos.

Anatomy:

<<*If(any)*!Groupname!(choices, separated by commas),!Taxable!="True",!Taxable!="False">>

The command <<*IF followed by the appropriate argument 'all', 'any' or 'not' (in parenthesis), closed by the '*'

The !Groupname! surrounded by !'s

The list of choices to be compared, enclosed in quotes, separated by commas.

A comma that separates the 'If' part of the equation from the 'then' parts.

The If true part.

A comma that separates the 'If True' part from the 'If False' part.

The If false part

The closing boundary mark '>>'

Another AskTable Example:

<<*AskOptions(radio)*!Type of Deed!Standard Deed/Deed of Gift/Marital Settlement Deed/Deed of Trust*>>

<<*If(any)*!Type of Deed!"1,5",!Taxable!="True",!Taxable!="False">>

 

Body text:

{!Taxable!The tax due on the recording of this deed is $[Tax Due]/NEGOPTNo tax is due upon the recording of this deed.}

(You can copy and paste the above into a Word document and press Alt-P to process it. You can modify it as desired. Remember, Pathagoras plain text means no fields to type, no fields to break. )

Notes:

You can have a string of If(. . .) comparisons but they must be of the same type. You can have

<<*If(and)!Color!="1,3,5" and !Size!="3,4",. . . >>  

but you cannot (at present) change in midstream to

<<*If(and)*!Color!="1,3,5" and *If(all)!Size!="3,4", . . .>>

The opening <<*If(and)* modifies all comparisons)

(The rule of not mixing 'and' and 'or' in the same equation also applies.)