Changes

Jump to navigation Jump to search
m
add missing period punctuation
=== Conditional execution of engine-specific code ===
In [[source:syst-prm.tex| syst-prm.tex]], a few macros are defined that can be used to delimit code that uses engine-specific features. <code>\beginTEX</code> and <code>\beginETEX</code> are mutually exclusive, depending on whether or not the format file was compiled under an e-TeX-enabled executable. In the latest ConTeXt releases, this will always imply using the <code>\beginETEX</code> code, because e-TeX availability has recently become a requirement for ConTeXt. The macros will stay, however, because bits and pieces of ConTeXt are used in formats like [[LaTeX]] and [[mptopdfMPtoPDF]], that are not necesarily e-TeX.
A typical way of setting up your code to use e-TeX is like this:
Temporary values and definitions often start with two <code>!</code> markers, and macros that represent internal strings normally start with a single letter followed by a single exclamation mark, for example: <code>\v!off</code> stands for the meaning of ''off'' in the current interface language. More on this convention can be read in [[System Macros/Scratch Variables]].
Prefixes for parameter list assignments start with two <code>?</code> markers, like <code>\??ly</code>. This is explained in [[System Macros/Key Value Assignments]].
The protection and unprotection commands can be nested (unlike <code>\makeatletter</code> in LaTeX). This nesting ability is a convenience, since it allows one to use the protection pair regardless of whether protection is already turned on. It is a very good habit to always start your macro files with <code>\unprotect</code> and end them with <code>\protect</code>, even if you don't need to access internal commands right away.
| '''Top:''' [[System Macros]] | '''Next:''' [[System Macros/Mnemonics and Aliases|Mnemonics & Aliases]] >
[[Category:System MacrosProgramming and Databases]][[Category:ConTeXt programmingTools]]
1

edit

Navigation menu