On 2/23/2017 10:41 PM, Alan Bowen wrote:
In my larger document (approx 600 pages, over 1000 references) problematic entries like \cite[{{A, B, and C}}] did not display at all, though the document did process without claims of stack errors etc. Curiously, \goto{A, B, and C}[{{A, B, and C}}] does work as expected.
i'll upload a beta that support this: \setupinteraction[state=start] \starttext \startchapter[reference={{A, B, and C}},title={Foo}] \in{IN}[name{A, B, and C}] \in{IN}[name(A, B, and C)] \stopchapter you need to be aware of the fact that references have some kind of syntax and are parsed (so that we only need one system for every kind of referencing); most make only sense for \goto but parsing happens anyway for \in and \at so i hooked name() into it, similar to [page(123)] we can have [name(abc)] now Hans
Alan
On Thu, Feb 23, 2017 at 4:12 PM, Alan Bowen
mailto:bowenalan03@gmail.com> wrote: Thanks, Hans! That does work nicely.
On Thu, Feb 23, 2017 at 3:42 PM, Hans Hagen
mailto:pragma@wxs.nl> wrote: On 2/22/2017 6:21 PM, Alan Bowen wrote:
Here is the file that I have been working with:
\installlanguage[packed][en] \setuplanguage[packed][spacing=packed] \startsetups[tightspace] \spaceskip 0.5\interwordspace plus .5\interwordstretch minus \interwordshrink \stopsetups
\def\dostartbibitem[#1]{\startBibItem[title={#1},reference={#1}]} \def\startbibitem{\dosingleempty\dostartbibitem} \def\stopbibitem{\stopBibItem}
\definedescription[BibItem][ width=broad, margin=1.5pc, indenting={no}, indentnext=no, alternative=hanging, hang=1, headcommand=\gobbleoneargument, align=right, before={\directsetup{tightspace}\bgroup\language[packed]}, after={\egroup}, ]
\definereferenceformat [cite] [type=title,left={},right={}] \definereferenceformat [bibpage] [type=page]
\starttext
\startbibitem[A, B, and C]\stopbibitem % TEST by commenting these %\startbibitem[A{,} B{,} and C]\stopbibitem% lines out
\startbibitem[ABC]\stopbibitem \startbibitem[A]\stopbibitem \startbibitem[B]\stopbibitem \startbibitem[C]\stopbibitem
* \cite[A, B, and C] \qquad{\red output should be: A{,} B{,} and C}
**\cite[ABC] \qquad{\red output should be: ABC}
***\cite[A], \cite[B], \cite[C] \qquad{\red output should be: A, B, C}
****\cite[A]\cite[B]\cite[C] \qquad{\red output should be: ABC}
\stoptext
references can be a comma separated list, so
A, B, and C
is actually three tags: "A" "B" "and C"
so, you run into parsing problems, so how to deal with:
[A, B, and C]
maybe:
[{A, B, and C}]
alas, in comma separated list the first level of {} is removed but we can cheat:
[{{A, B, and C}}]
works with \cite [{{A, B, and C}}]
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl http://www.pragma-ade.nl | www.pragma-pod.nl http://www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl mailto:ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context 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/ https://bitbucket.org/phg/context-mirror/commits/ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------