The example below documents the problems. In short, \definelabel
suppresses paragraph indent when the label is at the beginning of a
paragraph and fails to print the label or generate references with
alternative=inmargin (or inright, or inleft) when in a footnote.
\defineenumeration fails to work in a footnote.
\setupindenting[yes,small]
\definelabel [ID][
%\defineenumeration[ID][
text=,
after=,
before=,
headcolor=red,
alternative=inright,
]
\starttext
\starttitle[title={Label testing}]
\startsubject[title={Problems with \tex{definelabel}}]
This is a test. It is only a test.
\ID[id1]This paragraph should be indented, with an ID
number
in the margin. When \tex{ID} is placed at the
beginning of the
paragraph, as it is here, the paragraph is not
indented.
This paragraph has a footnote.\footnote{%
\ID[id2]The ID number is not printed in the margin
with
{\tt alternative=inright}, {\tt
alternative=inmargin},
or {\tt alternative=inleft}. Without any {\tt
alternative} the ID number is printed where the
macro
appears. The positioning is unsatisfactory using
{\tt
alternative=right}.%
} The footnote has an ID number which should be
printed in the
right margin.
This \ID[id3]paragraph has an ID, but it is not at the
beginning
of the paragraph and the paragraph is properly
indented. The
value of the ID number indicates that \tex{ID} in the
footnote
of the previous paragraph incremented the associated
counter,
but the failure of the references (\tex{in} and
\tex{at}) to id2
suggests that there are other problems.
\dorecurse{3}{
ID id#1 is \in[id#1] and is on page \at[id#1].\par}
References for footnotes are generated without
\tt{alternative=}.
\stopsubject
\startsubject[title={Problems with
\tex{defineenumeration}}]
When \tex{definelabel} is changed to
\tex{defineenumeration},
the example fails to compile. It does not properly
handle
the \tex{ID} in the footnote, complaining of an extra
\} or
forgotten \tex{endgroup}.
\stopsubject
\stoptitle
\stoptext
--
Rik