# [dev-context] Enhancements to core-des for theorems

Hans Hagen pragma at wxs.nl
Sat Jun 2 21:53:35 CEST 2007

Aditya Mahajan wrote:
> Hi Hans,
>
> I am attaching my enhancements for core-des. This takes care of most
> of the needs for theorems with ConTeXt. I hope that I have not broken
> anything. I have tested this with a 40 page documents, while Oliver,
> Olaf, and Dalyoung have tested this with bigger documents. The test
> files show different features.
>
> It takes care of a few bugs in enumerations, (and introduces new
> ones... there is a suprious space somewhere which I can not find)
> Basically, more enhanced support for titles, and end of proof markers,
> and makes sure that conversion=whatever works correctly.
\descriptionparameter\c!right%
}}  <======= here is your space
\doifnot{#1}{-}{\rawreference\s!num{#1}{}}%

\strut\doshowdnnumber%
\showdntitle{#2} <======= here is another space
%AM: Remaining part of \domakednnumbed

\descriptionparameter\c!left
\showdntitle{#2} <======= here is another space
\descriptionparameter\c!stopper

most of the %'s you added are not needed, e.g. never after a \macroname

>
> For end of proof markers, say
>
\def\placeendmarker
{\@EA\ifcase \csname dnendmarker\currentdescription\endcsname
\global\@EA\chardef\csname
dnendmarker\currentdescription\endcsname\plusone
\doifsomething{\descriptionparameter\c!endmarker}
%         {\pushright{\descriptionparameter\c!endmarker}}\fi}
{\wordright{\descriptionparameter\c!endmarker}}\fi}

this is what wordright was made for; maybe it can be improved but thsi
qed stuff looks too complex to me (may also interfere with other things)

> \definetheorem[theorem][endmarker=\math{\square}] or whatever symbol
> you want.
>
> Then a end of proof marker with will be placed at the \stoptheorem.
> Sometimes, for example after an itemize, the end of thoerem marker may
> appear on a line of its own. Then say \placenedmarker just before
> \stopitemize
>
> To couple two enumerations
>
> \defineenumeration[theorem]
> \defineenumeration[proposition][theorem]
>
> To couple just the numbers
>
> \defineenumeration[theorem]
> \defineenumeration[proposition][usenumer=theorem]
>
> I cannot use number=theorem because number=yes|no is to enable disable
> numbering. Maybe a better choice will be numbering=yes|no, and
> number=counter. But that will break backward compatibility :(
\defineenumeration[proposition][theorem]

will inherit and then you can set up proposition independently
>
> The main thing that needs to be done is to get end of proof markers to
> work with formulas, but that is a bit difficult, so I have left it for
> the future.
i need to give this some thought ...

endmark     -> endsymbol (we use symbol for other things; mark is too
much related to marks)
usenumber  -> have to think of it, cloning happens more (\c!coupling is
used low level)

There is some code i made for David Antos:

\doif{\descriptionparameter\c!title}\v!yes % new, for david antos
{\doattributes{\??dd\currentdescription}\c!titlestyle\c!titlecolor
{\hskip\descriptionparameter\c!titledistance\begstrut#2\endstrut}}%

did you check if his usage still works? (at least we need to tell David what to use now)

Hans

-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------



More information about the dev-context mailing list