On 2018-01-14 09:46, Hans Hagen wrote:
On 1/13/2018 10:17 PM, Rik Kabel wrote:
I would like to request the restoration of labels (\definelabel) to full citizenship in MKIV. While enumerations are more flexible in many ways, they cannot replace one particular use of labels if find necessary. Enumerations are paragraph entities, while labels are not so restricted.

I use labels displayed as numbers in the margin to serially identify quotations in a book about the development of quotation and misquotation, at the same time generating reference information for cross-referencing. While most quotations are blocks and can be handled by enumerations, many are in-line quotations, and enumeration cannot be used for these.

The wiki describes enumerations as the MKIV replacement for labels, and the documentation as far as I can see omits \definelabel. Unless there is something else supported in MKIV that can assume this function of labels, can we please have full support for labels? I would not want to see labels deprecated before the functionality is reproduced.

(Of course, if you can suggest how enumeration can be adapted to this requirement, or suggest an alternative mechanism, this request can be rejected.)

two options:

\defineconstructionalternative
  [mylabel]
  [renderingsetup=constructionrenderings:mylabel,
   width=]

\startsetups[constructionrenderings:mylabel]
    \dontleavehmode
    \flushconstructionheadbox
\stopsetups

\defineenumeration[two][alternative=mylabel,display=no,before=,after=]

\definelabel[foo][way=bychapter,prefix=chapter]

\starttext

    \startchapter[title=bar]

        here \starttwo\stoptwo \input tufte

        here \foo[xx] \input tufte

        whatever \in{foo}[xx]

    \stopchapter

\stoptext

I played a bit more with enumerations and resolved one issue, I think. The forced paragraph break is a feature of the default before/after keys (both of which I need to null). Once this is done, enumerations can be used for in-line text as well, and when an explicit \par is added to \footnotes, the enumeration index appears there, unlike labels, where it does not appear.

Can you explain why the enumeration defined with constructionalternative rendering fails in footnotes, as shown in the following example? I suspect it has to do with my not understanding the use of \flushconstructionheadbox.

\defineconstructionalternative
  [mylabel]
  [renderingsetup=constructionrenderings:mylabel,
   width=]

\startsetups[constructionrenderings:mylabel]
    \inright{\dontleavehmode\flushconstructionheadbox}
\stopsetups

\defineenumeration[two][alternative=mylabel, % use mylabel rendering
                        headcolor=darkgreen,
                        text=,               % no name preceding label number
                        display=no,          % suppresses line break with constructs
                        before=,             % no added text before label number
                        after=]              % no added text after label number

\defineenumeration[why][alternative=inright, % use inright rendering
                        headcolor=blue,
                        display=yes,         % seems to be the default
                        text=,               % no name preceding label number
                        before=,             % no added text before label number
                        after=]              % no added text after label number

\definelabel[foo][text=,headcolor=red,alternative=inright]

\starttext

        \startchapter[title=bar]

        here \starttwo[reference=aa]\stoptwo \input ward \starttwo[reference=bb]\stoptwo \input ward

        here as well?\footnote{\starttwo[reference=cc]\stoptwo This fails.\par}

        whatever \in{two}[aa] and \in{two}[bb] and \in{two}[cc]

        \blank

        here \two[dd]\input ward \two[ee]\input ward

        here as well?\footnote{\two[ff]This fails.\par}

        whatever \in{two}[dd] and \in{two}[ee] and \in{two}[ff] and why
        is this section not three paragraph?

        \blank

        here \why[gg]\input ward \why[hh] \input ward

        here as well?\footnote{\why[ii]This works!\par}

        whatever \in{why}[gg] and \in{why}[hh] and \in{why}[ii]

        \blank

        here \foo[xx] \input ward \foo[yy] \input ward

        here as well?\footnote{\foo[zz]This fails.}

        whatever \in{foo}[xx] and \in{foo}[yy] and \in{foo}[zz]

    \stopchapter


\stoptext

Could you explain the display key. The best I could determine from strc-con.mkvi is that if it is not 'no' in a construction, a \par is inserted, although I do not see why it is required in one case, and the other in my example above.

Could you also explain why \par is required in the footnotes when it does not seem to be needed in footnotes for any other use?

--
Rik