From d45943afbc4a24ed10f87162b238af07cde73ac5 Mon Sep 17 00:00:00 2001 From: Marius Date: Fri, 24 Jan 2014 12:00:17 +0200 Subject: beta 2014.01.24 10:20 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4088 -> 4113 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/math-fbk.lua | 10 +- tex/context/base/publ-ini.mkiv | 131 ++++++++++++++++----- tex/context/base/publ-tra.lua | 18 ++- tex/context/base/status-files.pdf | Bin 24848 -> 24837 bytes tex/context/base/status-lua.pdf | Bin 233054 -> 233974 bytes tex/context/base/strc-lst.mkvi | 1 + tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 10 files changed, 119 insertions(+), 47 deletions(-) (limited to 'tex') 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 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf 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 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 121127e94..32b02d0ce 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf 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 diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 45d810517..65746de04 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/23/14 01:55:54 +-- merge date : 01/24/14 10:20:14 do -- begin closure to overcome local limits and interference -- cgit v1.2.3