Frequently you will have a form document where the number of actors (plaintiffs, defendants, shareholders, beneficiaries, buyers and sellers, etc.) varies from client to client.
Solution 1: It is possible to ‘hard code’ all the possible variations into the form using Options (e.g., “no children/one child/two children/three children” and so on). If the number of options is fixed and small, that frequently is the best solution.
Solution 2: Where the number of possible options is large or infinite, Solution 1 is not terribly efficient. You should use Pathagoras “Repeat” function in those cases. The “Repeat” function is simple to add, but very powerful in application.
‘Repeat’ tells Pathagoras to ask “how many actors” to account for. When answered during a document assembly session, it causes Pathagoras to insert a separate, distinct variable for each actor. (‘Distinct’ means not only is the variable repeated the proper number of times, but an incrementing number is inserted into the variable name so that it is slightly different from the others in the same set.)
For example, if your basic form includes a variable called [Shareholder Name] and you are drafting a document with 3 shareholders, you might insert the Repeat command into the source document like this:
<<*Repeat*[Shareholder Name]>>
(Note: the colors are for illustration and emphasis only.
They are not required for the repeat function to properly function.)
At document assembly time, Pathagoras will locate the repeat block, pause and ask for the number of Shareholders. When the end user supplies an answer (let’s say it is ‘3’), Pathagoras will delete the original variable and replace it with designated number of distinct variables:
[Shareholder Name1] [Shareholder Name2] [Shareholder Name3].
When you are ready to personalize the document using Instant Database, Pathagoras will see the new variables, display them onto the Instant Database screen along with all other document variables for completion.
Can more than one piece of information appear within a Repeat block? Yes. Continuing with the above example, let’s say you also want to include addresses and the number of shares for each shareholder. The setup is identical. Just add the more variables as desired:
<<*Repeat*[Shareholder Name] [Shareholder address] [number of shares]
>>
(note that the closing ‘>>’ is on a separate line.
That signals Pathagoras to put each variable set on a separate line.)
If the end user tells Pathagoras ‘3’ during document assembly time, Pathagoras will return these lines of text:
[Shareholder name1] [Shareholder address1] [number of shares1]
[Shareholder name2] [Shareholder address2] [number of shares2]
[Shareholder name3] [Shareholder address3] [number of shares3]
Can I repeat an entire document?
Absolutely. Suppose you want to send your shareholder agreement to each shareholder. You can draft a cover letter which will also have incrementing variables so that one letter will be drafted for each shareholder. Your letter might look like this:
<<*Repeat*
[Shareholder Name],
[Shareholder Address]
Dear [Shareholder Salutation],
Enclosed is a draft of the shareholder agreement. Please call me with your comments and questions.
Sincerely,
Arnie Attorney
>>
If the end user tells Pathagoras to generate ‘3’ letters, the result will be a single document contained three distinct letters:
[Shareholder Name1],
[Shareholder Address1]
Dear [Shareholder Salution1],
Enclosed is a draft of the shareholder agreement. Please call me with your comments and questions.
Sincerely,
Arnie Attorney.
[Shareholder Name2],
[Shareholder Address2]
Dear [Shareholder Salution2],
Enclosed is a draft of the shareholder agreement. Please call me with your comments and questions.
Sincerely,
Arnie Attorney
.
[Shareholder Name3],
[Shareholder Address3]
Dear [Shareholder Salution3],
Enclosed is a draft of the shareholder agreement. Please call me with your comments and questions.
Sincerely,
Arnie Attorney
(If you had an End Page or Section break within the Repeat block, they would be duplicated along with the text.)
But wait, there’s more!!!
What if I want to generate multiple documents, but there are certain variables that I do not want to be incremented. Can I do that?
Of course you can. You simply need to tell Pathagoras which variables do not increment. Your letter might look like this:
<<*Repeat*
[Date of Letter_]
[Shareholder Name],
[Shareholder Address]
Dear [Shareholder Salution],
Enclosed is a draft of the shareholder agreement. You can see that the corporation will issue [total number of shares issued_]. You will receive [number of shares] of those shares. Please call me with your comments and questions.
Sincerely,
Arnie Attorney.
>>
Did you notice the extra _ at the end of [Date of Letter_] and [total number of shares issued_]? That underscore tells Pathagoras not to increment the variable. (The date of the letter and the total number of share issued will always be the same from document to document. By default, Pathagoras will remove the ending ‘_’ during processing.)
In the above examples the incrementing number always appeared at the end. Can I tell Pathagoras to place the incrementing number somewhere else?
Yes. Just put the symbol “@ “ at the spot in the variable where you want the number to be placed. Eg., [Child@ Name] will become [Child@1 Name], [Child@2Name], [Child@3 Name], etc.
The above examples simply repeated the variable, without any connecting commas and the word ‘and’ before the final variable.. Can I add list ‘punctuation’ to the repeat block?
Yes. Just add the appropriate ‘list signal’ to the Repeat command. Examples:
<<*Repeat(and)*[Child]>>
becomes (with the answer 3)
[Child1], [Child2] and [Child3]
<<*Repeat(and;)*[Child@ Name], born [Child@ DOB]>>
becomes (with the answer 3)
[Child@1 Name], born [Child@1 DOB]; [Child@2 Name], born [Child@2 DOB] and [Child@3 Name], born [Child@3 DOB]
Can I tell Pathagoras to use the same number of repeats at disparate locations in the document?
Yes. Just add a group name to the Repeat block, just after the repeat command. (A groupname is any text between two exclamation marks.) Close the extended ‘administrative text’ section with a third asterisk. The groupname E.g.,
<<*Repeat*!shareholders!*>>
The following individuals own stock in the corporation:
Name Shares Owned
<<*Repeat*!shareholders!* [ShareholderName], [SharesOwned]
>>
(. . .)
The shareholders waive notification of the upcoming annual meeting as evidenced by their signatures below:
<<*Repeat*!shareholders!*_________________
[ShareholderName]
>>