ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Rik Kabel <context@rik.users.panix.com>
To: ntg-context@ntg.nl
Subject: Re: Label problems with \definelabel and \defineenumeration, in and out of footnotes
Date: Fri, 12 Jan 2018 16:31:28 -0500	[thread overview]
Message-ID: <d6bf0776-8ef7-369d-43ad-d006e2ade4ec@rik.users.panix.com> (raw)
In-Reply-To: <b6e077b6-fa2d-1cc0-bcc7-06cc663cd489@wxs.nl>

On 2018-01-12 15:50, Hans Hagen wrote:
> On 1/12/2018 8:24 PM, Rik Kabel wrote:
>> On 2018-01-12 13:27, Hans Hagen wrote:
>>> On 1/12/2018 6:58 PM, Rik Kabel wrote:
>>>> Bump.
>>>>
>>>> On 2015-08-11 14:45, Rik Kabel wrote:
>>>>> 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.
>>>
>>> use
>>>
>>> \ID ... \par
>>>
>>> as it has to know where it ends which is a paragraph end
>>>
>>> or use
>>>
>>> \startID ... \stopID
>>>
>>>>>
>>>>>     \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
>> Thank you Hans.
>>
>> With \defineenumeration, adding an explicit \par for the footnote 
>> allows the index to print in the margin, and it works as well with 
>> multi-paragraph footnotes using \epar and \bpar.
>>
>> However, this does not address the failure to indent when the ID 
>> starts a paragraph.
>
> maybe putting a \dontleavehmode in front helps

Indeed. Thank you. Adding it to the before key of \defineenumeration 
appears to have no unwanted side effects. Can you think of a reason not 
to do that?

-- 
Rik
___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2018-01-12 21:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 18:45 Rik Kabel
2018-01-12 17:58 ` Rik Kabel
2018-01-12 18:27   ` Hans Hagen
2018-01-12 19:24     ` Rik Kabel
2018-01-12 20:50       ` Hans Hagen
2018-01-12 21:31         ` Rik Kabel [this message]
2018-01-12 22:46           ` Hans Hagen
2018-01-12 23:01             ` Rik Kabel

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=d6bf0776-8ef7-369d-43ad-d006e2ade4ec@rik.users.panix.com \
    --to=context@rik.users.panix.com \
    --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).