Textboxes and Tokens Design Guidelines
1. Avoid mixing tokens relating to more than one DayValue in the same textbox
[1Week] [1w] : [1d] [1mmm] - [7d] [7mmm]
which would result in "Week 37 : 7 sep - 13 sep".
2. Try to have as few TextBoxes per GridTemplate as possible
This will speed up scanning of GridTemplates and generation of output diaries.
3. Make sure Q++ can guess what DayValues belong to which page
Q++ guesses by looking for tokens of the form [d] on each page. If there is a risk of confusion, use DayValue marker tokens. Confusion can arise, for example, in a daily diary, where on each page you show the first and last days of the current week with the tokens [1Week] [1w] : [1d] [1mmm] – [7d] [7mmm]. Q++ will think you have a 7 days on 2 pages diary (ie a weekly) even though you have a day on the left page and a day on the right page. By placing a [1*] token on the left page and a [2*] token on the right page, you tell Q++ unambiguously that DayValue 1 is on the left page and DayValue 2 on the right page.
4. Never split a token across the boundary of an Anchored Textbox
You can put tokens inside an anchored textbox, but the token should be entirely inside the box. The reason is that, for Q++, text in an anchored textbox is the same as text in any textbox.
Example: if you start your token in the parent text box with "[1d" and then put "ddd]" in an anchored textbox afterwards you will get an error message that each box contains invalid tokens (mismatched braces).
•When scanning a GridTemplate, Q++ does not keep track of the text that an anchored textbox is linked to. It is just another textbox.
•Even if it did, how should Q++ interpret the splitting of the token [dddd] in the above example ? Since we have "d" in the first textbox and "ddd" in the second, should we have the first character in the first textbox ? Or should we have 1/4 of the characters in the first box ?
5. Try to avoid putting tokens in linked textboxes
As seen above, Q++ needs to know exactly what tokens are in which textboxes. Linked textboxes make this impossible. therefore the use of linked boxes is usually not recommended although there are a few exceptions where linked boxes are useful and even sometimes necessary. Using linked textboxes in QxdPages is also not recommended.
6. Try to limit grouping/locking of textboxes, in particular nested grouping
Q++ is able to selectively delete objects that are grouped, even if the grouping is nested (ie. a set of grouped objects is grouped with another set of grouped objects). However there are strange cases where QuarkXPress gets confused and cannot find an object if this object is in a nested group. When this happens, you start getting strange messages during token replacement. You should only group objects together when grouping is necessary (for example when wishing to group delete as the result of a zap token or a macro).
7. Use Style Sheets only if necessary
The danger of using Style Sheets is that QuarkXPress can have problems, during diary generation, when asked to combine, very fast, many different QuarkXPress files with potentially conflicting styel sheets. There are well-known solutions to these issues, but in general the use of style sheets should be avoided, as tokens are meant to be a much more powerful alternative.