ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: "Idris Samawi Hamid ادريس سماوي حامد" <ishamid@colostate.edu>
To: "mailing list for ConTeXt users" <ntg-context@ntg.nl>
Subject: Re: need defaults for \definehighlight
Date: Sat, 07 Feb 2015 12:33:00 -0700	[thread overview]
Message-ID: <op.xtpck9defkrasx@ishamid-pc> (raw)
In-Reply-To: <54D60AB4.5020904@wxs.nl>

Hi Hans,

On Sat, 07 Feb 2015 05:53:08 -0700, Hans Hagen <pragma@wxs.nl> wrote:

> Well, if you talk about automatic injection of commands 'short' is  
> irrelevant and also likely to clash.

Ok, fair enough. There is also function auto-completion...

> 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.

Yes, but when precisely used emphasis is just as structural as important.  
Put another way, important is a species of the genus emphasis. But instead  
of, say, 'lightemphasis', something like 'emphasis' should not cause  
confusion.

Or we could do 'important' and 'veryimportant'. The defaults could be  
something like

\definehighlight[important]    [\c!command=\v!no,\c!style=\v!italic]
\definehighlight[veryimportant]    [\c!command=\v!no,\c!style=\v!bold]
\definehighlight[extraimportant]     
[\c!command=\v!no,\c!style=\v!bolditalic]

> Also, by defining highlights with the command = no option will provide a  
> bit more protection.

Could you explain? Or give an example?

> But we need to agree on some kind of reasonable set first.

Ok, take a look at this iteration:

===============
\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[\v!smallcaps]  [\c!command=\v!no,\c!style=\v!smallcaps]

\definehighlight[important]    [\c!command=\v!no,\c!style=\v!italic]
\definehighlight[veryimportant]    [\c!command=\v!no,\c!style=\v!bold]
\definehighlight[extraimportant]     
[\c!command=\v!no,\c!style=\v!smallcaps]
% \definehighlight[extraimportant]     
[\c!command=\v!no,\c!style=\v!bolditalic] % smallcaps is a better default  
for extraimportant than bolditalic
\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]

\definehighlight[emphasis]    [\c!command=\v!no,\c!style=\v!italic] % Does  
Hans prefer slanted here for default??
\definehighlight[booktitle]    [\c!command=\v!no,\c!style=\v!italic]
\definehighlight[abbreviation]    [\c!command=\v!no,\c!style=\v!smallcaps]
\definehighlight[propername]    [\c!command=\v!no,\c!style=\v!smallcaps]

%% Use-mention distinction
% \definehighlight[concept]    [\c!command=\v!no,\c!command=\v!\quotation]  
% doesn't work!
% \definehighlight[expression]    [\c!command=\v!no,\c!command=\v!\quote]   
% doesn't work!

\definehighlight[typing]    [\c!command=\v!no,\c!style=\v!mono]

\protect

\starttext

     \highlight[italic]     {italic}
     \highlight[bolditalic] {bolditalic}
     \highlight[bold]       {bold}
     \highlight[mono]       {mono}
     \highlight[monobold]   {monobold}
     \highlight[smallcaps]  {smallcaps}

     {\sc smallcaps}       % this works
     \smallcaps{smallcaps} % this command doesn't work!!

     \highlight[important]      {important}
     \highlight[veryimportant]  {very important}
     \highlight[extraimportant] {extra important}
     \highlight[unimportant]    {unimportant}
     \highlight[warning]        {warning}
     \highlight[error]          {error}

     \highlight[emphasis]     {emphasis}
     \highlight[abbreviation] {abbreviation}
     \highlight[booktitle]    {Book Title}
     \highlight[propername]   {Proper Name}

     % \highlight[concept]    {concept}
     % \highlight[expression] {expression}

     \highlight[typing]    {typing}
\stoptext
===============

Note the comments on smallcaps, quotation, quote, concept, and expression.  
These need to be fixed somehow. Thanks and

Best wishes
Idris
-- 
Idris Samawi Hamid
Professor of Philosophy
Colorado State University
Fort Collins, CO 80523
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2015-02-07 19:33 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-07  1:07 Idris Samawi Hamid ادريس سماوي حامد
2015-02-07 12:53 ` Hans Hagen
2015-02-07 19:33   ` Idris Samawi Hamid ادريس سماوي حامد [this message]
2015-02-07 19:34     ` Idris Samawi Hamid ادريس سماوي حامد
2015-02-08 12:56   ` Keith J. Schultz
2015-02-08 14:01     ` Hans Hagen
2015-02-08 14:40       ` Idris Samawi Hamid ادريس سماوي حامد
2015-02-08 17:38         ` Hans Hagen
2015-02-08 19:08           ` Idris Samawi Hamid ادريس سماوي حامد
2015-02-08 21:51             ` Hans Hagen
2015-02-08 22:42               ` Idris Samawi Hamid ادريس سماوي حامد
2015-02-09 13:34               ` Keith Schultz
2015-02-09 13:46                 ` Wolfgang Schuster
2015-02-08 19:17         ` Wolfgang Schuster
2015-02-08 19:28           ` Idris Samawi Hamid ادريس سماوي حامد
2015-02-08 23:42       ` Keith Schultz
2015-02-09  8:03         ` Hans Hagen
2015-02-08 14:24     ` Idris Samawi Hamid ادريس سماوي حامد
2015-02-08 18:51     ` Wolfgang Schuster
2015-02-09  8:46     ` Alan BRASLAU

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=op.xtpck9defkrasx@ishamid-pc \
    --to=ishamid@colostate.edu \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).