From df12f144a2cb09cec29a95df26bdfc5ccad58aff Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 27 Jul 2021 19:52:30 +0200 Subject: 2021-07-27 19:27:00 --- doc/context/documents/general/manuals/bidi.pdf | Bin 121014 -> 108054 bytes doc/context/documents/general/manuals/cld-mkiv.pdf | Bin 804291 -> 692894 bytes .../documents/general/manuals/colors-mkiv.pdf | Bin 2129948 -> 2319397 bytes .../documents/general/manuals/followingup.pdf | Bin 913258 -> 439529 bytes .../documents/general/manuals/languages-mkiv.pdf | Bin 678284 -> 283651 bytes doc/context/documents/general/manuals/musings.pdf | Bin 6002933 -> 1469208 bytes .../documents/general/manuals/primitives.pdf | Bin 143288 -> 143967 bytes .../documents/general/manuals/rules-mkiv.pdf | Bin 187549 -> 111325 bytes .../documents/general/manuals/spacing-mkiv.pdf | Bin 40300 -> 97602 bytes doc/context/documents/general/manuals/xml-mkiv.pdf | Bin 899449 -> 268614 bytes .../context/2020/context-2020-implementers.pdf | Bin 39686 -> 33665 bytes .../context/2020/context-2020-tokens.pdf | Bin 43876 -> 42665 bytes .../context/2020/context-2020-tokens.tex | 26 +- .../sources/general/manuals/bidi/bidi-contents.tex | 2 +- .../sources/general/manuals/bidi/bidi-fonts.tex | 2 +- .../general/manuals/bidi/bidi-introduction.tex | 2 +- .../sources/general/manuals/bidi/bidi-lua.tex | 2 +- .../sources/general/manuals/bidi/bidi-mixed.tex | 2 +- .../general/manuals/bidi/bidi-numbering.tex | 2 +- .../sources/general/manuals/bidi/bidi-style.tex | 2 + .../general/manuals/bidi/bidi-titlepage.tex | 2 + .../sources/general/manuals/bidi/bidi-vertical.tex | 2 +- doc/context/sources/general/manuals/bidi/bidi.tex | 8 +- .../sources/general/manuals/cld/cld-abitoflua.tex | 2 +- .../general/manuals/cld/cld-afewdetails.tex | 4 +- .../general/manuals/cld/cld-backendcode.tex | 2 +- .../sources/general/manuals/cld/cld-callbacks.tex | 2 +- .../sources/general/manuals/cld/cld-contents.tex | 2 + .../general/manuals/cld/cld-ctxfunctions.tex | 2 +- .../general/manuals/cld/cld-environment.tex | 25 +- .../sources/general/manuals/cld/cld-files.tex | 2 +- .../general/manuals/cld/cld-gettingstarted.tex | 2 +- .../sources/general/manuals/cld/cld-goodies.tex | 2 +- .../sources/general/manuals/cld/cld-graphics.tex | 2 +- .../general/manuals/cld/cld-introduction.tex | 2 +- .../sources/general/manuals/cld/cld-logging.tex | 2 +- .../general/manuals/cld/cld-luafunctions.tex | 2 +- .../sources/general/manuals/cld/cld-macros.tex | 2 +- .../sources/general/manuals/cld/cld-mkiv.tex | 2 +- .../general/manuals/cld/cld-moreonfunctions.tex | 2 +- .../sources/general/manuals/cld/cld-nicetoknow.tex | 2 +- .../sources/general/manuals/cld/cld-scanners.tex | 22 +- .../general/manuals/cld/cld-somemoreexamples.tex | 14 +- .../general/manuals/cld/cld-specialcommands.tex | 2 +- .../sources/general/manuals/cld/cld-summary.tex | 2 +- .../sources/general/manuals/cld/cld-titlepage.tex | 18 +- .../sources/general/manuals/cld/cld-variables.tex | 7 +- .../sources/general/manuals/cld/cld-verbatim.tex | 2 +- .../general/manuals/colors/colors-basics.tex | 12 +- .../general/manuals/colors/colors-environment.tex | 2 + .../general/manuals/colors/colors-graphics.tex | 2 +- .../general/manuals/colors/colors-introduction.tex | 2 +- .../general/manuals/colors/colors-metafun.tex | 2 +- .../sources/general/manuals/colors/colors-mkiv.tex | 2 + .../general/manuals/columnsets/columnsets-205.tex | 6 +- .../followingup/followingup-expressions.tex | 24 + .../manuals/followingup/followingup-fonts.tex | 46 -- .../general/manuals/followingup/followingup.tex | 2 + .../manuals/languages/languages-appendix.tex | 2 +- .../general/manuals/languages/languages-basics.tex | 2 +- .../manuals/languages/languages-environment.tex | 2 + .../manuals/languages/languages-hyphenation.tex | 2 +- .../manuals/languages/languages-introduction.tex | 2 +- .../general/manuals/languages/languages-labels.tex | 2 +- .../general/manuals/languages/languages-mkiv.tex | 2 +- .../manuals/languages/languages-sorting.tex | 4 +- .../general/manuals/libraries/ecmascript-mkiv.tex | 2 +- .../general/manuals/libraries/libraries-mkiv.tex | 2 +- .../manuals/lowlevel/lowlevel-paragraphs.tex | 80 +-- .../manuals/luametatex/luametatex-languages.tex | 40 +- .../manuals/luatex/luatex-modifications.tex | 8 + .../manuals/manuals-explaining-environment.tex | 2 +- .../sources/general/manuals/mathml/envexamp.tex | 2 + .../sources/general/manuals/mathml/mmlexamp.tex | 2 +- .../sources/general/manuals/mathml/mmlprime.tex | 34 +- .../general/manuals/musings/musings-children.tex | 2 +- .../general/manuals/musings/musings-contents.tex | 2 + .../manuals/musings/musings-introduction.tex | 2 +- .../general/manuals/musings/musings-names.tex | 2 +- .../general/manuals/musings/musings-perception.tex | 2 +- .../general/manuals/musings/musings-plain.tex | 8 +- .../general/manuals/musings/musings-roadmap.tex | 2 +- .../general/manuals/musings/musings-stability.tex | 2 +- .../general/manuals/musings/musings-staygo.tex | 2 +- .../general/manuals/musings/musings-style.tex | 2 + .../general/manuals/musings/musings-titlepage.tex | 2 + .../general/manuals/musings/musings-whytex.tex | 2 +- .../sources/general/manuals/musings/musings.tex | 6 + .../sources/general/manuals/nodes/nodes.tex | 4 +- .../general/manuals/primitives/primitives.tex | 594 ++++++++++++++++++--- .../sources/general/manuals/rules/rules-mkiv.tex | 2 +- .../general/manuals/spacing/spacing-contents.tex | 2 + .../manuals/spacing/spacing-introduction.tex | 2 + .../manuals/spacing/spacing-linecorrection.tex | 2 +- .../general/manuals/spacing/spacing-mkiv.tex | 2 + .../general/manuals/spacing/spacing-periods.tex | 2 +- .../general/manuals/spacing/spacing-spaces.tex | 2 +- .../general/manuals/spacing/spacing-style.tex | 2 + .../general/manuals/spacing/spacing-titlepage.tex | 2 + .../sources/general/manuals/tiptrick/tiptrick.tex | 2 + .../sources/general/manuals/xml/xml-mkiv-03.xml | 11 + .../general/manuals/xml/xml-mkiv-commands.tex | 2 + .../general/manuals/xml/xml-mkiv-contents.tex | 2 + .../general/manuals/xml/xml-mkiv-converter.tex | 4 +- .../general/manuals/xml/xml-mkiv-examples.tex | 8 +- .../general/manuals/xml/xml-mkiv-expressions.tex | 2 + .../general/manuals/xml/xml-mkiv-filtering.tex | 18 +- .../general/manuals/xml/xml-mkiv-introduction.tex | 2 + .../general/manuals/xml/xml-mkiv-lookups.tex | 2 + .../sources/general/manuals/xml/xml-mkiv-lpath.tex | 207 ------- .../sources/general/manuals/xml/xml-mkiv-style.tex | 11 +- .../general/manuals/xml/xml-mkiv-titlepage.tex | 32 +- .../general/manuals/xml/xml-mkiv-tricks.tex | 2 + .../sources/general/manuals/xml/xml-mkiv.tex | 2 +- 114 files changed, 915 insertions(+), 514 deletions(-) create mode 100644 doc/context/sources/general/manuals/xml/xml-mkiv-03.xml delete mode 100644 doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex (limited to 'doc') diff --git a/doc/context/documents/general/manuals/bidi.pdf b/doc/context/documents/general/manuals/bidi.pdf index 8485f05c7..18c57f654 100644 Binary files a/doc/context/documents/general/manuals/bidi.pdf and b/doc/context/documents/general/manuals/bidi.pdf differ diff --git a/doc/context/documents/general/manuals/cld-mkiv.pdf b/doc/context/documents/general/manuals/cld-mkiv.pdf index f08253793..bb92f9aff 100644 Binary files a/doc/context/documents/general/manuals/cld-mkiv.pdf and b/doc/context/documents/general/manuals/cld-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/colors-mkiv.pdf b/doc/context/documents/general/manuals/colors-mkiv.pdf index f211288d9..e52eed2f0 100644 Binary files a/doc/context/documents/general/manuals/colors-mkiv.pdf and b/doc/context/documents/general/manuals/colors-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/followingup.pdf b/doc/context/documents/general/manuals/followingup.pdf index 43a71517d..d7812d563 100644 Binary files a/doc/context/documents/general/manuals/followingup.pdf and b/doc/context/documents/general/manuals/followingup.pdf differ diff --git a/doc/context/documents/general/manuals/languages-mkiv.pdf b/doc/context/documents/general/manuals/languages-mkiv.pdf index 026acfca5..6212bfc47 100644 Binary files a/doc/context/documents/general/manuals/languages-mkiv.pdf and b/doc/context/documents/general/manuals/languages-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/musings.pdf b/doc/context/documents/general/manuals/musings.pdf index 26b421a03..69197240f 100644 Binary files a/doc/context/documents/general/manuals/musings.pdf and b/doc/context/documents/general/manuals/musings.pdf differ diff --git a/doc/context/documents/general/manuals/primitives.pdf b/doc/context/documents/general/manuals/primitives.pdf index 9d6fe7670..d42e72970 100644 Binary files a/doc/context/documents/general/manuals/primitives.pdf and b/doc/context/documents/general/manuals/primitives.pdf differ diff --git a/doc/context/documents/general/manuals/rules-mkiv.pdf b/doc/context/documents/general/manuals/rules-mkiv.pdf index dee2a4607..95b1d5d24 100644 Binary files a/doc/context/documents/general/manuals/rules-mkiv.pdf and b/doc/context/documents/general/manuals/rules-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/spacing-mkiv.pdf b/doc/context/documents/general/manuals/spacing-mkiv.pdf index fde9d6c70..102fa58a6 100644 Binary files a/doc/context/documents/general/manuals/spacing-mkiv.pdf and b/doc/context/documents/general/manuals/spacing-mkiv.pdf differ diff --git a/doc/context/documents/general/manuals/xml-mkiv.pdf b/doc/context/documents/general/manuals/xml-mkiv.pdf index bd538c215..8e9af41a6 100644 Binary files a/doc/context/documents/general/manuals/xml-mkiv.pdf and b/doc/context/documents/general/manuals/xml-mkiv.pdf differ diff --git a/doc/context/presentations/context/2020/context-2020-implementers.pdf b/doc/context/presentations/context/2020/context-2020-implementers.pdf index 94c515138..b7f7f7bb0 100644 Binary files a/doc/context/presentations/context/2020/context-2020-implementers.pdf and b/doc/context/presentations/context/2020/context-2020-implementers.pdf differ diff --git a/doc/context/presentations/context/2020/context-2020-tokens.pdf b/doc/context/presentations/context/2020/context-2020-tokens.pdf index 7139f0c53..7233c4611 100644 Binary files a/doc/context/presentations/context/2020/context-2020-tokens.pdf and b/doc/context/presentations/context/2020/context-2020-tokens.pdf differ diff --git a/doc/context/presentations/context/2020/context-2020-tokens.tex b/doc/context/presentations/context/2020/context-2020-tokens.tex index b987e2d10..d648efb56 100644 --- a/doc/context/presentations/context/2020/context-2020-tokens.tex +++ b/doc/context/presentations/context/2020/context-2020-tokens.tex @@ -40,6 +40,8 @@ \stopitemize +\stoptitle + \starttitle[title=Some implementation details] \startitemize @@ -127,7 +129,7 @@ Token memory: \eTABLE \stoplinecorrection -\stoptable +\stoptitle \starttitle[title=The hash table (simplified)] @@ -170,9 +172,9 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \starttitle[title=Other data management] \startitemize -\startitem Grouping is handles by a nesting stack. \stopitem +\startitem Grouping is handled by a nesting stack. \stopitem \startitem Nested conditionals (\type {\if...}) have their own stack. \stopitem -\startitem The values before assignments are saved ion the save stack. \stopitem +\startitem The values before assignments are saved on the save stack. \stopitem \startitem Also other local changes (housekeeping) ends up in the save stack. \stopitem \startitem Token lists and macro aliases have references pointers (reuse). \stopitem \startitem Attributes, being linked node lists, have their own management. \stopitem @@ -190,7 +192,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 1: in the input] +\starttitle[title=Example 2: in the input] \startbuffer \luatokentable{a \the\scratchcounter b \the\parindent \hbox to 10pt{x}} @@ -200,7 +202,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 2: user registers] +\starttitle[title=Example 3: user registers] \startbuffer \scratchtoks{foo \framed{\red 123}456} @@ -212,7 +214,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 3: internal variables] +\starttitle[title=Example 4: internal variables] \startbuffer \luatokentable\everypar @@ -222,7 +224,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 4: macro definitions] +\starttitle[title=Example 5: macro definitions] \startbuffer \protected\def\whatever#1[#2](#3)\relax{oeps #1 and #2 & #3 done ## error} @@ -234,7 +236,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 5: commands] +\starttitle[title=Example 6: commands] \startbuffer \luatokentable\startitemize @@ -244,7 +246,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 6: commands] +\starttitle[title=Example 7: commands] \startbuffer \luatokentable\doifelse @@ -254,7 +256,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 7: nothing] +\starttitle[title=Example 8: nothing] \startbuffer \luatokentable\relax @@ -264,7 +266,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 8: Hashes] +\starttitle[title=Example 9: hashes] \startbuffer \edef\foo#1#2{(#1)(\letterhash)(#2)} \luatokentable\foo @@ -274,7 +276,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists): \stoptitle -\starttitle[title=Example 9: Nesting] +\starttitle[title=Example 10: nesting] \startbuffer \def\foo#1{\def\foo##1{(#1)(##1)}} \luatokentable\foo 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} +\protected\def\SubSectionCommand#1#2% +% {\darkblue} + {\darkblue} \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,"]*>","") - 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,"]*>","") + 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 \NC bset \NC \NR +\BC resetbit \NC \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 @@ + + + +
+ Some title + +

a paragraph of text

+

another paragraph of text

+ + + 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] - - - - - - - - test a - - - test b - - - - - test c - - - test d - - - - test e - - - - test f - - - test g - - - - - - test h - - - - - test i - - - - - test j - - - - -\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 -- cgit v1.2.3