diff options
Diffstat (limited to 'tex')
| -rw-r--r-- | tex/context/base/attr-lay.lua | 13 | ||||
| -rw-r--r-- | tex/context/base/attr-lay.mkiv | 71 | ||||
| -rw-r--r-- | tex/context/base/attr-neg.mkiv | 10 | ||||
| -rw-r--r-- | tex/context/base/buff-par.mkiv | 151 | ||||
| -rw-r--r-- | tex/context/base/buff-par.mkvi | 131 | ||||
| -rw-r--r-- | tex/context/base/context-version.pdf | bin | 4141 -> 4140 bytes | |||
| -rw-r--r-- | tex/context/base/context-version.png | bin | 106570 -> 106292 bytes | |||
| -rw-r--r-- | tex/context/base/mult-sys.mkiv | 1 | ||||
| -rw-r--r-- | tex/context/base/node-fin.lua | 3 | ||||
| -rw-r--r-- | tex/context/base/status-files.pdf | bin | 24465 -> 24507 bytes | |||
| -rw-r--r-- | tex/context/base/status-lua.pdf | bin | 182162 -> 182165 bytes | |||
| -rw-r--r-- | tex/context/base/status-mkiv.lua | 10 | ||||
| -rw-r--r-- | tex/context/base/tabl-ntb.mkiv | 13 | 
13 files changed, 191 insertions, 212 deletions
diff --git a/tex/context/base/attr-lay.lua b/tex/context/base/attr-lay.lua index bcdc541f7..75505d4c4 100644 --- a/tex/context/base/attr-lay.lua +++ b/tex/context/base/attr-lay.lua @@ -150,9 +150,6 @@ function viewerlayers.setfeatures(hasorder)  end  function viewerlayers.start(name) ---     if not enabled then ---         viewerlayers.enable(true) ---     end      insert(stack,texgetattribute(a_viewerlayer))      local a = register(name) or unsetvalue      if global or scopes[name] == v_global then @@ -166,7 +163,9 @@ end  function viewerlayers.stop()      local a = remove(stack) -    if a >= 0 then +    if not a then +        -- error +    elseif a >= 0 then          if global or scopes[a] == v_global then              texsetattribute("global",a_viewerlayer,a)          else @@ -197,9 +196,9 @@ function viewerlayers.define(settings)      end  end -commands.defineviewerlayer     = viewerlayers.define -commands.startviewerlayer      = viewerlayers.start -commands.stopviewerlayer       = viewerlayers.stop +commands.defineviewerlayer = viewerlayers.define +commands.startviewerlayer  = viewerlayers.start +commands.stopviewerlayer   = viewerlayers.stop  function commands.definedviewerlayer(settings)      viewerlayers.define(settings) diff --git a/tex/context/base/attr-lay.mkiv b/tex/context/base/attr-lay.mkiv index 67cd204e2..2542ca5af 100644 --- a/tex/context/base/attr-lay.mkiv +++ b/tex/context/base/attr-lay.mkiv @@ -19,45 +19,38 @@  % needs to work over stopitemize grouping etc -% \def\registerviewerlayer#1#2% global ! -%   {\setxvalue{\??ql:#1}{\global\attribute\viewerlayerattribute\ctxlua{tex.write(attributes.viewerlayers.register('#2'))} }} -% -% \setevalue{\??ql:}{\global\attribute\viewerlayerattribute\attributeunsetvalue} +\installcorenamespace{viewerlayer} -\getparameters -  [\??lr] +\installcommandhandler \??viewerlayer {viewerlayer} \??viewerlayer + +\setupviewerlayer    [\c!state=\v!start,     \c!title=,     \c!printable=\v!yes,     \c!scope=\v!local, % maybe global but needs checking with layout     \c!method=\v!none] -\def\defineviewerlayer -  {\dodoubleargument\dodefineviewerlayer} - -\def\dodefineviewerlayer[#1][#2]% document wide properties -  {\begingroup -   \getparameters[\??lr][#2]% -   \ctxcommand{defineviewerlayer{ -        tag       = "#1", -        title     = "\@@lrtitle", -        visible   = "\@@lrstate", -        editable  = "\v!yes", -        printable = "\@@lrprintable", -        scope     = "\@@lrscope" -   }}% -   \doif\@@lrmethod\v!command -     {\setugvalue{\e!start#1}{\startviewerlayer[#1]}% -      \setugvalue{\e!stop #1}{\stopviewerlayer     }}% -   \endgroup} - -\unexpanded\def\startviewerlayer[#1]{\ctxcommand{startviewerlayer("#1")}}             % not grouped -\unexpanded\def\stopviewerlayer     {\ctxcommand{stopviewerlayer()}}                  % not grouped +\appendtoks +  \ctxcommand{defineviewerlayer{ +       tag       = "\currentviewerlayer", +       title     = "\viewerlayerparameter\c!title", +       visible   = "\viewerlayerparameter\c!state", +       editable  = "\v!yes", +       printable = "\viewerlayerparameter\c!printable", +       scope     = "\viewerlayerparameter\c!scope" +  }}% +  \doif{\viewerlayerparameter\c!method}\v!command +    {\setuxvalue{\e!start#1}{\startviewerlayer[\currentviewerlayer]}% +     \setuxvalue{\e!stop #1}{\stopviewerlayer}}% +\to \everydefineviewerlayer + +\unexpanded\def\startviewerlayer[#1]{\ctxcommand{startviewerlayer("#1")}}                      % not grouped +\unexpanded\def\stopviewerlayer     {\ctxcommand{stopviewerlayer()}}                           % not grouped  \unexpanded\def\viewerlayer     [#1]{\groupedcommand{\startviewerlayer[#1]}{\stopviewerlayer}} % grouped  % some day we will keep this at the lua end as the info is only needed there -\let\currentviewerlayer\empty \newtoks\currentviewerlayertoks % soon we can set macros at the lua end +\newtoks\currentviewerlayertoks % soon we can set macros at the lua end  \def\currentviewerlayer{\the\currentviewerlayertoks} @@ -67,7 +60,9 @@  % layout components are implemented rather directly (speed) -\def\doinitializelayoutcomponent#1% +\installcorenamespace{layoutcomponentattribute} + +\def\attr_layoutcomponent_initialize#1%    {\edef\layoutcomponentboxattribute{\ctxcommand{definedviewerlayer{%       tag       = "#1",       title     = utilities.strings.nice("#1"), % only here as in steps we have step:<number> @@ -76,24 +71,24 @@       printable = "\v!yes"     }}}%     \edef\layoutcomponentboxattribute{attr \viewerlayerattribute \layoutcomponentboxattribute\relax}% -   \expandafter\glet\csname\??lr:a:#1\endcsname\layoutcomponentboxattribute} +   \expandafter\glet\csname\??layoutcomponentattribute#1\endcsname\layoutcomponentboxattribute} -\def\dosetlayoutcomponentattribute#1% make this faster -  {\expandafter\let\expandafter\layoutcomponentboxattribute\csname\??lr:a:#1\endcsname +\def\attr_layoutcomponent_set#1% make this faster +  {\expandafter\let\expandafter\layoutcomponentboxattribute\csname\??layoutcomponentattribute#1\endcsname     \ifx\layoutcomponentboxattribute\relax -     \doinitializelayoutcomponent{#1}% get rid of { } +     \attr_layoutcomponent_initialize{#1}% get rid of { }     \fi} -\def\doresetlayoutcomponentattribute +\def\attr_layoutcomponent_reset    {\let\layoutcomponentboxattribute\empty}  \let\setlayoutcomponentattribute  \gobbleoneargument  \let\resetlayoutcomponentattribute\relax  \let\layoutcomponentboxattribute  \empty -\def\showlayoutcomponents -  {\ctxlua{attributes.viewerlayers.enable()}% will go -   \let\setlayoutcomponentattribute  \dosetlayoutcomponentattribute -   \let\resetlayoutcomponentattribute\doresetlayoutcomponentattribute} +\unexpanded\def\showlayoutcomponents +  {%\ctxlua{attributes.viewerlayers.enable()}% automatic +   \let\setlayoutcomponentattribute  \attr_layoutcomponent_set +   \let\resetlayoutcomponentattribute\attr_layoutcomponent_reset}  \protect \endinput diff --git a/tex/context/base/attr-neg.mkiv b/tex/context/base/attr-neg.mkiv index 0fc5070f1..102b220ba 100644 --- a/tex/context/base/attr-neg.mkiv +++ b/tex/context/base/attr-neg.mkiv @@ -19,12 +19,12 @@  % positive and negative are preregistered -\def\dotriggernegative#1{\ctxcommand{triggernegative('#1')}} +\unexpanded\def\startnegative{\attr_trigger_negative\v!negative} +\unexpanded\def\stopnegative {\attr_trigger_negative\v!positive} -\unexpanded\def\startnegative{\dotriggernegative\v!negative} -\unexpanded\def\stopnegative {\dotriggernegative\v!positive} +\unexpanded\def\startpositive{\attr_trigger_negative\v!positive} +\unexpanded\def\stoppositive {\attr_trigger_negative\v!negative} -\unexpanded\def\startpositive{\dotriggernegative\v!positive} -\unexpanded\def\stoppositive {\dotriggernegative\v!negative} +\def\attr_trigger_negative#1{\ctxcommand{triggernegative('#1')}}  \protect \endinput diff --git a/tex/context/base/buff-par.mkiv b/tex/context/base/buff-par.mkiv deleted file mode 100644 index 7d35676bd..000000000 --- a/tex/context/base/buff-par.mkiv +++ /dev/null @@ -1,151 +0,0 @@ -%D \module -%D   [       file=buff-par, -%D        version=2010.12.05, -%D          title=\CONTEXT\ Buffer Macros, -%D       subtitle=Parallel, -%D         author=Hans Hagen, -%D           date=\currentdate, -%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -\writestatus{loading}{ConTeXt Buffer Macros / Parallel} - -\registerctxluafile{buff-par}{1.001} - -%D This module is developped for Thomas Schmitz as part of -%D a project. - -\unprotect - -\letvalue{\??px:}\empty - -\def\parallelparameter#1% -  {\csname\??px:% -     \ifcsname\??px:\currentparallel:\currentparallelinstance:#1\endcsname -       \currentparallel:\currentparallelinstance:#1% -     \else\ifcsname\??px:\currentparallel:#1\endcsname -       \currentparallel:#1% -     \else\ifcsname\??px:#1\endcsname -       #1% -     \fi\fi\fi -   \endcsname} - -\unexpanded\def\defineparallel -  {\dodoubleargument\dodefineparallel} - -\def\dodefineparallel[#1][#2]% -  {\ctxcommand{defineparallel("#1","#2")}% -   \processcommalist[#2]\dododefineparallel -   \setuvalue{\e!start#1}{\dostartparallelset{#1}}% -   \setuvalue{\e!stop #1}{\dostopparallelset}} - -\def\dododefineparallel#1% -  {\definebuffer[#1]%% -   \setuvalue{\e!stop#1}{\dowithparallel{#1}}} - -\def\dostartparallelset#1% -  {\def\currentparallel{#1}% -   \ctxcommand{nextparallel("\currentparallel")}} - -\def\dostopparallelset#1% -  {} - -\def\dowithparallel#1% defined moet ook aan de lua kant kunnen -  {\ctxcommand{saveparallel("\currentparallel","#1",buffers.raw("\thedefinedbuffer{#1}"))}} - -\unexpanded\def\placeparallel -  {\dotripleempty\doplaceparallel} - -\def\doplaceparallel[#1][#2][#3]% -  {\begingroup -   \def\currentparallel{#1}% -   \ctxcommand{placeparallel("\currentparallel","#2","#3")}% -   \endgroup} - -% was: \parallelparameter\c!command} - -\def\doflushparallel#1#2#3#4#5% {instance}{status}{line}{label}{content} -  {\begingroup -   \def\currentparallelinstance{#1}% -   \def\currentparallelnumber  {#2}% -   \def\currentparallelline    {#3}% -   \def\currentparallellabel   {#4}% -   \def\currentparallelcontent {#5}% -   \ifcase#2\relax -     \expandafter\noflushparalleldefault -   \or -     \expandafter\doflushparalleldefault -   \fi -   \endgroup} - -\def\noflushparalleldefault{} -\def\doflushparalleldefault{\directsetup{\parallelparameter\c!setups}} - -\startsetups parallel:place:default -    \hangafter\plusone -    \hangindent4em -    \dontleavehmode -    \hbox to 3em \bgroup -        \hss -        \bf -        \doifsomething \currentparallellabel { -            \textreference[\currentparallellabel]{\currentparallelline} -        } -    \currentparallelline -    \quad -    \egroup -    \currentparallelcontent -    \par -\stopsetups - -\unexpanded\def\setupparallel -  {\dotripleempty\dosetupparallel} - -\def\dosetupparallel[#1][#2][#3]% -  {\ifthirdargument -     \getparameters[\??px:#1:#2:][#3]% -   \else\ifsecondargument -     \getparameters[\??px:#1:][#2]% -   \else -     \getparameters[\??px:][#1]% maybe no : here -   \fi\fi} - -\setupparallel -% [\c!command=\doflushparalleldefault] -  [\c!setups=parallel:place:default] - -\def\doifelseparallel#1#2% -  {\cldcontext{commands.doifelseparallel("#1","#2")}} - -\def\resetparallel -  {\dodoubleempty\doresetparallel} - -\def\resetparallel[#1][#2]% -  {\ctxcommand{resetparallel("#1","#2"))}} - -% default - -% \def\doflushparalleldefault#1#2#3#4% todo: setups instead -%   {\ifcase#1\or -%      \begingroup -%      \hangafter1 -%      \hangindent4em -%      \dontleavehmode -%      \hbox to 3em{\hss\bf\doifsomething{#3}{\textreference[#3]{#2}}#2\quad}#4\par -%      \endgroup -%    \fi} - -\protect \endinput - -% \def\dododefineparallel#1% -%   {\setuvalue{\e!stop #1}{}% -%    \setuvalue{\e!start#1}{\dostartparallel{#1}}} -% -% \def\dostartparallel#1% -%   {\grabuntil{\e!stop#1}{\dododostartparallel{#1}}} -% -% \def\dododostartparallel#1#2% -%   {\ctxcommand{saveparallel("\currentparallel","#1",\!!bs\detokenize{#2}\!!es)}} diff --git a/tex/context/base/buff-par.mkvi b/tex/context/base/buff-par.mkvi new file mode 100644 index 000000000..0dd072f04 --- /dev/null +++ b/tex/context/base/buff-par.mkvi @@ -0,0 +1,131 @@ +%D \module +%D   [       file=buff-par, +%D        version=2010.12.05, +%D          title=\CONTEXT\ Buffer Macros, +%D       subtitle=Parallel, +%D         author=Hans Hagen, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Buffer Macros / Parallel} + +\registerctxluafile{buff-par}{1.001} + +%D This module is developped for Thomas Schmitz as part of +%D a project. There is no documentation yet. +%D +%D \starttyping +%D \defineparallel[main][one,two] +%D +%D \startmain +%D \startone +%D     first 1 +%D     [reference] first 2 +%D     first 3 +%D \stopone +%D \starttwo +%D     second 1 +%D \stoptwo +%D \stopmain +%D +%D \placeparallel[main][one,two][criterium=all] + +%D criterium=all start=<number> n=<number> + +\unprotect + +\installcorenamespace{parallel} + +\installcommandhandler \??parallel {parallel} \??parallel + +\setupparallel +  [\c!setups=parallel:place:default] + +\let\buff_parallel_define_saved\defineparallel + +\unexpanded\def\defineparallel +  {\dodoubleargument\buff_parallel_define} + +\def\buff_parallel_define[#name][#instances]% +  {\buff_parallel_define_saved[#name] +   \ctxcommand{defineparallel("#name","#instances")}% +   \processcommalist[#instances]\buff_parallel_define_instance +   \setuevalue{\e!start#name}{\buff_parallel_start{#name}}% +   \setuevalue{\e!stop #name}{\buff_parallel_stop}} + +\def\buff_parallel_define_instance#instance% +  {\normalexpanded{\buff_parallel_define_saved[#instance][\currentparallel]}% +   \definebuffer[#instance]% +   \setuevalue{\e!stop#instance}{\buff_parallel_save{#instance}}} + +\unexpanded\def\buff_parallel_start#name% +  {\pushmacro\currentparallel +   \edef\currentparallel{#name}% +   \ctxcommand{nextparallel("\currentparallel")}} + +\unexpanded\def\buff_parallel_stop +  {\popmacro\currentparallel} + +\unexpanded\def\buff_parallel_save#instance% defined moet ook aan de lua kant kunnen +  {\ctxcommand{saveparallel("\currentparallel","#instance",buffers.raw("\thedefinedbuffer{#instance}"))}} + +\unexpanded\def\placeparallel +  {\dotripleempty\buff_parallel_place} + +\def\buff_parallel_place[#name][#instance][#settings]% +  {\begingroup +   \edef\currentparallel{#name}% +   \ctxcommand{placeparallel("\currentparallel","#instance","#settings")}% -- todo: pass options as k/v +   \endgroup} + +\def\doflushparallel#instance#status#line#label#content% called at lua end +  {\begingroup +   \def\currentparallelinstance{#instance}% +   \def\currentparallelnumber  {#status}% +   \def\currentparallelline    {#line}% +   \def\currentparallellabel   {#label}% +   \def\currentparallelcontent {#content}% +   \ifcase#status\relax +     \expandafter\buff_parallel_flush_nop +   \or +     \expandafter\buff_parallel_flush_yes +   \fi +   \endgroup} + +\def\buff_parallel_flush_nop +  {} + +\def\buff_parallel_flush_yes +  {\directsetup{\namedparallelparameter\currentparallelinstance\c!setups}} + +\unexpanded\def\doifelseparallel#name#instance% +  {\ctxcommand{doifelseparallel("#name","#instance")}} + +\unexpanded\def\resetparallel +  {\dodoubleempty\buff_parallel_reset} + +\def\buff_parallel_reset[#name][#instance]% +  {\ctxcommand{resetparallel("#name","#instance"))}} + +\startsetups parallel:place:default +    \hangafter\plusone +    \hangindent4em +    \dontleavehmode +    \hbox to 3em \bgroup +        \hss +        \bf +        \doifsomething \currentparallellabel { +            \textreference[\currentparallellabel]{\currentparallelline} +        } +    \currentparallelline +    \quad +    \egroup +    \currentparallelcontent +    \par +\stopsetups + +\protect \endinput diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex 7983be951..3349752b7 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png Binary files differindex 9b10a799d..0d1b62401 100644 --- a/tex/context/base/context-version.png +++ b/tex/context/base/context-version.png diff --git a/tex/context/base/mult-sys.mkiv b/tex/context/base/mult-sys.mkiv index 77585dac1..65c456cdc 100644 --- a/tex/context/base/mult-sys.mkiv +++ b/tex/context/base/mult-sys.mkiv @@ -529,7 +529,6 @@  \definesystemvariable {ph}   % ParagrapH  \definesystemvariable {pn}   % PaginaNummer  \definesystemvariable {pr}   % PRogrammas -\definesystemvariable {px}   % Parallel  \definesystemvariable {py}   % PropertYs  \definesystemvariable {pv}   % PublicationVariable  \definesystemvariable {ql}   % catcode table let     % already defined diff --git a/tex/context/base/node-fin.lua b/tex/context/base/node-fin.lua index 5c1cc9ad5..069ef0b3a 100644 --- a/tex/context/base/node-fin.lua +++ b/tex/context/base/node-fin.lua @@ -387,7 +387,7 @@ states.selective = selective  -- Ideally the next one should be merged with the previous but keeping it separate is  -- safer. We deal with two situations: efficient boxwise (layoutareas) and mixed layers  -- (as used in the stepper). In the stepper we cannot use the box branch as it involves --- paragraph lines and then getsmixed up. A messy business (esp since we want to be +-- paragraph lines and then gets mixed up. A messy business (esp since we want to be  -- efficient).  local function stacked(namespace,attribute,head,default) -- no triggering, no inheritance, but list-wise @@ -411,7 +411,6 @@ local function stacked(namespace,attribute,head,default) -- no triggering, no in                          done = done or ok                      end                  end ---~             elseif default then              elseif default > 0 then                  --              elseif current > 0 then diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex b7a12b9a4..0b2e4f2da 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 afeb6a14c..43d7748cd 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/status-mkiv.lua b/tex/context/base/status-mkiv.lua index 228707dce..563fc7fd8 100644 --- a/tex/context/base/status-mkiv.lua +++ b/tex/context/base/status-mkiv.lua @@ -249,12 +249,13 @@ return {          {              filename = "attr-lay",              marktype = "mkiv", -            status   = "unknown", +            status   = "okay", +            comment  = "at least for now",          },          {              filename = "attr-neg",              marktype = "mkiv", -            status   = "unknown", +            status   = "okay",          },          {              filename = "attr-eff", @@ -845,8 +846,9 @@ return {          },          {              filename = "buff-par", -            marktype = "mkiv", -            status   = "unknown", +            marktype = "mkvi", +            status   = "okay", +            comment  = "experimental code",          },          {              filename = "buff-imp-tex", diff --git a/tex/context/base/tabl-ntb.mkiv b/tex/context/base/tabl-ntb.mkiv index 52cc09096..5045075db 100644 --- a/tex/context/base/tabl-ntb.mkiv +++ b/tex/context/base/tabl-ntb.mkiv @@ -82,7 +82,7 @@  \unexpanded\def\tabl_tnb_cell_start    {\inhibitblank     \dotagTABLEcell -   \tabl_tnb_next_level +%    \tabl_tnb_next_level     \usenaturaltablelocalstyleandcolor\c!style\c!color     \everypar{\naturaltablelocalparameter\c!left\delayedbegstrut}} @@ -179,6 +179,10 @@    {\advance\c_tabl_level\plusone     \edef\m_tabl_tbl_level{\the\c_tabl_level}} +\def\tabl_tnb_prev_level +  {\advance\c_tabl_level\minusone +   \edef\m_tabl_tbl_level{\the\c_tabl_level}} +  \tabl_tnb_next_level % go to level 1  \installcorenamespace{naturaltable}      % was tbl @@ -277,7 +281,8 @@  %      {\expandafter\def\expandafter\m_tabl_tbl_level\expandafter{\m_tabl_tbl_level}\tabl_ntb_cell_process{#3}{#4}[#5]{#6}}}  \unexpanded\def\tabl_ntb_set_txt_process#1#2#3#4#5#6% -  {\expandafter\def\csname\??naturaltabletxt\m_tabl_tbl_level:\number#1:\number#2\endcsname{\tabl_ntb_cell_process{#3}{#4}[#5]{#6}}} +  {\expandafter\def\csname\??naturaltabletxt\m_tabl_tbl_level:\number#1:\number#2\endcsname +     {\tabl_ntb_cell_process{#3}{#4}[#5]{\tabl_tnb_next_level#6\tabl_tnb_prev_level}}}  \def\tabl_ntb_get_txt#1#2%    {\csname\??naturaltabletxt\m_tabl_tbl_level:\number#1:\number#2\endcsname} @@ -1221,8 +1226,8 @@    {\doifnotinset\localwidth{\v!fit,\v!broad}% user set       {\scratchdimen\tabl_ntb_get_aut\c_tabl_ntb_col\relax        \ifdim\localwidth>\scratchdimen -        \tabl_ntb_set_aut\c_tabl_ntb_col{\the\dimexpr\localwidth\relax}% -      \fi}}% +        \tabl_ntb_set_aut\c_tabl_ntb_col{\the\dimexpr\localwidth}% +      \fi}}  \def\tabl_ntb_table_stop    {\setbox\scratchbox\hbox  | 
