From: Daniel Schopper <daniel.schopper@aon.at>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: endnotes/critical apparatus
Date: Fri, 20 May 2011 20:23:07 +0200 [thread overview]
Message-ID: <4DD6B18B.2050100@aon.at> (raw)
In-Reply-To: <2294DB2C-3330-47F2-906D-8915444EAAA0@googlemail.com>
Great! Thanks a lot, Wolfgang!
Yet… I have some other questions:
- What about a simplified \page inside the lemma (not really common, but
anyway…)? Adding
\appendtoks\def\page[#1]{}\to\simplifiedcommands
is ignored.
- How can I tweak the note mechanism to put the apparatus notes inside
one single paragraph, concatenated by some arbitrary separator (\quad or
-- or something similar)? (Eventually I‘d like the lemmatas which appear
on the same page to be grouped in a paragraph) - I guess it should be
somewhere in strc-not.mkiv but must have missed it…
Thanks again for the effort!
Daniel
minimal example:
\def\doifelsesamepagereference#1#2%
{\doifelse
{\doifreferencefoundelse{#1}{\currentreferencepage}{-}}
{\doifreferencefoundelse{#2}{\currentreferencepage}{+}}
}
\define[2]\Apparatus
{\ifdefined\ApparatusCounter
\doglobal\increment\ApparatusCounter
\else
\doglobal\newcounter\ApparatusCounter
\fi
\pagereference[apparatus:startpage:\ApparatusCounter]%
\startline[apparatus:line:\ApparatusCounter]{#1}\stopline[apparatus:line:\ApparatusCounter]%
\pagereference[apparatus:stoppage:\ApparatusCounter]
\expanded{
\endnote{
{\bf\at[apparatus:startpage:\ApparatusCounter]%
\noexpand\doifelsesamepagereference{apparatus:startpage:\ApparatusCounter}{apparatus:stoppage:\ApparatusCounter}{}{-\at[apparatus:stoppage:\ApparatusCounter]}}%
/\noexpand\inline{{}}[apparatus:line:\ApparatusCounter]~%
{\noexpand\simplifycommands #1}]~{#2}
}
}%
}
\setuplinenumbering[
method=page,
distance=0.3em
]
\appendtoks\def\blackrule[#1]{}\to\simplifiedcommands
\appendtoks \def\crlf{/}\to\simplifiedcommands
\appendtoks \def\bf{}\to\simplifiedcommands
\appendtoks \def\page[#1]{\textbar\textbar}\to\simplifiedcommands
%\setuplabeltext[en][lines=,line=]
\setupnote
[endnote]
[textcommand=\gobbleoneargument,
command=\gobbleoneargument,
n=2]
\starttext
\startlinenumbering
That’s a \Apparatus{\bf qui\crlf te \page long lemma}{That’s a variant
reading…}.\crlf
And here comes \Apparatus{another one}{the second one}.
\stoplinenumbering
\placenotes[endnote]
\stoptext
Am 19.05.11 23:23, schrieb Wolfgang Schuster:
> Am 19.05.2011 um 17:42 schrieb Daniel Schopper:
>
>> > Dear list,
>> > I’m fiddling around with a simple apparatus for critical editions with endnotes. For now this is working ok - but I’m wondering if somebody could advise me on some aspects of it (see below). Here’s a minimal example:
>> >
>> > […]
>> >
>> > Now, this is obviously a really primitive approach (I’m still learning…) which I’d like to improve in some ways:
>> >
>> > - How can I get rid of the blackrule in the apparatus?
>> > \noexpand\let\blackrule[#1]=\noexpand\relax
>> > throws an error (You can't use `macro parameter character #' in vertical mode.) while
>> > \noexpand\let\blackrule=\noexpand\relax
>> > eliminates the rule but simply prints the arguments in the square brackets. (Same holds true for every macro with arguments.)
> You can use \simplifycommands, see my example below.
>
>> > - What to do if I’d want to gobble \crlf or \par in the lemma while using them as separators after each apparatus entry? I tried to \let them to \relax, which ends in luatex getting stuck when it tries to import the .en-file.
>> >
>> > - How could I reset gobbled commands like \bf to their original meaning (I’d like to ignore \bf inside a lemma but still be able to have bold page numbers at the beginning of the apparatus entry)?
>> >
>> > I’m sure there are much more elegant ways to do this (probably in lua?), maybe someone could provide me with a hint where to start from?
> You can use contexts own note mechanism to collect the data and place them later in your document.
>
> \define[2]\Apparatus
> {\ifdefined\ApparatusCounter
> \doglobal\increment\ApparatusCounter
> \else
> \doglobal\newcounter\ApparatusCounter
> \fi
> \pagereference[apparatus:page:\ApparatusCounter]%
> \startline[apparatus:line:\ApparatusCounter]{#1}\stopline[apparatus:line:\ApparatusCounter]%
> \begingroup\simplifycommands
> \expanded{\endnote{\at[apparatus:page:\ApparatusCounter]/\noexpand\inline[apparatus:line:\ApparatusCounter]~{#1}]~{#2}}}%
> \endgroup}
>
> \appendtoks\def\blackrule[#1]{}\to\simplifiedcommands
> \appendtoks \def\crlf{}\to\simplifiedcommands
> \appendtoks \def\bf{}\to\simplifiedcommands
>
> \setuplabeltext[en][lines=,line=]
>
> \setupnote
> [endnote]
> [textcommand=\gobbleoneargument,
> command=\gobbleoneargument]
>
> \starttext
>
> \startlinenumbering
> That’s a \Apparatus{\bf lemma}{That’s a variant reading…}. \input tufte
>
> But then there’s a blackrule \Apparatus{\blackrule[width=5cm]\crlf and a linebreak}{-- which we don’t want to repeat in the apparatus.}.
> \stoplinenumbering
>
> \placenotes[endnote]
>
> \stoptext
>
> Wolfgang
>
> ___________________________________________________________________________________
> 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://tex.aanhet.net
> archive :http://foundry.supelec.fr/projects/contextrev/
> wiki :http://contextgarden.net
> ___________________________________________________________________________________
>
___________________________________________________________________________________
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://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2011-05-20 18:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-19 15:42 Daniel Schopper
2011-05-19 21:23 ` Wolfgang Schuster
2011-05-20 18:23 ` Daniel Schopper [this message]
2011-05-21 8:57 ` Wolfgang Schuster
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=4DD6B18B.2050100@aon.at \
--to=daniel.schopper@aon.at \
--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).