On 2/7/2015 2:07 AM, Idris Samawi Hamid ادريس سماوي حامد wrote:
Dear gang,
Thinking of present and future documents (maximum flexibility in converting from format to format), I'm moving from the standard {\em text} to something like \definehighlight[emph][style=italic]. Here's the question:
Does ConTeXt contain some default highlights that need not be defined by the user? It seems that some of the basic ones should have presets. This helps with at least two things:
1. Document portability (independent of a given style or env file); 2. Editor setups.
As an example of the latter: If I select text in Notepad++ I can do
Right-Click -> ConTeXt Typography -> Emphasize
where Emphasize is defined as {\em }
Right now, whenever I release an update to the N++ editor package (now years overdue, I know) any user can depend upon this right-click feature. But if I define
\definehighlight[emph][style=italic]
and set up the editor to implement it; then there is no guarantee that other users will use the same definition.
As issues of conversion from one format to another become ever more urgent and common, it makes more sense to use tagged and exportable versions of the common typographical functions and to standardize a few. So my suggestion is that we develop a set of default or "official" highlights for commonly used cases, with a list made available somewhere such as the wiki. Perhaps redefine some existing 1-parameter typography commands (\emph, \bold, \scap, etc.) as highlights. Some of these should be kept short (such as \emph, \bold) given their very frequent use.
Well, if you talk about automatic injection of commands 'short' is irrelevant and also likely to clash. Anyway, the problem with predefined highlights is that we won't overload existing commands by default, so redefining is not an option in the core. An option is to provide a set like: \unprotect \definehighlight[\v!italic ][\c!command=\v!no,\c!style=\v!italic] \definehighlight[\v!bold ][\c!command=\v!no,\c!style=\v!bold] \definehighlight[\v!bolditalic][\c!command=\v!no,\c!style=\v!bolditalic] \definehighlight[\v!mono] [\c!command=\v!no,\c!style=\v!mono] \definehighlight[\v!monobold] [\c!command=\v!no,\c!style=\v!monobold] \definehighlight[important] [\c!command=\v!no,\c!style=\v!bold] \definehighlight[unimportant] [\c!command=\v!no,\c!color=darkgray] \definehighlight[warning] [\c!command=\v!no,\c!style=\v!bold,\c!color=darkblue] \definehighlight[error] [\c!command=\v!no,\c!style=\v!bold,\c!color=darkred] \protect \starttext \highlight[italic] {italic} \highlight[bolditalic] {bolditalic} \highlight[bold] {bold} \highlight[mono] {mono} \highlight[monobold] {monobold} \highlight[important] {important} \highlight[unimportant]{unimportant} \highlight[warning] {warning} \highlight[error] {error} \stoptext Keep in mind that coding in terms of 'emph' is rather useless with respect to highlights. Highlights relate to structure (while \it doesn't) so you need tags like 'important' and so. Also, by defining highlights with the command = no option will provide a bit more protection. But we need to agree on some kind of reasonable set first. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------