diff options
author | Hans Hagen <pragma@wxs.nl> | 2021-07-27 19:52:30 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2021-07-27 19:52:30 +0200 |
commit | df12f144a2cb09cec29a95df26bdfc5ccad58aff (patch) | |
tree | f25cb74e040f21e898e270c1299899b51b34bba7 /doc/context/sources | |
parent | c73351bc5e590d5a7ebd2b0f13f895a447d25794 (diff) | |
download | context-df12f144a2cb09cec29a95df26bdfc5ccad58aff.tar.gz |
2021-07-27 19:27:00
Diffstat (limited to 'doc/context/sources')
101 files changed, 901 insertions, 502 deletions
diff --git a/doc/context/sources/general/manuals/bidi/bidi-contents.tex b/doc/context/sources/general/manuals/bidi/bidi-contents.tex index 21c318dff..fd8334197 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-contents.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-contents.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-contents diff --git a/doc/context/sources/general/manuals/bidi/bidi-fonts.tex b/doc/context/sources/general/manuals/bidi/bidi-fonts.tex index bfedd8f47..e4b7944fc 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-fonts.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-fonts.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-fonts diff --git a/doc/context/sources/general/manuals/bidi/bidi-introduction.tex b/doc/context/sources/general/manuals/bidi/bidi-introduction.tex index 5ea0f9879..d20b5f69b 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-introduction.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-introduction.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-introduction diff --git a/doc/context/sources/general/manuals/bidi/bidi-lua.tex b/doc/context/sources/general/manuals/bidi/bidi-lua.tex index beb93b604..2c542dd1e 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-lua.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-lua.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-lua diff --git a/doc/context/sources/general/manuals/bidi/bidi-mixed.tex b/doc/context/sources/general/manuals/bidi/bidi-mixed.tex index 851d6d8b4..8faf7d913 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-mixed.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-mixed.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-mixed diff --git a/doc/context/sources/general/manuals/bidi/bidi-numbering.tex b/doc/context/sources/general/manuals/bidi/bidi-numbering.tex index c328d6a1a..ded26ba54 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-numbering.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-numbering.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-numbering diff --git a/doc/context/sources/general/manuals/bidi/bidi-style.tex b/doc/context/sources/general/manuals/bidi/bidi-style.tex index 1ce4e3b79..f61d940b7 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-style.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-style.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/bidi + \startenvironment bidi-style \usemodule[abr-04] diff --git a/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex b/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex index a80851aea..21d909916 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/bidi + \startcomponent bidi-titlepage \environment bidi-style diff --git a/doc/context/sources/general/manuals/bidi/bidi-vertical.tex b/doc/context/sources/general/manuals/bidi/bidi-vertical.tex index 824d7a033..900eac5a6 100644 --- a/doc/context/sources/general/manuals/bidi/bidi-vertical.tex +++ b/doc/context/sources/general/manuals/bidi/bidi-vertical.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/bidi \startcomponent bidi-vertical diff --git a/doc/context/sources/general/manuals/bidi/bidi.tex b/doc/context/sources/general/manuals/bidi/bidi.tex index c6fedacdf..7062731fa 100644 --- a/doc/context/sources/general/manuals/bidi/bidi.tex +++ b/doc/context/sources/general/manuals/bidi/bidi.tex @@ -1,6 +1,8 @@ -% Because we cross a threshold in the amount of content the sources -% have been split into components. This is typical a manual that -% grows. Feel free to send suggestions and improvements. +% language=us runpath=texruns:manuals/bidi + +% Because we cross a threshold in the amount of content the sources have been split +% into components. This is typical a manual that grows. Feel free to send suggestions +% and improvements. Future versions might include Idris' long due bidi onthology. \environment bidi-style diff --git a/doc/context/sources/general/manuals/cld/cld-abitoflua.tex b/doc/context/sources/general/manuals/cld/cld-abitoflua.tex index e61507929..54fc507ba 100644 --- a/doc/context/sources/general/manuals/cld/cld-abitoflua.tex +++ b/doc/context/sources/general/manuals/cld/cld-abitoflua.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-abitoflua diff --git a/doc/context/sources/general/manuals/cld/cld-afewdetails.tex b/doc/context/sources/general/manuals/cld/cld-afewdetails.tex index 6c0cf3afa..9c3221e75 100644 --- a/doc/context/sources/general/manuals/cld/cld-afewdetails.tex +++ b/doc/context/sources/general/manuals/cld/cld-afewdetails.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-afewdetails @@ -342,7 +342,7 @@ The \LUA\ code like similar to the code presented before: \startluacode local setcolor = nodes.tracers.colors.setlist local getmarker = nodes.markers.get -local hlist_code = nodes.codes.hlist +local hlist_code = nodes.nodecodes.hlist local traverse_id = node.traverse_id function userdata.processmystuff(head) diff --git a/doc/context/sources/general/manuals/cld/cld-backendcode.tex b/doc/context/sources/general/manuals/cld/cld-backendcode.tex index 9c1284baa..4305d7114 100644 --- a/doc/context/sources/general/manuals/cld/cld-backendcode.tex +++ b/doc/context/sources/general/manuals/cld/cld-backendcode.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-backendcode diff --git a/doc/context/sources/general/manuals/cld/cld-callbacks.tex b/doc/context/sources/general/manuals/cld/cld-callbacks.tex index c449af864..3178caa4b 100644 --- a/doc/context/sources/general/manuals/cld/cld-callbacks.tex +++ b/doc/context/sources/general/manuals/cld/cld-callbacks.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-callbacks diff --git a/doc/context/sources/general/manuals/cld/cld-contents.tex b/doc/context/sources/general/manuals/cld/cld-contents.tex index 132da7dff..009c0e66e 100644 --- a/doc/context/sources/general/manuals/cld/cld-contents.tex +++ b/doc/context/sources/general/manuals/cld/cld-contents.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/cld + \startcomponent cld-contents \environment cld-environment diff --git a/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex b/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex index 11600b847..a08277ae9 100644 --- a/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex +++ b/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-ctxfunctions diff --git a/doc/context/sources/general/manuals/cld/cld-environment.tex b/doc/context/sources/general/manuals/cld/cld-environment.tex index 1355110bd..f0d73677b 100644 --- a/doc/context/sources/general/manuals/cld/cld-environment.tex +++ b/doc/context/sources/general/manuals/cld/cld-environment.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startenvironment cld-environment @@ -221,4 +221,27 @@ [chapter,section] [interaction=all] +% a hack: + +\startluacode + function document.checkcldresource(filename) + if environment.arguments.runpath then + -- We're running elsewhere so we can have started fresh. + local cldname = file.replacesuffix(filename,"cld") + local pdfname = file.replacesuffix(filename,"pdf") + if not lfs.isfile(pdfname) then + -- We don't have the titlepage yet but need to fetch + -- the template from the real path. + local path = environment.arguments.path + if lfs.isdir(path) then + os.execute('context --global --path="' .. path .. '" ' .. cldname) + else + -- bad news + end + end + end + end +\stopluacode + + \stopenvironment diff --git a/doc/context/sources/general/manuals/cld/cld-files.tex b/doc/context/sources/general/manuals/cld/cld-files.tex index 38a7322b1..c2abf1bdf 100644 --- a/doc/context/sources/general/manuals/cld/cld-files.tex +++ b/doc/context/sources/general/manuals/cld/cld-files.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-macros diff --git a/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex b/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex index 5c7e1c263..5b1911897 100644 --- a/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex +++ b/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-gettingstarted diff --git a/doc/context/sources/general/manuals/cld/cld-goodies.tex b/doc/context/sources/general/manuals/cld/cld-goodies.tex index d5b4b5c9c..a902fa0e5 100644 --- a/doc/context/sources/general/manuals/cld/cld-goodies.tex +++ b/doc/context/sources/general/manuals/cld/cld-goodies.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-macros diff --git a/doc/context/sources/general/manuals/cld/cld-graphics.tex b/doc/context/sources/general/manuals/cld/cld-graphics.tex index 93ab80c2c..f734a4a03 100644 --- a/doc/context/sources/general/manuals/cld/cld-graphics.tex +++ b/doc/context/sources/general/manuals/cld/cld-graphics.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-graphics diff --git a/doc/context/sources/general/manuals/cld/cld-introduction.tex b/doc/context/sources/general/manuals/cld/cld-introduction.tex index a1a74cde4..47c2789a7 100644 --- a/doc/context/sources/general/manuals/cld/cld-introduction.tex +++ b/doc/context/sources/general/manuals/cld/cld-introduction.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-introduction diff --git a/doc/context/sources/general/manuals/cld/cld-logging.tex b/doc/context/sources/general/manuals/cld/cld-logging.tex index cbb904a69..46d622f8b 100644 --- a/doc/context/sources/general/manuals/cld/cld-logging.tex +++ b/doc/context/sources/general/manuals/cld/cld-logging.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld % maybe this will become a section instead diff --git a/doc/context/sources/general/manuals/cld/cld-luafunctions.tex b/doc/context/sources/general/manuals/cld/cld-luafunctions.tex index c48b852fb..0b2bcb3da 100644 --- a/doc/context/sources/general/manuals/cld/cld-luafunctions.tex +++ b/doc/context/sources/general/manuals/cld/cld-luafunctions.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld % table.unnest : only used in special cases % table.derive : set metatable if unset diff --git a/doc/context/sources/general/manuals/cld/cld-macros.tex b/doc/context/sources/general/manuals/cld/cld-macros.tex index 7b6f578e7..de6b2a8d3 100644 --- a/doc/context/sources/general/manuals/cld/cld-macros.tex +++ b/doc/context/sources/general/manuals/cld/cld-macros.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-macros diff --git a/doc/context/sources/general/manuals/cld/cld-mkiv.tex b/doc/context/sources/general/manuals/cld/cld-mkiv.tex index 9267732fa..6687c8444 100644 --- a/doc/context/sources/general/manuals/cld/cld-mkiv.tex +++ b/doc/context/sources/general/manuals/cld/cld-mkiv.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team diff --git a/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex b/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex index da3d6fe46..b8f97938d 100644 --- a/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex +++ b/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-moreonfunctions diff --git a/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex b/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex index fcc0aa26b..950e394c7 100644 --- a/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex +++ b/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-nicetoknow diff --git a/doc/context/sources/general/manuals/cld/cld-scanners.tex b/doc/context/sources/general/manuals/cld/cld-scanners.tex index 3bf5f658d..9fa816777 100644 --- a/doc/context/sources/general/manuals/cld/cld-scanners.tex +++ b/doc/context/sources/general/manuals/cld/cld-scanners.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-ctxscanners @@ -41,6 +41,7 @@ Of course in practice the \type {actions} will be more complex. interfaces.implement { name = "MyMacroA", public = true, + permanent = false, arguments = "string", actions = function(s) context("(%s)",s) @@ -84,14 +85,19 @@ The meaning of \type {\temp} is: We can also define the macro to be protected (\type {\unexpanded}) in \CONTEXT\ speak). We can overload existing scanners but unless we specify the \type -{overload} option, we get a warning on the console. +{overload} option, we get a warning on the console. However, in \LMTX\ there is +catch. Implementers by default define macros as permanent unless one explicitly +disables this so this is why in the previous definition we have done so. The +overload flag below only makes sense in special cases, when for instance format +file is made. (Of course overload protection only kicks in when it has been +enabled.) \startbuffer[definition] \startluacode interfaces.implement { name = "MyMacroA", public = true, --- overload = true, + -- overload = true, protected = true, arguments = "string", actions = function(s) @@ -407,14 +413,14 @@ that doesn't expand. Take this: \typebuffer[definition] \getbuffer[definition] -Now take this input: +Now take this input: % we use \C* because \c is already defined \startbuffer[usage] -\def\a{A} \def\b{B} \def\c{C} +\def\Ca{A} \def\Cb{B} \def\Cc{C} \MyMacroH{a}{b}{c} -\MyMacroH{a\a}{b\b}{c\c} -\MyMacroH\a\b\c\relax -\MyMacroH\a xx\relax +\MyMacroH{a\Ca}{b\Cb}{c\Cc} +\MyMacroH\Ca\Cb\Cc\relax +\MyMacroH\Ca xx\relax \stopbuffer \typebuffer[usage] diff --git a/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex b/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex index a282be4e9..69aeaa7aa 100644 --- a/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex +++ b/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-somemoreexamples @@ -332,6 +332,8 @@ context.starttext() context.stoptext() \stoptyping +\ctxlua{document.checkcldresource("cld-005.cld")} + \placefigure [here] [fig:lorien] @@ -627,7 +629,7 @@ example: \startbuffer \defineframed - [colored] + [coloredframed] [foregroundcolor=red, foregroundstyle=\underbar, offset=.1ex, @@ -637,7 +639,7 @@ example: \typebuffer \getbuffer \startbuffer -\processisolatedwords {\input ward \relax} \colored +\processisolatedwords {\input ward \relax} \coloredframed \stopbuffer \typebuffer \blank \getbuffer \blank @@ -661,7 +663,7 @@ local function process(data) else context.space() end - context.colored(words[i]) + context.coloredframed(words[i]) end end @@ -693,7 +695,7 @@ local function apply(s) done = true context.dontleavehmode() end - context.colored(s) + context.coloredframed(s) end local splitter = lpeg.P(reset) @@ -709,7 +711,7 @@ next one is comaprable: \starttyping local function apply(s) - context.colored("%s ",s) + context.coloredframed("%s ",s) end local splitter lpeg.splitter(lpeg.patterns.spacer,apply) diff --git a/doc/context/sources/general/manuals/cld/cld-specialcommands.tex b/doc/context/sources/general/manuals/cld/cld-specialcommands.tex index 510c820f9..158bf4272 100644 --- a/doc/context/sources/general/manuals/cld/cld-specialcommands.tex +++ b/doc/context/sources/general/manuals/cld/cld-specialcommands.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-specialcommands diff --git a/doc/context/sources/general/manuals/cld/cld-summary.tex b/doc/context/sources/general/manuals/cld/cld-summary.tex index 2b62597fa..087bf74ba 100644 --- a/doc/context/sources/general/manuals/cld/cld-summary.tex +++ b/doc/context/sources/general/manuals/cld/cld-summary.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-summary diff --git a/doc/context/sources/general/manuals/cld/cld-titlepage.tex b/doc/context/sources/general/manuals/cld/cld-titlepage.tex index 926a98952..da315d6de 100644 --- a/doc/context/sources/general/manuals/cld/cld-titlepage.tex +++ b/doc/context/sources/general/manuals/cld/cld-titlepage.tex @@ -1,12 +1,22 @@ +% language=us runpath=texruns:manuals/cld + \startcomponent cld-titlepage \environment cld-environment -% \cldprocessfile{cld-mkiv-titlepage.cld} +\iffalse + + \cldprocessfile{cld-mkiv-titlepage.cld} % kind of slow each time + +\else + + \ctxlua{document.checkcldresource("cld-mkiv-titlepage.cld")} + + \startTEXpage + \externalfigure[cld-mkiv-titlepage.pdf]% + \stopTEXpage -\startTEXpage - \externalfigure[cld-mkiv-titlepage.pdf]% -\stopTEXpage % faster during writing +\fi \startstandardmakeup[doublesided=no,page=no] \stopstandardmakeup diff --git a/doc/context/sources/general/manuals/cld/cld-variables.tex b/doc/context/sources/general/manuals/cld/cld-variables.tex index c9afbd44c..b6301cb83 100644 --- a/doc/context/sources/general/manuals/cld/cld-variables.tex +++ b/doc/context/sources/general/manuals/cld/cld-variables.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-variables @@ -156,8 +156,9 @@ variables. However, there are also primitives that deal with these data values: \startbuffer[usage] \setdatavalue{my-data}{12345}% -\letdatacode \MyData 67890 -\thedatavalue{my-data} \the\MyData +\integerdef \MyDataI 67890 +\dimensiondef \MyDataD 12345pt +\thedatavalue{my-data}, \the\MyDataI, \the\MyDataD. \stopbuffer \typebuffer[usage] diff --git a/doc/context/sources/general/manuals/cld/cld-verbatim.tex b/doc/context/sources/general/manuals/cld/cld-verbatim.tex index 2007f7d73..10cb3611d 100644 --- a/doc/context/sources/general/manuals/cld/cld-verbatim.tex +++ b/doc/context/sources/general/manuals/cld/cld-verbatim.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/cld \startcomponent cld-verbatim diff --git a/doc/context/sources/general/manuals/colors/colors-basics.tex b/doc/context/sources/general/manuals/colors/colors-basics.tex index 3832501c5..deffa00c0 100644 --- a/doc/context/sources/general/manuals/colors/colors-basics.tex +++ b/doc/context/sources/general/manuals/colors/colors-basics.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/colors \startcomponent colors-basics @@ -897,7 +897,7 @@ are easier to deal with and therefore in \MKIV\ we have a trick to make sure the outer color gets applied to the box: \startbuffer[enable] -\enabledirectives +\enabledirectives % only mkiv [attributes.inheritance] \stopbuffer @@ -908,7 +908,7 @@ default {\bf \darkyellow yellow {\attributedbox0} yellow} default \typebuffer So, we get: \start\inlinebuffer[box]\inlinebuffer[enable]\space\inlinebuffer -\stop, but only after we have enabled this mechanisms explicitly: +\stop. In \MKIV\ you need to enable inheritance first with: \typebuffer[enable] @@ -938,6 +938,12 @@ because contrary to \MKII\ colors don't interfere (no extra nodes). We could hav flushed the framed content using \type {\attributedbox}, but we don't want to enable inheritance by default because it comes with some overhead. +{\em The \type {\attributedbox} command is considered obsolete. In \LMTX\ there +is a \type {\recolorbox} command that recolors a box. Because these commands are +probably never needed it made more sense to move the burden to a specific command +than to add additional overhead to the whole color mechanism. My experience is +that unboxing and copying is very rare in \CONTEXT.} + \stopsection \startsection[title=Color intents] diff --git a/doc/context/sources/general/manuals/colors/colors-environment.tex b/doc/context/sources/general/manuals/colors/colors-environment.tex index 99f625854..972bd6228 100644 --- a/doc/context/sources/general/manuals/colors/colors-environment.tex +++ b/doc/context/sources/general/manuals/colors/colors-environment.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/colors + \startenvironment colors-environment \environment manuals-explaining-environment diff --git a/doc/context/sources/general/manuals/colors/colors-graphics.tex b/doc/context/sources/general/manuals/colors/colors-graphics.tex index 4c8fb5270..c438a4630 100644 --- a/doc/context/sources/general/manuals/colors/colors-graphics.tex +++ b/doc/context/sources/general/manuals/colors/colors-graphics.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/colors \startcomponent colors-basics diff --git a/doc/context/sources/general/manuals/colors/colors-introduction.tex b/doc/context/sources/general/manuals/colors/colors-introduction.tex index ba1db9915..16544cb06 100644 --- a/doc/context/sources/general/manuals/colors/colors-introduction.tex +++ b/doc/context/sources/general/manuals/colors/colors-introduction.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/colors \startcomponent colors-introduction diff --git a/doc/context/sources/general/manuals/colors/colors-metafun.tex b/doc/context/sources/general/manuals/colors/colors-metafun.tex index 82514659b..1ccba0032 100644 --- a/doc/context/sources/general/manuals/colors/colors-metafun.tex +++ b/doc/context/sources/general/manuals/colors/colors-metafun.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/colors \startcomponent colors-basics diff --git a/doc/context/sources/general/manuals/colors/colors-mkiv.tex b/doc/context/sources/general/manuals/colors/colors-mkiv.tex index a39ff0f37..4bfe24a84 100644 --- a/doc/context/sources/general/manuals/colors/colors-mkiv.tex +++ b/doc/context/sources/general/manuals/colors/colors-mkiv.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/colors + % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team % license : Creative Commons Attribution ShareAlike 4.0 International diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-205.tex b/doc/context/sources/general/manuals/columnsets/columnsets-205.tex index b53709770..ba4287967 100644 --- a/doc/context/sources/general/manuals/columnsets/columnsets-205.tex +++ b/doc/context/sources/general/manuals/columnsets/columnsets-205.tex @@ -6,7 +6,11 @@ \environment columnsets-000 -\unprotected \def\SpreadGapText#1#2{{\def\+{\blackrule[\c!width=#1]}#2}} +\unprotect + +\def\SpreadGapText#1#2{{\def\+{\blackrule[\c!width=#1]}#2}} + +\protect \definecolumnset[example][n=4,page=left] diff --git a/doc/context/sources/general/manuals/followingup/followingup-expressions.tex b/doc/context/sources/general/manuals/followingup/followingup-expressions.tex index f5bce052c..321496c97 100644 --- a/doc/context/sources/general/manuals/followingup/followingup-expressions.tex +++ b/doc/context/sources/general/manuals/followingup/followingup-expressions.tex @@ -196,6 +196,30 @@ The normal expansion rules apply, so one can use macros and other symbolic numbers. The only difference in handling dimensions is that we don't support \type {true} units but these are obsolete in \LUAMETATEX\ anyway. +In the end I decided to also add an extra conditional so that we can say: + +\starttyping +\ifexpression (\scratchcounterone > 5) and (\scratchcountertwo > 5)\relax + nop +\else + yes +\fi +\stoptyping + +which looks more natural. Actually, this is an nowadays alias because we have two +variants: + +\starttyping +\ifnumexpression ... \relax ... \else ... \fi +\ifdimexpression ... \relax ... \else ... \fi +\stoptyping + +where the later is equivalent to + +\starttyping +\ifboolean\dimexpression ... \relax ... \else ... \fi +\stoptyping + \stopsection \startsection[title={Tracing}] diff --git a/doc/context/sources/general/manuals/followingup/followingup-fonts.tex b/doc/context/sources/general/manuals/followingup/followingup-fonts.tex index fbf0158cb..a4a16878f 100644 --- a/doc/context/sources/general/manuals/followingup/followingup-fonts.tex +++ b/doc/context/sources/general/manuals/followingup/followingup-fonts.tex @@ -614,7 +614,6 @@ dimensions of a glyph. {\getbuffer} - \stopsection \startsection[title={Implementation}] @@ -653,51 +652,6 @@ enable, or not. \stopcomponent -% sample file - -\setuplayout[topspace=1cm,header=1cm] \setuplayout[middle] - -\setupbodyfont[pagella,10pt] - -\setupalign[verytolerant,stretch] - -\setupwhitespace[big] - -\starttext - -\startbuffer -\definetweakedfont[bfe][xscale=2000,yscale=6000,style=bf] - -\setuphead[chapter][style=\bfe] - -\dostepwiserecurse {10} {2020} {10} { - \title{Here we go #1!} - \start - \glyphxscale#1\relax - \glyphyscale#1\relax - \setupinterlinespace - \samplefile{ward}% - \start - \bf - \samplefile{ward}% - \glyphxscale\numexpr(#1*2)/3\relax - \glyphyscale#1\relax - \samplefile{ward}% - \par - \stop - \def\TEST{y = \sqrt{x^2 + 1}^3}% - \dontleavehmode - \ruledhbox{\glyphxscale #1 \glyphyscale #1 $\left{\TEST\right}$} - \ruledhbox{\glyphxscale #1 \glyphyscale \numexpr#1*3\relax $\left{\TEST\right}$} - \ruledhbox{\glyphxscale \numexpr#1/2\relax \glyphyscale \numexpr#1*2\relax $\left{\TEST\right}$} - \par - \stop - \page -} -\stopbuffer - -\getbuffer - % As often there is a musical timestamp to this text: discovering Julia Hofer % (bass, came there via checking out (of course) Leland Sklar, and now i have to % watch a bunch of Victor Wooten videos too) and Neon Vine's (play and combine diff --git a/doc/context/sources/general/manuals/followingup/followingup.tex b/doc/context/sources/general/manuals/followingup/followingup.tex index 6d7c63bf6..353b3ddd8 100644 --- a/doc/context/sources/general/manuals/followingup/followingup.tex +++ b/doc/context/sources/general/manuals/followingup/followingup.tex @@ -4,6 +4,8 @@ \dontcomplain +% \enableexperiments[fonts.compact] + \startdocument \component followingup-titlepage diff --git a/doc/context/sources/general/manuals/languages/languages-appendix.tex b/doc/context/sources/general/manuals/languages/languages-appendix.tex index d8f33e44a..f47536894 100644 --- a/doc/context/sources/general/manuals/languages/languages-appendix.tex +++ b/doc/context/sources/general/manuals/languages/languages-appendix.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages \startcomponent languages-appendix diff --git a/doc/context/sources/general/manuals/languages/languages-basics.tex b/doc/context/sources/general/manuals/languages/languages-basics.tex index 840897096..f99dcb5f0 100644 --- a/doc/context/sources/general/manuals/languages/languages-basics.tex +++ b/doc/context/sources/general/manuals/languages/languages-basics.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages \startcomponent languages-basics diff --git a/doc/context/sources/general/manuals/languages/languages-environment.tex b/doc/context/sources/general/manuals/languages/languages-environment.tex index 2669fe0c5..31eac81cc 100644 --- a/doc/context/sources/general/manuals/languages/languages-environment.tex +++ b/doc/context/sources/general/manuals/languages/languages-environment.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/languages + \startenvironment languages-environment \environment manuals-explaining-environment diff --git a/doc/context/sources/general/manuals/languages/languages-hyphenation.tex b/doc/context/sources/general/manuals/languages/languages-hyphenation.tex index 96271d1aa..b9131d905 100644 --- a/doc/context/sources/general/manuals/languages/languages-hyphenation.tex +++ b/doc/context/sources/general/manuals/languages/languages-hyphenation.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages \startcomponent languages-hyphenation diff --git a/doc/context/sources/general/manuals/languages/languages-introduction.tex b/doc/context/sources/general/manuals/languages/languages-introduction.tex index 25bbb1a90..354f638ac 100644 --- a/doc/context/sources/general/manuals/languages/languages-introduction.tex +++ b/doc/context/sources/general/manuals/languages/languages-introduction.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages \startcomponent languages-introduction diff --git a/doc/context/sources/general/manuals/languages/languages-labels.tex b/doc/context/sources/general/manuals/languages/languages-labels.tex index 6c806ab1c..58b01852d 100644 --- a/doc/context/sources/general/manuals/languages/languages-labels.tex +++ b/doc/context/sources/general/manuals/languages/languages-labels.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages \startcomponent languages-labels diff --git a/doc/context/sources/general/manuals/languages/languages-mkiv.tex b/doc/context/sources/general/manuals/languages/languages-mkiv.tex index 4bfaa9c0b..b0d741250 100644 --- a/doc/context/sources/general/manuals/languages/languages-mkiv.tex +++ b/doc/context/sources/general/manuals/languages/languages-mkiv.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team diff --git a/doc/context/sources/general/manuals/languages/languages-sorting.tex b/doc/context/sources/general/manuals/languages/languages-sorting.tex index 956866e5d..9e9bde8b6 100644 --- a/doc/context/sources/general/manuals/languages/languages-sorting.tex +++ b/doc/context/sources/general/manuals/languages/languages-sorting.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/languages \startcomponent languages-sorting @@ -292,8 +292,6 @@ which gives: \getbuffer -\stoptext - \stopsection \stopchapter diff --git a/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex b/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex index 7a8bcd535..6c6109e8b 100644 --- a/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex +++ b/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/libraries % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team diff --git a/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex b/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex index 07caca83c..10f1616a6 100644 --- a/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex +++ b/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/libraries % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team diff --git a/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex b/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex index 19cf6bfb6..14c2e22a4 100644 --- a/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex +++ b/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex @@ -219,42 +219,42 @@ longer interferes with the line break algorithm. The magic primitive is \type \starttabulate[|l|l|r|] \BC variable \BC category \BC code \NC \NR -\NC \type {\hsize} \NC hsize \NC 0x\uchexnumbers\frozenhsizecode \NC \NR -\NC \type {\leftskip} \NC skip \NC 0x\uchexnumbers\frozenskipcode \NC \NR -\NC \type {\rightskip} \NC skip \NC 0x\uchexnumbers\frozenskipcode \NC \NR -\NC \type {\hangindent} \NC hang \NC 0x\uchexnumbers\frozenhangcode \NC \NR -\NC \type {\hangafter} \NC hang \NC 0x\uchexnumbers\frozenhangcode \NC \NR -\NC \type {\parindent} \NC indent \NC 0x\uchexnumbers\frozenindentcode \NC \NR -\NC \type {\parfillleftskip} \NC par fill \NC 0x\uchexnumbers\frozenparfillcode \NC \NR -\NC \type {\parfillrightskip} \NC par fill \NC 0x\uchexnumbers\frozenparfillcode \NC \NR -\NC \type {\adjustspacing} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR -\NC \type {\adjustspacingstep} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR -\NC \type {\adjustspacingshrink} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR -\NC \type {\adjustspacingstretch} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR -\NC \type {\protrudechars} \NC protrude \NC 0x\uchexnumbers\frozenprotrudecode \NC \NR -\NC \type {\pretolerance} \NC tolerance \NC 0x\uchexnumbers\frozentolerancecode \NC \NR -\NC \type {\tolerance} \NC tolerance \NC 0x\uchexnumbers\frozentolerancecode \NC \NR -\NC \type {\emergencystretch} \NC stretch \NC 0x\uchexnumbers\frozenstretchcode \NC \NR -\NC \type {\looseness} \NC looseness \NC 0x\uchexnumbers\frozenloosenesscode \NC \NR -\NC \type {\lastlinefit} \NC last line \NC 0x\uchexnumbers\frozenlastlinecode \NC \NR -\NC \type {\linepenalty} \NC line penalty \NC 0x\uchexnumbers\frozenlinepenaltycode \NC \NR -\NC \type {\interlinepenalty} \NC line penalty \NC 0x\uchexnumbers\frozenlinepenaltycode \NC \NR -\NC \type {\interlinepenalties} \NC line penalty \NC 0x\uchexnumbers\frozenlinepenaltycode \NC \NR -\NC \type {\clubpenalty} \NC club penalty \NC 0x\uchexnumbers\frozenclubpenaltycode \NC \NR -\NC \type {\clubpenalties} \NC club penalty \NC 0x\uchexnumbers\frozenclubpenaltycode \NC \NR -\NC \type {\widowpenalty} \NC widow penalty \NC 0x\uchexnumbers\frozenwidowpenaltycode \NC \NR -\NC \type {\widowpenalties} \NC widow penalty \NC 0x\uchexnumbers\frozenwidowpenaltycode \NC \NR -\NC \type {\displaywidowpenalty} \NC display penalty \NC 0x\uchexnumbers\frozendisplaypenaltycode \NC \NR -\NC \type {\displaywidowpenalties} \NC display penalty \NC 0x\uchexnumbers\frozendisplaypenaltycode \NC \NR -\NC \type {\brokenpenalty} \NC broken penalty \NC 0x\uchexnumbers\frozenbrokenpenaltycode \NC \NR -\NC \type {\adjdemerits} \NC demerits \NC 0x\uchexnumbers\frozendemeritscode \NC \NR -\NC \type {\doublehyphendemerits} \NC demerits \NC 0x\uchexnumbers\frozendemeritscode \NC \NR -\NC \type {\finalhyphendemerits} \NC demerits \NC 0x\uchexnumbers\frozendemeritscode \NC \NR -\NC \type {\parshape} \NC shape \NC 0x\uchexnumbers\frozenshapecode \NC \NR -\NC \type {\baselineskip} \NC line \NC 0x\uchexnumbers\frozenlinecode \NC \NR -\NC \type {\lineskip} \NC line \NC 0x\uchexnumbers\frozenlinecode \NC \NR -\NC \type {\lineskiplimit} \NC line \NC 0x\uchexnumbers\frozenlinecode \NC \NR -\NC \type {\hyphenationmode} \NC hyphenation \NC 0x\uchexnumbers\frozenhyphenationcode \NC \NR +\NC \type {\hsize} \NC hsize \NC 0x\uchexnumbers\hsizefrozenparcode \NC \NR +\NC \type {\leftskip} \NC skip \NC 0x\uchexnumbers\skipfrozenparcode \NC \NR +\NC \type {\rightskip} \NC skip \NC 0x\uchexnumbers\skipfrozenparcode \NC \NR +\NC \type {\hangindent} \NC hang \NC 0x\uchexnumbers\hangfrozenparcode \NC \NR +\NC \type {\hangafter} \NC hang \NC 0x\uchexnumbers\hangfrozenparcode \NC \NR +\NC \type {\parindent} \NC indent \NC 0x\uchexnumbers\indentfrozenparcode \NC \NR +\NC \type {\parfillleftskip} \NC par fill \NC 0x\uchexnumbers\parfillfrozenparcode \NC \NR +\NC \type {\parfillrightskip} \NC par fill \NC 0x\uchexnumbers\parfillfrozenparcode \NC \NR +\NC \type {\adjustspacing} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR +\NC \type {\adjustspacingstep} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR +\NC \type {\adjustspacingshrink} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR +\NC \type {\adjustspacingstretch} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR +\NC \type {\protrudechars} \NC protrude \NC 0x\uchexnumbers\protrudefrozenparcode \NC \NR +\NC \type {\pretolerance} \NC tolerance \NC 0x\uchexnumbers\tolerancefrozenparcode \NC \NR +\NC \type {\tolerance} \NC tolerance \NC 0x\uchexnumbers\tolerancefrozenparcode \NC \NR +\NC \type {\emergencystretch} \NC stretch \NC 0x\uchexnumbers\stretchfrozenparcode \NC \NR +\NC \type {\looseness} \NC looseness \NC 0x\uchexnumbers\loosenessfrozenparcode \NC \NR +\NC \type {\lastlinefit} \NC last line \NC 0x\uchexnumbers\lastlinefrozenparcode \NC \NR +\NC \type {\linepenalty} \NC line penalty \NC 0x\uchexnumbers\linepenaltyfrozenparcode \NC \NR +\NC \type {\interlinepenalty} \NC line penalty \NC 0x\uchexnumbers\linepenaltyfrozenparcode \NC \NR +\NC \type {\interlinepenalties} \NC line penalty \NC 0x\uchexnumbers\linepenaltyfrozenparcode \NC \NR +\NC \type {\clubpenalty} \NC club penalty \NC 0x\uchexnumbers\clubpenaltyfrozenparcode \NC \NR +\NC \type {\clubpenalties} \NC club penalty \NC 0x\uchexnumbers\clubpenaltyfrozenparcode \NC \NR +\NC \type {\widowpenalty} \NC widow penalty \NC 0x\uchexnumbers\widowpenaltyfrozenparcode \NC \NR +\NC \type {\widowpenalties} \NC widow penalty \NC 0x\uchexnumbers\widowpenaltyfrozenparcode \NC \NR +\NC \type {\displaywidowpenalty} \NC display penalty \NC 0x\uchexnumbers\displaypenaltyfrozenparcode \NC \NR +\NC \type {\displaywidowpenalties} \NC display penalty \NC 0x\uchexnumbers\displaypenaltyfrozenparcode \NC \NR +\NC \type {\brokenpenalty} \NC broken penalty \NC 0x\uchexnumbers\brokenpenaltyfrozenparcode \NC \NR +\NC \type {\adjdemerits} \NC demerits \NC 0x\uchexnumbers\demeritsfrozenparcode \NC \NR +\NC \type {\doublehyphendemerits} \NC demerits \NC 0x\uchexnumbers\demeritsfrozenparcode \NC \NR +\NC \type {\finalhyphendemerits} \NC demerits \NC 0x\uchexnumbers\demeritsfrozenparcode \NC \NR +\NC \type {\parshape} \NC shape \NC 0x\uchexnumbers\shapefrozenparcode \NC \NR +\NC \type {\baselineskip} \NC line \NC 0x\uchexnumbers\linefrozenparcode \NC \NR +\NC \type {\lineskip} \NC line \NC 0x\uchexnumbers\linefrozenparcode \NC \NR +\NC \type {\lineskiplimit} \NC line \NC 0x\uchexnumbers\linefrozenparcode \NC \NR +\NC \type {\hyphenationmode} \NC hyphenation \NC 0x\uchexnumbers\hyphenationfrozenparcode \NC \NR \stoptabulate @@ -1001,10 +1001,10 @@ examples are visualized in \in {figure} [fig:flow]. % \starttext % \tracingoutput1 \tracingonline1 -% \pretolerance9000 test \pretolerance8000 test \par -% \pretolerance9000 test \pretolerance7000 \updateparagraphproperties test \par -% \pretolerance9000 test \pretolerance6000 \snapshotpar\frozentolerancecode test \par -% \pretolerance9000 test {\pretolerance5000 \snapshotpar\frozentolerancecode}test \par +% \pretolerance9000 test \pretolerance 8000 test \par +% \pretolerance9000 test \pretolerance 7000 \updateparagraphproperties test \par +% \pretolerance9000 test \pretolerance 6000 \snapshotpar\tolerancefrozenparcode test \par +% \pretolerance9000 test {\pretolerance5000 \snapshotpar\ntolerancefrozenparcode}test \par % \stoptext % \par[newgraf][16=1,17=1], .... pretolerance 9000, .... diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex b/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex index 236236abe..0d4066ee1 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex @@ -316,23 +316,23 @@ a bitset made from the following values, some of which we saw in the previous examples. \starttabulate[|l|p|] -\NC \number \normalhyphenationmodecode \NC honour (normal) \prm{discretionary}'s \NC \NR -\NC \number \automatichyphenationmodecode \NC turn \type {-} into (automatic) discretionaries \NC \NR -\NC \number \explicithyphenationmodecode \NC turn \type {\-} into (explicit) discretionaries \NC \NR -\NC \number \syllablehyphenationmodecode \NC hyphenate (syllable) according to language \NC \NR -\NC \number \uppercasehyphenationmodecode \NC hyphenate uppercase characters too (replaces \prm {uchyph} \NC \NR -\NC \number \compoundhyphenationmodecode \NC permit break at an explicit hyphen (border cases) \NC \NR -\NC \number \strictstarthyphenationmodecode \NC traditional \TEX\ compatibility wrt the start of a word \NC \NR -\NC \number \strictendhyphenationmodecode \NC traditional \TEX\ compatibility wrt the end of a word \NC \NR -\NC \number \automaticpenaltyhyphenationmodecode \NC use \lpr {automatichyphenpenalty} \NC \NR -\NC \number \explicitpenaltyhyphenationmodecode \NC use \lpr {explicithyphenpenalty} \NC \NR -\NC \number \permitgluehyphenationmodecode \NC turn glue in discretionaries into kerns \NC \NR -\NC \number \permitallhyphenationmodecode \NC okay, let's be even more tolerant in discretionaries \NC \NR -\NC \number \permitmathreplacehyphenationmodecode \NC and again we're more permissive \NC \NR -\NC \number \lazyligatureshyphenationmodecode \NC controls how successive explicit discretionaries are handled in base mode \NC \NR -\NC \number \forcecheckhyphenationmodecode \NC treat all discretionaries equal when breaking lines (in all three passes) \NC \NR -\NC \number \forcehandlerhyphenationmodecode \NC kick in the handler (experiment) \NC \NR -\NC \number \feedbackcompoundhyphenationmodecode \NC feedback compound snippets \NC \NR +\NC \number \normalhyphenationcode \NC honour (normal) \prm{discretionary}'s \NC \NR +\NC \number \automatichyphenationcode \NC turn \type {-} into (automatic) discretionaries \NC \NR +\NC \number \explicithyphenationcode \NC turn \type {\-} into (explicit) discretionaries \NC \NR +\NC \number \syllablehyphenationcode \NC hyphenate (syllable) according to language \NC \NR +\NC \number \uppercasehyphenationcode \NC hyphenate uppercase characters too (replaces \prm {uchyph} \NC \NR +\NC \number \compoundhyphenationcode \NC permit break at an explicit hyphen (border cases) \NC \NR +\NC \number \strictstarthyphenationcode \NC traditional \TEX\ compatibility wrt the start of a word \NC \NR +\NC \number \strictendhyphenationcode \NC traditional \TEX\ compatibility wrt the end of a word \NC \NR +\NC \number \automaticpenaltyhyphenationcode \NC use \lpr {automatichyphenpenalty} \NC \NR +\NC \number \explicitpenaltyhyphenationcode \NC use \lpr {explicithyphenpenalty} \NC \NR +\NC \number \permitgluehyphenationcode \NC turn glue in discretionaries into kerns \NC \NR +\NC \number \permitallhyphenationcode \NC okay, let's be even more tolerant in discretionaries \NC \NR +\NC \number \permitmathreplacehyphenationcode \NC and again we're more permissive \NC \NR +\NC \number \lazyligatureshyphenationcode \NC controls how successive explicit discretionaries are handled in base mode \NC \NR +\NC \number \forcecheckhyphenationcode \NC treat all discretionaries equal when breaking lines (in all three passes) \NC \NR +\NC \number \forcehandlerhyphenationcode \NC kick in the handler (experiment) \NC \NR +\NC \number \feedbackcompoundhyphenationcode \NC feedback compound snippets \NC \NR \stoptabulate Some of these options are still experimental, simply because not all aspects and @@ -452,8 +452,8 @@ have been added: \stoptyping The usage of these penalties is controlled by the \lpr {hyphenationmode} flags -\number\automaticpenaltyhyphenationmodecode\space and -\number\explicitpenaltyhyphenationmodecode\space and when these are not set \prm +\number\automaticpenaltyhyphenationcode\space and +\number\explicitpenaltyhyphenationcode\space and when these are not set \prm {exhyphenpenalty} is used. You can use the \lpr {tracinghyphenation} variable to get a bit more information @@ -734,7 +734,7 @@ In so called base mode, where \TEX\ does the work, the ligature construction \type {ff} ligatures and that one followed by an \type {i} can become a \type {ffi} ligature. The situation can be complicated by hyphenation points between these characters. When there are several in a ligature collapsing happens. Flag -{\tttf "\uchexnumbers {\lazyligatureshyphenationmodecode}} in the \lpr +{\tttf "\uchexnumbers {\lazyligatureshyphenationcode}} in the \lpr {hyphenationmode} variable determines if this happens lazy or greedy, i.e.\ the first hyphen wins or the last one does. In practice a \CONTEXT\ user won't have to deal with this because most fonts are processed in node mode. diff --git a/doc/context/sources/general/manuals/luatex/luatex-modifications.tex b/doc/context/sources/general/manuals/luatex/luatex-modifications.tex index 1ce628f5e..7cb14a18f 100644 --- a/doc/context/sources/general/manuals/luatex/luatex-modifications.tex +++ b/doc/context/sources/general/manuals/luatex/luatex-modifications.tex @@ -507,6 +507,14 @@ opened it up. \stopsubsection +\startsubsection[title=Changes from anywhere] + +The \tyep {\partokenname} and \type {\partokencontext} primitives are taken from +the \PDFTEX\ change file posted on the implementers list. They are explained in +the \PDFTEX\ manual and are classified as \ETEX\ extensions. + +\stopsubsection + \startsubsection[title=Changes from standard \WEBC] \topicindex {\WEBC} diff --git a/doc/context/sources/general/manuals/manuals-explaining-environment.tex b/doc/context/sources/general/manuals/manuals-explaining-environment.tex index f896c219b..dfe4d4e64 100644 --- a/doc/context/sources/general/manuals/manuals-explaining-environment.tex +++ b/doc/context/sources/general/manuals/manuals-explaining-environment.tex @@ -116,7 +116,7 @@ [chapter] [pagenumber=no, style=bold, - before={\blank\startcolor[\structurelistuservariable{color}]}, + before={\blank\startcolor[\rawstructurelistuservariable{color}]}, after={\placelist[section]\stopcolor}] \setuplist diff --git a/doc/context/sources/general/manuals/mathml/envexamp.tex b/doc/context/sources/general/manuals/mathml/envexamp.tex index 8a2b4e2df..50a38fc0f 100644 --- a/doc/context/sources/general/manuals/mathml/envexamp.tex +++ b/doc/context/sources/general/manuals/mathml/envexamp.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/mathml + \startenvironment envexamp % this is an old style. only slightly updated to mkiv diff --git a/doc/context/sources/general/manuals/mathml/mmlexamp.tex b/doc/context/sources/general/manuals/mathml/mmlexamp.tex index 0beb211ad..2e2875ccb 100644 --- a/doc/context/sources/general/manuals/mathml/mmlexamp.tex +++ b/doc/context/sources/general/manuals/mathml/mmlexamp.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/mathml % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team diff --git a/doc/context/sources/general/manuals/mathml/mmlprime.tex b/doc/context/sources/general/manuals/mathml/mmlprime.tex index 811ba376b..4fb4b90bf 100644 --- a/doc/context/sources/general/manuals/mathml/mmlprime.tex +++ b/doc/context/sources/general/manuals/mathml/mmlprime.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/mathml % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team @@ -17,6 +17,12 @@ % Group journal or otherwise. Thanks to the editors for corrections. Also thanks % to users for testing, feedback and corrections. +% The layout is made for the traditional lucida bright fonts. In the meantime we +% use the opentype variant but it sometimes has different default shapes. So, +% rendering has become less optimal. However, this is one of the oldest documents +% that come with \CONTEXT, which has always supported \MATHML, so we keep it as it +% is. The same is true for the style definition, which hasn't changed much. + % \setupbackend[export=yes] \usemodule[abr-02,mathml,math-coverage,asciimath] @@ -87,11 +93,13 @@ textcolor=darkred, after={\blank[big]}] -\unexpanded\def\SectionCommand#1#2% - {\darkblue<--\enspace\ifconditional\headshownumber\enspace#1\quad\fi#2\enspace-->} +\protected\def\SectionCommand#1#2% +% {\darkblue<--\enspace\ifconditional\headshownumber#1\quad\fi#2\enspace-->} + {\darkblue<--\enspace\ifconditional\headshownumber#1\enspace\fi#2\enspace-->} -\unexpanded\def\SubSectionCommand#1#2% - {\darkblue<?\enspace\ifconditional\headshownumber#1\quad\fi#2\enspace ?>} +\protected\def\SubSectionCommand#1#2% +% {\darkblue<?\enspace\ifconditional\headshownumber#1\quad\fi#2\enspace ?>} + {\darkblue<?\space\ifconditional\headshownumber#1\enspace\fi#2\enspace ?>} \setuplayout [style=\hw] @@ -600,17 +608,21 @@ local gsub = string.gsub local mapping = { [";"] = "{{\\darkblue\\string;}}", - ["&"] = "{{\\ttsl\\darkblue\\string&}}", -- otherwise "et" + -- ["&"] = "{{\\ttx\\sl\\darkblue\\string&}}", -- too ugly + ["&"] = "{{\\darkblue\\string&}}", -- otherwise "et" ["/"] = "{{\\darkblue\\string/}}", ["<"] = "{{\\darkblue\\string<}}", [">"] = "{{\\darkblue\\string>}}", } function document.filterxmltitlestuff(name) - local data = io.loaddata(name) or "" - data = gsub(data,"<math[^>]*>","<math>") - data = gsub(data,"[%s ]+"," ") - data = gsub(data,"(.)",mapping) - context(data) +-- local data = io.loaddata(name) or "" +local data = io.loaddata(resolvers.findfile(name)) or "" + if data then + data = gsub(data,"<math[^>]*>","<math>") + data = gsub(data,"[%s ]+"," ") + data = gsub(data,"(.)",mapping) + context(data) + end end \stopluacode diff --git a/doc/context/sources/general/manuals/musings/musings-children.tex b/doc/context/sources/general/manuals/musings/musings-children.tex index b814675bb..aca898774 100644 --- a/doc/context/sources/general/manuals/musings/musings-children.tex +++ b/doc/context/sources/general/manuals/musings/musings-children.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings % naming-nature.jog diff --git a/doc/context/sources/general/manuals/musings/musings-contents.tex b/doc/context/sources/general/manuals/musings/musings-contents.tex index 45b21ec60..db3714be3 100644 --- a/doc/context/sources/general/manuals/musings/musings-contents.tex +++ b/doc/context/sources/general/manuals/musings/musings-contents.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/musings + \startcomponent musings-contents \starttitle[title=Content] diff --git a/doc/context/sources/general/manuals/musings/musings-introduction.tex b/doc/context/sources/general/manuals/musings/musings-introduction.tex index d8dadd743..dc5eb2889 100644 --- a/doc/context/sources/general/manuals/musings/musings-introduction.tex +++ b/doc/context/sources/general/manuals/musings/musings-introduction.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings \startcomponent musings-introduction diff --git a/doc/context/sources/general/manuals/musings/musings-names.tex b/doc/context/sources/general/manuals/musings/musings-names.tex index 55641ecd9..470aba109 100644 --- a/doc/context/sources/general/manuals/musings/musings-names.tex +++ b/doc/context/sources/general/manuals/musings/musings-names.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings \startcomponent musings-names diff --git a/doc/context/sources/general/manuals/musings/musings-perception.tex b/doc/context/sources/general/manuals/musings/musings-perception.tex index 993604473..3f1253f7e 100644 --- a/doc/context/sources/general/manuals/musings/musings-perception.tex +++ b/doc/context/sources/general/manuals/musings/musings-perception.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings \definefontfeature[ligatures][liga=yes,mode=node] diff --git a/doc/context/sources/general/manuals/musings/musings-plain.tex b/doc/context/sources/general/manuals/musings/musings-plain.tex index 757f7300c..96396bb81 100644 --- a/doc/context/sources/general/manuals/musings/musings-plain.tex +++ b/doc/context/sources/general/manuals/musings/musings-plain.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings % \showfontkerns @@ -259,8 +259,8 @@ This definition is kind of interesting as it assumes knowledge about what is acceptable for \TEX\ as dimension: \startbuffer -{\maxdimen=16383.99999pt \the\maxdimen \quad \number\maxdimen} -{\maxdimen=16383.99998pt \the\maxdimen \quad \number\maxdimen} +{\dimen0=16383.99999pt \the\dimen0 \quad \number\dimen0} +{\dimen0=16383.99998pt \the\dimen0 \quad \number\dimen0} \stopbuffer \typebuffer @@ -269,7 +269,7 @@ acceptable for \TEX\ as dimension: \getbuffer \stoplines -Indeed it is the largest legal dimension but the real largest one is slighly +Indeed it is the largest legal dimension but the real largest one is slightly less. We could also have said the following, which also indicates what the maximum cardinal is: diff --git a/doc/context/sources/general/manuals/musings/musings-roadmap.tex b/doc/context/sources/general/manuals/musings/musings-roadmap.tex index f8771ba42..8deeeb429 100644 --- a/doc/context/sources/general/manuals/musings/musings-roadmap.tex +++ b/doc/context/sources/general/manuals/musings/musings-roadmap.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings % \showfontkerns diff --git a/doc/context/sources/general/manuals/musings/musings-stability.tex b/doc/context/sources/general/manuals/musings/musings-stability.tex index 7dc35c6be..e80d0c4c5 100644 --- a/doc/context/sources/general/manuals/musings/musings-stability.tex +++ b/doc/context/sources/general/manuals/musings/musings-stability.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings \environment musings-style diff --git a/doc/context/sources/general/manuals/musings/musings-staygo.tex b/doc/context/sources/general/manuals/musings/musings-staygo.tex index 4be647e47..c9503dd82 100644 --- a/doc/context/sources/general/manuals/musings/musings-staygo.tex +++ b/doc/context/sources/general/manuals/musings/musings-staygo.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings % Written with on repeat: % diff --git a/doc/context/sources/general/manuals/musings/musings-style.tex b/doc/context/sources/general/manuals/musings/musings-style.tex index a85960bdd..873c652c1 100644 --- a/doc/context/sources/general/manuals/musings/musings-style.tex +++ b/doc/context/sources/general/manuals/musings/musings-style.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/musings + \startenvironment musings-style \usemodule[abr-04] diff --git a/doc/context/sources/general/manuals/musings/musings-titlepage.tex b/doc/context/sources/general/manuals/musings/musings-titlepage.tex index 33eb44d95..27868ea8b 100644 --- a/doc/context/sources/general/manuals/musings/musings-titlepage.tex +++ b/doc/context/sources/general/manuals/musings/musings-titlepage.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/musings + \environment musings-style \startcomponent musings-titlepage diff --git a/doc/context/sources/general/manuals/musings/musings-whytex.tex b/doc/context/sources/general/manuals/musings/musings-whytex.tex index 8f9b7de9b..6186c4a0f 100644 --- a/doc/context/sources/general/manuals/musings/musings-whytex.tex +++ b/doc/context/sources/general/manuals/musings/musings-whytex.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/musings \startcomponent musings-whytex diff --git a/doc/context/sources/general/manuals/musings/musings.tex b/doc/context/sources/general/manuals/musings/musings.tex index 687fcdb50..d3c1f3148 100644 --- a/doc/context/sources/general/manuals/musings/musings.tex +++ b/doc/context/sources/general/manuals/musings/musings.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/musings + \environment musings-style \startproduct musings @@ -18,9 +20,13 @@ \component musings-roadmap \component musings-names \component musings-plain + + % \component musings-toocomplex + % \component musings-manuals % \component musings-performance % \component musings-history % \component musings-treasures + % \component musings-whytex-again \stopbodymatter \stopproduct diff --git a/doc/context/sources/general/manuals/nodes/nodes.tex b/doc/context/sources/general/manuals/nodes/nodes.tex index 2d97e676a..2059ae1bc 100644 --- a/doc/context/sources/general/manuals/nodes/nodes.tex +++ b/doc/context/sources/general/manuals/nodes/nodes.tex @@ -1,4 +1,4 @@ -% interface=english modes=screen +% language=us runpath=texruns:manuals/nodes % author : Alan Braslau % copyright : ConTeXt Development Team @@ -739,7 +739,7 @@ first view, but it simplifies things in the end, really! To avoid such confusion, in particular when drawing complicated diagrams containing many nodes, the \CONTEXT\ interface allows the use of a \type -{reference} or tag, assigning a symbolic name to a numbered node. The example of +{reference} or tag, assigning a symbolic name to a numbered node. The example of \in{Figure} [fig:ConTeXt] can be redrawn a little more verbosely as: \startbuffer diff --git a/doc/context/sources/general/manuals/primitives/primitives.tex b/doc/context/sources/general/manuals/primitives/primitives.tex index 81b42c5b6..30d3815bb 100644 --- a/doc/context/sources/general/manuals/primitives/primitives.tex +++ b/doc/context/sources/general/manuals/primitives/primitives.tex @@ -1,4 +1,4 @@ -% language=us +% language=us runpath=texruns:manuals/primitives % The usual time stamp. This written while listening intermized to Fish (just ran % into), Lazulli (some yt videos too, looking forward to a next live act) and @@ -51,6 +51,8 @@ \starttext +\pushoverloadmode + \startMPpage fill Page withcolor "darkgray" ; @@ -103,6 +105,68 @@ In this document the section titles that discuss the \color [nonecolor] {origina \TEX\ and \ETEX\ primitives} have a different color those explaining the \color [primcolor] {\LUATEX\ and \LUAMETATEX\ primitives}. +Primitives that extend typesetting related functionality, provide control over +subsystems (like math), allocate additional datatypes and resources, deal with +fonts and languages, manipulate boxes and glyphs, etc.\ are not discussed here. +In this document we concentrate on the programming aspects. + +\startalign[verytolerant,stretch] +To be described here: \typ {enforced}, \typ {immutable}, \typ {instance}, +\typ {aliased}, \typ {mutable}, \typ {overloaded}, \typ {overloadmode}, \typ +{tolerant}, \typ {permanent}, \typ {ifflags}, \typ {ifinsert}, \typ +{ifmathparameter}, \typ {ifmathstyle}, \typ {ifparameter}, \typ +{ifparameters}, \typ {ignorearguments}, \typ {ignorepars}, \typ +{parametercount}, \typ {lastchkdim}, \typ {lastchknum}. + +Of a different order: \typ {adjustspacing}, \typ {adjustspacingshrink}, \typ +{adjustspacingstep}, \typ {adjustspacingstretch}, \typ {attribute}, \typ +{attributedef}, \typ {automaticdiscretionary}, \typ {automatichyphenpenalty}, +\typ {automigrationmode}, \typ {boundary}, \typ {boxattribute}, \typ +{boxdirection}, \typ {boxorientation}, \typ {boxtotal}, \typ {boxxmove}, \typ +{boxxoffset}, \typ {boxymove}, \typ {boxyoffset}, \typ {catcodetable}, \typ +{clearmarks}, \typ {crampeddisplaystyle}, \typ {crampedscriptscriptstyle}, +\typ {crampedscriptstyle}, \typ {crampedtextstyle}, \typ {directlua}, \typ +{efcode}, \typ {everybeforepar}, \typ {everytab}, \typ {exceptionpenalty}, +\typ {explicitdiscretionary}, \typ {explicithyphenpenalty}, \typ +{firstvalidlanguage}, \typ {fontid}, \typ {fontmathcontrol}, \typ +{fontspecifiedsize}, \typ {fonttextcontrol}, \typ {formatname}, \typ +{gleaders}, \typ {gluespecdef}, \typ {glyphdatafield}, \typ {glyphoptions}, +\typ {glyphscale}, \typ {glyphscriptfield}, \typ {glyphscriptscale}, \typ +{glyphscriptscriptscale}, \typ {glyphstatefield}, \typ {glyphtextscale}, \typ +{glyphxoffset}, \typ {glyphxscale}, \typ {glyphyoffset}, \typ {glyphyscale}, +\typ {hccode}, \typ {hjcode}, \typ {hpack}, \typ {hyphenationmin}, \typ +{hyphenationmode}, \typ {initcatcodetable}, \typ {insertbox},\typ +{insertcopy}, \typ {insertdepth}, \typ {insertdistance}, \typ {insertheight}, +\typ {insertheights}, \typ {insertlimit}, \typ {insertmode}, \typ +{insertmultiplier}, \typ {insertprogress}, \typ {insertunbox}, \typ +{insertuncopy}, \typ {insertwidth}, \typ {lastnodesubtype}, \typ +{leftmarginkern}, \typ {letcharcode}, \typ {linedirection}, \typ {linepar}, +\typ {localbrokenpenalty}, \typ {localinterlinepenalty}, \typ {lpcode}, \typ +{luabytecode}, \typ {luabytecodecall}, \typ {luacopyinputnodes}, \typ +{luadef}, \typ {luaescapestring}, \typ {luafunction}, \typ {luafunctioncall}, +\typ {luatexbanner}, \typ {luatexrevision}, \typ {luatexversion}, \typ +{mathcontrolmode}, \typ {mathdelimitersmode}, \typ {mathdirection}, \typ +{mathdisplayskipmode}, \typ {matheqnogapstep}, \typ {mathflattenmode}, \typ +{mathfontcontrol}, \typ {mathitalicsmode}, \typ {mathnolimitsmode}, \typ +{mathpenaltiesmode}, \typ {mathrulesfam}, \typ {mathrulesmode}, \typ +{mathrulethicknessmode}, \typ {mathscale}, \typ {mathscriptboxmode}, \typ +{mathscriptcharmode}, \typ {mathscriptsmode}, \typ {mathstyle}, \typ +{mathsurroundmode}, \typ {mathsurroundskip}, \typ {mugluespecdef}, \typ +{noaligned}, \typ {noboundary}, \typ {nohrule}, \typ {normalizelinemode}, +\typ {nospaces}, \typ {novrule}, \typ {numericscale}, \typ {numexpression}, +\typ {outputbox}, \typ {parattribute}, \typ {pardirection}, \typ +{postexhyphenchar}, \typ {posthyphenchar}, \typ {prebinoppenalty}, \typ +{predisplaygapfactor}, \typ {preexhyphenchar}, \typ {prehyphenchar}, \typ +{prerelpenalty}, \typ {protrudechars}, \typ {protrusionboundary}, \typ +{pxdimen}, \typ {quitvmode}, \typ {rightmarginkern}, \typ {rpcode}, \typ +{savecatcodetable}, \typ {scantextokens}, \typ {setfontid}, \typ +{snapshotpar}, \typ {supmarkmode}, \typ {textdirection}, \typ +{thewithoutunit}, \typ {thewithproperty}, \typ {tpack}, \typ +{tracingexpressions}, \typ {tracingfonts}, \typ {tracinghyphenation}, \typ +{tracingmath}, \typ {undent}, \typ {vpack}, \typ {wordboundary}, \typ +{wrapuppar}. +\stopalign + \stopsubject \page @@ -551,15 +615,15 @@ character code. Because it assumes some knowledge of \TEX\ we can show it using some \type {\expandafter} magic: \startbuffer -\expandafter\let\expandafter\temp\expandtoken 11 `X \meaning\temp\crlf -\expandafter\let\expandafter\temp\expandtoken 12 `X \meaning\temp\crlf +\expandafter\let\expandafter\temp\expandtoken 11 `X \meaning\temp +\expandafter\let\expandafter\temp\expandtoken 12 `X \meaning\temp \stopbuffer \typebuffer The meanings are: -{\getbuffer} +\startlines \tttf \getbuffer \stoplines Using other catcodes is possible but the results of injecting them into the input directly (or here by injecting \type {\temp}) can be unexpected because of what @@ -569,9 +633,9 @@ catcode|/|character combinations as signals and there is no reason to change those internals. That said: \startbuffer -\edef\tempA{\expandtoken 9 `X} \meaning\tempA\crlf -\edef\tempB{\expandtoken 10 `X} \meaning\tempB\crlf -\edef\tempC{\expandtoken 11 `X} \meaning\tempC\crlf +\edef\tempA{\expandtoken 9 `X} \meaning\tempA +\edef\tempB{\expandtoken 10 `X} \meaning\tempB +\edef\tempC{\expandtoken 11 `X} \meaning\tempC \edef\tempD{\expandtoken 12 `X} \meaning\tempD \stopbuffer @@ -579,7 +643,7 @@ those internals. That said: are all valid and from the meaning you cannot really deduce what's in there: -{\getbuffer} +\startlines \tttf \getbuffer \stoplines But you can be assured that: @@ -815,14 +879,15 @@ where expansion is happening, like in an \type {\edef}. In \CONTEXT\ you need to use \type {\normalunexpanded} because we already had a macro with that name. \startbuffer -\def\A{!} -\def\B{?} - -\edef\C{\A\B} \meaning\C \crlf -\edef\C{\normalunexpanded{\A}\B} \meaning\C \crlf +\def \A{!} \meaning\A +\def \B{?} \meaning\B +\edef\C{\A\B} \meaning\C +\edef\C{\normalunexpanded{\A}\B} \meaning\C \stopbuffer -\typebuffer {\getbuffer} +\typebuffer + +\startlines \tttf \getbuffer \stoplines \stopoldprimitive @@ -832,11 +897,13 @@ This \ETEX\ primitive turns the content of the provides list will become characters, kind of verbatim. \startbuffer -\expandafter\let\expandafter\temp\detokenize{1} \meaning\temp \crlf -\expandafter\let\expandafter\temp\detokenize{A} \meaning\temp \crlf +\expandafter\let\expandafter\temp\detokenize{1} \meaning\temp +\expandafter\let\expandafter\temp\detokenize{A} \meaning\temp \stopbuffer -\typebuffer {\getbuffer} +\typebuffer + +\startlines \tttf \getbuffer \stoplines \stopoldprimitive @@ -849,18 +916,16 @@ Just as \type {\expanded} has a counterpart \type {\unexpanded}, it makes sense \edef\foo{\detokenize{\inframed{foo}}} \edef\oof{\detokenize{\inframed{oof}}} -\meaning\foo \crlf -\dontleavehmode\foo +\meaning\foo \crlf \dontleavehmode\foo \edef\foo{\tokenized{\foo\foo}} -\meaning\foo \crlf -\dontleavehmode\foo +\meaning\foo \crlf \dontleavehmode\foo \dontleavehmode\tokenized{\foo\oof} \stopbuffer -\typebuffer {\getbuffer} +\typebuffer {\tttf \getbuffer} This primitive is similar to: @@ -893,54 +958,71 @@ examples: \stopnewprimitive -\startnewprimitive[title={\tex {immediateassignment}}] - -Assignments are not expandable which means that you cannot define fully -expandable macros that have assignments. But, there is a way out of this: +\startnewprimitive[title={\tex {numexpression}}] + +The normal \tex {numexpr} primitive understands the \type {+}, \type {-}, \type +{*} and \type {/} operators but in \LUAMETATEX\ we also can use \type {:} for a +non rounded integer division (think of \LUA's \type {//}). if you want more than +that, you can use the new expression primitive where you can use the following +operators. + +\starttabulate[||cT|cT|] +\BC add \NC + \NC \NC \NR +\BC subtract \NC - \NC \NC \NR +\BC multiply \NC * \NC \NC \NR +\BC divide \NC / : \NC \NC \NR +\BC mod \NC \letterpercent \NC mod \NC \NR +\BC band \NC & \NC band \NC \NR +\BC bxor \NC ^ \NC bxor \NC \NR +\BC bor \NC \letterbar \space v \NC bor \NC \NR +\BC and \NC && \NC and \NC \NR +\BC or \NC \letterbar\letterbar \NC or \NC \NR +\BC setbit \NC <undecided> \NC bset \NC \NR +\BC resetbit \NC <undecided> \NC breset \NC \NR +\BC left \NC << \NC \NC \NR +\BC right \NC >> \NC \NC \NR +\BC less \NC < \NC \NC \NR +\BC lessequal \NC <= \NC \NC \NR +\BC equal \NC = == \NC \NC \NR +\BC moreequal \NC >= \NC \NC \NR +\BC more \NC > \NC \NC \NR +\BC unequal \NC <> != \lettertilde = \NC \NC \NR +\BC not \NC ! \lettertilde \NC not \NC \NR +\stoptabulate + +An example of the verbose bitwise operators is: -\startbuffer -\scratchcounter = 10 -\edef\whatever{% - (\the\scratchcounter) - \immediateassignment\scratchcounter\numexpr\scratchcounter+10\relax - \immediateassignment\advance\scratchcounter -5 - (\the\scratchcounter) -} -\meaning\whatever -\stopbuffer - -\typebuffer - -Don't expect miracles: you can't mix|-|in content or unexpandable tokens as they -will either show up or quit the scanning. +\starttyping +\scratchcounter = \numexpression + "00000 bor "00001 bor "00020 bor "00400 bor "08000 bor "F0000 +\relax +\stoptyping -{\getbuffer} +In the table you might have notices that some operators have equivalents. This +makes the scanner a bit less sensitive for catcode regimes. -\stopnewprimitive +When \type {\tracingexpressions} is set to one or higher the intermediate \quote +{reverse polish notation} stack that is used for the calculation is shown, for +instance: -\startnewprimitive[title={\tex {immediateassigned}}] +\starttyping +4:8: {numexpression rpn: 2 5 > 4 5 > and} +\stoptyping -This is the multi|-|token variant of the primitive mentioned in the previous -section. +When you want the output on your console, you need to say: -\startbuffer -\scratchcounter = 10 -\edef\whatever{% - (\the\scratchcounter) - \immediateassigned{ - \scratchcounter\numexpr\scratchcounter+10\relax - \advance\scratchcounter -5 - }% - (\the\scratchcounter) -} -\meaning\whatever -\stopbuffer +\starttyping +\tracingexpressions 1 +\tracingonline 1 +\stoptyping -\typebuffer +\stopnewprimitive -The results are the same as in the previous section: +\startnewprimitive[title={\tex {dimexpression}}] -{\getbuffer} +This command is like \tex {numexpression} but results in a dimension instead of +an integer. Where \tex {dimexpr} doesn't like \typ {2 * 10pt} this expression +primitive is quite happy with it. \stopnewprimitive @@ -1487,7 +1569,7 @@ look like \type {\newif} creates one, it actually just defined three macros. \meaning\ifMyTest \crlf \stopbuffer -\typebuffer {\getbuffer} +\typebuffer {\tttf \getbuffer} This means that when you say: @@ -1575,6 +1657,13 @@ macros, register allocations and character definitions. \stopnewprimitive +\startnewprimitive[title={\tex {ifrelax}}] + +This is a convenient shortcut for \typ {\ifx\relax} and the motivation for adding +this one is (as with some others) to get less tracing. + +\stopnewprimitive + \startnewprimitive[title={\tex {ifempty}}] This conditional checks if a control sequence is empty: @@ -1760,6 +1849,36 @@ ok: \stopnewprimitive +\startnewprimitive[title={\tex {ifnumexpression}}] + +Here is an example of a conditional using expressions: + +\startbuffer +\ifnumexpression (\scratchcounterone > 5) and (\scratchcountertwo > 5) \relax + do-something +\fi +\stopbuffer + +This matches when the result is non zero, and you can mix calculations and tests +as with normal expressions. + +\stopnewprimitive +\startnewprimitive[title={\tex {ifdimexpression}}] + +The companion of the previous primitive is: + +\startbuffer +\ifdimexpression 10pt > 10bp \relax + do-something +\fi +\stopbuffer + +This matches when the result is non zero, and you can mix calculations and tests +as with normal expressions. Contrary to the number variant units can be used and +precision kicks in. + +\stopnewprimitive + \startoldprimitive[title={\tex {else}}] This traditional primitive is part of the condition testing mechanism. When a @@ -1893,6 +2012,13 @@ masters \TEX\ might hurt. \stopnewprimitive +\startnewprimitive[title={\tex {orunless}}] + +This is the negated variant of \tex {\orelse} (prefixing that one with \tex +{unless} doesn't work well. + +\stopnewprimitive + \startoldprimitive[title={\tex {futurelet}}] The original \TEX\ primitive \type {\futurelet} can be used to create an alias to a next token, @@ -1950,6 +2076,17 @@ So we're back to what we want: \stopnewprimitive +\startnewprimitive[title={\tex {futurecsname}}] + +In order to make the repertoire of \type {def}, \type {let} and \type {futurelet} +primitives complete we also have: + +\starttyping +\futurecsname MyMacro:1\endcsname\MyAction +\stoptyping + +\stopnewprimitive + \startnewprimitive[title={\tex {letcharcode}}] Assigning a meaning to an active character can sometimes be a bit cumbersome; @@ -1966,12 +2103,12 @@ used only a few times and then never looked at again. So we have this: here we define \type {A} as an active charcter with meaning \type {1} in the first line and \type {2} in the second. -{\getbuffer} +{\tttf \getbuffer} Normally one will assign a control sequence: \startbuffer -{\letcharcode 66 \bf \catcode 66 13 {B bold}: \meaning B}\crlf +{\letcharcode 66 \bf \catcode 66 13 {B bold}: \meaning B}\crlf {\letcharcode 73 \it \catcode 73 13 {I italic}: \meaning I}\crlf \stopbuffer @@ -1979,7 +2116,7 @@ Normally one will assign a control sequence: Of course \type {\bf} and \type {\it} are \CONTEXT\ specific commands: -{\getbuffer} +{\tttf \getbuffer} \stopnewprimitive @@ -2033,6 +2170,66 @@ also defined but it has been dropped. \stopoldprimitive +\startnewprimitive[title={\tex {expand}}] + +Beware, this is not a prefix but a directive to ignore the protected characters of +the following macro. + +\startbuffer +\protected \def \testa{\the\scratchcounter} + \edef\testb{\testa} + \edef\testc{\expand\testa} +\stopbuffer + +\typebuffer + +The meaning of the three macros is: + +\startlines \getbuffer \tttf +\meaningfull\testa +\meaningfull\testb +\meaningfull\testc +\stoplines + +\stopnewprimitive + +\startnewprimitive[title={\tex {untraced}}] + +Related to the meaning providers is the \tex {untraced} prefix. It marks a macro +as to be reported by name only. It makes the macro look like a primitive. + +\starttyping + \def\foo{} +\untraced\def\oof{} + +\scratchtoks{\foo\foo\oof\oof} + +\tracingall \the\scratchtoks \tracingnone +\stoptyping + +This will show up in the log as follows: + +\starttyping +1:4: {\the} +1:5: \foo -> +1:5: \foo -> +1:5: \oof +1:5: \oof +\stoptyping + +This is again a trick to avoid too much clutter in a log. Often it doesn't matter +to users what the meaning of a macro is (if they trace at all). \footnote {An +earlier variant could also hide the expansion completely but that was just +confusing.} + +\startoldprimitive[title={\tex {immediate}}] + +This one has no effect unless you intercept it at the \LUA\ end and act upon it. +In original \TEX\ immediate is used in combination with read from and write to +file operations. So, this is an old primitive with a new meaning. + +\stopoldprimitive + \startnewprimitive[title={\tex {frozen}}] You can define a macro as being frozen: @@ -2181,6 +2378,59 @@ it that it shares all variables with the parent loop. \stopnewprimitive +\startnewprimitive[title={\tex {localcontrolled}}] + +The previously described local control feature comes with two extra helpers. The +\tex {localcontrolled} primitive takes a token list and wraps this into a local +control sidetrack. For example: + +\startbuffer +\edef\testa{\scratchcounter123 \the\scratchcounter} +\edef\testb{\localcontrolled{\scratchcounter123}\the\scratchcounter} +\stopbuffer + +\typebuffer + +The two meanings are: + +\start \getbuffer +\starttabulate[|T|T|] +\NC \string\testa \NC \meaningfull\testa \NC \NR +\NC \string\testb \NC \meaningfull\testb \NC \NR +\stoptabulate +\stop + +The assignment is applied immediately in the expanded definition. + +\stopnewprimitive + +\startnewprimitive[title={\tex {localcontrol}}] + +This primitive takes a single token: + +\startbuffer +\edef\testa{\scratchcounter123 \the\scratchcounter} +\edef\testc{\testa \the\scratchcounter} +\edef\testd{\localcontrol\testa \the\scratchcounter} +\stopbuffer + +\typebuffer + +The three meanings are: + +\start \getbuffer +\starttabulate[|T|T|] +\NC \string\testa \NC \meaning\testa \NC \NR +\NC \string\testc \NC \meaning\testc \NC \NR +\NC \string\testd \NC \meaning\testd \NC \NR +\stoptabulate +\stop + +The \tex {\localcontrol} makes that the following token gets expanded so we don't +see the yet to be expanded assignment show up in the macro body. + +\stopnewprimitive + \startnewprimitive[title={\tex {alignmark}}] When you have the \type{#} not set up as macro parameter character cq.\ align @@ -2197,6 +2447,218 @@ macros and alignments. \stopnewprimitive +\startnewprimitive[title={\tex {defcsname}}] + +We now get a series of log clutter avoidance primitives. It's fine if you argue +that they are not really needed, just don't use them. + +\starttyping +\expandafter\def\csname MyMacro:1\endcsname{...} + \defcsname MyMacro:1\endcsname{...} +\stoptyping + +The fact that \TEX\ has three (expanded and global) companions can be seen as a +signal that less verbosity makes sense. It's just that macro packages use plenty +of \tex {\csname}'s. + +\stopnewprimitive + +\startnewprimitive[title={\tex {edefcsname}}] + +This is the companion of \tex {\edef}: + +\starttyping +\expandafter\edef\csname MyMacro:1\endcsname{...} + \edefcsname MyMacro:1\endcsname{...} +\stoptyping + +\stopnewprimitive + +\startnewprimitive[title={\tex {gdefcsname}}] + +As with standard \TEX\ we also define global ones: + +\starttyping +\expandafter\gdef\csname MyMacro:1\endcsname{...} + \gdefcsname MyMacro:1\endcsname{...} +\stoptyping + +\stopnewprimitive + +\startnewprimitive[title={\tex {xdefcsname}}] + +This is the companion of \tex {\xdef}: + +\starttyping +\expandafter\xdef\csname MyMacro:1\endcsname{...} + \xdefcsname MyMacro:1\endcsname{...} +\stoptyping + +\stopnewprimitive + +\startnewprimitive[title={\tex {glet}}] + +This is the global companion of \tex {\let}. The fact that it is not an original +primitive is probably due to the expectation for it not it not being used (as) +often (as in \CONTEXT). + +\stopnewprimitive + +\startnewprimitive[title={\tex {letcsname}}] + +It is easy to see that we save two tokens when we use this primitive. As with the +\type {..defcs..} variants it also saves a push back of the composed macro name. + +\starttyping +\expandafter\let\csname MyMacro:1\endcsname\relax + \letcsname MyMacro:1\endcsname\relax +\stoptyping + +\stopnewprimitive + +\startnewprimitive[title={\tex {gletcsname}}] + +Naturally \LUAMETATEX\ also provides a global variant: + +\starttyping +\expandafter\global\expandafter\let\csname MyMacro:1\endcsname\relax +\expandafter \glet\csname MyMacro:1\endcsname\relax + \gletcsname MyMacro:1\endcsname\relax +\stoptyping + +So, here we save even more. + +\stopnewprimitive + +\startnewprimitive[title={\tex {lettonothing}}] + +This one let's a control sequence to nothing. Assuming that \tex {empty} +is indeed empty, these two lines are equivalent. + +\starttyping +\let \foo\empty +\lettonothing\oof +\stoptyping + +\stopnewprimitive + +\startnewprimitive[title={\tex {glettonothing}}] + +This is the global companion of \tex {lettonothing}. + +\stopnewprimitive + +\startnewprimitive[title={\tex {norelax}}] + +The rationale for this command can be shown by a few examples: + +\startbuffer +\dimen0 1pt \dimen2 1pt \dimen4 2pt +\edef\testa{\ifdim\dimen0=\dimen2\norelax N\else Y\fi} +\edef\testb{\ifdim\dimen0=\dimen2\relax N\else Y\fi} +\edef\testc{\ifdim\dimen0=\dimen4\norelax N\else Y\fi} +\edef\testd{\ifdim\dimen0=\dimen4\relax N\else Y\fi} +\edef\teste{\norelax} +\stopbuffer + +\typebuffer + +The five meanings are: + +\start \getbuffer \starttabulate[|T|T|] +\NC \string\testa \NC \meaning\testa \NC \NR +\NC \string\testb \NC \meaning\testb \NC \NR +\NC \string\testc \NC \meaning\testc \NC \NR +\NC \string\testd \NC \meaning\testd \NC \NR +\NC \string\teste \NC \meaning\teste \NC \NR +\stoptabulate \stop + +So, the \type {\norelax} acts like \type {\relax} but is not pushed back as +usual (in some cases). + +\stopnewprimitive + +\startnewprimitive[title={\tex {swapcsvalues}}] + +Because we mention some \type {def} and \type {let} primitives here, it makes +sense to also mention a primitive that will swap two values (meanings). This one +has to be used with care. Of course that what gets swapped has to be of the same +type (or at least similar enough to to cause issues). Registers for instance +store their values in the token, but as soon as we are dealing with token lists +we also need to keep an eye on reference counting. So, to some extend this is +an experimental feature. + +\stopnewprimitive + +"untraced", + +% \startnewprimitive[title={\tex {dimensiondef}}] +% \stopnewprimitive + +% \startnewprimitive[title={\tex {integerdef}}] +% \stopnewprimitive + +\startsubject[title=Obsolete] + +The \LUAMETATEX\ engine has more than its \LUATEX\ ancestor but it also has less. +Because in the end the local control mechanism performed quite okay I decided to +drop the \tex {immediateassignment} and \tex {immediateassigned} variants. They +sort of used the same trick so there isn't much to gain and it was less generic +(read: error prone). + +% \startnewprimitive[title={\tex {immediateassignment}}] +% +% Assignments are not expandable which means that you cannot define fully +% expandable macros that have assignments. But, there is a way out of this: +% +% \startbuffer +% \scratchcounter = 10 +% \edef\whatever{% +% (\the\scratchcounter) +% \immediateassignment\scratchcounter\numexpr\scratchcounter+10\relax +% \immediateassignment\advance\scratchcounter -5 +% (\the\scratchcounter) +% } +% \meaning\whatever +% \stopbuffer +% +% \typebuffer +% +% Don't expect miracles: you can't mix|-|in content or unexpandable tokens as they +% will either show up or quit the scanning. +% +% {\getbuffer} +% +% \stopnewprimitive +% +% \startnewprimitive[title={\tex {immediateassigned}}] +% +% This is the multi|-|token variant of the primitive mentioned in the previous +% section. +% +% \startbuffer +% \scratchcounter = 10 +% \edef\whatever{% +% (\the\scratchcounter) +% \immediateassigned{ +% \scratchcounter\numexpr\scratchcounter+10\relax +% \advance\scratchcounter -5 +% }% +% (\the\scratchcounter) +% } +% \meaning\whatever +% \stopbuffer +% +% \typebuffer +% +% The results are the same as in the previous section: +% +% {\getbuffer} +% +% \stopnewprimitive + +\stopsubject + \page % % It doesn't make sense to typeset this, also because it makes me feel old. @@ -2375,4 +2837,6 @@ Hans Hagen \crlf Hasselt NL \stopsubject +\popoverloadmode + \stoptext diff --git a/doc/context/sources/general/manuals/rules/rules-mkiv.tex b/doc/context/sources/general/manuals/rules/rules-mkiv.tex index e1d8acfaa..446c31c92 100644 --- a/doc/context/sources/general/manuals/rules/rules-mkiv.tex +++ b/doc/context/sources/general/manuals/rules/rules-mkiv.tex @@ -1,4 +1,4 @@ -% interface=en engine=luatex language=uk +% language=us runpath=texruns:manuals/rules % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team diff --git a/doc/context/sources/general/manuals/spacing/spacing-contents.tex b/doc/context/sources/general/manuals/spacing/spacing-contents.tex index d7c709e2e..51d5eba6f 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-contents.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-contents.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/spacing + \startcomponent spacing-contents \starttitle[title=Contents] diff --git a/doc/context/sources/general/manuals/spacing/spacing-introduction.tex b/doc/context/sources/general/manuals/spacing/spacing-introduction.tex index d4d385c5e..8ac41cd54 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-introduction.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-introduction.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/spacing + \environment spacing-style \startcomponent spacing-introduction diff --git a/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex b/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex index 525dd7490..dcbe4a06b 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/spacing \environment spacing-style diff --git a/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex b/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex index 0f32e4d30..939755b62 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/spacing + % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team % license : Creative Commons Attribution ShareAlike 4.0 International diff --git a/doc/context/sources/general/manuals/spacing/spacing-periods.tex b/doc/context/sources/general/manuals/spacing/spacing-periods.tex index 8d493b9a9..312e5eadb 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-periods.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-periods.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/spacing \environment spacing-style diff --git a/doc/context/sources/general/manuals/spacing/spacing-spaces.tex b/doc/context/sources/general/manuals/spacing/spacing-spaces.tex index 0d7f64379..7184c10dc 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-spaces.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-spaces.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/spacing \environment spacing-style diff --git a/doc/context/sources/general/manuals/spacing/spacing-style.tex b/doc/context/sources/general/manuals/spacing/spacing-style.tex index 5514df729..f8b2ea997 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-style.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-style.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/spacing + \startenvironment spacing-style \usemodule[abbreviations-words,typesetting] diff --git a/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex b/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex index 1f21d769a..74c42d77c 100644 --- a/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex +++ b/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/spacing + \environment spacing-style \startcomponent spacing-titlepage diff --git a/doc/context/sources/general/manuals/tiptrick/tiptrick.tex b/doc/context/sources/general/manuals/tiptrick/tiptrick.tex index 03af8e806..0c0449096 100644 --- a/doc/context/sources/general/manuals/tiptrick/tiptrick.tex +++ b/doc/context/sources/general/manuals/tiptrick/tiptrick.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/tiptrick + % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team % license : Creative Commons Attribution ShareAlike 4.0 International diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-03.xml b/doc/context/sources/general/manuals/xml/xml-mkiv-03.xml new file mode 100644 index 000000000..f565c50b5 --- /dev/null +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-03.xml @@ -0,0 +1,11 @@ +<?xml version='1.0' standalone='yes?> + +<document> + <section> + <title>Some title</title> + <content> + <p>a paragraph of text</p> + <p>another paragraph of text</p> + </content> + </section> +</document> diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex index 8d9e9ef47..b9659a4c2 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-commands diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex index e0787ec5f..18cda18de 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-contents diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex index a457f962b..e3464a57c 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-converter @@ -12,7 +14,7 @@ style with complex chapter openings using data coming from all kind of places, different styling of sections with the same name, selectively (out of order) flushed content, special formatting, etc. -\typefile{manual-demo-1.xml} +\typefile{xml-mkiv-03.xml} Say that this document is stored in the file \type {demo.xml}, then the following code can be used as starting point: diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex index 064510d6d..bb3c25187 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-examples @@ -778,7 +780,7 @@ The \XML\ parser is also available outside \TEX. Here is an example of its usage We pipe the result to \TEX\ but you can do with \type {t} whatever you like. \startbuffer -local x = xml.load("manual-demo-1.xml") +local x = xml.load("xml-mkiv-03.xml") local t = { } for c in xml.collected(x,"//*") do @@ -848,7 +850,7 @@ end Usage is as follows: \startbuffer -local x = xml.load("manual-demo-1.xml") +local x = xml.load("xml-mkiv-03.xml") local t = xml.applylpath(x,"//*/taglist()") context.tocontext(t) @@ -863,7 +865,7 @@ And indeed we get: But we can also say: \startbuffer -local x = xml.load("manual-demo-1.xml") +local x = xml.load("xml-mkiv-03.xml") local t = xml.applylpath(x,"//*/taglist(true)") context.tocontext(t) diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex index b063cab54..fe2670f86 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-expressions diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex index 5bb5a35de..e751435ac 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-filtering @@ -35,11 +37,11 @@ conform the indentation in the whole \XML\ file. \footnote {The (probably outdated) \XML\ file contains the collection stores on my slimserver instance. You can use the \type {mtxrun --script flac} to generate such files.} -\doifmodeelse {atpragma} { - \getbuffer -} { +% \doifmodeelse {atpragma} { +% \getbuffer +% } { \typefile{xml-mkiv-01.xml} -} +% } An alternative written in \LUA\ looks as follows: @@ -56,11 +58,11 @@ An alternative written in \LUA\ looks as follows: This produces: -\doifmodeelse {atpragma} { - \getbuffer -} { +% \doifmodeelse {atpragma} { +% \getbuffer +% } { \typefile{xml-mkiv-02.xml} -} +% } You can use both methods mixed but in practice we will use the \TEX\ commands in regular styles and the mixture in modules, for instance in those dealing with diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex index e7f0124da..9fb8f6462 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-introduction diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex index e6afaa948..9711fc7eb 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-lookups diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex deleted file mode 100644 index 9c8b853c8..000000000 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex +++ /dev/null @@ -1,207 +0,0 @@ -\input lxml-ctx.mkiv - -\ctxlua{dofile("t:/sources/lxml-lpt.lua")} - -\startbuffer[xmltest] -<?xml version='1.0'?> - -<!-- this is a test file --> - -<something id='1'> - <x:whatever id='1.1'> - <whocares id='1.1.1'> - test a - </whocares> - <whocaresnot id='1.1.2'> - test b - </whocaresnot> - </x:whatever> - <whatever id='2'> - <whocares id='2.1'> - test c - </whocares> - <whocaresnot id='2.2'> - test d - </whocaresnot> - </whatever> - <whatever id='3'> - test e - </whatever> - <whatever id='4' test="xxx"> - <whocares id='4.1'> - test f - </whocares> - <whocares id='4.2'> - test g - </whocares> - </whatever> - <whatever id='5' test="xxx"> - <whoknows id='5.1'> - <whocares id='5.1.1'> - test h - </whocares> - </whoknows> - <whoknows id='5.2'> - <whocaresnot id='5.2.1'> - test i - </whocaresnot> - </whoknows> - <whoknows id='5.3'> - <whocares id='5.3.1'> - test j - </whocares> - </whoknows> - </whatever> -</something> -\stopbuffer - -% \enabletrackers[xml.lparse] - -\setuplayout[width=middle,height=middle,header=1cm,footer=1cm,topspace=2cm,backspace=2cm] -\setupbodyfont[10pt] - -\setfalse\xmllshowbuffer - -\starttext - -\xmllshow{/(*:library|figurelibrary)/*:figure/*:label} -\xmllshow{/(*:library|figurelibrary)/figure/*:label} -\xmllshow{/(*:library|figurelibrary)/figure/label} -\xmllshow{/(*:library|figurelibrary)/figure:*/label} - -% \xmllshow{collection[@version='all']/resources/manual[match()==1]/paper/command(xml:overview)} -% \xmllshow{collection/resources/manual[match()=1]/paper/command(xml:overview)} - -% \xmllshow{answer//oeps} -% \xmllshow{answer/*/oeps} -% \xmllshow{answer/**/oeps} -% \xmllshow{answer/***/oeps} -% \xmllshow{answer/x//oeps} -% \xmllshow{answer//x/oeps} -% \xmllshow{//x/oeps} -% \xmllshow{answer/test/*} -% \xmllshow{answer/test/child::} -% \xmllshow{answer/*} -% \xmllshow{ oeps / answer / .. / * [tag()='p' and position()=1 and text()!=''] / oeps()} - -% \xmllshow{ artist / name [text()='Randy Newman'] / .. / albums / album [position()=3] / command(first:demo:two)} -% \xmllshow{/exa:selectors/exa:selector/exa:list/component[count()>1]} - -\stoptext - -\xmllshow{/*} -\xmllshow{child::} -\xmllshow{child::test} -\xmllshow{/test/test} -\xmllshow{../theory/sections/section/exercises} -\xmllshow{../training/practicalassignments} -\xmllshow{../../Outcome[position()=rootposition()]/Condition/command(xml:answer:mc:condition)} - -% \stoptext - -% \typebuffer[xmltest] \page - -\xmllshowbuffer{xmltest}{**}{id} -\xmllshowbuffer{xmltest}{*}{id} -\xmllshowbuffer{xmltest}{..}{id} -\xmllshowbuffer{xmltest}{.}{id} -\xmllshowbuffer{xmltest}{//}{id} -\xmllshowbuffer{xmltest}{/}{id} - -\xmllshowbuffer{xmltest}{**/}{id} -\xmllshowbuffer{xmltest}{**/*}{id} -\xmllshowbuffer{xmltest}{**/.}{id} -\xmllshowbuffer{xmltest}{**//}{id} - -\xmllshowbuffer{xmltest}{*/}{id} -\xmllshowbuffer{xmltest}{*/*}{id} -\xmllshowbuffer{xmltest}{*/.}{id} -\xmllshowbuffer{xmltest}{*//}{id} - -\xmllshowbuffer{xmltest}{/**/}{id} -\xmllshowbuffer{xmltest}{/**/*}{id} -\xmllshowbuffer{xmltest}{/**/.}{id} -\xmllshowbuffer{xmltest}{/**//}{id} - -\xmllshowbuffer{xmltest}{/*/}{id} -\xmllshowbuffer{xmltest}{/*/*}{id} -\xmllshowbuffer{xmltest}{/*/.}{id} -\xmllshowbuffer{xmltest}{/*//}{id} - -\xmllshowbuffer{xmltest}{./}{id} -\xmllshowbuffer{xmltest}{./*}{id} -\xmllshowbuffer{xmltest}{./.}{id} -\xmllshowbuffer{xmltest}{.//}{id} - -\xmllshowbuffer{xmltest}{../}{id} -\xmllshowbuffer{xmltest}{../*}{id} -\xmllshowbuffer{xmltest}{../.}{id} -\xmllshowbuffer{xmltest}{..//}{id} - -\xmllshowbuffer{xmltest}{descendant::whocares/ancestor::whoknows}{id} -\xmllshowbuffer{xmltest}{descendant::whocares/ancestor::whoknows/parent::}{id} -\xmllshowbuffer{xmltest}{descendant::whocares/ancestor::}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/child::whocares}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/child::whocares|whoknows}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/child::(whocares|whoknows)}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/child::!(whocares|whoknows)}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/child::(whocares)}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/child::(whocares)[position()>2]}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever[position()>2][position()=1]}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever[whocares][whocaresnot]}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever[whocares][not(whocaresnot)]}{id} -\xmllshowbuffer{xmltest}{child::something/child::whatever/self::whatever}{id} -\xmllshowbuffer{xmltest}{/something/whatever}{id} -\xmllshowbuffer{xmltest}{something/whatever}{id} -\xmllshowbuffer{xmltest}{/**/whocares}{id} -\xmllshowbuffer{xmltest}{whoknows/whocares}{id} -\xmllshowbuffer{xmltest}{whoknows}{id} -\xmllshowbuffer{xmltest}{whocares[contains(text(),'f') or contains(text(),'g')]}{id} -\xmllshowbuffer{xmltest}{whocares/first()}{id} -\xmllshowbuffer{xmltest}{whocares/last()}{id} -\xmllshowbuffer{xmltest}{whatever/all()}{id} -\xmllshowbuffer{xmltest}{whocares/position(2)}{id} -\xmllshowbuffer{xmltest}{whocares/position(-2)}{id} -\xmllshowbuffer{xmltest}{whocares[1]}{id} -\xmllshowbuffer{xmltest}{whocares[-1]}{id} -\xmllshowbuffer{xmltest}{whocares[2]}{id} -\xmllshowbuffer{xmltest}{whocares[-2]}{id} -\xmllshowbuffer{xmltest}{whatever[3]/attribute(id)}{id} -\xmllshowbuffer{xmltest}{whatever[2]/attribute('id')}{id} -\xmllshowbuffer{xmltest}{whatever[3]/text()}{id} -\xmllshowbuffer{xmltest}{/whocares/first()}{id} -\xmllshowbuffer{xmltest}{/whocares/last()}{id} - -\xmllshowbuffer{xmltest}{xml://whatever/all()}{id} -\xmllshowbuffer{xmltest}{whatever/all()}{id} -\xmllshowbuffer{xmltest}{//whocares}{id} -\xmllshowbuffer{xmltest}{..[2]}{id} -\xmllshowbuffer{xmltest}{../*[2]}{id} - -\xmllshowbuffer{xmltest}{/(whocares|whocaresnot)}{id} -\xmllshowbuffer{xmltest}{/!(whocares|whocaresnot)}{id} -\xmllshowbuffer{xmltest}{/!whocares}{id} - -% \page - -% \xmllshow{/interface/command/command(xml:setups:register)} -% \xmllshow{/interface/command[@name='xxx']/command(xml:setups:typeset)} -% \xmllshow{/arguments/*} -% \xmllshow{/sequence/first()} -% \xmllshow{/arguments/text()} -% \xmllshow{/sequence/variable/first()} -% \xmllshow{/interface/define[@name='xxx']/first()} -% \xmllshow{/parameter/command(xml:setups:parameter:measure)} - -% \page - -% \xmllshow{interface/command/command(xml:setups:register)} -% \xmllshow{interface/command[@name='xxx']/command(xml:setups:typeset)} -% \xmllshow{arguments/*} -% \xmllshow{sequence/first()} -% \xmllshow{arguments/text()} -% \xmllshow{sequence/variable/first()} -% \xmllshow{interface/define[@name='xxx']/first()} -% \xmllshow{parameter/command(xml:setups:parameter:measure)} - -\stoptext diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex index 8bcd74086..1b4ce995e 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex @@ -1,9 +1,12 @@ +% language=us runpath=texruns:manuals/xml + \startenvironment xml-mkiv-style \input lxml-ctx.mkiv -\settrue \xmllshowtitle -\setfalse\xmllshowwarning +\settrue \xmllshowtitletoo +\settrue \xmllshowbuffertoo +\setfalse\xmllshowwarningtoo \usemodule[set-11] @@ -138,10 +141,6 @@ rulethickness=1pt, corner=round] -\usemodule[punk] - -\usetypescript[punk] - \definelayer [page] [width=\paperwidth, diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex index 427557214..db36c9349 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex @@ -1,18 +1,42 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-titlepage \setuplayout[page] +\ifcase\contextlmtxmode + + \usemodule[punk] + + \usetypescript[punk] + + \definefont[PunkSmall][demo@punk at 18pt] + \definefont[PunkLarge][demo@punk at 90pt] + +\else + + \useMPlibrary[punk] + + \definefont[PunkSmall][Serif*punkrandom @ 18pt] + \definefont[PunkLarge][Serif*punkrandom @ 90pt] + +\fi + \startstandardmakeup \startfontclass[none] % nil the current fontclass since it may append its features - \EnableRandomPunk + \ifcase\contextlmtxmode + \EnableRandomPunk + \else + \enablerandomvariants + \fi \setlayerframed [page] [width=\paperwidth,height=\paperheight, background=color,backgroundcolor=colorone,backgroundoffset=1ex,frame=off] {} - \definedfont[demo@punk at 18pt] + \PunkSmall \setbox\scratchbox\vbox { \hsize\dimexpr\paperwidth+2ex\relax \setupinterlinespace @@ -24,14 +48,14 @@ [page] [preset=middle] {\vsplit\scratchbox to \dimexpr\paperheight+2ex\relax} - \definedfont[demo@punk at 90pt] + \PunkLarge \setstrut \setlayerframed [page] [preset=rightbottom,offset=10mm] [foregroundcolor=colorthree,align=flushright,offset=overlay,frame=off] {Dealing\\with XML in\\Con\TeX t MkIV} - \definedfont[demo@punk at 18pt] + \PunkSmall \setstrut \setlayerframed [page] diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex index f8c65ecc9..b6905491c 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex @@ -1,3 +1,5 @@ +% language=us runpath=texruns:manuals/xml + \environment xml-mkiv-style \startcomponent xml-mkiv-tricks diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv.tex b/doc/context/sources/general/manuals/xml/xml-mkiv.tex index 77054e79c..aa9702589 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv.tex @@ -1,4 +1,4 @@ -% language=uk +% language=us runpath=texruns:manuals/xml % author : Hans Hagen % copyright : PRAGMA ADE & ConTeXt Development Team |