From a12c76dbfcdf2a4159ba03613ba990a57b9b1ce0 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 16 Jun 2011 19:40:11 +0300 Subject: beta 2011.06.16 18:20 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 5 +- tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/export-example.rng | 354 ++++++++++++++++++++++++++++ tex/context/base/l-lpeg.lua | 7 + tex/context/base/spac-ver.mkiv | 2 +- tex/context/base/status-files.pdf | Bin 23636 -> 23626 bytes tex/context/base/status-lua.pdf | Bin 155951 -> 155960 bytes tex/context/sample/mill.png | Bin 154867 -> 154869 bytes tex/generic/context/luatex-fonts-merged.lua | 9 +- 11 files changed, 375 insertions(+), 8 deletions(-) create mode 100644 tex/context/base/export-example.rng (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index ba30f0046..f4eab4345 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.06.16 12:50} +\newcontextversion{2011.06.16 18:20} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 590e9a6fa..da94d83c5 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{2011.06.16 12:50} +\newcontextversion{2011.06.16 18:20} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new @@ -428,8 +428,7 @@ \def\dostartgridcorrection[#1]% {\ifgridsnapping - \iffirstargument\doifsomething{#1}{\moveongrid[#1]}\fi - \snaptogrid\vbox\bgroup + \snaptogrid[#1]\vbox\bgroup \else \startbaselinecorrection \fi} diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 674f1e702..b7d45a1cc 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.06.16 12:50} +\edef\contextversion{2011.06.16 18:20} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index f5c4c4c90..03e362fd0 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.06.16 12:50} +\edef\contextversion{2011.06.16 18:20} %D For those who want to use this: diff --git a/tex/context/base/export-example.rng b/tex/context/base/export-example.rng new file mode 100644 index 000000000..6e6c03c29 --- /dev/null +++ b/tex/context/base/export-example.rng @@ -0,0 +1,354 @@ +# author : Hans Hagen, PRAGMA-ADE, Hasselt NL +# copyright : PRAGMA ADE / ConTeXt Development Team +# license : see context related readme files +# comment : companion to context.mkiv + +# todo: check all content (not yet ok but a bit boring job) +# todo: add attributes +# +# validate with "rnv -c export-example.rng" + +namespace m = "http://www.w3.org/1998/Math/MathML" + +start = e_document + +# Because users can typeset anything the content is somewhat +# unpredictable so this is just an indication of what to expect. + +c_everything = + text + | c_inline + | e_verbatimblock + | e_lines + | e_itemgroup + | e_table + | e_tabulate + | e_register + | e_list + | e_section + | e_float + | e_formula + +c_inline = + text + | e_ignore + | e_metadata + | e_construct + | e_verbatim + | e_description + | e_sorting + | e_synonym + | e_image + | e_mpgraphic + | e_math + | e_sub + | e_sup + | e_subsup + | e_link + | e_margintext + | e_margintextblock + +# We pass some relevant information via attributes. The detail attribute +# is common and provides information about the class or environment used. + +a_detail = attribute detail { + text +} + +# The document element is the root of all. + +e_document = element document { + c_everything * +} + +e_ignore = element ignore { + c_everything * +} + +e_metadata = element metadata { + element metavariable { + attribute name { text } ? + , text + } * +} + +e_section = element section { + a_detail ? + | ( + element sectiontitle { + c_inline * + } + , element sectionnumber { + c_inline * + } * + , element sectioncontent { + c_everything * + } + ) +} + +e_paragraph = element paragraph { + c_inline * +} + +e_p = element p { + c_inline * +} + +e_break = element break { + empty +} + +e_construct = element construct { + c_everything* +} + +e_itemgroup = element itemgroup { + element item { + element itemtag { + c_inline * + } + } , + element itemcontent { + c_everything * + } +} + +e_description = element description { + element descriptiontag { + c_inline* + } , + element descriptioncontent { + c_inline* + } , + element descriptionsymbol { + c_inline* + } +} + +e_verbatimblock = element verbatimblock { + element verbatimlines { + element verbatimline { + text + } * + } * +} + +e_verbatim = element verbatim { + text +} + +e_lines = element lines { + element line { + text + } * +} + +e_synonym = element synonym { + text +} + +e_sorting = element sorting { + text +} + +e_register = element register { + element registersection { + element registertag { + text + } ? + , + element registerentries { + ( + element registerentry { + text + } | + element registersee { + text + } + ), + ( + element registerpages { + element registerpage { + text + } * + } | + element registerpage { + text + } | + element registerpagerange { + element registerpage { + text + } , + element registerpage { + text + } + } + ) + } ? + } * +} + +e_table = element table { + element tablerow { + element tablecell { + c_inline * + } * + } * +} + +e_tabulate = element tabulate { + element tabulaterow { + element tabulatecell { + c_inline * + } * + } * +} + +e_list = element list { + element listitem { + element listtag { + text + } ? , + element listcontent { + text + } ? , + element listdata { + text + } ? , + element listpage { + text + } ? + } +} + +e_delimitedblock = element delimitedblock { + c_everything* +} + +e_delimited = element delimited { + c_inline +} + +e_subsentence = element subsentence { + c_inline +} + +e_float = element float { + element floatcaption { + element floatlabel { + text + } , + element floatnumber { + text + } , + element floattext { + c_inline + } + } , + element floatcontent { + c_inline + } +} + +e_image = element image { + empty +} + +e_mpgraphic = element mpgraphic { + empty +} + +e_formula = element formula { + element subformula { + element formulacontent { + e_math* + } + } , + element formulaset { + element formulacontent { + e_math* + } + } , + element formulacaption { + element formulalabel { + text + } , + element formulanumber { + text + } + } , + element formulacontent { + e_math* + } +} + +e_link = element link { + c_inline +} + +e_margintextblock = element margintextblock { + c_inline +} + +e_margintext = element margintext { + c_inline +} + +e_quantity = element quantity { + element unit { + text + } , + element number { + text + } +} + +e_unit = element unit { + text | + e_math +} + +e_sub = element sub { + c_inline +} + +e_sup = element sup { + c_inline +} + +e_subsup = element subsup { + c_inline, + c_inline +} + +# There are enough mathml dtd's out there so this is just a +# simplified placeholder. + +e_math_basics = + element m:mn | m:mi | m:mo | m:ms | m:merror | m:mtext { + text + } | + element m:mrow | m:msub | m:msup | m:msqrt | m:mfenced | m:maction { + e_math_basics * + } | + element m:msubsup | m:munder | m:mover | m:mfrac | m:mroot { + e_math_basics, + e_math_basics + } | + element m:munderover { + e_math_basics, + e_math_basics, + e_math_basics + } | + element m:mtable { + element m:mtr { + element m:mtd { + e_math_basics * + } * + } * + } + +e_math = element m:math { + e_math_basics * +} diff --git a/tex/context/base/l-lpeg.lua b/tex/context/base/l-lpeg.lua index 9e59194e8..f7e8ad7b1 100644 --- a/tex/context/base/l-lpeg.lua +++ b/tex/context/base/l-lpeg.lua @@ -186,6 +186,13 @@ end lpeg.splitat = splitat lpeg.tsplitat = tsplitat +function string.splitup(str,separator) + if not separator then + separator = "," + end + return match(splitters_m[separator] or splitat(separator),str) +end + --~ local p = splitat("->",false) print(match(p,"oeps->what->more")) -- oeps what more --~ local p = splitat("->",true) print(match(p,"oeps->what->more")) -- oeps what->more --~ local p = splitat("->",false) print(match(p,"oeps")) -- oeps diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv index 09f5e5836..77c014228 100644 --- a/tex/context/base/spac-ver.mkiv +++ b/tex/context/base/spac-ver.mkiv @@ -1342,7 +1342,7 @@ \def\moveongrid {\dosingleempty\domoveongrid} \unexpanded\def\placeongrid{\dosingleempty\doplaceongrid} -\def\dodomoveongrid[#1]% +\def\domoveongrid[#1]% {} % gone, unless we set an attribute \def\doplaceongrid[#1]% diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 41307afde..c5b13be19 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 465b798c1..e430fe95f 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/sample/mill.png b/tex/context/sample/mill.png index faff477de..9a1bf14e8 100644 Binary files a/tex/context/sample/mill.png and b/tex/context/sample/mill.png differ diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index d2e14b55d..54ef6442e 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 06/16/11 12:50:49 +-- merge date : 06/16/11 18:20:55 do -- begin closure to overcome local limits and interference @@ -1261,6 +1261,13 @@ end lpeg.splitat = splitat lpeg.tsplitat = tsplitat +function string.splitup(str,separator) + if not separator then + separator = "," + end + return match(splitters_m[separator] or splitat(separator),str) +end + --~ local p = splitat("->",false) print(match(p,"oeps->what->more")) -- oeps what more --~ local p = splitat("->",true) print(match(p,"oeps->what->more")) -- oeps what->more --~ local p = splitat("->",false) print(match(p,"oeps")) -- oeps -- cgit v1.2.3