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
___________________________________________________________________________________