[NTG-context] Bug with \wordright in LMTX version 2020-08-03 14:25

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Wed Aug 5 21:15:58 CEST 2020


Fabrice Couvreur schrieb am 05.08.2020 um 19:33:
> Hello,
> I also use a square to complete a demonstration. I tried this without 
> success
> Thank you
> Fabrice
> 
> \definesymbol[Fin][\mathematics{\square}]
> \def\qed{\strut\wordright{\symbol[Fin]}}
> 
> \defineenumeration
>    [proof]
>    [...,
>     closesymbol={\symbol[\qed]}]

1. \symbol is meant to access pre defined symbols, as fallback method 
when the requested symbol doesn't exist ConTeXt outputs the argument. 
This fallback is in my opinion problematic because it's easy to miss it.

\starttext

\symbol[square]

\symbol[quadrat]

\stoptext


2. When you use the closesymbol for a enumeration ConTeXt uses also the 
argument of the closecommand to apply something to the symbol, by 
default the argument to the closecommand key is \wordright.

This means you're putting \wordright (which itself is flushed as symbol) 
within \wordright which has to fail at some point.


Below is a cleaner version to put a symbol at the end of each proof. The 
\blank setting in the \PlaceProofSymbol definition moves the symbol back 
in the math formula to avoid the vertical space between them, you can 
remove it but I would at leas use \blank[back] to get rid of the empty 
line between the formula and the symbol.

\define[1]\PlaceProofSymbol
   {\blank[back,overlay]%
    \dontleavehmode\wordright{#1}}

\defineenumeration
   [proof]
   [ closesymbol={\symbol[square]},
    closecommand=\PlaceProofSymbol]

\starttext

\startproof
   \startformula
     a^2 + b^2 = c^2
   \stopformula
\stopproof

\stoptext

Wolfgang


More information about the ntg-context mailing list