diff options
| author | Hans Hagen <pragma@wxs.nl> | 2014-07-29 22:25:00 +0200 | 
|---|---|---|
| committer | Hans Hagen <pragma@wxs.nl> | 2014-07-29 22:25:00 +0200 | 
| commit | cba59c19999ad3034c8232e0f1566a5ffae358a9 (patch) | |
| tree | e7f418e2f6be7a5d3b3ad0a1b3c167a382bca987 | |
| parent | b5e7eb047db872bbaf068384c4e3cd866ad84077 (diff) | |
| download | context-cba59c19999ad3034c8232e0f1566a5ffae358a9.tar.gz | |
beta 2014.07.29 22:25
| -rw-r--r-- | tex/context/base/cont-new.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/context-version.pdf | bin | 4431 -> 4430 bytes | |||
| -rw-r--r-- | tex/context/base/context.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/math-ini.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/publ-imp-apa.mkvi | 12 | ||||
| -rw-r--r-- | tex/context/base/publ-ini.lua | 109 | ||||
| -rw-r--r-- | tex/context/base/publ-ini.mkiv | 54 | ||||
| -rw-r--r-- | tex/context/base/status-files.pdf | bin | 24949 -> 24949 bytes | |||
| -rw-r--r-- | tex/context/base/status-lua.pdf | bin | 326999 -> 327044 bytes | |||
| -rw-r--r-- | tex/context/base/strc-syn.mkiv | 7 | ||||
| -rw-r--r-- | tex/generic/context/luatex/luatex-fonts-merged.lua | 2 | 
11 files changed, 133 insertions, 57 deletions
| diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index f8ce269bc..63779bef9 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.07.29 00:30} +\newcontextversion{2014.07.29 22:25}  %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.pdfBinary files differ index ea6da3b1c..127780121 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 ce5b6db10..1ff7413d8 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.07.29 00:30} +\edef\contextversion{2014.07.29 22:25}  \edef\contextkind   {beta}  %D For those who want to use this: diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv index 2d3d3bf6c..caa531c1d 100644 --- a/tex/context/base/math-ini.mkiv +++ b/tex/context/base/math-ini.mkiv @@ -458,7 +458,7 @@       \startimath#1\stopimath     \egroup     \ht\scratchbox\strutht -   \dp\scratchbox\strutht +   \dp\scratchbox\strutdp     \box\scratchbox     \endgroup} diff --git a/tex/context/base/publ-imp-apa.mkvi b/tex/context/base/publ-imp-apa.mkvi index 5aa2c80ca..1a758a87d 100644 --- a/tex/context/base/publ-imp-apa.mkvi +++ b/tex/context/base/publ-imp-apa.mkvi @@ -799,4 +799,16 @@      \texdefinition{btx:apa:note}  \stopsetups +%D Experiment: + +\startsetups btx:apa:lefttext +    \currentbtxlefttext +    \enspace +\stopsetups + +\startsetups btx:apa:righttext +    \enspace +    \currentbtxrighttext +\stopsetups +  \stopbtxrenderingdefinitions diff --git a/tex/context/base/publ-ini.lua b/tex/context/base/publ-ini.lua index d2600d8a0..1052c37e2 100644 --- a/tex/context/base/publ-ini.lua +++ b/tex/context/base/publ-ini.lua @@ -112,8 +112,10 @@ local ctx_btxsetcategory          = context.btxsetcategory  local ctx_btxcitesetup            = context.btxcitesetup  local ctx_btxsetfirst             = context.btxsetfirst  local ctx_btxsetsecond            = context.btxsetsecond -local ctx_btxsetthird            = context.btxsetthird +local ctx_btxsetthird             = context.btxsetthird  local ctx_btxsetinternal          = context.btxsetinternal +local ctx_btxsetlefttext          = context.btxsetlefttext +local ctx_btxsetrighttext         = context.btxsetrighttext  local ctx_btxsetbacklink          = context.btxsetbacklink  local ctx_btxsetbacktrace         = context.btxsetbacktrace  local ctx_btxsetcount             = context.btxsetcount @@ -585,11 +587,14 @@ local pagessplitter = lpeg.splitat(P("-")^1)  local function shortsorter(a,b)      local ay, by = a[2], b[2] -    if ay == by then -        return a[3] < b[3] -    else +    if ay ~= by then +        return ay < by +    end +    local ay, by = a[3], b[3] +    if ay ~= by then          return ay < by      end +    return a[4] < b[4]  end  function publications.enhance(dataset) -- for the moment split runs (maybe publications.enhancers) @@ -642,10 +647,16 @@ function publications.enhance(dataset) -- for the moment split runs (maybe publi                          local short = formatters["%t%02i"](t,mod(year,100))                          local s = shorts[short]                          -- we could also sort on reference i.e. entries.text +                        local u = used[tag] +                        if u then +                            u = u[1].entries.text -- hm +                        else +                            u = "0" +                        end                          if not s then -                            shorts[short] = { { tag, year, i } } +                            shorts[short] = { { tag, year, u, i } }                          else -                            s[#s+1] = { tag, year, i } +                            s[#s+1] = { tag, year, u, i }                          end                      else                          -- @@ -672,28 +683,31 @@ function publications.enhance(dataset) -- for the moment split runs (maybe publi          end      end      for short, tags in next, shorts do -- ordered ? -        if #tags > 1 then -            sort(tags,shortsorter) +        local done = #tags > 0 +        -- we only use suffixes when there are multiple references to same years +        -- so we check for used first +        if done then              local n = 0              for i=1,#tags do                  local tag = tags[i][1] -                local detail = details[tag] -                detail.short = short                  if used[tag] then                      n = n + 1 -                    local suffix  = numbertochar(n) -                    detail.suffix = suffix -                    local entry   = luadata[tag] -                    local year    = entry.year -                    if year then -                        detail.suffixedyear = year .. suffix +                    if n > 1 then +                        break                      end                  end              end +            done = n > 1 +        end +        -- now we assign the suffixes, unless we have only one reference +        if done then +            sort(tags,shortsorter) +            local n = 0              for i=1,#tags do                  local tag = tags[i][1]                  local detail = details[tag] -                if not detail.suffix then +                detail.short = short +                if used[tag] then                      n = n + 1                      local suffix  = numbertochar(n)                      detail.suffix = suffix @@ -704,8 +718,22 @@ function publications.enhance(dataset) -- for the moment split runs (maybe publi                      end                  end              end +         -- for i=1,#tags do +         --     local tag = tags[i][1] +         --     local detail = details[tag] +         --     if not detail.suffix then +         --         n = n + 1 +         --         local suffix  = numbertochar(n) +         --         detail.suffix = suffix +         --         local entry   = luadata[tag] +         --         local year    = entry.year +         --         if year then +         --             detail.suffixedyear = year .. suffix +         --         end +         --     end +         -- end          else -            local tag = tags[i][1] +            local tag = tags[1][1]              local detail = details[tag]              detail.short = short              local entry  = luadata[tag] @@ -1043,10 +1071,10 @@ lists.methods = methods  methods[v_dataset] = function(dataset,rendering,keyword)      -- why only once inless criterium=all?      local luadata = datasets[dataset].luadata -    local list = rendering.list +    local list    = rendering.list      for tag, data in sortedhash(luadata) do          if not keyword or validkeyword(dataset,tag,keyword) then -            list[#list+1] = { tag, false, false, 0 } +            list[#list+1] = { tag, false, 0, false, false }          end      end  end @@ -1062,7 +1090,7 @@ methods[v_force] = function (dataset,rendering,keyword)          if u and u.btxset == dataset then              local tag = u.btxref              if tag and (not keyword or validkeyword(dataset,tag,keyword)) then -                list[#list+1] = { tag, listindex, u.btxint, 0 } +                list[#list+1] = { tag, listindex, 0, u, u.btxint }              end          end      end @@ -1100,14 +1128,14 @@ methods[v_local] = function(dataset,rendering,keyword)                      if l then                          l[#l+1] = u.btxint                      else -                        local l = { tag, listindex, u.btxint, 0 } +                        local l = { tag, listindex, 0, u, u.btxint }                          list[#list+1] = l                          traced[tag] = l                      end                  else                      done[tag]    = section                      alldone[tag] = true -                    list[#list+1] = { tag, listindex, u.btxint, 0 } +                    list[#list+1] = { tag, listindex, 0, u, u.btxint }                  end              end          end @@ -1264,22 +1292,10 @@ lists.sorters = {          end          sort(list,compare)      end, - -- [v_default] = function(dataset,rendering,list) -- not really needed - --     local ordered = rendering.ordered - --     local function compare(a,b) - --         local aa, bb = a and a[1], b and b[1] - --         if aa and bb then - --             aa, bb = ordered[aa], ordered[bb] - --             return aa and bb and aa < bb - --         end - --         return false - --     end - --     sort(list,compare) - -- end,      [v_default] = function(dataset,rendering,list,sorttype) -- experimental          if sorttype == "" or sorttype == v_default then              local function compare(a,b) -                local aa, bb = a and a[4], b and b[4] +                local aa, bb = a and a[3], b and b[3]                  if aa and bb then                      return aa and bb and aa < bb                  end @@ -1349,7 +1365,7 @@ function lists.prepareentries(dataset)                  number        = lastnumber                  detail.number = lastnumber              end -            li[4] = number +            li[3] = number          end      end      rendering.list = type(sorter) == "function" and sorter(dataset,rendering,newlist,sorttype) or newlist @@ -1375,7 +1391,7 @@ function lists.flushentries(dataset)      for i=1,#list do          local li       = list[i]          local tag      = li[1] -        local n        = li[4] +        local n        = li[3]          local entry    = luadata[tag]          local combined = entry.combined          local language = entry.language @@ -1388,10 +1404,10 @@ function lists.flushentries(dataset)          if language then              ctx_btxsetlanguage(language)          end -        local bl = li[3] +        local bl = li[5]          if bl and bl ~= "" then              ctx_btxsetbacklink(bl) -            ctx_btxsetbacktrace(concat(li," ",3)) -- how about 4 +            ctx_btxsetbacktrace(concat(li," ",5))              local uc = citetolist[tonumber(bl)]              if uc then                  ctx_btxsetinternal(uc.references.internal or "") @@ -1399,6 +1415,17 @@ function lists.flushentries(dataset)          else              -- nothing          end +        local u = li[4] +        if u then +            local l = u.btxltx +            local r = u.btxrtx +            if l then +                ctx_btxsetlefttext (l) +            end +            if r then +                ctx_btxsetrighttext(r) +            end +        end          ctx_btxhandlelistentry()       end  end @@ -1408,7 +1435,7 @@ function lists.filterall(dataset)      local list = r.list      local registered = r.registered      for i=1,#registered do -        list[i] = { registered[i], i, false, 0 } +        list[i] = { registered[i], i, 0, false, false }      end  end diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv index 0ef8f39cc..c2823d45b 100644 --- a/tex/context/base/publ-ini.mkiv +++ b/tex/context/base/publ-ini.mkiv @@ -62,6 +62,8 @@  \def\s!btxref       {btxref}  \def\s!btxint       {btxint}  \def\s!btxbck       {btxbck} +\def\s!btxltx       {btxltx} +\def\s!btxrtx       {btxrtx}  \definelabelclass[btxlabel][2] @@ -356,6 +358,8 @@  \let\currentbtxsecond       \empty    \unexpanded\def\btxsetsecond       {\def\currentbtxsecond}  \let\currentbtxthird        \empty    \unexpanded\def\btxsetthird        {\def\currentbtxthird}  \let\currentbtxinternal     \empty    \unexpanded\def\btxsetinternal     {\def\currentbtxinternal} +\let\currentbtxlefttext     \empty    \unexpanded\def\btxsetlefttext     {\def\currentbtxlefttext} +\let\currentbtxrighttext    \empty    \unexpanded\def\btxsetrighttext    {\def\currentbtxrighttext}  \let\currentbtxlanguage     \empty    \unexpanded\def\btxsetlanguage     {\def\currentbtxlanguage}  \let\currentbtxtag          \empty    \unexpanded\def\btxsettag          {\def\currentbtxtag}  \let\currentbtxnumber       \empty    \unexpanded\def\btxsetnumber       {\def\currentbtxnumber} @@ -397,6 +401,8 @@    {\let\currentbtxcombis   \empty     \let\currentbtxcategory \empty     \let\currentbtxinternal \empty +   \let\currentbtxlefttext \empty +   \let\currentbtxrighttext\empty     \let\currentbtxbacklink \empty     \let\currentbtxbacktrace\empty     \let\currentbtxlanguage \empty @@ -492,12 +498,14 @@     \endgroup}  \def\btx_entry_inject_yes -  {\fastsetup\currentbtxsetup +  {\fastsetup{\s!btx:\currentbtxalternative:lefttext}% +   \fastsetup\currentbtxsetup     \removeunwantedspaces     \ifx\currentbtxcombis\empty \else       \btxrenderingparameter\c!separator       \processcommacommand[\currentbtxcombis]\btx_entry_inject_combi -   \fi} +   \fi +   \fastsetup{\s!btx:\currentbtxalternative:righttext}}%  \def\btx_entry_inject_nop    {\tttf \getmessage\m!publications{12}{\currentbtxsetup}} @@ -667,7 +675,9 @@    {\btx_trace_list_cross\empty\currentbtxbacktrace     \global\advance\c_btx_list_reference\plusone     \strc_references_direct_full_user -      {\s!btxset="\currentbtxdataset",\s!btxref="\currentbtxtag",\ifx\currentbtxbacklink\currentbtxbacktrace\s!btxint="\currentbtxbacklink"\else\s!btxbck="\currentbtxbacktrace"\fi}% +      {\s!btxset="\currentbtxdataset",% +       \s!btxref="\currentbtxtag",% +       \ifx\currentbtxbacklink\currentbtxbacktrace\s!btxint="\currentbtxbacklink"\else\s!btxbck="\currentbtxbacktrace"\fi}%        {\s!btx::\v!list::\number\c_btx_list_reference}%        {\currentbtxnumber}} @@ -675,13 +685,22 @@    {\dontleavehmode     \iftrialtypesetting \else       \ifx\currentbtxbacklink\empty -        % can be made empty when combining author / year +       % can be made empty when combining author / year       \else -        \btx_trace_list_cross\currentbtxbacklink\empty -        \normalexpanded{\writedatatolist[\s!btx][\s!btxset=\currentbtxdataset,\s!btxref=\currentbtxtag,\s!btxint=\number\currentbtxbacklink]}%  % \c!location=\v!here +       \btx_cite_reference_inject_indeed       \fi    \fi} +\def\btx_cite_reference_inject_indeed +  {\btx_trace_list_cross\currentbtxbacklink\empty +   \normalexpanded{\writedatatolist% +      [\s!btx]% +      [\s!btxset=\currentbtxdataset,% +       \s!btxref=\currentbtxtag,% +       \ifx\p_publ_cite_lefttext \empty\else\s!btxltx={\p_publ_cite_lefttext },\fi% +       \ifx\p_publ_cite_righttext\empty\else\s!btxrtx={\p_publ_cite_righttext},\fi% +       \s!btxint=\number\currentbtxbacklink]}}%  % \c!location=\v!here +  \let\btxcitereference\btx_cite_reference_inject  \let\currentbtxnumbering\empty @@ -853,6 +872,13 @@  % [base::tags]  % [settings|variant][base::tags] +% these need to be sort of protected: + +\let\p_publ_cite_before   \empty +\let\p_publ_cite_after    \empty +\let\p_publ_cite_lefttext \empty +\let\p_publ_cite_righttext\empty +  \unexpanded\def\btxcite    {\dontleavehmode     \begingroup @@ -882,6 +908,8 @@     \letdummyparameter\c!after      \empty     \letdummyparameter\c!extras     \empty     \letdummyparameter\c!alternative\empty +   \letdummyparameter\c!lefttext   \empty +   \letdummyparameter\c!righttext  \empty     \getdummyparameters[#1]%     \edef\p_alternative{\dummyparameter\c!alternative}%     \ifx\p_alternative\empty @@ -897,17 +925,19 @@         \setexpandedbtxcitevariantparameter\p_right{\p_extras\p_right}%       \fi     \fi -   \edef\p_before{\dummyparameter\c!before}% -   \edef\p_after {\dummyparameter\c!after}% +   \edef\p_publ_cite_before   {\dummyparameter\c!before}% +   \edef\p_publ_cite_after    {\dummyparameter\c!after}% +   \edef\p_publ_cite_lefttext {\dummyparameter\c!lefttext}% +   \edef\p_publ_cite_righttext{\dummyparameter\c!righttext}%     \the\everysetupbtxciteplacement -   \ifx\p_before\empty \else -     \p_before +   \ifx\p_publ_cite_before\empty \else +     \p_publ_cite_before       \space     \fi     \publ_cite_variant -   \ifx\p_after\empty \else +   \ifx\p_publ_cite_after\empty \else       \optionalspace -     \p_after +     \p_publ_cite_after     \fi     \endgroup} diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdfBinary files differ index a9107b947..0955b4832 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.pdfBinary files differ index 39eb99248..ab7d11449 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/strc-syn.mkiv b/tex/context/base/strc-syn.mkiv index 73aca18e6..6dfc79832 100644 --- a/tex/context/base/strc-syn.mkiv +++ b/tex/context/base/strc-syn.mkiv @@ -423,6 +423,13 @@  %D Presets. +\setupsimplelist +  [\v!sorting] +  [\c!headstyle=\simplelistparameter\c!synonymstyle, +   \c!headcolor=\simplelistparameter\c!synonymcolor, +   \c!style=\simplelistparameter\c!textstyle, +   \c!color=\simplelistparameter\c!textcolor] +  \definesynonyms    [\v!abbreviation]    [\v!abbreviations] diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 660524e6f..5e6456394 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  : 07/29/14 00:30:11 +-- merge date  : 07/29/14 22:25:18  do -- begin closure to overcome local limits and interference | 
