summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2014-01-20 14:44:00 +0100
committerHans Hagen <pragma@wxs.nl>2014-01-20 14:44:00 +0100
commitb0dbe6ed836d3c40b2d618514c6a95700e8a652b (patch)
tree5fb3b0dfb8fcde6b0111dff9b898a2613d3c6113
parent78952910b0927448082f6d73c76195d945de57aa (diff)
downloadcontext-b0dbe6ed836d3c40b2d618514c6a95700e8a652b.tar.gz
beta 2014.01.20 14:44
-rw-r--r--doc/context/manuals/allkind/mkiv-publications.tex31
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4085 -> 4087 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/mult-de.mkii1
-rw-r--r--tex/context/base/mult-def.lua3
-rw-r--r--tex/context/base/mult-en.mkii1
-rw-r--r--tex/context/base/mult-fr.mkii1
-rw-r--r--tex/context/base/mult-it.mkii1
-rw-r--r--tex/context/base/mult-nl.mkii1
-rw-r--r--tex/context/base/mult-pe.mkii1
-rw-r--r--tex/context/base/mult-ro.mkii1
-rw-r--r--tex/context/base/publ-ini.mkiv1
-rw-r--r--tex/context/base/status-files.pdfbin24757 -> 24773 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin229264 -> 229066 bytes
-rw-r--r--tex/context/interface/keys-cs.xml1
-rw-r--r--tex/context/interface/keys-de.xml1
-rw-r--r--tex/context/interface/keys-en.xml1
-rw-r--r--tex/context/interface/keys-fr.xml1
-rw-r--r--tex/context/interface/keys-it.xml1
-rw-r--r--tex/context/interface/keys-nl.xml1
-rw-r--r--tex/context/interface/keys-pe.xml1
-rw-r--r--tex/context/interface/keys-ro.xml1
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
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
index e05a5c5c3..11877c24a 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
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
index f8a282660..6f85c7114 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 003c5becd..19310e11b 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
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