Variables are similar to text snippets but are for different purpose. The main differences are:

1. Variables can not have text formatting.

2. Variables can be used in templates.

3. Variables can be used to control compilation process.


There are 3 main groups of variables:

1. Global Variables. These variables have the same value for all languages.

2. Language-Specific variables. These variables have different values for every language in the project.

3. Variable Preset. Variables in preset have values specific to that preset.

4. Predefined variables. Values of predefined values depend on compile mode and cannot be changed by user.



Examples of Global Variables:

- Company name

- Software title

- Year of release

- Version


Examples of Language-Specific Variables:

- Localized Software Title


Examples of Variable Presets:

- Edition

- Software Title - for branding of your product.


Predefined Variables are:

- FORMAT - can be CHM, PDF, RTF, HTML

- Language - LangID of the current project language.


Presets can be used to control compilation process using Conditional Compilation.

For example you have two editions of your product - LITE and PRO, PRO edition has specific features that LITE does not have and you don't want those topics in the help file of LITE edition. You can solve this problem by having two different projects or you can use variable presets. Add two presets - PRO and LITE, and EDITION variable to them. Now you can put line "EDITION='PRO'" into the "Condition" property of topics you want to skip from LITE edition help file. At Compile time select "PRO" preset to compile help for PRO edition and "LITE" preset to compile LITE edition help file. To learn more see "Conditional Compilation" topic.