diff options
author | Hans Hagen <pragma@wxs.nl> | 2014-01-20 14:44:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2014-01-20 14:44:00 +0100 |
commit | b0dbe6ed836d3c40b2d618514c6a95700e8a652b (patch) | |
tree | 5fb3b0dfb8fcde6b0111dff9b898a2613d3c6113 | |
parent | 78952910b0927448082f6d73c76195d945de57aa (diff) | |
download | context-b0dbe6ed836d3c40b2d618514c6a95700e8a652b.tar.gz |
beta 2014.01.20 14:44
24 files changed, 53 insertions, 3 deletions
diff --git a/doc/context/manuals/allkind/mkiv-publications.tex b/doc/context/manuals/allkind/mkiv-publications.tex index f666bd388..9e2969277 100644 --- a/doc/context/manuals/allkind/mkiv-publications.tex +++ b/doc/context/manuals/allkind/mkiv-publications.tex @@ -1209,6 +1209,37 @@ suffix, you can do this: \stopchapter +\startchapter[title=Notes] + +The move from external \BIBTEX\ processing to internal processing has the advantage that +we stay within the same run. In the traditional approach we had roughly the following +steps: + +\startitemize[packed] +\startitem the first run information is collected and written to file \stopitem +\startitem after that run the \BIBTEX\ program converts that file to another one \stopitem +\startitem successive runs use that data for references and producing lists \stopitem +\stopitemize + +In the \MKIV\ approach the bibliographic database is loaded in memory each run and +processing also happens each run. On paper this looks less efficient but as \LUA\ is +quite fast, in practice performance is much better. + +Probably most demanding is the treatment of authors as we have to analyze names, +split multiple authors and reassemble firstnames, vons, surnames and juniors. +When we sort by author sorting vectors have to be made which also has a penalty. +However, in practice the user will not notice a performance degradation. We did +some tests with a list of 500.000 authors, sorted them and typeset them as list +(producing some 5400 dense pages in a small font and with small margins). This is +typical one of these cases where using \LUAJITTEX\ saves quite time. On my +machine it took just over 100 seconds to get this done. Unfortunately not all +operating systems performed equally well: 32 bit versions worked fine, but 64 bit +\LINUX\ either crashed (stalled) the machine or ran out of memory rather fast, +while \OSX\ and \WINDOWS\ performed fine. In practice you will never run into this, +unless you produce massive amounts of bibliographic entries. + +\stopchapter + \stopbodymatter \stoptext diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index d96e455f1..2476d4af1 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2014.01.20 13:45} +\newcontextversion{2014.01.20 14:44} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex e05a5c5c3..11877c24a 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index a9b995838..3ba9c3230 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2014.01.20 13:45} +\edef\contextversion{2014.01.20 14:44} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii index 32e26a500..0c4dae5b6 100644 --- a/tex/context/base/mult-de.mkii +++ b/tex/context/base/mult-de.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{suffix} \setinterfaceconstant{suffixseparator}{suffixseparator} \setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua index de93da19e..65db8fd5e 100644 --- a/tex/context/base/mult-def.lua +++ b/tex/context/base/mult-def.lua @@ -6613,6 +6613,9 @@ return { ["firstnamesep"]={ ["en"]="firstnamesep", }, + ["surnamefirstnamesep"]={ + ["en"]="surnamefirstnamesep", + }, ["vonsep"]={ ["en"]="vonsep", }, diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii index 9c3bc668e..00861c3be 100644 --- a/tex/context/base/mult-en.mkii +++ b/tex/context/base/mult-en.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{suffix} \setinterfaceconstant{suffixseparator}{suffixseparator} \setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii index 5fe814c0d..9afe371c2 100644 --- a/tex/context/base/mult-fr.mkii +++ b/tex/context/base/mult-fr.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{suffix} \setinterfaceconstant{suffixseparator}{suffixseparator} \setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii index 2b1927221..802cb840c 100644 --- a/tex/context/base/mult-it.mkii +++ b/tex/context/base/mult-it.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{suffix} \setinterfaceconstant{suffixseparator}{suffixseparator} \setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii index a351612e6..a1f9742f1 100644 --- a/tex/context/base/mult-nl.mkii +++ b/tex/context/base/mult-nl.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{suffix} \setinterfaceconstant{suffixseparator}{suffixscheider} \setinterfaceconstant{suffixstopper}{suffixafsluiter} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii index f4a8a7b9f..999b16cf5 100644 --- a/tex/context/base/mult-pe.mkii +++ b/tex/context/base/mult-pe.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{پسوند} \setinterfaceconstant{suffixseparator}{suffixseparator} \setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii index e0625c39a..f577eabda 100644 --- a/tex/context/base/mult-ro.mkii +++ b/tex/context/base/mult-ro.mkii @@ -1045,6 +1045,7 @@ \setinterfaceconstant{suffix}{suffix} \setinterfaceconstant{suffixseparator}{suffixseparator} \setinterfaceconstant{suffixstopper}{suffixstopper} +\setinterfaceconstant{surnamefirstnamesep}{surnamefirstnamesep} \setinterfaceconstant{surnameinitialsep}{surnameinitialsep} \setinterfaceconstant{surnamesep}{surnamesep} \setinterfaceconstant{sx}{sx} diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv index 12e68ecf0..bf249991a 100644 --- a/tex/context/base/publ-ini.mkiv +++ b/tex/context/base/publ-ini.mkiv @@ -839,6 +839,7 @@ \c!vonsep={ }, \c!surnamesep={, }, \c!surnameinitialsep={, }, + \c!surnamefirstnamesep={, }, \c!etallimit=5, \c!etaldisplay=5, \c!etaltext={ et al.}, diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex f8a282660..6f85c7114 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf Binary files differindex 003c5becd..19310e11b 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml index f35063c31..0a0b9b9a6 100644 --- a/tex/context/interface/keys-cs.xml +++ b/tex/context/interface/keys-cs.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index 2fa7495c9..28b21b915 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 5d94ccc37..da433cdee 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml index fbbbeacc8..6a8eaa9c5 100644 --- a/tex/context/interface/keys-fr.xml +++ b/tex/context/interface/keys-fr.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index aaf510121..c7c996318 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 1727127c7..21536214a 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixscheider'/> <cd:constant name='suffixstopper' value='suffixafsluiter'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml index eab326d05..8e4d412d5 100644 --- a/tex/context/interface/keys-pe.xml +++ b/tex/context/interface/keys-pe.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='پسوند'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index b36648994..f9ef01b9f 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -1051,6 +1051,7 @@ <cd:constant name='suffix' value='suffix'/> <cd:constant name='suffixseparator' value='suffixseparator'/> <cd:constant name='suffixstopper' value='suffixstopper'/> + <cd:constant name='surnamefirstnamesep' value='surnamefirstnamesep'/> <cd:constant name='surnameinitialsep' value='surnameinitialsep'/> <cd:constant name='surnamesep' value='surnamesep'/> <cd:constant name='sx' value='sx'/> diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 82c549ad2..8afec4770 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 01/20/14 13:45:11 +-- merge date : 01/20/14 14:44:35 do -- begin closure to overcome local limits and interference |