diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2009-08-23 11:11:32 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2009-08-23 11:11:32 +0000 |
commit | 8fc3039c82d48605b5ca8b2eda3f4fdd755681e1 (patch) | |
tree | 3cd9bbdd599bc4d1ac0409e167fee2136e4c0ec9 /Master/texmf-dist/tex/context/bib | |
parent | 850fc99b7cd3ae7a20065531fe866ff7bae642ec (diff) |
this is context 2009.08.19 17:10
git-svn-id: svn://tug.org/texlive/trunk@14827 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/bib')
-rw-r--r-- | Master/texmf-dist/tex/context/bib/bibl-ams.tex | 65 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/bib/bibl-apa-fr.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/bib/bibl-apa.tex | 188 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/bib/t-bib.mkii | 5 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/bib/t-bib.mkiv | 62 | ||||
-rw-r--r-- | Master/texmf-dist/tex/context/bib/t-bib.tex | 363 |
6 files changed, 445 insertions, 240 deletions
diff --git a/Master/texmf-dist/tex/context/bib/bibl-ams.tex b/Master/texmf-dist/tex/context/bib/bibl-ams.tex index ddfe927c39e..37bcf253fa1 100644 --- a/Master/texmf-dist/tex/context/bib/bibl-ams.tex +++ b/Master/texmf-dist/tex/context/bib/bibl-ams.tex @@ -1,6 +1,6 @@ %D \module %D [ file=bibl-ams, -%D version=2005.11.18 +%D version=2009.07.22 %D title=AMS bibliography style, %D subtitle=Publications, %D author={Taco Hoekwater, Giuseppe Bilotta}, @@ -282,30 +282,30 @@ } \setuppublicationlayout[incollection]{% - \insertartauthors{}{}{\insertthekey{}{, }{}}% -% \insertarttitle{\bgroup }{\egroup. }{}% - \inserttitle - {, in % - \bgroup\it}% - {\egroup - \inserteditors{, edited by }% - {}% - {} - \insertseries - {\insertvolume{, number }{~in }{ }}% - {}% - {}% - \insertchap{\unskip, }{ }{ }% - \insertpubyear{(% - \insertpublisher{}%{, }%{}% - }{)\insertEdition{, }{ ed. }{}}{}% - \insertpages{\unskip, p.~}{. }{\unskip. }% - }% - {In \insertcrossref{}{}{}% - \insertchap{\unskip, }{ }{ }% - \insertpages{\unskip, p.~}{. }{\unskip. }% - }% - \insertNote{ }{.}{}% + \insertartauthors{}{}{\insertthekey{}{, }{}}% + \insertarttitle{, \bgroup }{\egroup}{}% + \inserttitle + {, in % + \bgroup\it}% + {\egroup + \inserteditors{, edited by }% + {}% + {} + \insertseries + {\insertvolume{, number }{~in }{ }}% + {}% + {}% + \insertchap{\unskip, }{ }{ }% + \insertpubyear{(% + \insertpublisher{}%{, }%{}% + }{)\insertEdition{, }{ ed. }{}}{}% + \insertpages{\unskip, p.~}{. }{\unskip. }% + }% + {In \insertcrossref{}{}{}% + \insertchap{\unskip, }{ }{ }% + \insertpages{\unskip, p.~}{. }{\unskip. }% + }% + \insertNote{ }{.}{}% } \setuppublicationlayout[inproceedings]{% @@ -427,12 +427,11 @@ } \setuppublicationlayout[unpublished]{% - \insertauthors{}{}{}% - \inserttitle{\bgroup \it }{\egroup \insertseries{ (}{)}{}}{}% - \insertbibtype{ (}{)}{}% - \insertpubyear{ (unpublished,}{)}{ (unpublished)}% - \insertpages{\unskip, }{ }{}% - \insertNote{\unskip. }{.}{\unskip.}% -} - + \insertauthors{}{, }{}% + \inserttitle{\bgroup \it }{\egroup \insertseries{ (}{)}{}}{}% + \insertbibtype{ (}{)}{}% + \insertpubyear{ (unpublished, }{)}{ (unpublished)}% + \insertpages{\unskip, }{ }{}% + \insertNote{\unskip. }{.}{\unskip.}% +} \protect diff --git a/Master/texmf-dist/tex/context/bib/bibl-apa-fr.tex b/Master/texmf-dist/tex/context/bib/bibl-apa-fr.tex index d2a1efb8ae7..654a3644190 100644 --- a/Master/texmf-dist/tex/context/bib/bibl-apa-fr.tex +++ b/Master/texmf-dist/tex/context/bib/bibl-apa-fr.tex @@ -108,7 +108,7 @@ \def\insertchap#1#2#3% {\insertchapter - {#1\insertbibtype{}{\ }{chapter\ }}{#2}% + {#1\insertbibtype{}{\ }{chapitre\ }}{#2}% {#3}} \def\insertpublisher#1#2#3% diff --git a/Master/texmf-dist/tex/context/bib/bibl-apa.tex b/Master/texmf-dist/tex/context/bib/bibl-apa.tex index 8e2e9e84272..20bbccb95c8 100644 --- a/Master/texmf-dist/tex/context/bib/bibl-apa.tex +++ b/Master/texmf-dist/tex/context/bib/bibl-apa.tex @@ -1,6 +1,6 @@ %D \module %D [ file=bibl-apa, -%D version=2004.7.16, +%D version=2008.06.09, %D title=APA bibliography style, %D subtitle=Publications, %D author={Taco Hoekwater}, @@ -112,18 +112,40 @@ {#1\insertbibtype{}{\ }{chapter\ }}{#2}% {#3}} +% #1city, country: pubname#2 +% #1country: pubname#2 +% #1pubname#2 +% #1city, country#2 +% #3 + \def\insertpublisher#1#2#3% {\insertpubname - {#1}{\insertcity - {, } + {\insertcity + {#1} + {\insertcountry{, }{}{}: }% + {#1\insertcountry{}{: }{}}}% + {#2}% + {\insertcity + {#1} {\insertcountry{, }{}{#2}}% - {\insertcountry{, }{}{#2}}}% + {\insertcountry{#1}{#2}{#3}}}% + } + +\def\insertorg#1#2#3% + {\insertorganization + {\insertcity + {#1} + {\insertcountry{, }{}{#2}: }% + {\insertcountry{}{: }{#2}}}% + {}% {\insertcity - {}{\insertcountry{, }{}{#2}}% - {\insertcountry{#1}{#2}{#3}}}% + {#1} + {\insertcountry{, }{}{#2}}% + {\insertcountry{}{#2}{#3}}}% } + \setuppublicationlayout[article]{% \insertartauthors{}{ }{\insertthekey{}{ }{}}% \insertpubyear{(}{). }{\unskip.}% @@ -131,9 +153,9 @@ \insertjournal{\bgroup \it}{\egroup} {\insertcrossref{In }{}{}}% \insertvolume - {, } - {\insertissue{(}{)}{}\insertpages{:}{.}{.}} - {\insertpages{, pages }{.}{.}}% + {\bgroup \it, } + {\egroup\insertissue{\/(}{)}{}\insertpages{, }{.}{.}} + {\insertpages{, pp. }{.}{.}}% \insertnote{ }{.}{}% \insertcomment{}{.}{}% } @@ -156,7 +178,7 @@ { in~\bgroup}% {\egroup. }% {\insertcrossref{ in~}{}{. }}}% - {\insertseries{ }{.}{} }% + {\insertseries{ }{.}{.}}% \else \insertcrossref {\insertchap{, }{}{}% @@ -176,11 +198,9 @@ }% \fi}% {}% - \insertpublisher - { }% - {\insertedition{, }{ edition.}{.}}% - {\insertedition{, }{ edition.}{}}% - \insertpages{ }{p. }{}% + \insertedition{ }{ edition}{}% + \insertpublisher{ }{.}{.}% + \insertpages{ }{p. }{ }% \insertnote{}{.}{}% } @@ -191,40 +211,38 @@ }{\insertthekey{}{. }{}}}% \insertpubyear{(}{). }{\unskip.}% \inserttitle - {\bgroup\it }% - {\/\egroup - \ifeditedbook - \global\editedbookfalse - \insertvolume - { number~}% - {\insertseries - { in~\bgroup}% - {\egroup. }% - {\insertcrossref{ in~}{}{. }}}% - {\insertseries{ }{.}{} }% - \else - \insertcrossref - {\insertchap{, }{}{}% - \insertpages{, pages }{. }{. }% - \insertvolume{Volume~}{ of~}{}% - }% - {}% - {\insertvolume - {, volume~}% - {\insertseries - { of~\bgroup\it}% - {\egroup} - {}} - {}% - \insertchap{, }{}{}% - \insertpages{, pages }{. }{. }% - }% + {\bgroup\it }% + {\/\egroup + \ifeditedbook + \global\editedbookfalse + \insertvolume + { number~}% + {\insertseries + { in~\bgroup}% + {\egroup. }% + {\insertcrossref{ in~}{}{.}}}% + {\insertseries{ }{.}{}}% + \else + \insertcrossref + {\insertchap{, }{}{}% + \insertpages{, pages }{. }{. }% + \insertvolume{Volume~}{ of~}{}% + }% + {}% + {\insertvolume + {, volume~}% + {\insertseries + { of~\bgroup\it}% + {\egroup} + {}} + {}% + \insertchap{, }{}{}% + \insertpages{, pages }{.}{}% + }% \fi}% - { }% - \insertpublisher - {}% - {\insertedition{, }{ edition. }{. }}% - {\insertedition{, }{ edition. }{}}% + { }% + \insertedition{ }{ edition.}{}% + \insertpublisher{ }{.}{.}% \insertnote{ }{.}{}% } @@ -232,10 +250,8 @@ \insertauthors{}{ }{\insertthekey{}{. }{}}% \insertpubyear{(}{). }{}% \inserttitle{\bgroup }{\egroup \insertseries{ (}{)}{}. }{}% - \insertpublisher - {}% - {\insertedition{, }{ edition. }{. }}% - {\insertedition{, }{ edition. }{}}% + \insertedition{ }{ edition.}{}% + \insertpublisher{ }{.}{.}% \insertpages{}{p. }{}% \insertnote{ }{.}{}% } @@ -244,12 +260,8 @@ \insertauthors{}{ }{\insertthekey{}{. }{}}% \insertpubyear{(}{). }{}% \inserttitle{\bgroup \it }{\/\egroup \insertseries{ (}{)}{}. }{}% - \insertorganization - {}% - {\insertcity{, }% - {\insertedition{, }{ edition. }{. }}% - {\insertedition{, }{ edition. }{. }}}% - {\insertedition{, }{ edition. }{}}% + \insertedition{ }{ edition.}{}% + \insertorg{ }{.}{.}% \insertpages{}{p. }{}% \insertnote{ }{.}{}% } @@ -270,10 +282,8 @@ {}% \insertchap{\unskip, }{ }{ }% \insertpages{\unskip, pages~}{. }{\unskip. }% - \insertpublisher - {}% - {\insertedition{, }{ edition. }{. }}% - {\insertedition{, }{ edition. }{}}% + \insertedition{ }{ edition}{}% + \insertpublisher{ }{.}{.}% }% {In \insertcrossref{}{}{}% \insertchap{\unskip, }{ }{ }% @@ -297,14 +307,8 @@ {}% {}% \insertchap{\unskip, }{ }{ }% - \insertpages - {\unskip, pages~} - {\insertcity{, }{. }{. }} - {\unskip. }% - \insertorganization - {}% - {\insertpubname{, }{. }{. }}% - {\insertpubname{}{. }{}}% was {, }{. }{} + \insertpages{, pages~}{}{}% + \insertorg{. }{.}{.}% }% {In \insertcrossref{}{}{}% \insertchap{\unskip, }{ }{ }% @@ -322,19 +326,15 @@ \inserttitle {\bgroup\it}% {\egroup - \insertseries - {\insertvolume{, number }{~in }{ }}% - {}% - {}% - \insertchap{\unskip, }{ }{ }% - \insertpages{\unskip, pages~}{\insertcity{, }{. }{. }} - {\unskip\insertcity{, }{. }{. }}% - \insertorganization - {}% - {\insertpubname{, }{. }{. }}% - {\insertpubname{, }{. }{}}% - }% + \insertseries + {\insertvolume{, number }{~in }{ }}% + {}% {}% + \insertchap{\unskip, }{ }{ }% + \insertpages{, pages~}{}{}% + \insertorg{. }{.}{.}% + }% + {}% \insertnote{ }{.}{}% } @@ -343,8 +343,8 @@ \insertpubyear{(}{). }{}% \inserttitle{\bgroup }{\egroup \insertseries{ (}{)}{}. }{}% \insertbibtype{}{, }{Master's thesis, }% - \insertpublisher{}{. }{}% - \insertpages{}{p. }{}% + \insertpublisher{ }{.}{.}% + \insertpages{ }{p. }{}% \insertnote{ }{.}{}% } @@ -352,9 +352,9 @@ \insertauthors{}{ }{}% \insertpubyear{(}{). }{}% \inserttitle{\bgroup\it }{\egroup \insertseries{ (}{)}{}. }{}% - \insertbibtype{}{, }{PhD thesis, }% - \insertpublisher{}{. }{}% - \insertpages{}{p. }{}% + \insertbibtype{}{, }{PhD thesis,}% + \insertpublisher{ }{.}{.}% + \insertpages{ }{ p. }{}% \insertnote{ }{.}{}% } @@ -362,8 +362,8 @@ \insertauthors{}{ }{\insertthekey{}{. }{}}% \insertpubyear{(}{). }{}% \inserttitle{\bgroup }{\egroup \insertseries{ (}{)}. }{}% - \insertpublisher{}{. }{}% - \insertpages{}{p. }{}% + \insertpublisher{ }{.}{.}% + \insertpages{ }{p. }{}% \insertnote{ }{.}{}% } @@ -371,9 +371,9 @@ \insertauthors{}{ }{}% \insertpubyear{(}{). }{}% \inserttitle{\bgroup }{\egroup \insertseries{ (}{)}{}. }{}% - \insertbibtype{}{\insertvolume{ }{, }{, }}{Technical Report, }% - \insertpublisher{}{. }{}% - \insertpages{}{p. }{}% + \insertbibtype{}{\insertvolume{ }{, }{, }}{Technical Report}% + \insertpublisher{ }{.}{.}% + \insertpages{ }{p. }{}% \insertnote{ }{.}{}% } @@ -381,8 +381,8 @@ \insertauthors{}{ }{}% \insertpubyear{(}{). }{}% \inserttitle{\bgroup }{\egroup \insertseries{ (}{)}{}. }{}% - \insertpublisher{}{. }{}% - \insertpages{}{p. }{}% +% \insertpublisher{ }{.}{.}% + \insertpages{ }{p. }{}% \insertbibtype{(}{)}{}% \insertnote{ }{.}{}% } diff --git a/Master/texmf-dist/tex/context/bib/t-bib.mkii b/Master/texmf-dist/tex/context/bib/t-bib.mkii new file mode 100644 index 00000000000..ac34947257a --- /dev/null +++ b/Master/texmf-dist/tex/context/bib/t-bib.mkii @@ -0,0 +1,5 @@ +% some code will move here + +\unprotect + +\protect \endinput diff --git a/Master/texmf-dist/tex/context/bib/t-bib.mkiv b/Master/texmf-dist/tex/context/bib/t-bib.mkiv new file mode 100644 index 00000000000..9a01bc7cde1 --- /dev/null +++ b/Master/texmf-dist/tex/context/bib/t-bib.mkiv @@ -0,0 +1,62 @@ +%D Note by HH: +%D +%D We use a still somewhat experimental extension to the list +%D mechanism. Eventually the bibtex module will use the bibl loader +%D and access the data by means of lpath expressions. In that case we +%D don't need to process the bibliography but still need to track +%D usage as done here. + +\unprotect + +\startluacode +local list = { } + +bibtexhacks = { + reset = function() list = { } end, + add = function(str) list[#list+1] = str end, + flush = function() tex.sprint(table.concat(list,",")) end, +} +\stopluacode + +% HACK WILL GO: + +\def\namedlistparameter#1#2{\csname\dolistparameter{\??li#1}#2\endcsname} + +% TILL HERE + +\let\bibrefprefixcounter\!!plusone +\def\bibrefprefix {\bibrefprefixcounter:} +\let\preparebibrefprefix\relax +\let\preparebibreflist \gobbleoneargument +\let\bibreflist \empty + +\setuplist[pubs][\c!state=\s!start] + +\installstructurelistprocessor{pubs:userdata} + {\ctxlua{bibtexhacks.add(structure.lists.uservalue("\currentlist",\currentlistindex,"bibref"))}} + +\def\docitation#1% + {\expanded{\writedatatolist[pubs][bibref=#1]}} + +\def\filllocalpublist + {\edef\currentlist{pubs}% + \doif{\listparameter\c!criterium}{cite}{\setuplist[pubs][\c!criterium=\v!here]}% + \ctxlua{bibtexhacks.reset()}% + \placestructurelist{pubs}{\listparameter\c!criterium}{\listparameter\c!number}% + \edef\localpublist{\ctxlua{bibtexhacks.flush()}}} + +\def\gotobiblink#1[#2]{\doifreferencefoundelse{\bibrefprefix#2}{\goto{#1}[\bibrefprefix#2]}{\unknownreference{#2}}} +\def\atbiblink [#1]{\doifreferencefoundelse{\bibrefprefix#1}{\at [\bibrefprefix#1]}{\unknownreference{#1}}} +\def\inbiblink [#1]{\doifreferencefoundelse{\bibrefprefix#1}{\at [\bibrefprefix#1]}{\unknownreference{#1}}} + +\ifdefined\normaldodoplacepublications \else % just in case we load twice + + \let\normaldodoplacepublications\dodoplacepublications + + \def\dodoplacepublications + {\normaldodoplacepublications + \doglobal\increment\bibrefprefixcounter} + +\fi + +\protect \endinput diff --git a/Master/texmf-dist/tex/context/bib/t-bib.tex b/Master/texmf-dist/tex/context/bib/t-bib.tex index 67a741096f1..876bad8e2ab 100644 --- a/Master/texmf-dist/tex/context/bib/t-bib.tex +++ b/Master/texmf-dist/tex/context/bib/t-bib.tex @@ -1,6 +1,6 @@ %D \module %D [ file=t-bib, -%D version=2006.12.07, +%D version=2009.08.13, %D title=\CONTEXT\ Publication Module, %D subtitle=Publications, %D author=Taco Hoekwater, @@ -34,7 +34,7 @@ %D \item added headtext for it (23/11/2005) %D \item make \type{\cite[url]} and \type{\cite[doi]} interactive (23/11/2005) %D \item make right-aligned labels in the list work even when autohang=no -%D \item use 'et al.' instead of 'et.al.'. Pointed out by Peter Münster (30/12/2005) +%D \item use 'et al.' instead of 'et.al.'. Pointed out by Peter M�nster (30/12/2005) %D \item added headtext for cz (31/12/2005) %D \item Keep whitespace after \type{\cite} with single argument (31/12/2005) %D \item Fix broken \type{\cite{}} support (31/12/2005) @@ -62,7 +62,7 @@ %D \item fix a bug in \type{\cite{<item>}} (17/5/2006) %D \item support \type{\cite[authornum]} (18/5/2006) %D \item make \type{\cite} unexpandable (20/6/2006) -%D \item allow hyperlinks in author\&year combo's +%D \item allow hyperlinks in author\&year combo's %D (cite list compression has to be off) (20/6/2006) %D \item fix duplicate labels for per-chapter style (20/6/2006) %D \item allow \type{\setupcite[interaction=(start|stop)]} @@ -70,7 +70,7 @@ %D \item make the default criterium for \type{\placepublications} be \type{previous} (23/6/2006) %D \item fix \type{\normalauthor} and \type{\normalshortauthor} spacing (29/6/2006) %D \item do not typeset empty arguments to \type{\typesetapublication} (29/6/2006) -%D \item add \type{symbol=none} to \type{\setuplist} in unnumbered +%D \item add \type{symbol=none} to \type{\setuplist} in unnumbered %D mode to prevent typesetting of bare numbers (29/6/2006) %D \item remove two incorrect spaces from bibl-num.tex (1/7/2006) %D \item reset font styles within \type{\cite}, so that font switches @@ -80,7 +80,7 @@ %D \item test \type{\iflocation} before deciding to use the %D interactive version of cite (18/7/2006) %D \item support \type{\setupcite[authoretallimit=1]} (18/7/2006) -%D \item support use of \type{\cite} within titles and captions by +%D \item support use of \type{\cite} within titles and captions by %D saveguarding the list item extraction and reference placement %D code (19/7/2006) %D \item support \type{\setuppublicationlist[title=\chapter]} (4/8/2006) @@ -88,15 +88,15 @@ %D \item hook added for repeated authors in publication list %D \type{\setuppublicationlist[artauthorcommand=\mythreeargscommand]} %D (4/8/2006) -%D \item make the bracketed arguments of \type{\artauthor}, \type{\author} +%D \item make the bracketed arguments of \type{\artauthor}, \type{\author} %D and \type{\editor} (bbl commands) optional (4/8/2006) %D \item the constants \type{sorttype}, \type{compress} and %D \type{autohang} have moved to the core (8/8/2006) %D \item bibtex is now registered as a program to be run by texexec (8/8/2006) %D \item fix a bug in \type{\setupcite[authoretallimit=1]} (9/8/2006) -%D \item fix a bug inside citations that prevented lastpubsep from ever being +%D \item fix a bug inside citations that prevented lastpubsep from ever being %D used due to a volatile \type{\commalistsize} (25/8/2006). -%D \item added the possibility of \type{\placepublications[option=continue]} +%D \item added the possibility of \type{\placepublications[option=continue]} %D (6/9/2006) %D \item Mojca translated Master's Thesis to Masterarbeit (bibl-apa-de.tex) %D (12/9/2006) @@ -104,9 +104,40 @@ %D Thomas Schmitz (15/9/2006) %D \item Removed some spurious spaces pointed out by willi egger (19/9/2006) %D \item Add configuration of bibtex executable name (4/11/2006) -%D \item Fix numbering=short and numbering=bib (spotted by Matthias Wächter) (4/11/2006) +%D \item Fix numbering=short and numbering=bib (spotted by Matthias W�chter) (4/11/2006) %D \item third attempt to get a correct release (5/11/2006) %D \item fix a few missing dots in bibl-num.tex (7/12/2006) +%D \item Patch for DOI's by Tobias Burnus (17/4/2007) +%D \item Patch for \type{\insertbiburl} and \type{\insertdoi} for Tobias Burnus (18/4/2007) +%D \item Added a missing \type{\relax} in \type{\dospecialbibinsert}, +%D that made the space before the {\it et al.} text disappear. (18/4/2007) +%D \item Attempt to fix percent signs in bbl files. As a side-effect, +%D this prohibits comments in \tex{startpublication} blocks! (17/4/2008) +%D \item Patch from Matthias W\"achter that allows arbitrary .bst +%D files to be used with \tex{setupbibtex} (25/9/2008) +%D \item Extended for the new multilingual setups for the Oct 2008 current of ConTeXt (23/10/2008) +%D \item Multilingual setups needed another fix (27/10/2008) +%D \item Two fixes for bibl-apa by Michael Green (27/10/2008) +%D \item Catalan translation of 'References' (10/11/2008) +%D \item 'chapter' -> 'chapitre' in bibl-apa-fr (27/11/2008) +%D \item Run bibtex via os.execute in mkiv modee (01/12/2008) +%D \item Small correction in bibl-apa's placement of volume +%D information in articles (05/01/2009) +%D \item Handle multi-author (more than two) cases in \type{\cite} +%D (02/03/2009) +%D \item Suppress a syntax error in \type{cont-xp} mode. The output is +%D probably not right, though (02/03/2009) +%D \item Added a \tex{loadmarkfile} at the end, and two new files +%D from Hans. The \type{t-bib.mkiv} is needed to make the module +%D work with the new structure code (17/04/2009) +%D \item Added a patch to \type{t-bib.mkiv} from Hans to make the +%D cross referencing between multiple citations an +%D bibliographies work (27/04/2009) +%D \item Remove a superfluous \type{\unprotect} in t-bib.mkiv (11/05/2009). +%D \item Patch of incollection in bibl-ams.tex from Xan (08/06/2009). +%D \item Patch of unpublished in bibl-ams.tex from Xan (22/07/2009). +%D \item Modified \type{\bibdogetupsometextprefix} so it works for undefined +%D language labels, from Hans (13/08/2009). %D \stopitemize %D %D \subject{WISHLIST} @@ -120,6 +151,23 @@ \unprotect +%D start with a temp hack the file will still work with pre-Oct 2008 +%D versions of ConTeXt: + + +\def\startinterface #1 + {\doifnot{#1}{all}{\doifnotinset\currentinterface{#1}{\gobbleuntil\stopinterface}}} + +\let\checksetvalue\gobbletwoarguments + + +%\defineinterfacevariable {title} {title} +%\defineinterfacevariable {short} {short} +%\defineinterfacevariable {cite} {cite} +%\defineinterfacevariable {bbl} {bbl} +%\defineinterfacevariable {bib} {bib} +%\defineinterfacevariable {author} {author} + %D A few new shortcuts: \definesystemvariable {pv} % PublicationVariable @@ -142,67 +190,97 @@ %D Some constants for the multi-lingual interface -\startconstants dutch english - - database: database database - artauthor: artauthor artauthor - editor: editor editor - authoretallimit: authoretallimit authoretallimit - artauthoretallimit: artauthoretallimit artauthoretallimit - editoretallimit: editoretallimit editoretallimit - authoretaldisplay: authoretaldisplay authoretaldisplay - artauthoretaldisplay: artauthoretaldisplay artauthoretaldisplay - editoretaldisplay: editoretaldisplay editoretaldisplay - authoretaltext: authoretaltext authoretaltext - artauthoretaltext: artauthoretaltext artauthoretaltext - editoretaltext: editoretaltext editoretaltext - otherstext: otherstext otherstext - andtext: andtext andtext - totalnumber: totalnumber totalnumber - firstnamesep: firstnamesep firstnamesep - vonsep: vonsep vonsep - juniorsep: juniorsep juniorsep - surnamesep: surnamesep surnamesep - lastnamesep: lastnamesep lastnamesep - finalnamesep: finalnamesep finalnamesep - namesep: namesep namesep - pubsep: pubsep pubsep - lastpubsep: lastpubsep lastpubsep - refcommand: refcommand refcommand - samplesize: samplesize samplesize - -\stopconstants - -\startvariables dutch english - german czech - italian romanian - french - title: titel title - titel titul - titolo titlu - titre - short: kort short - kurz short - short short - short - cite: cite cite - cite cite - cite cite - cite - bbl: bbl bbl - bbl bbl - bbl bbl - bbl - bib: bib bib - bib bib - bib bib - bib - author: auteur author - autor autor - autore autor - auteur - -\stopvariables +\startinterface all + \setinterfaceconstant {database} {database} + \setinterfaceconstant {artauthor} {artauthor} + \setinterfaceconstant {editor} {editor} + \setinterfaceconstant {authoretallimit} {authoretallimit} + \setinterfaceconstant {artauthoretallimit} {artauthoretallimit} + \setinterfaceconstant {editoretallimit} {editoretallimit} + \setinterfaceconstant {authoretaldisplay} {authoretaldisplay} + \setinterfaceconstant {artauthoretaldisplay} {artauthoretaldisplay} + \setinterfaceconstant {editoretaldisplay} {editoretaldisplay} + \setinterfaceconstant {authoretaltext} {authoretaltext} + \setinterfaceconstant {artauthoretaltext} {artauthoretaltext} + \setinterfaceconstant {editoretaltext} {editoretaltext} + \setinterfaceconstant {otherstext} {otherstext} + \setinterfaceconstant {andtext} {andtext} + \setinterfaceconstant {totalnumber} {totalnumber} + \setinterfaceconstant {firstnamesep} {firstnamesep} + \setinterfaceconstant {vonsep} {vonsep} + \setinterfaceconstant {juniorsep} {juniorsep} + \setinterfaceconstant {surnamesep} {surnamesep} + \setinterfaceconstant {lastnamesep} {lastnamesep} + \setinterfaceconstant {finalnamesep} {finalnamesep} + \setinterfaceconstant {namesep} {namesep} + \setinterfaceconstant {pubsep} {pubsep} + \setinterfaceconstant {lastpubsep} {lastpubsep} + \setinterfaceconstant {refcommand} {refcommand} + \setinterfaceconstant {samplesize} {samplesize} +\stopinterface + +\startinterface dutch + \setinterfacevariable {title} {titel} + \setinterfacevariable {short} {kort} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {auteur} +\stopinterface + +\startinterface english + \setinterfacevariable {title} {title} + \setinterfacevariable {short} {short} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {author} +\stopinterface + +\startinterface german + \setinterfacevariable {title} {titel} + \setinterfacevariable {short} {kurz} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {autor} +\stopinterface + +\startinterface czech + \setinterfacevariable {title} {titul} + \setinterfacevariable {short} {short} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {autor} +\stopinterface + +\startinterface italian + \setinterfacevariable {title} {titolo} + \setinterfacevariable {short} {short} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {autore} +\stopinterface + +\startinterface romanian + \setinterfacevariable {title} {titlu} + \setinterfacevariable {short} {short} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {autor} +\stopinterface + +\startinterface french + \setinterfacevariable {title} {titre} + \setinterfacevariable {short} {short} + \setinterfacevariable {cite} {cite} + \setinterfacevariable {bbl} {bbl} + \setinterfacevariable {bib} {bib} + \setinterfacevariable {author} {auteur} +\stopinterface \def\biblistname{pubs} % for compatibility @@ -211,7 +289,6 @@ \let\preloadbiblist\relax - \ifx\currentcomponent\v!text % single file \edef\temp{\the\everystarttext}% @@ -254,6 +331,7 @@ \setupheadtext[it][pubs=Bibliografia] \setupheadtext[sl][pubs=Literatura] \setupheadtext[fr][pubs=Bibliographie] +\setupheadtext[ca][pubs=Referències] %D \macros{bibdoif,bibdoifnot,bibdoifelse} %D @@ -294,15 +372,14 @@ \def\dosetupbibtex[#1]% {\let\@@pbdatabase\empty - \let\@@pbsort \empty - \getparameters[\??pb][#1]% + \getparameters[\??pb][sort=\s!default,#1]% \expanded{\processaction[\@@pbsort]} [ \v!no=>\def\bibstyle{cont-no}, \v!author=>\def\bibstyle{cont-au}, \v!title=>\def\bibstyle{cont-ti}, \v!short=>\def\bibstyle{cont-ab}, \s!default=>\def\bibstyle{cont-no}, - \s!unknown=>\def\bibstyle{cont-no}]% + \s!unknown=>\def\bibstyle{\@@pbsort}]% \ifx\@@pbdatabase\empty\else \writeauxfile \fi} \dosetupbibtex[bibtex=bibtex] @@ -335,7 +412,9 @@ \write \scratchwrite {\string\bibdata{\@@pbdatabase}}% \closeout\scratchwrite \showmessage\m!bib{3}{}% - \expanded{\installprogram{\@@pbbibtex\space\jobname}}}} + \doifmodeelse{*mkiv} + {\ctxlua{os.execute('\@@pbbibtex\space\jobname')}} + {\expanded{\installprogram{\@@pbbibtex\space\jobname}}}}} %D \macros{ifsortbycite,iftypesetall,ifautohang,ifbibcitecompress} %D @@ -497,10 +576,15 @@ \processcommacommand[\bibcommandlist]\simplebibdef +\def\insertdoi#1#2#3% + {{\bibdoifelse{\@@pb@doi}% + {\edef\ascii{\@EA\detokenize\@EA{\@@pb@doi}}% + #1\expanded{\gotoDOI{\@@pb@thekey}{\ascii}}#2}{#3}}} + \def\insertbiburl#1#2#3% {{\bibdoifelse{\@@pb@biburl}% {\edef\ascii{\@EA\detokenize\@EA{\@@pb@biburl}}% - #1\@EA\hyphenatedurl\@EA{\ascii}#2}{#3}}} + #1\expanded{\gotoURL{\@@pb@thekey}{\ascii}}#2}{#3}}} \def\insertmonth#1#2#3% {\bibdoifelse{\@@pb@month}% @@ -567,11 +651,11 @@ \def\dododocomplexbibdef[#1]#2#3% {\@EA\increment\csname \currentype @num\endcsname \setevalue{\??pb @\currentype\csname \currentype @num\endcsname}% - {{\secondarg}{#2}{#3}{#1}{\firstarg}}\ignorespaces}% + {{\secondarg}{#2}{#3}{#1}{\firstarg}}\ignorespaces}% \def\complexbibdef#1% {\@EA\newcounter\csname #1@num\endcsname - \@EA\def\csname bib@#1\endcsname{\docomplexbibdef{#1}}% + \@EA\def\csname bib@#1\endcsname{\docomplexbibdef{#1}}% \@EA\def\csname insert#1s\endcsname##1##2##3% {\specialbibinsert{#1}{\csname #1@num\endcsname}{##1}{\unskip ##2}{##3}}} @@ -641,13 +725,13 @@ \ifnum \numexpr\scratchcounter-1\relax<#2\relax \getvalue{\??pv data#1}##1% \ifnum \scratchcounter=#2\relax - \ifnum\etallimitcounter<\commalistsize \bibalternative{#1etaltext}\fi + \ifnum\etallimitcounter<\commalistsize\relax \bibalternative{#1etaltext}\fi \else \ifnum\numexpr\scratchcounter+1 = #2\relax \ifnum \commalistsize > \plustwo \bibalternative\c!finalnamesep \else \bibalternative\c!lastnamesep \fi \else \bibalternative\c!namesep - \fi \fi + \fi \fi \fi}% \processcommacommand[#3]\processauthoritem } @@ -726,9 +810,16 @@ %D to \type{\startpublication}. Of course, then there %D is no key either, and it had better be an %D article (otherwise the layout will be all screwed up). +%D +%D Now prohibits comments, so % can be used for urls + +\def\startpublication + {\edef\bibmodsavedpercent{\the\catcode`\%}% + \catcode`\%=12 + \dosingleempty\dostartpublication} -\def\startpublication{\dosingleempty\dostartpublication} -\def\stoppublication {} +\def\stoppublication + {} % the \catcode of % is reset below %D Only specifying the key in the argument is also %D legal. In storing this stuff into macros, some trickery with @@ -760,7 +851,8 @@ \setxvalue{pbdu-\@@pbk}{\@@pbu} \setxvalue{pbdd-\@@pbk}{\the\toks0} \xdef\allrefs{\allrefs,\@@pbk}% - \egroup } + \egroup + \catcode`\%=\bibmodsavedpercent\relax } % intialization of the order-list: @@ -857,9 +949,11 @@ \fi \def\filllocalpublist% - {\let\dosetfilterlevel\patcheddosetfilterlevel - \dosettoclevel\??li{pubs}% - \let\dosetfilterlevel\normaldosetfilterlevel + {\doifdefinedelse{\alltoclevels} + {\let\dosetfilterlevel\patcheddosetfilterlevel + \dosettoclevel\??li{pubs}% + \let\dosetfilterlevel\normaldosetfilterlevel }% + {\dosettoclevel\??li{pubs}}% \global\let\glocalpublist\empty \doloop {\doifdefinedelse @@ -873,9 +967,9 @@ {\exitloop}}% \let\localpublist\glocalpublist} -% +% \def\typesetpubslist - {\dobeginoflist + {\dobeginoflist \edef\askedlevel{\csname \??li pubs\c!criterium\endcsname}% \ifx\askedlevel\v!all \def\bibrefprefix{}% @@ -883,7 +977,7 @@ \preparebibrefprefix \fi \ifsortbycite - \filllocalpublist + \filllocalpublist \iftypesetall \let\localallrefs\allrefs \processcommacommand[\localpublist]\typesetapublication @@ -898,11 +992,11 @@ \iftypesetall \processcommacommand[\allrefs]\typesetapublication \else - % + % \filllocalpublist \processcommacommand[\allrefs]\maybetypesetapublication \fi - \fi + \fi \doendoflist } \newif\ifinpublist @@ -978,14 +1072,34 @@ \def\completepublications {\dosingleempty\docompletepublications} +\def\bibdogetupsometextprefix#1#2#3% + {\ifcsname#2#1#3\endcsname + \csname#2#1#3\endcsname + \else\ifcsname\??la#1\c!default\endcsname + \@EA\ifx\csname\??la#1\c!default\endcsname\empty + \ifcsname#2#3\endcsname + \csname#2#3\endcsname + \else\ifcsname#2\s!en#3\endcsname + \csname#2\s!en#3\endcsname + \fi\fi + \else + \expandafter\bibdogetupsometextprefix + \csname\??la#1\c!default\endcsname{#2}{#3}% + \fi + \else + \ifcsname#2#3\endcsname + \csname#2#3\endcsname + \else\ifcsname#2\s!en#3\endcsname + \csname#2\s!en#3\endcsname + \fi\fi + \fi\fi} + \def\docompletepublications[#1]% - {%\getparameters[\??pv data][#1]% - \begingroup - \setuplist[pubs][\c!criterium=\v!previous,#1] + {\begingroup + \setuplist[pubs][\c!criterium=\v!previous,#1] \begingroup - \loggingall \let\handletextprefix\firstoftwoarguments - \edef\headtextpubs{\dogetupsometextprefix\headlanguage\c!title{pubs}}% + \edef\headtextpubs{\bibdogetupsometextprefix\headlanguage\c!title{pubs}}% \doifdefinedelse {\??pv data\v!title} {\doifemptyelsevalue @@ -1016,7 +1130,7 @@ {\global\let\bibcounter\!!zerocount }% \inpublisttrue \typesetpubslist - \inpublistfalse + \inpublistfalse \endgroup } @@ -1024,8 +1138,8 @@ %D \unexpanded\def\typesetapublication#1% - {\doifsomething{#1}{\doglobal\increment\bibcounter - \bgroup + {\doifsomething{#1}{\doglobal\increment\bibcounter + \bgroup \makepbkvalue{#1}% \ifgridsnapping \snaptogrid\vbox{\dodolistelement{pubs}{}{\bibcounter}% @@ -1098,7 +1212,7 @@ {\begingroup \setupinteraction[\c!style=]% \edef\temp{#2}% - \ifx\empty\temp \secondargumentfalse + \ifx\empty\temp \secondargumentfalse \else \secondargumenttrue \fi \ifsecondargument \processcommalist[#2]\docitation @@ -1188,7 +1302,7 @@ \newcounter\citationnumber \def\docitation#1{% - \iftrialtypesetting \else + \iftrialtypesetting \else \ifdoinpututilities\else \doglobal\increment\citationnumber \expanded{\rawreference{}{cite-\jobname-\citationnumber}{#1}}% @@ -1304,11 +1418,32 @@ \or \expanded{\docurrentbibauthor#1}% \else - % this can't happen/ - \def\currentbibauthor{}% + \handlemultiplebibauthors{\commalistsize}{#1}% \fi } +\newcount\citescratchcounter + +\def\handlemultiplebibauthors#1#2% + {\citescratchcounter 0 + \def\currentbibauthor{}% + \def\bibprocessauthoritem##1% + {\advance\citescratchcounter1 + \ifnum \citescratchcounter=#1\relax + \edef\currentbibauthor{\currentbibauthor##1}% + \else \ifnum\numexpr\citescratchcounter+1 = #1\relax + \edef\currentbibauthor{\currentbibauthor ##1\bibalternative{andtext}}% + \else + \edef\currentbibauthor{\currentbibauthor ##1\bibalternative{namesep}}% + \fi + \fi }% + \processcommalist[#2]\bibprocessauthoritem } + + +\setupcite + [author,authoryear,authoryears] + [\c!namesep={, }] + %D This discovery of authoretallimit is not the best one, %D but it will do for now. @@ -1431,7 +1566,7 @@ %D \macros{preparebibrefprefix} %D %D The reference list only writes bare references when the criterium -%D is `all'. Otherwise, a prefix is added to make sure that pdfTeX +%D is `all'. Otherwise, a prefix is added to make sure that pdfTeX %D does not encounter duplicate named references. On the generation %D side, this is not a big problem. \type{\preparebibrefprefix} %D creates a suitable string to prepend if a prefix is needed. @@ -1454,9 +1589,9 @@ %D \macros{preparebibreflist} %D -%D But this optional prefixing is a bit of a problem on the +%D But this optional prefixing is a bit of a problem on the %D other side. We would like to do \type{\goto{}[article-full]} -%D but can't do it like that, because the actual label may be +%D but can't do it like that, because the actual label may be %D \type{1:2:0:3:4:article-full]} or so. The problem is solved %D by building a commalist that looks like this: %D \starttyping @@ -1472,7 +1607,7 @@ \def\preparebibreflist#1% {\let\bibreflist\empty \def\storeitem##1% - {\ifx\bibreflist\empty + {\ifx\bibreflist\empty \edef\prefix{##1\sectionseparator}% \edef\bibreflist{\prefix#1,#1}% \else @@ -1480,7 +1615,7 @@ \edef\bibreflist{\prefix#1,\bibreflist}% \fi}% \expanded{\processseparatedlist[\bibrefprefix][\sectionseparator]}\storeitem } - + %D \macros{gotobiblink,inbiblink,atbiblink} %D %D The final task is looping over that list until a match is found. @@ -1570,7 +1705,7 @@ {\bibalternative\v!left \ixbibauthoryear{#1} {\bibmaybeinteractive{#1}{{\currentbibauthor}\bibalternative\c!inbetween{\currentbibyear}}} - {\bibalternative\c!pubsep + {\bibalternative\c!pubsep \bibmaybeinteractive{#1}{{\currentbibauthor}\bibalternative\c!inbetween{\currentbibyear}}} {\bibalternative\c!lastpubsep \bibmaybeinteractive{#1}{{\currentbibauthor}\bibalternative\c!inbetween{\currentbibyear}}}% @@ -1636,7 +1771,9 @@ \def\gotoDOI#1#2% {\ifbibinteractionelse - {\useURL[bibfoo#1][http://dx.doi.org/#2]\goto{\url[bibfoo#1]}[url(bibfoo#1)]} + {\useURL[bibfooDoi#1][#2]% + \useURL[bibfoo#1][http://dx.doi.org/#2]% + \goto{\url[bibfooDoi#1]}[url(bibfoo#1)]} {\hyphenatedurl{#2}}} \def\bibdoiref[#1]% @@ -1716,7 +1853,7 @@ {\ifbibreffound\else \doifreferencefoundelse {##1} - {\global\bibreffoundtrue + {\global\bibreffoundtrue \@EA\doglobal\@EA\addtocommalist\@EA{\reftypet}\therefs }% {}\fi}% \processcommacommand[\bibreflist]\setuplink @@ -1785,6 +1922,8 @@ \setuppublications [\v!month\v!conversion=,\c!alternative=apa] +\loadmarkfile{t-bib} + \preloadbiblist -\protect \endinput
\ No newline at end of file +\protect \endinput |