diff options
author | Hans Hagen <pragma@wxs.nl> | 2017-10-01 16:40:17 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2017-10-01 16:40:17 +0200 |
commit | 80743fc19190334d3a0d4c86538663b98695a573 (patch) | |
tree | 7a94f73a318e0362bacc2596ac8fc6201ed1d1b6 /tex/context/base/mkiv/spac-ver.lua | |
parent | 164a98ac4e58ae88de0a83d1eb60583827f4fbab (diff) | |
download | context-80743fc19190334d3a0d4c86538663b98695a573.tar.gz |
2017-10-01 14:38:00
Diffstat (limited to 'tex/context/base/mkiv/spac-ver.lua')
-rw-r--r-- | tex/context/base/mkiv/spac-ver.lua | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/tex/context/base/mkiv/spac-ver.lua b/tex/context/base/mkiv/spac-ver.lua index e7183b569..cafab12ad 100644 --- a/tex/context/base/mkiv/spac-ver.lua +++ b/tex/context/base/mkiv/spac-ver.lua @@ -54,6 +54,8 @@ local texset = tex.set local texsetdimen = tex.setdimen local texnest = tex.nest +local buildpage = tex.triggerbuildpage + local variables = interfaces.variables local implement = interfaces.implement @@ -737,14 +739,16 @@ storage.register("builders/vspacing/data/skip", vspacingdata.skip, "builders.vsp do -- todo: interface.variables and properties - local P, C, R, S, Cc = lpeg.P, lpeg.C, lpeg.R, lpeg.S, lpeg.Cc + local P, C, R, S, Cc, Cs = lpeg.P, lpeg.C, lpeg.R, lpeg.S, lpeg.Cc, lpeg.Cs vspacing.fixed = false local map = vspacingdata.map local skip = vspacingdata.skip - local multiplier = C(S("+-")^0 * R("09")^1) * P("*") + local sign = S("+-")^0 + local multiplier = C(sign * R("09")^1) * P("*") + local singlefier = Cs(sign * Cc(1)) local separator = S(", ") local category = P(":") * C((1-separator)^1) local keyword = C((1-category-separator)^1) @@ -817,7 +821,7 @@ do -- todo: interface.variables and properties end end - local splitter = ((multiplier + Cc(1)) * keyword * (category + Cc(false))) / handler + local splitter = ((multiplier + singlefier) * keyword * (category + Cc(false))) / handler pattern = (splitter + separator^1)^0 function vspacing.analyze(str) @@ -2091,6 +2095,23 @@ do if head then local head = remove_node(head,find_node_tail(head),true) texlists.page_head = head + buildpage() + end + end + } + + interfaces.implement { + name = "removelastline", + actions = function() + local head = texlists.page_head + if head then + local tail = find_node_tail(head) + if tail then + -- maybe check for hlist subtype 1 + local head = remove_node(head,tail,true) + texlists.page_head = head + buildpage() + end end end } |