summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4088 -> 4113 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/math-fbk.lua10
-rw-r--r--tex/context/base/publ-ini.mkiv131
-rw-r--r--tex/context/base/publ-tra.lua18
-rw-r--r--tex/context/base/status-files.pdfbin24848 -> 24837 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin233054 -> 233974 bytes
-rw-r--r--tex/context/base/strc-lst.mkvi1
9 files changed, 118 insertions, 46 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index 81839f452..b5cd9b9fc 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.23 01:55}
+\newcontextversion{2014.01.24 10:20}
%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 a64d902fc..c1a798a5a 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 b32173e24..23147890f 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.23 01:55}
+\edef\contextversion{2014.01.24 10:20}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/math-fbk.lua b/tex/context/base/math-fbk.lua
index 335e83a20..f4bd1348a 100644
--- a/tex/context/base/math-fbk.lua
+++ b/tex/context/base/math-fbk.lua
@@ -398,9 +398,9 @@ local function accent_to_extensible(target,newchr,original,oldchr,height,depth,s
end
end
end
- return glyphdata
+ return glyphdata, true
else
- return olddata
+ return olddata, false
end
end
@@ -456,8 +456,10 @@ addextra(0xFE303, { description="EXTENSIBLE OF 0x0303", unicodeslot=0xFE303, mat
local function smashed(data,unicode,private)
local target = data.target
local height = target.parameters.xheight / 2
- local c = accent_to_extensible(target,private,data.original,unicode,height,0,nil,-height)
- c.top_accent = nil
+ local c, done = accent_to_extensible(target,private,data.original,unicode,height,0,nil,-height)
+ if done then
+ c.top_accent = nil -- or maybe also all the others
+ end
return c
end
diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv
index bf249991a..d74e76aee 100644
--- a/tex/context/base/publ-ini.mkiv
+++ b/tex/context/base/publ-ini.mkiv
@@ -45,6 +45,80 @@
\unprotect
+% a dedicated construction mechanism
+
+\installcorenamespace {btxlist}
+
+\installcommandhandler \??btxlist {btxlist} \??btxlist
+
+\def\v!btxlist{btxlist}
+
+\unexpanded\setvalue{\??constructioninitializer\v!btxlist}%
+ {\let\currentbtxlist \currentconstruction
+ \let\constructionparameter \btxlistparameter
+ \let\detokenizedconstructionparameter\detokenizedbtxlistparameter
+ \let\letconstructionparameter \letbtxlistparameter
+ \let\useconstructionstyleandcolor \usebtxliststyleandcolor
+ \let\setupcurrentconstruction \setupcurrentbtxlist}
+
+\expandafter\let\csname\??constructionmainhandler \v!btxlist\expandafter\endcsname\csname\??constructionmainhandler \v!construction\endcsname
+\expandafter\let\csname\??constructioncommandhandler\v!btxlist\expandafter\endcsname\csname\??constructioncommandhandler\v!construction\endcsname
+\expandafter\let\csname\??constructiontexthandler \v!btxlist\expandafter\endcsname\csname\??constructiontexthandler \v!construction\endcsname
+
+\unexpanded\setvalue{\??constructioncommandhandler\v!btxlist}%
+ {\csname\??constructionstarthandler\v!construction\endcsname
+ \csname\??constructionstophandler \v!construction\endcsname
+ \endgroup}
+
+\unexpanded\setvalue{\??constructionstarthandler\v!btxlist}%
+ {\csname\??constructionstarthandler\v!construction\endcsname}
+
+\unexpanded\setvalue{\??constructionstophandler\v!btxlist}%
+ {\csname\??constructionstophandler\v!construction\endcsname
+ \endgroup}
+
+\unexpanded\def\startbtxlistentry#1%
+ {\begingroup
+ %\the\everybtxlistentry
+ \strc_constructions_initialize{#1}%
+ \csname\??constructionstarthandler\currentconstructionhandler\endcsname}
+
+\unexpanded\def\stopbtxlistentry
+ {\csname\??constructionstophandler\currentconstructionhandler\endcsname}
+
+\unexpanded\def\strc_constructions_initialize#1% class instance
+ {\edef\currentconstruction{#1}%
+ \let\currentconstructionlistentry\!!zerocount
+ \expandafter\let\expandafter\currentconstructionmain \csname\??constructionmain \currentconstruction\endcsname
+ \expandafter\let\expandafter\currentconstructionlevel \csname\??constructionlevel\currentconstruction\endcsname
+ \expandafter\let\expandafter\currentconstructionhandler\csname\??constructionclass\currentconstruction\endcsname
+ \csname\??constructioninitializer\currentconstructionhandler\endcsname}
+
+\appendtoks
+% \ifx\currentbtxlistparent\empty
+% \defineconstruction[\currentbtxlist][\currentbtxlistparent][\s!handler=\v!btxlist,\c!level=1]%
+% \else
+% \defineconstruction[\currentbtxlist][\s!handler=\v!btxlist,\c!level=1]%
+% \fi
+ \ifx\currentbtxlistparent\empty
+ \letvalue{\??constructionmain\currentbtxlist}\currentbtx
+ \else
+ \letvalue{\??constructionmain\currentbtxlist}\currentbtxparent
+ \fi
+ \setevalue{\??constructionlevel\currentbtxlist}{\number\btxlistparameter\c!level}%
+ \setevalue{\??constructionclass\currentbtxlist}{\btxlistparameter\s!handler}%
+% \settrue\c_strc_constructions_title_state
+\to \everydefinebtxlist
+
+\setupbtxlist
+ [\s!handler=\v!btxlist,
+ \c!level=1,
+% \c!alternative=\v!left,
+% \c!distance=\emwidth]
+]
+
+% here starts the bib stuff
+
\installcorenamespace {btxdataset}
\installcorenamespace {btxlistvariant}
\installcorenamespace {btxcitevariant}
@@ -217,22 +291,22 @@
% \def\publ_list_processor % bibref -> btx (old method, keep as reference)
% {\ctxcommand{btxaddtolist("\currentbtxrendering",\currentlistindex,"btxref")}}
-\definelist
+\definelist % only used for selecting
[btx]
- [\c!before=,
- %\c!inbetween=,
- \c!after=]
+
+\setuplist
+ [btx]%
+ [\c!state=\v!start]%
+
+% \definedescription
+% [btx]
+% [\c!before=,
+% %\c!inbetween=,
+% \c!after=]
\appendtoks
- \definelist
- [btx:\currentbtxrendering]%
- [btx]
- \setuplist
- [btx:\currentbtxrendering]%
- [\c!state=\v!start]%
- % \installstructurelistprocessor
- % {\currentbtxrendering:userdata}%
- % {\publ_list_processor}%
+ \definebtxlist
+ [\currentbtxrendering]%
\to \everydefinebtxrendering
\unexpanded\def\btx_entry_inject
@@ -264,6 +338,7 @@
\edef\currentbtxrendering{#1}%
\setupcurrentbtxrendering[#2]%
\edef\currentlist{btx:\currentbtxrendering}%
+ \let\currentbtxlist\currentbtxrendering
\publ_place_list_check_criterium
\edef\currentbtxrenderingtitle{\btxrenderingparameter\c!title}%
\ifx\currentbtxrenderingtitle\empty
@@ -279,7 +354,8 @@
{\begingroup
\edef\currentbtxrendering{#1}%
\setupcurrentbtxrendering[#2]%
- \edef\currentlist{btx:\currentbtxrendering}%
+ \edef\currentlist{btx}%
+ \let\currentbtxlist\currentbtxrendering
\publ_place_list_check_criterium
\publ_place_list_indeed
\endgroup}
@@ -296,25 +372,19 @@
\fi
\to \everysetupbtxlistplacement
-% use description instead of list ... more flexible .. but then not via
-% a real description in the tuc but directly
-
\def\publ_place_list_indeed
{\startbtxrendering[\currentbtxrendering]%
\directsetup{\btxrenderingparameter\c!setups}%
% \determinelistcharacteristics[\currentbtxrendering]%
\edef\currentbtxalternative{\btxrenderingparameter\c!alternative}%
\edef\currentbtxdataset{\btxrenderingparameter\c!dataset}%
- \edef\currentlist{btx:\currentbtxrendering}%
+ \edef\currentlist{btx}%
+ \let\currentbtxlist\currentbtxrendering
\the\everysetupbtxlistplacement
\forgetall
\ctxcommand{btxsetlistmethod("\currentbtxdataset","\btxrenderingparameter\c!method")}%
\startpacked[\v!blank]%
% here we just collect items
- % \strc_lists_analyze
- % {btx}%
- % {\currentbtxcriterium}%
- % {\namedlistparameter\currentbtxrendering\c!number}%
\ctxcommand{btxcollectlistentries {
names = "btx",
criterium = "\currentbtxcriterium",
@@ -337,10 +407,10 @@
\fi
\d_publ_number_distance\btxrenderingparameter\c!distance
\fi
- \letlistparameter\c!width \d_publ_number_width
- \letlistparameter\c!distance\d_publ_number_distance
+ % only when authomatic
+ \letbtxlistparameter\c!width \d_publ_number_width
+ \letbtxlistparameter\c!distance\d_publ_number_distance
% this actually typesets them
- \letlistparameter\c!interaction\v!none
\ctxcommand{btxflushlistentries("\currentbtxdataset","\btxrenderingparameter\c!sorttype")}%
\stoppacked
\stopbtxrendering
@@ -373,11 +443,12 @@
\ifconditional\c_publ_place_register
\publ_place_list_entry_register
\fi
- \edef\currentlist {btx:\currentbtxrendering}%
- \let\currentlistentrynumber \btx_reference_inject
- \let\currentlistentrytitle \btx_entry_inject
- \let\currentlistentrypagenumber\empty
- \strc_lists_apply_renderingsetup
+ \edef\currentlist {btx}%
+% \let\currentbtxlist\currentbtxrendering
+ \let\currentconstructiontext\btx_reference_inject
+ \startbtxlistentry\currentbtxrendering
+ \btx_entry_inject
+ \stopbtxlistentry
}%\endstrut}
\unexpanded\def\btxchecklistentry#1% called at the lua end
diff --git a/tex/context/base/publ-tra.lua b/tex/context/base/publ-tra.lua
index 0b9c0525c..98c81d800 100644
--- a/tex/context/base/publ-tra.lua
+++ b/tex/context/base/publ-tra.lua
@@ -7,8 +7,6 @@ if not modules then modules = { } end modules ['publ-tra'] = {
}
local sortedhash = table.sortedhash
-local sorted = table.sorted
-local allocate = utilities.storage.allocate
local tracers = { }
publications.tracers = tracers
@@ -19,7 +17,7 @@ local NC, NR = context.NC, context.NR
local bold = context.bold
local darkgreen, darkred, darkblue = context.darkgreen, context.darkred, context.darkblue
-local fields = allocate ( table.sorted {
+local fields = table.sorted {
"abstract",
"address",
"annotate",
@@ -66,9 +64,9 @@ local fields = allocate ( table.sorted {
"monthfiled",
"yearfiled",
"revision",
-} )
+}
-local citevariants = allocate ( table.sorted {
+local citevariants = table.sorted {
"author",
"authoryear",
"authoryears",
@@ -83,13 +81,13 @@ local citevariants = allocate ( table.sorted {
"page",
"none",
"num",
-} )
+}
-local listvariants = allocate ( table.sorted {
+local listvariants = table.sorted {
"author",
"editor",
"artauthor",
-} )
+}
-- local categories = table.sorted {
-- "article",
@@ -108,7 +106,7 @@ local listvariants = allocate ( table.sorted {
-- "unpublished",
-- }
-local categories = allocate {
+local categories = {
article = {
required = { "author", "title", "journal", "year" },
optional = { "volume", "number", "pages", "month", "note" },
@@ -234,7 +232,7 @@ function tracers.showdatasetcompleteness(dataset)
local luadata = datasets[dataset].luadata
if next(luadata) then
- for tag, entry in sortedhash(luadata) do
+ for tag, entry in table.sortedhash(luadata) do
local category = entry.category
local fields = categories[category]
if fields then
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 9866327f9..7fecea456 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 121127e94..32b02d0ce 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-lst.mkvi b/tex/context/base/strc-lst.mkvi
index 63c3e030a..f78881221 100644
--- a/tex/context/base/strc-lst.mkvi
+++ b/tex/context/base/strc-lst.mkvi
@@ -889,6 +889,7 @@
\startsetups[\??listrenderings:abc]
\endgraf % are we grouped?
+% \advance % yes or no ... \rightskip is also honored
\leftskip\listparameter\c!margin % after \endgraf !
\listparameter\c!before
\endgraf