diff options
author | Norbert Preining <norbert@preining.info> | 2022-11-01 03:01:47 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-11-01 03:01:47 +0000 |
commit | 7ad25021e74ea26e33d705fbb402d29aabaf6314 (patch) | |
tree | 56c2d0c14fba2ebe57cb45ad1a2eff04f901378d /macros | |
parent | c7892fe1a11367872de6f3ee0fa074b39824e59c (diff) |
CTAN sync 202211010301
Diffstat (limited to 'macros')
242 files changed, 7532 insertions, 4627 deletions
diff --git a/macros/generic/markdown/CHANGES.md b/macros/generic/markdown/CHANGES.md index 077fb63c99..7e6575d20d 100644 --- a/macros/generic/markdown/CHANGES.md +++ b/macros/generic/markdown/CHANGES.md @@ -1,5 +1,46 @@ # Changes +## 2.18.0 (2022-10-31) + +Development: + +- Accept snake\_case variants of options in addition to camelCase variants in + `\markdownSetup` and Lua CLI. Accept snake\_case and caseless variants of + options in `\setupmarkdown`. (#193, #194, #195, #196, #197, #198) +- Rename renderers, renderer prototypes and options based on the semantics of + elements: (#187, #201) + - Rename the `horizontalRule` and `footnote` renderers and renderer + prototypes to `thematicBreak` and `note`. + - Rename the `footnotes` and `inlineFootnotes` options to `notes` and + `inlineNotes`. + - Rename the `HorizontalRule` rule to `ThematicBreak` and increment + `grammar_version` to `2`. This change is not backwards-compatible with the + `grammar_version` of `1`. +- Add `\markdownEscape` macro that inputs a TeX document in the middle of a + markdown document fragment. (1478f7b) +- Add support for raw attributes. (#173, #202) + +Fixes: + +- Fix missing support for forward slashes in + `\markdownSetup{jekyllDataRenderers = {...}}` keys. (#199, #200) +- Fix `plain` LaTeX option not preventing changes to renderer prototypes. + (013abbb) + +Continuous Integration: + +- Check user manual with MarkdownLint. (#203) + +Contributed Software: + +- Update `contributions/pandoc-to-markdown`. + (contributed by @drehak, 3d5b8e5, d3073bc) + +Deprecation: + +- Deprecate `horizontalRule` and `footnote` renderers and renderer prototypes. + (#187, #201) + ## 2.17.1 (2022-10-03) Fixes: diff --git a/macros/generic/markdown/LICENSE b/macros/generic/markdown/LICENSE new file mode 100644 index 0000000000..4db9b5af29 --- /dev/null +++ b/macros/generic/markdown/LICENSE @@ -0,0 +1,415 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. diff --git a/macros/generic/markdown/Makefile b/macros/generic/markdown/Makefile new file mode 100644 index 0000000000..fb68360821 --- /dev/null +++ b/macros/generic/markdown/Makefile @@ -0,0 +1,205 @@ +.PHONY: all base clean implode dist test docker-image force + +SHELL=/bin/bash + +AUXFILES=markdown.bbl markdown.cb markdown.cb2 markdown.glo markdown.bbl \ + markdown.run.xml markdown.markdown.in markdown.markdown.lua \ + markdown.markdown.out markdown-interfaces.md markdown-miscellanea.md \ + markdown-options.md markdown-tokens.md $(TECHNICAL_DOCUMENTATION_RESOURCES) \ + $(VERSION_FILE) +AUXDIRS=_minted-markdown _markdown_markdown markdown pkgcheck +TDSARCHIVE=markdown.tds.zip +CTANARCHIVE=markdown.ctan.zip +DISTARCHIVE=markdown.zip +ARCHIVES=$(TDSARCHIVE) $(CTANARCHIVE) $(DISTARCHIVE) +EXAMPLES_RESOURCES=examples/example.md examples/scientists.csv +EXAMPLES_SOURCES=examples/context-mkii.tex examples/context-mkiv.tex examples/latex.tex +EXAMPLES=examples/context-mkii.pdf examples/context-mkiv.pdf \ + examples/latex-pdftex.pdf examples/latex-luatex.pdf examples/latex-xetex.pdf \ + examples/latex-tex4ht.html examples/latex-tex4ht.css +TESTS=tests/test.sh tests/support/*.tex tests/templates/*/*.tex.m4 \ + tests/templates/*/COMMANDS.m4 tests/testfiles/*/*.test +MAKES=Makefile $(addsuffix /Makefile, $(SUBDIRECTORIES)) latexmkrc +ROOT_README=README.md markdown.png +READMES=$(ROOT_README) LICENSE examples/README.md tests/README.md \ + tests/support/README.md tests/templates/README.md tests/testfiles/README.md \ + tests/templates/*/README.md tests/testfiles/*/README.md +VERSION_FILE=VERSION +CHANGES_FILE=CHANGES.md +DTXARCHIVE=markdown.dtx +INSTALLER=markdown.ins docstrip.cfg +TECHNICAL_DOCUMENTATION_RESOURCES=markdown.bib markdown-figure-block-diagram.tex \ + markdownthemewitiko_markdown_techdoc.sty +TECHNICAL_DOCUMENTATION=markdown.pdf +MARKDOWN_USER_MANUAL=markdown.md markdown.css +HTML_USER_MANUAL=markdown.html markdown.css +USER_MANUAL=$(MARKDOWN_USER_MANUAL) $(HTML_USER_MANUAL) +DOCUMENTATION=$(TECHNICAL_DOCUMENTATION) $(HTML_USER_MANUAL) $(ROOT_README) $(VERSION_FILE) \ + $(CHANGES_FILE) +LIBRARIES=libraries/markdown-tinyyaml.lua +INSTALLABLES=markdown.lua markdown-cli.lua markdown.tex markdown.sty t-markdown.tex \ + markdownthemewitiko_dot.sty markdownthemewitiko_graphicx_http.sty \ + markdownthemewitiko_tilde.sty +EXTRACTABLES=$(INSTALLABLES) $(MARKDOWN_USER_MANUAL) $(TECHNICAL_DOCUMENTATION_RESOURCES) +MAKEABLES=$(TECHNICAL_DOCUMENTATION) $(USER_MANUAL) $(INSTALLABLES) $(EXAMPLES) +RESOURCES=$(DOCUMENTATION) $(EXAMPLES_RESOURCES) $(EXAMPLES_SOURCES) $(EXAMPLES) \ + $(MAKES) $(READMES) $(INSTALLER) $(DTXARCHIVE) $(TESTS) +EVERYTHING=$(RESOURCES) $(INSTALLABLES) $(LIBRARIES) +GITHUB_PAGES=gh-pages + +VERSION=$(shell git describe --tags --always --long --exclude latest) +LASTMODIFIED=$(shell git log -1 --date=format:%Y-%m-%d --format=%ad) + +# This is the default pseudo-target. It typesets the manual, +# the examples, and extracts the package files. +all: $(MAKEABLES) + $(MAKE) clean + +# This pseudo-target extracts the source files out of the DTX archive and +# produces external Lua libraries. +base: $(INSTALLABLES) $(LIBRARIES) + $(MAKE) clean + +# This pseudo-target builds a witiko/markdown Docker image. +docker-image: + DOCKER_BUILDKIT=1 docker build --pull --build-arg TEXLIVE_TAG=$(TEXLIVE_TAG) \ + -t witiko/markdown:$(TEXLIVE_TAG) \ + -t witiko/markdown:$(VERSION)-$(TEXLIVE_TAG) . + +# This targets produces a directory with files for the GitHub Pages service. +$(GITHUB_PAGES): $(HTML_USER_MANUAL) + mkdir -p $@ + cp markdown.html $@/index.html + cp markdown.css $@ + +# This target extracts the source files out of the DTX archive. +$(EXTRACTABLES): $(INSTALLER) $(DTXARCHIVE) + xetex $< + sed -i \ + -e 's#(((VERSION)))#$(VERSION)#g' \ + -e 's#(((LASTMODIFIED)))#$(LASTMODIFIED)#g' \ + $(INSTALLABLES) + +# This target produces the version file. +$(VERSION_FILE): force + printf '%s (%s)\n' $(VERSION) $(LASTMODIFIED) > $@ + +# This target produces external Lua libraries. +$(LIBRARIES): force + $(MAKE) -C libraries $(notdir $@) + +# This target typesets the manual. +$(TECHNICAL_DOCUMENTATION): $(DTXARCHIVE) $(TECHNICAL_DOCUMENTATION_RESOURCES) + latexmk -silent $< || (cat $(basename $@).log 1>&2; exit 1) + test `tail $(basename $<).log | sed -rn 's/.*\(([0-9]*) pages.*/\1/p'` -gt 150 + +# These targets typeset the examples. +$(EXAMPLES): $(EXAMPLE_SOURCES) examples/example.tex + $(MAKE) -C examples $(notdir $@) + +examples/example.tex: force + $(MAKE) -C examples $(notdir $@) + +# This target converts the markdown user manual to an HTML page. +%.html: %.md %.css + awk '{ \ + filename = gensub(/^\/(.*\.md)$$/, "\\1", "g"); \ + if(filename != $$0) \ + system("cat " filename); \ + else \ + print($$0); \ + }' <$< | \ + sed -e 's#\\markdownVersion{}#$(VERSION)#g' \ + -e 's#\\markdownLastModified{}#$(LASTMODIFIED)#g' \ + -e 's#\\TeX{}#<span class="tex">T<sub>e</sub>X</span>#g' \ + -e 's#\\LaTeX{}#<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>#g' \ + -e 's#\\Hologo{ConTeXt}#Con<span class="tex">T<sub>e</sub>X</span>t#g' \ + -e 's#\\Opt{\([^}]*\)}#**`\1`**#g' \ + -e 's#\\pkg{\([^}]*\)}#**`\1`**#g' \ + -e 's#\\,# #g' \ + -e 's#\\meta{\([^}]*\)}#\⟨*\1*\⟩#g' \ + -e 's#\\acro{\([^}]*\)}#<abbr>\1</abbr>#g' \ + -e 's#😉#<i class="em em-wink"></i>#g' \ + -e 's#\\envm{\([^}]*\)}#`\1`#g' \ + -e 's#\\envmdef{\([^}]*\)}#`\1`#g' \ + -e 's#\\envmref{\([^}]*\)}#`\1`#g' \ + -e 's#\\m{\([^}]*\)}#`\\\1`#g' \ + -e 's#\\mdef{\([^}]*\)}#`\\\1`#g' \ + -e 's#\\mref{\([^}]*\)}#`\\\1`#g' \ + | \ + pandoc -f markdown -t html -N -s --toc --toc-depth=3 --css=$(word 2, $^) >$@ + +# This pseudo-target runs all the tests in the `tests/` directory. +test: + $(MAKE) -C tests + +# This pseudo-target produces the distribution archives. +dist: implode + $(MAKE) $(ARCHIVES) + git clone https://gitlab.com/Lotz/pkgcheck.git + unzip $(CTANARCHIVE) -d markdown + for RETRY in $$(seq 1 10); \ + do \ + if (( RETRY > 1 )); \ + then \ + sleep $$((RETRY * 15)); \ + fi; \ + if pkgcheck/bin/pkgcheck -d markdown/markdown -T $(TDSARCHIVE) --urlcheck; \ + then \ + EXIT_CODE=0; \ + break; \ + else \ + EXIT_CODE=$$?; \ + fi; \ + done; \ + exit $$EXIT_CODE + $(MAKE) clean + +# This target produces the TeX directory structure archive. +$(TDSARCHIVE): $(DTXARCHIVE) $(INSTALLER) $(INSTALLABLES) $(DOCUMENTATION) $(EXAMPLES_RESOURCES) $(EXAMPLES_SOURCES) $(LIBRARIES) + @# Installing the macro package. + mkdir -p tex/generic/markdown tex/luatex/markdown tex/latex/markdown \ + tex/context/third/markdown scripts/markdown + cp markdown.lua $(LIBRARIES) tex/luatex/markdown/ + cp markdown-cli.lua scripts/markdown/ + cp markdown.sty markdownthemewitiko_dot.sty markdownthemewitiko_graphicx_http.sty \ + markdownthemewitiko_tilde.sty tex/latex/markdown/ + cp markdown.tex tex/generic/markdown/ + cp t-markdown.tex tex/context/third/markdown/ + @# Installing the documentation. + mkdir -p doc/generic/markdown doc/latex/markdown/examples \ + doc/context/third/markdown/examples + cp $(DOCUMENTATION) doc/generic/markdown/ + cp examples/context-mkii.tex examples/context-mkiv.tex $(EXAMPLES_RESOURCES) \ + doc/context/third/markdown/examples/ + cp examples/latex.tex $(EXAMPLES_RESOURCES) doc/latex/markdown/examples/ + @# Installing the sources. + mkdir -p source/generic/markdown + cp $(DTXARCHIVE) $(INSTALLER) source/generic/markdown + zip -r -v -nw $@ doc scripts source tex + rm -rf doc scripts source tex + +# This target produces the distribution archive. +$(DISTARCHIVE): $(EVERYTHING) $(TDSARCHIVE) + -ln -s . markdown + zip -MM -r -v -nw $@ $(addprefix markdown/,$(EVERYTHING)) $(TDSARCHIVE) + rm -f markdown + +# This target produces the CTAN archive. +$(CTANARCHIVE): $(DTXARCHIVE) $(INSTALLER) $(DOCUMENTATION) $(EXAMPLES_RESOURCES) $(EXAMPLES_SOURCES) $(LIBRARIES) $(TDSARCHIVE) + -ln -s . markdown + zip -MM -r -v -nw $@ $(addprefix markdown/,$(DTXARCHIVE) $(INSTALLER) $(DOCUMENTATION) $(EXAMPLES_RESOURCES) $(EXAMPLES_SOURCES) $(LIBRARIES)) $(TDSARCHIVE) + rm -f markdown + +# This pseudo-target removes any existing auxiliary files and directories. +clean: + latexmk -c $(DTXARCHIVE) + rm -f $(AUXFILES) + rm -rf ${AUXDIRS} + $(MAKE) -C examples clean + +# This pseudo-target removes any makeable files. +implode: clean + rm -f $(MAKEABLES) $(ARCHIVES) + $(MAKE) -C examples implode + $(MAKE) -C libraries implode diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md index c47b1074a2..d7423fa93b 100644 --- a/macros/generic/markdown/README.md +++ b/macros/generic/markdown/README.md @@ -185,8 +185,9 @@ For further information, consult one of the following: - [Using Markdown inside TeX documents][tb119], - [Markdown 2.7.0: Towards lightweight markup in TeX][tb124], - [Making Markdown into a Microwave Meal][tb129], - - [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131], and - - [Markdown 2.15.0: What's New?][tb133]. + - [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131], + - [Markdown 2.15.0: What's New?][tb133], and + - [Markdown 2.17.1: What's New, What's Next?][tb135]. 5. Journal articles of me and my students published by [CSTUG][] (in Czech and Slovak): - [Rendering Markdown inside TeX Documents][10.5300/2016-1-4/78], - [Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX][10.5300/2020-1-2/48], @@ -204,11 +205,12 @@ For further information, consult one of the following: [overleaf-5]: https://www.overleaf.com/latex/examples/writing-posters-with-markdown/jtbgmmgqrqmh "Writing Posters with Markdown" [overleaf-6]: https://www.overleaf.com/latex/examples/using-markdown-in-latex-documents/whdrnpcpnwrm "Using Markdown in LaTeX documents" - [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents" - [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX" - [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal" - [tb131]: https://www.tug.org/TUGboat/tb42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX" - [tb133]: https://tug.org/TUGboat/tb43-1/tb133novotny-markdown.pdf "Markdown 2.15.0: What's New?" + [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents" + [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX" + [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal" + [tb131]: https://www.tug.org/TUGboat/tb42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX" + [tb133]: https://www.tug.org/TUGboat/tb43-1/tb133novotny-markdown.pdf "Markdown 2.15.0: What's New?" + [tb135]: https://www.tug.org/TUGboat/production/43-3/tb135novotny-markdown.pdf "Markdown 2.17.1: What's New, What's Next?" [tb131-slides]: https://tug.org/tug2021/assets/pdf/tug2021-novotny-slides.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX" [tb131-video]: https://youtu.be/THmPkAncMnc "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX" diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION index 5435cd30d6..ca77f648f3 100644 --- a/macros/generic/markdown/VERSION +++ b/macros/generic/markdown/VERSION @@ -1 +1 @@ -2.17.1-0-g8ca83f5 (2022-10-03) +2.18.0-0-gd8ae860 (2022-10-30) diff --git a/macros/generic/markdown/examples/README.md b/macros/generic/markdown/examples/README.md new file mode 100644 index 0000000000..0d32d16ec4 --- /dev/null +++ b/macros/generic/markdown/examples/README.md @@ -0,0 +1,7 @@ +This directory contains example LaTeX and ConTeXt documents. These documents +can be typeset by running the GNU `make` program in this directory. It is +expected that your TeX installation contains the `pdflatex`, `xelatex`, +`lualatex`, `texexec`, and `context` executables. + +The `markdown.dtx` file in the root directory contains documentation in the +markdown language and can also serve as an example LaTeX document. diff --git a/macros/generic/markdown/examples/context-mkii.pdf b/macros/generic/markdown/examples/context-mkii.pdf Binary files differnew file mode 100644 index 0000000000..2f2f8e11cf --- /dev/null +++ b/macros/generic/markdown/examples/context-mkii.pdf diff --git a/macros/generic/markdown/examples/context-mkii.tex b/macros/generic/markdown/examples/context-mkii.tex index 77809fa16b..b2c48ac00a 100644 --- a/macros/generic/markdown/examples/context-mkii.tex +++ b/macros/generic/markdown/examples/context-mkii.tex @@ -9,21 +9,22 @@ % Set options of the Markdown module. \setupmarkdown [ - hashEnumerators = yes, + contentBlocks = yes, debugExtensions = yes, definitionLists = yes, - smartEllipses = yes, - footnotes = yes, - inlineFootnotes = yes, + fancy_lists = yes, fencedCode = yes, - contentBlocks = yes, + hashEnumerators = yes, + inlineNotes = yes, + notes = yes, pipeTables = yes, + rawAttribute = yes, + smartEllipses = yes, + strikethrough = yes, + subscripts = yes, + superscripts = yes, tableCaptions = yes, taskLists = yes, - strikeThrough = yes, - superscripts = yes, - subscripts = yes, - fancyLists = yes, ] % Set renderers of the Markdown module. diff --git a/macros/generic/markdown/examples/context-mkiv.pdf b/macros/generic/markdown/examples/context-mkiv.pdf Binary files differnew file mode 100644 index 0000000000..51246ff4a7 --- /dev/null +++ b/macros/generic/markdown/examples/context-mkiv.pdf diff --git a/macros/generic/markdown/examples/context-mkiv.tex b/macros/generic/markdown/examples/context-mkiv.tex index 8849e7bd66..b91ab03d99 100644 --- a/macros/generic/markdown/examples/context-mkiv.tex +++ b/macros/generic/markdown/examples/context-mkiv.tex @@ -9,21 +9,22 @@ % Set options of the Markdown module. \setupmarkdown [ - hashEnumerators = yes, + contentBlocks = yes, debugExtensions = yes, definitionLists = yes, - smartEllipses = yes, - footnotes = yes, - inlineFootnotes = yes, + fancy_lists = yes, fencedCode = yes, - contentBlocks = yes, + hashEnumerators = yes, + inlineNotes = yes, + notes = yes, pipeTables = yes, + rawAttribute = yes, + smartEllipses = yes, + strikethrough = yes, + subscripts = yes, + superscripts = yes, tableCaptions = yes, taskLists = yes, - strikeThrough = yes, - superscripts = yes, - subscripts = yes, - fancyLists = yes, ] % Set renderers of the Markdown module. diff --git a/macros/generic/markdown/examples/example.md b/macros/generic/markdown/examples/example.md index 24ca2c6362..f697bcff57 100644 --- a/macros/generic/markdown/examples/example.md +++ b/macros/generic/markdown/examples/example.md @@ -10,7 +10,7 @@ ###### This is an H6 -This is a text paragraph containing an ellipsis ... and followed by a horizontal rule. +This is a text paragraph containing an ellipsis ... and followed by a thematic break. *** @@ -148,20 +148,26 @@ This is a block quote: > > Back to the first level. -Here is a footnote reference[^1] and another.[^longnote] +Here is a note reference[^1] and another.[^longnote] Here is an inline note.^[Inlines notes are easier to write, since you don't have to pick an identifier and move down to type the note.] - -[^1]: Here is the footnote. + +[^1]: Here is the note. [^longnote]: Here's one with multiple blocks. - + Subsequent paragraphs are indented to show that they -belong to the previous footnote. - +belong to the previous note. + Some code The whole paragraph can be indented, or just the first - line. In this way, multi-paragraph footnotes work like + line. In this way, multi-paragraph notes work like multi-paragraph list items. + +This is raw `\TeX`{=tex} code: + +``` {=tex} +$$ x^n + y^n = z^n $$ +``` diff --git a/macros/generic/markdown/examples/latex-luatex.pdf b/macros/generic/markdown/examples/latex-luatex.pdf Binary files differnew file mode 100644 index 0000000000..7777fae525 --- /dev/null +++ b/macros/generic/markdown/examples/latex-luatex.pdf diff --git a/macros/generic/markdown/examples/latex-pdftex.pdf b/macros/generic/markdown/examples/latex-pdftex.pdf Binary files differnew file mode 100644 index 0000000000..10024e87b2 --- /dev/null +++ b/macros/generic/markdown/examples/latex-pdftex.pdf diff --git a/macros/generic/markdown/examples/latex-tex4ht.css b/macros/generic/markdown/examples/latex-tex4ht.css new file mode 100644 index 0000000000..1a76a03921 --- /dev/null +++ b/macros/generic/markdown/examples/latex-tex4ht.css @@ -0,0 +1,219 @@ + +/* start css.sty */ +.ec-lmr-17{font-size:170%;} +.ec-lmri-12x-x-144{font-size:172%; font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmri-12x-x-144{ font-style:italic;} +.ec-lmr-12{font-size:120%;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmtt-10{ font-family: monospace,monospace;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmbx-10{ font-weight: bold;} +.ec-lmr-9{font-size:90%;} +.ec-lmr-8{font-size:80%;} +.ec-lmtt-8{font-size:80%; font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmtt-8{ font-family: monospace,monospace;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.ec-lmri-10{ font-style:italic;} +.lmmi-7{font-size:70%;} +p{margin-top:0;margin-bottom:0} +p.indent{text-indent:0;} +p + p{margin-top:1em;} +p + div, p + pre {margin-top:1em;} +div + p, pre + p {margin-top:1em;} +a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; hyphens: auto; } +@media print {div.crosslinks {visibility:hidden;}} +table.tabular{border-collapse: collapse; border-spacing: 0;} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +div.par-math-display, div.math-display{text-align:center;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p:first-child{ margin-bottom:0; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +div.newtheorem .head{font-weight: bold;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 0px; margin:0px; } +.hline td, .cline td{ padding: 0; } +.hline hr, .cline hr{border:none;border-top:1px solid black;} +.hline {border-top: 1px solid black;} +.tabbing-right {text-align:right;} +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;} +.reversemarginpar{float:left;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.chapterToc a, .chapterToc, .likechapterToc a, .likechapterToc, .appendixToc a, .appendixToc {line-height: 200%; font-weight:bold;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +h1.partHead{text-align: center} + .chapterToc, .likechapterToc {margin-left:0em;} + .chapterToc ~ .likesectionToc, .chapterToc ~ .sectionToc, .likechapterToc ~ .likesectionToc, .likechapterToc ~ .sectionToc {margin-left:2em;} + .chapterToc ~ .likesectionToc ~ .likesubsectionToc, .chapterToc ~ .likesectionToc ~ .subsectionToc, .chapterToc ~ .sectionToc ~ .likesubsectionToc, .chapterToc ~ .sectionToc ~ .subsectionToc, .likechapterToc ~ .likesectionToc ~ .likesubsectionToc, .likechapterToc ~ .likesectionToc ~ .subsectionToc, .likechapterToc ~ .sectionToc ~ .likesubsectionToc, .likechapterToc ~ .sectionToc ~ .subsectionToc {margin-left:4em;} +.chapterToc ~ .likesectionToc ~ .likesubsectionToc ~ .likesubsubsectionToc, .chapterToc ~ .likesectionToc ~ .likesubsectionToc ~ .subsubsectionToc, .chapterToc ~ .likesectionToc ~ .subsectionToc ~ .likesubsubsectionToc, .chapterToc ~ .likesectionToc ~ .subsectionToc ~ .subsubsectionToc, .chapterToc ~ .sectionToc ~ .likesubsectionToc ~ .likesubsubsectionToc, .chapterToc ~ .sectionToc ~ .likesubsectionToc ~ .subsubsectionToc, .chapterToc ~ .sectionToc ~ .subsectionToc ~ .likesubsubsectionToc, .chapterToc ~ .sectionToc ~ .subsectionToc ~ .subsubsectionToc, .likechapterToc ~ .likesectionToc ~ .likesubsectionToc ~ .likesubsubsectionToc, .likechapterToc ~ .likesectionToc ~ .likesubsectionToc ~ .subsubsectionToc, .likechapterToc ~ .likesectionToc ~ .subsectionToc ~ .likesubsubsectionToc, .likechapterToc ~ .likesectionToc ~ .subsectionToc ~ .subsubsectionToc, .likechapterToc ~ .sectionToc ~ .likesubsectionToc ~ .likesubsubsectionToc, .likechapterToc ~ .sectionToc ~ .likesubsectionToc ~ .subsubsectionToc, .likechapterToc ~ .sectionToc ~ .subsectionToc ~ .likesubsubsectionToc .likechapterToc ~ .sectionToc ~ .subsectionToc ~ .subsubsectionToc {margin-left:6em;} + .likesectionToc , .sectionToc {margin-left:0em;} + .likesectionToc ~ .likesubsectionToc, .likesectionToc ~ .subsectionToc, .sectionToc ~ .likesubsectionToc, .sectionToc ~ .subsectionToc {margin-left:2em;} +.likesectionToc ~ .likesubsectionToc ~ .likesubsubsectionToc, .likesectionToc ~ .likesubsectionToc ~ .subsubsectionToc, .likesectionToc ~ .subsectionToc ~ .likesubsubsectionToc, .likesectionToc ~ .subsectionToc ~ .subsubsectionToc, .sectionToc ~ .likesubsectionToc ~ .likesubsubsectionToc, .sectionToc ~ .likesubsectionToc ~ .subsubsectionToc, .sectionToc ~ .subsectionToc ~ .likesubsubsectionToc, .sectionToc ~ .subsectionToc ~ .subsubsectionToc {margin-left:4em;} + .likesubsectionToc, .subsectionToc {margin-left:0em;} + .likesubsectionToc ~ .subsubsectionToc, .subsectionToc ~ .subsubsectionToc {margin-left:2em;} +figure.float, div.figure {margin-left: auto; margin-right: auto;} +figure.figure {text-align:center;} +figcaption.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:center;} +figcaption.caption span.id{font-weight: bold; white-space: nowrap; } +p + figcaption, img + figcaption{margin-top: 1em;} +dt.enumerate{float:left; clear:left; margin-right:0.2em; margin-left:2em;} +dt.compactenum{float:left; clear:left; margin-right:0.2em; margin-left:2em;} +.equation td{text-align:center; } +.equation-star td{text-align:center; } +table.equation-star { width:100%; } +table.equation { width:100%; } +table.align, table.alignat, table.xalignat, table.xxalignat, table.flalign {width:95%; margin-left:5%; white-space: nowrap;} +table.align-star, table.alignat-star, table.xalignat-star, table.flalign-star {margin-left:auto; margin-right:auto; white-space: nowrap;} +td.align-label { width:5%; text-align:center; } +td.align-odd { text-align:right; padding-right:0.3em;} +td.align-even { text-align:left; padding-right:0.6em;} +table.multline, table.multline-star {width:100%;} +td.gather {text-align:center; } +table.gather {width:100%;} +div.gather-star {text-align:center;} +pre.fancyvrb {white-space: pre-wrap; margin:0em;font-family:monospace,monospace;} +.rotatebox{display: inline-block;} +span.textso{letter-spacing: 0.3em; word-spacing: 0.3em} +span.textul{text-decoration:underline} +span.textst{text-decoration:line-through} +span.textcaps{font-variant:small-caps} +#TBL-2-1{border-left: 1px solid black;} +#TBL-2-1{border-right:1px solid black;} +#TBL-2-2{border-right:1px solid black;} +#TBL-2-3{border-right:1px solid black;} +tr#TBL-3-1- {border-top:0.11197em solid #000;} +tr#TBL-3-1- {border-bottom:0.06998em solid #000} +tr#TBL-3-4- {border-bottom:0.11197em solid #000} +#TBL-4-1{border-left: 1px solid black;} +#TBL-4-1{border-right:1px solid black;} +#TBL-4-2{border-right:1px solid black;} +#TBL-4-3{border-right:1px solid black;} +tr#TBL-5-1- {border-top:0.11197em solid #000;} +tr#TBL-5-1- {border-bottom:0.06998em solid #000} +tr#TBL-5-4- {border-bottom:0.11197em solid #000} +/* end css.sty */ + diff --git a/macros/generic/markdown/examples/latex-tex4ht.html b/macros/generic/markdown/examples/latex-tex4ht.html new file mode 100644 index 0000000000..225e65c8f7 --- /dev/null +++ b/macros/generic/markdown/examples/latex-tex4ht.html @@ -0,0 +1,452 @@ +<div class='maketitle'> + + + + +<h2 class='titleHead'>An Example Markdown Document</h2> +<div class='author'><span class='ec-lmr-12'>Vít Novotný</span></div><br /> +<div class='date'><span class='ec-lmr-12'>October 30, 2022</span></div> + + </div><!DOCTYPE html> +<html lang='en' xml:lang='en'> +<head><title>An Example Markdown Document</title> +<meta charset='utf-8' /> +<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' /> +<meta content='width=device-width,initial-scale=1' name='viewport' /> +<link href='latex-tex4ht.css' rel='stylesheet' type='text/css' /> +<meta content='latex-tex4ht.tex' name='src' /> +</head><body> + + <h2 class='chapterHead' id='this-is-an-h'><span class='titlemark'>Chapter 1</span><br /><a id='x1-10001'></a>This is an H1</h2> + <h3 class='sectionHead' id='this-is-an-h1'><span class='titlemark'>1.1 </span> <a id='x1-20001.1'></a>This is an H2</h3> +<!-- l. 4 --><p class='noindent'> +</p> + <h4 class='subsectionHead' id='this-is-an-h2'><span class='titlemark'>1.1.1 </span> <a id='x1-30001.1.1'></a>This is an H3</h4> +<!-- l. 5 --><p class='noindent'> +</p> + <h5 class='subsubsectionHead' id='this-is-an-h3'><a id='x1-4000'></a>This is an H4</h5> +<!-- l. 6 --><p class='noindent'><span class='paragraphHead' id='this-is-an-h4'><a id='x1-5000'></a><span class='ec-lmbx-10'>This is an H5</span></span> +</p> +<!-- l. 7 --><p class='indent'> <span class='subparagraphHead' id='this-is-an-h5'> <a id='x1-6000'></a><span class='ec-lmbx-10'>This is an H6</span></span> + This is a text paragraph containing an ellipsis … and followed by a thematic +break. +</p><!-- l. 9 --><p class='noindent'>__________________________________________________________________ +</p><!-- l. 10 --><p class='indent'> This is inline <span class='ec-lmtt-10'>code</span>. This is a link<span class='footnote-mark'><a href='#fn1x2' id='fn1x2-bk'><sup class='textsuperscript'>1</sup></a></span><a id='x1-6001f1'></a>. +<span class='ec-lmri-10'>This is an </span>emphasized <span class='ec-lmri-10'>span of text</span>. <span class='ec-lmbx-10'>This is a </span>strongly emphasized <span class='ec-lmbx-10'>span of +</span><span class='ec-lmbx-10'>text</span>. +</p> + <figure class='figure' id='-an-example-image-from-martin-scharrers-mwe-package'> + + +<a id='x1-60021'></a> + +<div class='center'> +<!-- l. 11 --><p class='noindent'> +</p><!-- l. 11 --><p class='noindent'><img alt='PIC' src='example-image.png' /></p></div> +<figcaption class='caption'><span class='id'>Figure 1.1: </span><span class='content'>An example image from Martin Scharrer’s mwe package</span></figcaption><!-- tex4ht:label?: x1-60021 --> + + </figure> + <div class='table'> + +<!-- l. 12 --><p class='indent' id='-the-great-minds-of-the-th-century-rendered-via-a-content-block'> <a id='x1-60031'></a></p><figure class='float'> + +<div class='center'> +<!-- l. 12 --><p class='noindent'> +</p> +<div class='tabular'> <table class='tabular' id='TBL-2'><colgroup id='TBL-2-1g'><col id='TBL-2-1' /></colgroup><colgroup id='TBL-2-2g'><col id='TBL-2-2' /></colgroup><colgroup id='TBL-2-3g'><col id='TBL-2-3' /></colgroup><tr class='hline'><td></td><td></td><td></td></tr><tr id='TBL-2-1-' style='vertical-align:baseline;'><td class='td11' id='TBL-2-1-1' style='white-space:nowrap; text-align:left;'>Name </td><td class='td11' id='TBL-2-1-2' style='white-space:nowrap; text-align:left;'>Surname</td><td class='td11' id='TBL-2-1-3' style='white-space:nowrap; text-align:left;'>Born</td></tr><tr class='hline'><td></td><td></td><td></td></tr><tr id='TBL-2-2-' style='vertical-align:baseline;'><td class='td11' id='TBL-2-2-1' style='white-space:nowrap; text-align:left;'>Albert </td><td class='td11' id='TBL-2-2-2' style='white-space:nowrap; text-align:left;'>Einstein </td><td class='td11' id='TBL-2-2-3' style='white-space:nowrap; text-align:left;'>1879</td> +</tr><tr id='TBL-2-3-' style='vertical-align:baseline;'><td class='td11' id='TBL-2-3-1' style='white-space:nowrap; text-align:left;'>Marie </td><td class='td11' id='TBL-2-3-2' style='white-space:nowrap; text-align:left;'>Curie </td><td class='td11' id='TBL-2-3-3' style='white-space:nowrap; text-align:left;'>1867</td> +</tr><tr id='TBL-2-4-' style='vertical-align:baseline;'><td class='td11' id='TBL-2-4-1' style='white-space:nowrap; text-align:left;'>Thomas</td><td class='td11' id='TBL-2-4-2' style='white-space:nowrap; text-align:left;'>Edison </td><td class='td11' id='TBL-2-4-3' style='white-space:nowrap; text-align:left;'>1847</td> +</tr><tr class='hline'><td></td><td></td><td></td></tr></table> </div></div> +<figcaption class='caption'><span class='id'>Table 1.1: </span><span class='content'>The great minds of the 19th century rendered via a content block</span></figcaption><!-- tex4ht:label?: x1-60031 --> + + </figure> + </div> +<!-- l. 13 --><p class='indent'> This is a fenced code block: +</p> + <pre class='fancyvrb' id='fancyvrb1'> +<a id='x1-6005r1'></a><span class='ec-lmtt-10'>\documentclass{article}</span> + +<a id='x1-6007r2'></a><span class='ec-lmtt-10'>\begin{document}</span> + +<a id='x1-6009r3'></a><span class='ec-lmtt-10'> Hello world!</span> + +<a id='x1-6011r4'></a><span class='ec-lmtt-10'>\end{document}</span> + </pre> +<!-- l. 15 --><p class='indent'> This is a table: +</p> + <div class='table'> + +<!-- l. 16 --><p class='indent' id='-demonstration-of-pipe-table-syntax'> <a id='x1-60122'></a></p><figure class='float'> + +<div class='tabular'> + <table class='tabular' id='TBL-3'><colgroup id='TBL-3-1g'><col id='TBL-3-1' /><col id='TBL-3-2' /><col id='TBL-3-3' /><col id='TBL-3-4' /></colgroup><tr id='TBL-3-1-' style='vertical-align:baseline;'><td class='td11' id='TBL-3-1-1' style='white-space:nowrap; text-align:right;'>Right</td><td class='td11' id='TBL-3-1-2' style='white-space:nowrap; text-align:left;'>Left</td><td class='td11' id='TBL-3-1-3' style='white-space:nowrap; text-align:left;'>Default</td><td class='td11' id='TBL-3-1-4' style='white-space:nowrap; text-align:center;'>Center</td> +</tr><tr id='TBL-3-2-' style='vertical-align:baseline;'><td class='td11' id='TBL-3-2-1' style='white-space:nowrap; text-align:right;'> 12</td><td class='td11' id='TBL-3-2-2' style='white-space:nowrap; text-align:left;'>12 </td><td class='td11' id='TBL-3-2-3' style='white-space:nowrap; text-align:left;'>12 </td><td class='td11' id='TBL-3-2-4' style='white-space:nowrap; text-align:center;'> 12 </td> +</tr><tr id='TBL-3-3-' style='vertical-align:baseline;'><td class='td11' id='TBL-3-3-1' style='white-space:nowrap; text-align:right;'> 123</td><td class='td11' id='TBL-3-3-2' style='white-space:nowrap; text-align:left;'>123 </td><td class='td11' id='TBL-3-3-3' style='white-space:nowrap; text-align:left;'>123 </td><td class='td11' id='TBL-3-3-4' style='white-space:nowrap; text-align:center;'> 123 </td> +</tr><tr id='TBL-3-4-' style='vertical-align:baseline;'><td class='td11' id='TBL-3-4-1' style='white-space:nowrap; text-align:right;'> 1</td><td class='td11' id='TBL-3-4-2' style='white-space:nowrap; text-align:left;'>1 </td><td class='td11' id='TBL-3-4-3' style='white-space:nowrap; text-align:left;'>1 </td><td class='td11' id='TBL-3-4-4' style='white-space:nowrap; text-align:center;'> 1 </td> +</tr></table> </div> +<figcaption class='caption'><span class='id'>Table 1.2: </span><span class='content'>Demonstration of pipe table syntax.</span></figcaption><!-- tex4ht:label?: x1-60122 --> + + </figure> + </div> +<!-- l. 17 --><p class='indent'> This is a bullet list: + </p><ul> + <li class='compactitem'>The first item of a bullet list</li></ul> +<!-- l. 21 --><p class='indent'> that spans several paragraphs, +</p> + <ul class='itemize1'> + <li class='itemize'>the second item of a bullet list, + </li> + <li class='itemize'>the third item of a bullet list.</li></ul> +<!-- l. 26 --><p class='indent'> This is a compact bullet list: + </p><ul> + <li class='compactitem'>The first item of a bullet list, + </li> + <li class='compactitem'>the second item of a bullet list, + </li> + <li class='compactitem'>the third item of a bullet list.</li></ul> +<!-- l. 32 --><p class='indent'> This is an ordered list: + </p><dl class='compactenum'><dt class='compactenum'> +5. </dt><dd class='compactenum'>The first item of an ordered list</dd></dl> +<!-- l. 35 --><p class='indent'> that spans several paragraphs, + </p><dl class='enumerate'><dt class='enumerate'> +6. </dt><dd class='enumerate'>the second item of an ordered list, + </dd><dt class='enumerate'> +7. </dt><dd class='enumerate'>the third item of an ordered list.</dd></dl> +<!-- l. 39 --><p class='indent'> This is a fancy ordered list: + </p><dl class='compactenum'><dt class='compactenum'> +e) </dt><dd class='compactenum'>The first item of an ordered list</dd></dl> +<!-- l. 42 --><p class='indent'> that spans several paragraphs, + </p><dl class='enumerate'><dt class='enumerate'> + f) </dt><dd class='enumerate'>the second item of an ordered list, + </dd><dt class='enumerate'> +g) </dt><dd class='enumerate'>the third item of an ordered list.</dd></dl> +<!-- l. 46 --><p class='indent'> This is an ordered list using hash enumerators: + </p><dl class='compactenum'><dt class='compactenum'> +1. </dt><dd class='compactenum'>The first item of an ordered list</dd></dl> + +<!-- l. 49 --><p class='indent'> that spans several paragraphs, + </p><dl class='enumerate'><dt class='enumerate'> +1. </dt><dd class='enumerate'>the second item of an ordered list, + </dd><dt class='enumerate'> +2. </dt><dd class='enumerate'>the third item of an ordered list.</dd></dl> +<!-- l. 53 --><p class='indent'> This is a compact ordered list: + </p><dl class='compactenum'><dt class='compactenum'> +5. </dt><dd class='compactenum'>The first item of an ordered list, + </dd><dt class='compactenum'> +6. </dt><dd class='compactenum'>the second item of an ordered list, + </dd><dt class='compactenum'> +7. </dt><dd class='compactenum'>the third item of an ordered list.</dd></dl> +<!-- l. 58 --><p class='indent'> This is a compact ordered list using hash enumerators: + </p><dl class='compactenum'><dt class='compactenum'> +1. </dt><dd class='compactenum'>The first item of an ordered list, + </dd><dt class='compactenum'> +2. </dt><dd class='compactenum'>the second item of an ordered list, + </dd><dt class='compactenum'> +3. </dt><dd class='compactenum'>the third item of an ordered list.</dd></dl> +<!-- l. 63 --><p class='indent'> This is a compact fancy ordered list using hash enumerators: + </p><dl class='compactenum'><dt class='compactenum'> +1. </dt><dd class='compactenum'>The first item of an ordered list, + </dd><dt class='compactenum'> +2. </dt><dd class='compactenum'>the second item of an ordered list, + </dd><dt class='compactenum'> +3. </dt><dd class='compactenum'>the third item of an ordered list.</dd></dl> +<!-- l. 68 --><p class='indent'> This is a task list: + </p><ul> + <li class='compactitem'> Some unfinished task + </li> + <li class='compactitem'> Some half-finished task + </li> + <li class='compactitem'> Some finished task + </li> + <li class='compactitem'>An item of an unordered list + <dl class='compactenum'><dt class='compactenum'> + 1. </dt><dd class='compactenum'><span class='msam-10'>□ </span>Some unfinished subtask + </dd><dt class='compactenum'> + 2. </dt><dd class='compactenum'><span class='msam-10'>⊡ </span>Some half-finished subtask + </dd><dt class='compactenum'> + 3. </dt><dd class='compactenum'><span class='msam-10'>⊠ </span>Some finished subtask + </dd><dt class='compactenum'> + 4. </dt><dd class='compactenum'>An item of an ordered list</dd></dl> + </li></ul> + +<!-- l. 80 --><p class='indent'> This is a definition list: + </p><dl class='description'><dt class='description'> + <!-- l. 82 --><p class='noindent'> +<span class='ec-lmbx-10'>Term 1</span> </p></dt><dd class='description'> + <!-- l. 82 --><p class='noindent'>Definition 1 with some <span class='textst'>removed text</span> + </p></dd><dt class='description'> + <!-- l. 82 --><p class='noindent'> +<span class='ec-lmbx-10'>Term 2</span> </p></dt><dd class='description'> + <!-- l. 82 --><p class='noindent'>Definition 2 +</p> + <pre class='fancyvrb' id='fancyvrb2'> +<a id='x1-6014r1'></a><span class='ec-lmtt-10'>Some code, part of Definition 2</span> +</pre> + <!-- l. 84 --><p class='noindent'>Third paragraph of Definition 2. + </p><!-- l. 84 --><p class='noindent'>Definition 3 +</p> + </dd></dl> +<!-- l. 86 --><p class='indent'> This is a compact definition list: + </p><dl class='compactdesc'><dt class='compactdesc'> +<span class='ec-lmbx-10'>Term 1</span> </dt><dd class='compactdesc'>Definition 1 + </dd><dt class='compactdesc'> +<span class='ec-lmbx-10'>Term 2</span> </dt><dd class='compactdesc'>Definition 2 + <!-- l. 88 --><p class='noindent'>Definition 3 +</p> + </dd></dl> +<!-- l. 90 --><p class='indent'> This is a <sup class='textsuperscript'><span class='ec-lmr-9'>superscript</span></sup> and a <sub class='textsubscript'><span class='ec-lmr-9'>subscript</span></sub>. +</p><!-- l. 91 --><p class='indent'> This is a block quote: + </p><blockquote class='quotation'> + <!-- l. 93 --><p class='indent'> This is the first level of quoting. + </p><blockquote class='quotation'> + <!-- l. 95 --><p class='indent'> This is nested blockquote.</p></blockquote> + <!-- l. 97 --><p class='indent'> Back to the first level.</p></blockquote> + +<!-- l. 99 --><p class='indent'> Here is a note reference<span class='footnote-mark'><a href='#fn2x2' id='fn2x2-bk'><sup class='textsuperscript'>2</sup></a></span><a id='x1-6015f2'></a> +and another.<span class='footnote-mark'><a href='#fn3x2' id='fn3x2-bk'><sup class='textsuperscript'>3</sup></a></span><a id='x1-6016f3'></a> Here +is an inline note.<span class='footnote-mark'><a href='#fn4x2' id='fn4x2-bk'><sup class='textsuperscript'>4</sup></a></span><a id='x1-6019f4'></a> +</p><!-- l. 103 --><p class='indent'> This is raw TeX code: +</p><!-- l. 1 --><p class='indent'> +</p> + <div class='math-display'> +<img alt='xn + yn = zn +' class='math-display' src='latex-tex4ht0x.png' /></div> + +<!-- l. 2 --><p class='indent'> + +</p> + <h2 class='chapterHead' id='this-is-an-h6'><span class='titlemark'>Chapter 2</span><br /><a id='x1-70002'></a>This is an H1</h2> + <h3 class='sectionHead' id='this-is-an-h7'><span class='titlemark'>2.1 </span> <a id='x1-80002.1'></a>This is an H2</h3> +<!-- l. 4 --><p class='noindent'> +</p> + <h4 class='subsectionHead' id='this-is-an-h8'><span class='titlemark'>2.1.1 </span> <a id='x1-90002.1.1'></a>This is an H3</h4> +<!-- l. 5 --><p class='noindent'> +</p> + <h5 class='subsubsectionHead' id='this-is-an-h9'><a id='x1-10000'></a>This is an H4</h5> +<!-- l. 6 --><p class='noindent'><span class='paragraphHead' id='this-is-an-h10'><a id='x1-11000'></a><span class='ec-lmbx-10'>This is an H5</span></span> +</p> +<!-- l. 7 --><p class='indent'> <span class='subparagraphHead' id='this-is-an-h11'> <a id='x1-12000'></a><span class='ec-lmbx-10'>This is an H6</span></span> + This is a text paragraph containing an ellipsis … and followed by a thematic +break. +</p><!-- l. 9 --><p class='noindent'>__________________________________________________________________ +</p><!-- l. 10 --><p class='indent'> This is inline <span class='ec-lmtt-10'>code</span>. This is a link<span class='footnote-mark'><a href='#fn1x3' id='fn1x3-bk'><sup class='textsuperscript'>1</sup></a></span><a id='x1-12001f1'></a>. +<span class='ec-lmri-10'>This is an </span>emphasized <span class='ec-lmri-10'>span of text</span>. <span class='ec-lmbx-10'>This is a </span>strongly emphasized <span class='ec-lmbx-10'>span of +</span><span class='ec-lmbx-10'>text</span>. +</p> + <figure class='figure' id='-an-example-image-from-martin-scharrers-mwe-package1'> + + +<a id='x1-120021'></a> + +<div class='center'> +<!-- l. 11 --><p class='noindent'> +</p><!-- l. 11 --><p class='noindent'><img alt='PIC' src='example-image.png' /></p></div> +<figcaption class='caption'><span class='id'>Figure 2.1: </span><span class='content'>An example image from Martin Scharrer’s mwe package</span></figcaption><!-- tex4ht:label?: x1-120021 --> + + </figure> + <div class='table'> + +<!-- l. 12 --><p class='indent' id='-the-great-minds-of-the-th-century-rendered-via-a-content-block1'> <a id='x1-120031'></a></p><figure class='float'> + +<div class='center'> +<!-- l. 12 --><p class='noindent'> +</p> +<div class='tabular'> <table class='tabular' id='TBL-4'><colgroup id='TBL-4-1g'><col id='TBL-4-1' /></colgroup><colgroup id='TBL-4-2g'><col id='TBL-4-2' /></colgroup><colgroup id='TBL-4-3g'><col id='TBL-4-3' /></colgroup><tr class='hline'><td></td><td></td><td></td></tr><tr id='TBL-4-1-' style='vertical-align:baseline;'><td class='td11' id='TBL-4-1-1' style='white-space:nowrap; text-align:left;'>Name </td><td class='td11' id='TBL-4-1-2' style='white-space:nowrap; text-align:left;'>Surname</td><td class='td11' id='TBL-4-1-3' style='white-space:nowrap; text-align:left;'>Born</td></tr><tr class='hline'><td></td><td></td><td></td></tr><tr id='TBL-4-2-' style='vertical-align:baseline;'><td class='td11' id='TBL-4-2-1' style='white-space:nowrap; text-align:left;'>Albert </td><td class='td11' id='TBL-4-2-2' style='white-space:nowrap; text-align:left;'>Einstein </td><td class='td11' id='TBL-4-2-3' style='white-space:nowrap; text-align:left;'>1879</td> +</tr><tr id='TBL-4-3-' style='vertical-align:baseline;'><td class='td11' id='TBL-4-3-1' style='white-space:nowrap; text-align:left;'>Marie </td><td class='td11' id='TBL-4-3-2' style='white-space:nowrap; text-align:left;'>Curie </td><td class='td11' id='TBL-4-3-3' style='white-space:nowrap; text-align:left;'>1867</td> +</tr><tr id='TBL-4-4-' style='vertical-align:baseline;'><td class='td11' id='TBL-4-4-1' style='white-space:nowrap; text-align:left;'>Thomas</td><td class='td11' id='TBL-4-4-2' style='white-space:nowrap; text-align:left;'>Edison </td><td class='td11' id='TBL-4-4-3' style='white-space:nowrap; text-align:left;'>1847</td> +</tr><tr class='hline'><td></td><td></td><td></td></tr></table> </div></div> +<figcaption class='caption'><span class='id'>Table 2.1: </span><span class='content'>The great minds of the 19th century rendered via a content block</span></figcaption><!-- tex4ht:label?: x1-120031 --> + + </figure> + </div> +<!-- l. 13 --><p class='indent'> This is a fenced code block: +</p> + <pre class='fancyvrb' id='fancyvrb4'> +<a id='x1-12005r1'></a><span class='ec-lmtt-10'>\documentclass{article}</span> + +<a id='x1-12007r2'></a><span class='ec-lmtt-10'>\begin{document}</span> + +<a id='x1-12009r3'></a><span class='ec-lmtt-10'> Hello world!</span> + +<a id='x1-12011r4'></a><span class='ec-lmtt-10'>\end{document}</span> + </pre> +<!-- l. 15 --><p class='indent'> This is a table: +</p> + <div class='table'> + +<!-- l. 16 --><p class='indent' id='-demonstration-of-pipe-table-syntax1'> <a id='x1-120122'></a></p><figure class='float'> + +<div class='tabular'> + <table class='tabular' id='TBL-5'><colgroup id='TBL-5-1g'><col id='TBL-5-1' /><col id='TBL-5-2' /><col id='TBL-5-3' /><col id='TBL-5-4' /></colgroup><tr id='TBL-5-1-' style='vertical-align:baseline;'><td class='td11' id='TBL-5-1-1' style='white-space:nowrap; text-align:right;'>Right</td><td class='td11' id='TBL-5-1-2' style='white-space:nowrap; text-align:left;'>Left</td><td class='td11' id='TBL-5-1-3' style='white-space:nowrap; text-align:left;'>Default</td><td class='td11' id='TBL-5-1-4' style='white-space:nowrap; text-align:center;'>Center</td> +</tr><tr id='TBL-5-2-' style='vertical-align:baseline;'><td class='td11' id='TBL-5-2-1' style='white-space:nowrap; text-align:right;'> 12</td><td class='td11' id='TBL-5-2-2' style='white-space:nowrap; text-align:left;'>12 </td><td class='td11' id='TBL-5-2-3' style='white-space:nowrap; text-align:left;'>12 </td><td class='td11' id='TBL-5-2-4' style='white-space:nowrap; text-align:center;'> 12 </td> +</tr><tr id='TBL-5-3-' style='vertical-align:baseline;'><td class='td11' id='TBL-5-3-1' style='white-space:nowrap; text-align:right;'> 123</td><td class='td11' id='TBL-5-3-2' style='white-space:nowrap; text-align:left;'>123 </td><td class='td11' id='TBL-5-3-3' style='white-space:nowrap; text-align:left;'>123 </td><td class='td11' id='TBL-5-3-4' style='white-space:nowrap; text-align:center;'> 123 </td> +</tr><tr id='TBL-5-4-' style='vertical-align:baseline;'><td class='td11' id='TBL-5-4-1' style='white-space:nowrap; text-align:right;'> 1</td><td class='td11' id='TBL-5-4-2' style='white-space:nowrap; text-align:left;'>1 </td><td class='td11' id='TBL-5-4-3' style='white-space:nowrap; text-align:left;'>1 </td><td class='td11' id='TBL-5-4-4' style='white-space:nowrap; text-align:center;'> 1 </td> +</tr></table> </div> +<figcaption class='caption'><span class='id'>Table 2.2: </span><span class='content'>Demonstration of pipe table syntax.</span></figcaption><!-- tex4ht:label?: x1-120122 --> + + </figure> + </div> +<!-- l. 17 --><p class='indent'> This is a bullet list: + </p><ul> + <li class='compactitem'>The first item of a bullet list</li></ul> +<!-- l. 21 --><p class='indent'> that spans several paragraphs, +</p> + <ul class='itemize1'> + <li class='itemize'>the second item of a bullet list, + </li> + <li class='itemize'>the third item of a bullet list.</li></ul> +<!-- l. 26 --><p class='indent'> This is a compact bullet list: + </p><ul> + <li class='compactitem'>The first item of a bullet list, + </li> + <li class='compactitem'>the second item of a bullet list, + </li> + <li class='compactitem'>the third item of a bullet list.</li></ul> +<!-- l. 32 --><p class='indent'> This is an ordered list: + </p><dl class='compactenum'><dt class='compactenum'> +5. </dt><dd class='compactenum'>The first item of an ordered list</dd></dl> +<!-- l. 35 --><p class='indent'> that spans several paragraphs, + </p><dl class='enumerate'><dt class='enumerate'> +6. </dt><dd class='enumerate'>the second item of an ordered list, + </dd><dt class='enumerate'> +7. </dt><dd class='enumerate'>the third item of an ordered list.</dd></dl> +<!-- l. 39 --><p class='indent'> This is a fancy ordered list: + </p><dl class='compactenum'><dt class='compactenum'> +e) </dt><dd class='compactenum'>The first item of an ordered list</dd></dl> +<!-- l. 42 --><p class='indent'> that spans several paragraphs, + </p><dl class='enumerate'><dt class='enumerate'> + f) </dt><dd class='enumerate'>the second item of an ordered list, + </dd><dt class='enumerate'> +g) </dt><dd class='enumerate'>the third item of an ordered list.</dd></dl> +<!-- l. 46 --><p class='indent'> This is an ordered list using hash enumerators: + </p><dl class='compactenum'><dt class='compactenum'> +1. </dt><dd class='compactenum'>The first item of an ordered list</dd></dl> + +<!-- l. 49 --><p class='indent'> that spans several paragraphs, + </p><dl class='enumerate'><dt class='enumerate'> +1. </dt><dd class='enumerate'>the second item of an ordered list, + </dd><dt class='enumerate'> +2. </dt><dd class='enumerate'>the third item of an ordered list.</dd></dl> +<!-- l. 53 --><p class='indent'> This is a compact ordered list: + </p><dl class='compactenum'><dt class='compactenum'> +5. </dt><dd class='compactenum'>The first item of an ordered list, + </dd><dt class='compactenum'> +6. </dt><dd class='compactenum'>the second item of an ordered list, + </dd><dt class='compactenum'> +7. </dt><dd class='compactenum'>the third item of an ordered list.</dd></dl> +<!-- l. 58 --><p class='indent'> This is a compact ordered list using hash enumerators: + </p><dl class='compactenum'><dt class='compactenum'> +1. </dt><dd class='compactenum'>The first item of an ordered list, + </dd><dt class='compactenum'> +2. </dt><dd class='compactenum'>the second item of an ordered list, + </dd><dt class='compactenum'> +3. </dt><dd class='compactenum'>the third item of an ordered list.</dd></dl> +<!-- l. 63 --><p class='indent'> This is a compact fancy ordered list using hash enumerators: + </p><dl class='compactenum'><dt class='compactenum'> +1. </dt><dd class='compactenum'>The first item of an ordered list, + </dd><dt class='compactenum'> +2. </dt><dd class='compactenum'>the second item of an ordered list, + </dd><dt class='compactenum'> +3. </dt><dd class='compactenum'>the third item of an ordered list.</dd></dl> +<!-- l. 68 --><p class='indent'> This is a task list: + </p><ul> + <li class='compactitem'> Some unfinished task + </li> + <li class='compactitem'> Some half-finished task + </li> + <li class='compactitem'> Some finished task + </li> + <li class='compactitem'>An item of an unordered list + <dl class='compactenum'><dt class='compactenum'> + 1. </dt><dd class='compactenum'><span class='msam-10'>□ </span>Some unfinished subtask + </dd><dt class='compactenum'> + 2. </dt><dd class='compactenum'><span class='msam-10'>⊡ </span>Some half-finished subtask + </dd><dt class='compactenum'> + 3. </dt><dd class='compactenum'><span class='msam-10'>⊠ </span>Some finished subtask + </dd><dt class='compactenum'> + 4. </dt><dd class='compactenum'>An item of an ordered list</dd></dl> + </li></ul> + +<!-- l. 80 --><p class='indent'> This is a definition list: + </p><dl class='description'><dt class='description'> + <!-- l. 82 --><p class='noindent'> +<span class='ec-lmbx-10'>Term 1</span> </p></dt><dd class='description'> + <!-- l. 82 --><p class='noindent'>Definition 1 with some <span class='textst'>removed text</span> + </p></dd><dt class='description'> + <!-- l. 82 --><p class='noindent'> +<span class='ec-lmbx-10'>Term 2</span> </p></dt><dd class='description'> + <!-- l. 82 --><p class='noindent'>Definition 2 +</p> + <pre class='fancyvrb' id='fancyvrb5'> +<a id='x1-12014r1'></a><span class='ec-lmtt-10'>Some code, part of Definition 2</span> +</pre> + <!-- l. 84 --><p class='noindent'>Third paragraph of Definition 2. + </p><!-- l. 84 --><p class='noindent'>Definition 3 +</p> + </dd></dl> +<!-- l. 86 --><p class='indent'> This is a compact definition list: + </p><dl class='compactdesc'><dt class='compactdesc'> +<span class='ec-lmbx-10'>Term 1</span> </dt><dd class='compactdesc'>Definition 1 + </dd><dt class='compactdesc'> +<span class='ec-lmbx-10'>Term 2</span> </dt><dd class='compactdesc'>Definition 2 + <!-- l. 88 --><p class='noindent'>Definition 3 +</p> + </dd></dl> +<!-- l. 90 --><p class='indent'> This is a <sup class='textsuperscript'><span class='ec-lmr-9'>superscript</span></sup> and a <sub class='textsubscript'><span class='ec-lmr-9'>subscript</span></sub>. +</p><!-- l. 91 --><p class='indent'> This is a block quote: + </p><blockquote class='quotation'> + <!-- l. 93 --><p class='indent'> This is the first level of quoting. + </p><blockquote class='quotation'> + <!-- l. 95 --><p class='indent'> This is nested blockquote.</p></blockquote> + <!-- l. 97 --><p class='indent'> Back to the first level.</p></blockquote> + +<!-- l. 99 --><p class='indent'> Here is a note reference<span class='footnote-mark'><a href='#fn2x3' id='fn2x3-bk'><sup class='textsuperscript'>2</sup></a></span><a id='x1-12015f2'></a> +and another.<span class='footnote-mark'><a href='#fn3x3' id='fn3x3-bk'><sup class='textsuperscript'>3</sup></a></span><a id='x1-12016f3'></a> Here +is an inline note.<span class='footnote-mark'><a href='#fn4x3' id='fn4x3-bk'><sup class='textsuperscript'>4</sup></a></span><a id='x1-12019f4'></a> +</p><!-- l. 103 --><p class='indent'> This is raw TeX code: +</p><!-- l. 1 --><p class='indent'> +</p> + <div class='math-display'> +<img alt='xn + yn = zn +' class='math-display' src='latex-tex4ht1x.png' /></div> +<!-- l. 2 --><p class='indent'> Here are some non-ASCII characters: <span class='ec-lmri-10'>ěščřžýáíé</span>. +</p><!-- l. 2 --><p class='indent'> Here is some <b>HTML code</b> mixed <span class='ec-lmri-10'>with Markdown</span>. In TeX, the HTML code will be +silently ignored, whereas in TeX4ht, the HTML code will be passed through to the +output: +</p><table border='1'> + <tr> + <td>Emil</td> + <td>Tobias</td> + <td>Linus</td> + </tr> + <tr> + <td>16</td> + <td>14</td> + <td>10</td> + </tr> +</table> + <div class='footnotes'><!-- l. 10 --><p class='indent'> <span class='footnote-mark'><a href='#fn1x2-bk' id='fn1x2'><sup class='textsuperscript'>1</sup></a></span><span class='ec-lmr-8'>Google: </span><a class='url' href='http://google.cz'><span class='ec-lmtt-8'>http://google.cz</span></a></p> +<!-- l. 99 --><p class='indent'> <span class='footnote-mark'><a href='#fn2x2-bk' id='fn2x2'><sup class='textsuperscript'>2</sup></a></span><span class='ec-lmr-8'>Here is the note.</span></p><!-- l. 102 --><p class='indent'> <span class='footnote-mark'><a href='#fn3x2-bk' id='fn3x2'><sup class='textsuperscript'>3</sup></a></span><span class='ec-lmr-8'>Here’s one with multiple blocks.</span> +</p><!-- l. 102 --><p class='indent'> <span class='ec-lmr-8'>Subsequent paragraphs are indented to show that they belong to the previous note.</span> +</p> + <pre class='fancyvrb' id='fancyvrb3'> +<a id='x1-6018r1'></a><span class='ec-lmtt-8'>Some code</span> + </pre> +<!-- l. 102 --><p class='indent'> <span class='ec-lmr-8'>The whole paragraph can be indented, or just the first line. In this way, multi-paragraph notes +</span><span class='ec-lmr-8'>work like multi-paragraph list items.</span></p> +<!-- l. 102 --><p class='indent'> <span class='footnote-mark'><a href='#fn4x2-bk' id='fn4x2'><sup class='textsuperscript'>4</sup></a></span><span class='ec-lmr-8'>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to +</span><span class='ec-lmr-8'>type the note.</span></p> +<!-- l. 10 --><p class='indent'> <span class='footnote-mark'><a href='#fn1x3-bk' id='fn1x3'><sup class='textsuperscript'>1</sup></a></span><span class='ec-lmr-8'>Google: </span><a class='url' href='http://google.cz'><span class='ec-lmtt-8'>http://google.cz</span></a></p> +<!-- l. 99 --><p class='indent'> <span class='footnote-mark'><a href='#fn2x3-bk' id='fn2x3'><sup class='textsuperscript'>2</sup></a></span><span class='ec-lmr-8'>Here is the note.</span></p><!-- l. 102 --><p class='indent'> <span class='footnote-mark'><a href='#fn3x3-bk' id='fn3x3'><sup class='textsuperscript'>3</sup></a></span><span class='ec-lmr-8'>Here’s one with multiple blocks.</span> +</p><!-- l. 102 --><p class='indent'> <span class='ec-lmr-8'>Subsequent paragraphs are indented to show that they belong to the previous note.</span> +</p> + <pre class='fancyvrb' id='fancyvrb6'> +<a id='x1-12018r1'></a><span class='ec-lmtt-8'>Some code</span> + </pre> +<!-- l. 102 --><p class='indent'> <span class='ec-lmr-8'>The whole paragraph can be indented, or just the first line. In this way, multi-paragraph notes +</span><span class='ec-lmr-8'>work like multi-paragraph list items.</span></p> +<!-- l. 102 --><p class='indent'> <span class='footnote-mark'><a href='#fn4x3-bk' id='fn4x3'><sup class='textsuperscript'>4</sup></a></span><span class='ec-lmr-8'>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to +</span><span class='ec-lmr-8'>type the note.</span></p> </div> + +</body> +</html>
\ No newline at end of file diff --git a/macros/generic/markdown/examples/latex-xetex.pdf b/macros/generic/markdown/examples/latex-xetex.pdf Binary files differnew file mode 100644 index 0000000000..cfbebde5e3 --- /dev/null +++ b/macros/generic/markdown/examples/latex-xetex.pdf diff --git a/macros/generic/markdown/examples/latex.tex b/macros/generic/markdown/examples/latex.tex index 2403caf1e9..c14bc4bd47 100644 --- a/macros/generic/markdown/examples/latex.tex +++ b/macros/generic/markdown/examples/latex.tex @@ -16,22 +16,23 @@ \fi\fi \usepackage{booktabs} \usepackage[ - hashEnumerators, + contentBlocks, debugExtensions, definitionLists, - footnotes, - inlineFootnotes, - jekyllData, - smartEllipses, + fancy_lists, fencedCode, - contentBlocks, + hashEnumerators, + inlineNotes, + jekyllData, + notes, pipeTables, - tableCaptions, - taskLists, + rawAttribute, + smartEllipses, strikeThrough, - superscripts, subscripts, - fancyLists, + superscripts, + tableCaptions, + taskLists, ]{markdown} \begin{markdown*}{hybrid} --- diff --git a/macros/generic/markdown/latexmkrc b/macros/generic/markdown/latexmkrc new file mode 100644 index 0000000000..a9b6a23ef6 --- /dev/null +++ b/macros/generic/markdown/latexmkrc @@ -0,0 +1,5 @@ +$pdflatex = 'lualatex --shell-escape %O %S'; +$makeindex = 'makeindex -s %R.ist %O -o %D %S'; +$pdf_mode = 1; +$postscript_mode = 0; +$dvi_mode = 0; diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx index 2e3e12e15d..b165924476 100644 --- a/macros/generic/markdown/markdown.dtx +++ b/macros/generic/markdown/markdown.dtx @@ -79,11 +79,11 @@ citations, definitionLists, fencedCode, - footnotes, + notes, headerAttributes, html, hybrid, - inlineFootnotes, + inlineNotes, jekyllData, relativeReferences, stripPercentSigns, @@ -109,14 +109,14 @@ % Set up the catcodes. \catcode`\_=12 % We won't be typesetting much math and Lua contains lots of `_`. -\catcode`\^^B=8 % When we occasionally need subscripts , we will use `^^B` (STX). +\catcode`\^^B=8 % When we occasionally need subscripts, we will use `^^B` (STX). % Set up the title page. \begin{markdown} --- title: A Markdown Interpreter for \TeX url: https://github.com/witiko/markdown -author: Vít Novotný +authors: [Vít Novotný] email: witiko@mail.muni.cz revision: \markdownVersion date: \markdownLastModified @@ -709,6 +709,13 @@ abbr { version = {v2.5}, url = {https://mirrors.ctan.org/macros/latex/contrib/minted/minted.pdf}, urldate = {2020-09-01}} +@online{macfarlane22, + title = {Pandoc}, + subtitle = {a universal document converter}, + author = {John MacFarlane}, + year = {2022}, + url = {https://pandoc.org/}, + urldate = {2022-10-05}} @online{novotny15, author = {Novotný, Vít}, year = {2015}, @@ -759,9 +766,16 @@ abbr { subtitle = {A \TeX nician's Reference}, isbn = {0-201-56882-0}, pagetotal = {307}, - date = {1992-02-01}, - location = {Wokingham, England}, + date = {1992-02-01}, + location = {Wokingham, England}, publisher = {Addison-Wesley}} +@inproceedings{sharif10, + author = {Sharif, Bonita and Maletic, Jonathan I.}, + booktitle = {2010 IEEE 18th International Conference on Program Comprehension}, + title = {An Eye Tracking Study on camelCase and under\_score Identifier Styles}, + year = {2010}, + pages = {196-205}, + doi = {10.1109/ICPC.2010.41}} %</techdoc-bibliography> %<*latex-themes-witiko-markdown-techdoc> \ProvidesPackage{markdownthemewitiko_markdown_techdoc}[2022/02/23] @@ -807,7 +821,7 @@ abbr { }, }, jekyllDataRenderers = { - author = {% + /authors/* = {% \gdef\ltd@title@author{#1}% \hypersetup{pdfauthor={#1}}% }, @@ -963,15 +977,15 @@ make base `````` This should produce the following files: - * `markdown.lua`, the Lua module, - * `libraries/markdown-tinyyaml.lua`, an external library for reading \acro{yaml}, - * `markdown-cli.lua`, the Lua command-line interface, - * `markdown.tex`, the plain \TeX{} macro package, - * `markdown.sty`, the \LaTeX{} package, - * `markdownthemewitiko_dot.sty`, the `witiko/dot` \LaTeX{} theme, - * `markdownthemewitiko_graphicx_http.sty`, the `witiko/graphicx/http` \LaTeX{} theme, - * `markdownthemewitiko_tilde.sty`, the `witiko/tilde` \LaTeX{} theme, and - * `t-markdown.tex`, the \Hologo{ConTeXt} module. +* `markdown.lua`, the Lua module, +* `libraries/markdown-tinyyaml.lua`, an external library for reading \acro{yaml}, +* `markdown-cli.lua`, the Lua command-line interface, +* `markdown.tex`, the plain \TeX{} macro package, +* `markdown.sty`, the \LaTeX{} package, +* `markdownthemewitiko_dot.sty`, the `witiko/dot` \LaTeX{} theme, +* `markdownthemewitiko_graphicx_http.sty`, the `witiko/graphicx/http` \LaTeX{} theme, +* `markdownthemewitiko_tilde.sty`, the `witiko/tilde` \LaTeX{} theme, and +* `t-markdown.tex`, the \Hologo{ConTeXt} module. ### Local Installation @@ -979,15 +993,15 @@ To perform a local installation, place the above files into your \TeX{} directory structure. This is generally where the individual files should be placed: - * `⟨TEXMF⟩/tex/luatex/markdown/markdown.lua` - * `⟨TEXMF⟩/tex/luatex/markdown/markdown-tinyyaml.lua` - * `⟨TEXMF⟩/scripts/markdown/markdown-cli.lua` - * `⟨TEXMF⟩/tex/generic/markdown/markdown.tex` - * `⟨TEXMF⟩/tex/latex/markdown/markdown.sty` - * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_dot.sty` - * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty` - * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_tilde.sty` - * `⟨TEXMF⟩/tex/context/third/markdown/t-markdown.tex` +* `⟨TEXMF⟩/tex/luatex/markdown/markdown.lua` +* `⟨TEXMF⟩/tex/luatex/markdown/markdown-tinyyaml.lua` +* `⟨TEXMF⟩/scripts/markdown/markdown-cli.lua` +* `⟨TEXMF⟩/tex/generic/markdown/markdown.tex` +* `⟨TEXMF⟩/tex/latex/markdown/markdown.sty` +* `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_dot.sty` +* `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty` +* `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_tilde.sty` +* `⟨TEXMF⟩/tex/context/third/markdown/t-markdown.tex` where `⟨TEXMF⟩` corresponds to a root of your \TeX{} distribution, such as `/usr/share/texmf` and `~/texmf` on UN\*X systems or @@ -1039,7 +1053,7 @@ local lpeg = require("lpeg") % \pkg{Selene Unicode} % %: A library that provides support for the processing of wide strings. It is -% used by the \pkg{Lunamark} library to cast image, link, and footnote tags +% used by the \pkg{Lunamark} library to cast image, link, and note tags % to the lower case. \pkg{Selene Unicode} is included in all releases of % Lua\TeX{} (\TeX Live${}\geq{}2008$). % @@ -1206,7 +1220,7 @@ local md5 = require("md5") % %: A package that provides a concise syntax for the inspection of macro % values. It is used in the `witiko/dot` \LaTeX{} theme (see Section -% <#sec:latexthemes>), and to provide default token renderer prototypes. +% <#sec:latexthemes>). % % \pkg{fancyvrb} % @@ -1620,7 +1634,7 @@ local walkable_syntax = { Block = { "Blockquote", "Verbatim", - "HorizontalRule", + "ThematicBreak", "BulletList", "OrderedList", "Heading", @@ -1888,7 +1902,7 @@ interfaces and all the way up to the \LaTeX{} and \Hologo{ConTeXt} interfaces. \prop_new:N \g_@@_default_lua_options_prop \seq_new:N \g_@@_option_layers_seq \tl_const:Nn \c_@@_option_layer_lua_tl { lua } -\seq_put_right:NV \g_@@_option_layers_seq \c_@@_option_layer_lua_tl +\seq_gput_right:NV \g_@@_option_layers_seq \c_@@_option_layer_lua_tl \cs_new:Nn \@@_add_lua_option:nnn { @@ -1901,14 +1915,14 @@ interfaces and all the way up to the \LaTeX{} and \Hologo{ConTeXt} interfaces. \cs_new:Nn \@@_add_option:nnnn { - \seq_put_right:cn + \seq_gput_right:cn { g_@@_ #1 _options_seq } { #2 } - \prop_put:cnn + \prop_gput:cnn { g_@@_ #1 _option_types_prop } { #2 } { #3 } - \prop_put:cnn + \prop_gput:cnn { g_@@_default_ #1 _options_prop } { #2 } { #4 } @@ -1967,19 +1981,19 @@ interfaces and all the way up to the \LaTeX{} and \Hologo{ConTeXt} interfaces. { nnnV } \seq_new:N \g_@@_option_types_seq \tl_const:Nn \c_@@_option_type_clist_tl { clist } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_clist_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_clist_tl \tl_const:Nn \c_@@_option_type_counter_tl { counter } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_counter_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_counter_tl \tl_const:Nn \c_@@_option_type_boolean_tl { boolean } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_boolean_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_boolean_tl \tl_const:Nn \c_@@_option_type_number_tl { number } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_number_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_number_tl \tl_const:Nn \c_@@_option_type_path_tl { path } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_path_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_path_tl \tl_const:Nn \c_@@_option_type_slice_tl { slice } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_slice_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_slice_tl \tl_const:Nn \c_@@_option_type_string_tl { string } -\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_string_tl +\seq_gput_right:NV \g_@@_option_types_seq \c_@@_option_type_string_tl \cs_new:Nn \@@_get_option_type:nN { @@ -2110,6 +2124,49 @@ interfaces and all the way up to the \LaTeX{} and \Hologo{ConTeXt} interfaces. \tl_tail:n { #1 } } } +\seq_new:N \g_@@_cases_seq +\cs_new:Nn \@@_with_various_cases:nn + { + \seq_clear:N + \l_tmpa_seq + \seq_map_inline:Nn + \g_@@_cases_seq + { + \tl_set:Nn + \l_tmpa_tl + { #1 } + \use:c { ##1 } + \l_tmpa_tl + \seq_put_right:NV + \l_tmpa_seq + \l_tmpa_tl + } + \seq_map_inline:Nn + \l_tmpa_seq + { #2 } + } +\cs_new:Nn \@@_camel_case:N + { + \regex_replace_all:nnN + { _ ([a-z]) } + { \c { str_uppercase:n } \cB\{ \1 \cE\} } + #1 + \tl_set:Nx + #1 + { #1 } + } +\seq_gput_right:Nn \g_@@_cases_seq { @@_camel_case:N } +\cs_new:Nn \@@_snake_case:N + { + \regex_replace_all:nnN + { ([a-z])([A-Z]) } + { \1 _ \c { str_lowercase:n } \cB\{ \2 \cE\} } + #1 + \tl_set:Nx + #1 + { #1 } + } +\seq_gput_right:Nn \g_@@_cases_seq { @@_snake_case:N } % \end{macrocode} % \iffalse %</tex> @@ -2461,13 +2518,13 @@ defaultOptions.contentBlocksLanguageMap = "markdown-languages.json" extensible subset of the \acro{peg} grammar of markdown % (see the \luamref{walkable_syntax} hash table) after built-in syntax extensions -% (see Section <#luabuiltinextensions>) +% (see Section <#sec:luabuiltinextensions>) % \iffalse (see options \Opt{citations}, \Opt{contentBlocks}, \Opt{definitionLists}, etc.) % \fi and user-defined syntax extensions -% (see Section <#luauserextensions>) +% (see Section <#sec:luauserextensions>) % \iffalse (see option \Opt{extensions}) % \fi @@ -3730,7 +3787,7 @@ following text, where the middot (`·`) denotes a non-breaking space: > > ### References > [1] Donald·Ervin Knuth. _The TeXbook, volume A of Computers and typesetting._ -> Addison-Wesley, 1984. +> Addison-Wesley, 1984. %</manual-options> %<*tex> @@ -3831,7 +3888,7 @@ following text: > > ### References > [1] Donald Ervin Knuth. _The \TeX{}book, volume A of Computers and typesetting._ -> Addison-Wesley, 1984. +> Addison-Wesley, 1984. %</manual-options> %<*tex> @@ -4257,23 +4314,23 @@ defaultOptions.contentBlocks = false % : true - : Produce a \acro{JSON} file that will contain the - extensible subset of the \acro{peg} grammar of markdown -% (see the \luamref{walkable_syntax} hash table) - after built-in syntax extensions -% (see Section <#luabuiltinextensions>) -% \iffalse - (see options \Opt{citations}, \Opt{contentBlocks}, - \Opt{definitionLists}, etc.) -% \fi - and user-defined syntax extensions -% (see Section <#luauserextensions>) -% \iffalse - (see option \Opt{extensions}) -% \fi - have been applied. This helps you to see how the different - extensions interact. The name of the produced \acro{JSON} file is - controlled by the \Opt{debugExtensionsFileName} option. + : Produce a \acro{JSON} file that will contain the + extensible subset of the \acro{peg} grammar of markdown +% (see the \luamref{walkable_syntax} hash table) + after built-in syntax extensions +% (see Section <#sec:luabuiltinextensions>) +% \iffalse + (see options \Opt{citations}, \Opt{contentBlocks}, + \Opt{definitionLists}, etc.) +% \fi + and user-defined syntax extensions +% (see Section <#sec:luauserextensions>) +% \iffalse + (see option \Opt{extensions}) +% \fi + have been applied. This helps you to see how the different + extensions interact. The name of the produced \acro{JSON} file is + controlled by the \Opt{debugExtensionsFileName} option. : false @@ -4290,7 +4347,7 @@ following content: ``` lua local strike_through = { api_version = 2, - grammar_version = 1, + grammar_version = 2, finalize_grammar = function(reader) local nonspacechar = lpeg.P(1) - lpeg.S("\t ") local doubleslashes = lpeg.P("//") @@ -4342,7 +4399,7 @@ be produced and contain the following text: "Block": [ "Blockquote", "Verbatim", - "HorizontalRule", + "ThematicBreak", "BulletList", "OrderedList", "Heading", @@ -4656,7 +4713,7 @@ defaultOptions.eagerCache = true % ``` lua % local strike_through = { % api_version = 2, -% grammar_version = 1, +% grammar_version = 2, % finalize_grammar = function(reader) % local nonspacechar = lpeg.P(1) - lpeg.S("\t ") % local doubleslashes = lpeg.P("//") @@ -4691,7 +4748,7 @@ defaultOptions.eagerCache = true % \fi % \begin{macrocode} metadata.user_extension_api_version = 2 -metadata.grammar_version = 1 +metadata.grammar_version = 2 % \end{macrocode} % \iffalse %</lua> @@ -4721,7 +4778,7 @@ following content: ``` lua local strike_through = { api_version = 2, - grammar_version = 1, + grammar_version = 2, finalize_grammar = function(reader) local nonspacechar = lpeg.P(1) - lpeg.S("\t ") local doubleslashes = lpeg.P("//") @@ -5087,11 +5144,11 @@ lualatex --shell-escape document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> ~~~ js +> ``` js > if (a > 3) { > moveShip(5 * gravity, DOWN); > } -> ~~~~~~ +> ``` > > ``` html > <pre> @@ -5142,11 +5199,11 @@ context document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> ~~~ js +> ``` js > if (a > 3) { > moveShip(5 * gravity, DOWN); > } -> ~~~~~~ +> ``` > > ``` html > <pre> @@ -5344,33 +5401,33 @@ defaultOptions.finalizeCache = false %</lua,lua-cli> %<*manual-options> -#### Option `footnotes` +#### Option `notes` -`footnotes` (default value: `false`) +`notes` (default value: `false`) % \fi % \begin{markdown} % -% \Optitem[false]{footnotes}{\opt{true}, \opt{false}} +% \Optitem[false]{notes}{\opt{true}, \opt{false}} % : true - : Enable the Pandoc footnote syntax extension: + : Enable the Pandoc note syntax extension: ``` md - Here is a footnote reference,[^1] and another.[^longnote] + Here is a note reference,[^1] and another.[^longnote] - [^1]: Here is the footnote. + [^1]: Here is the note. [^longnote]: Here's one with multiple blocks. Subsequent paragraphs are indented to show that they - belong to the previous footnote. + belong to the previous note. { some.code } The whole paragraph can be indented, or just the - first line. In this way, multi-paragraph footnotes + first line. In this way, multi-paragraph notes work like multi-paragraph list items. This paragraph won't be part of the note, because it @@ -5379,7 +5436,7 @@ defaultOptions.finalizeCache = false : false - : Disable the Pandoc footnote syntax extension. + : Disable the Pandoc note syntax extension. % \end{markdown} % \iffalse @@ -5390,22 +5447,22 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \documentclass{article} -\usepackage[footnotes]{markdown} +\usepackage[notes]{markdown} \begin{document} \begin{markdown} -Here is a footnote reference,[^1] and another.[^longnote] +Here is a note reference,[^1] and another.[^longnote] -[^1]: Here is the footnote. +[^1]: Here is the note. [^longnote]: Here's one with multiple blocks. Subsequent paragraphs are indented to show that they -belong to the previous footnote. +belong to the previous note. { some.code } The whole paragraph can be indented, or just the - first line. In this way, multi-paragraph footnotes + first line. In this way, multi-paragraph notes work like multi-paragraph list items. This paragraph won't be part of the note, because it @@ -5420,19 +5477,19 @@ lualatex document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> Here is a footnote reference,[^1] and another.[^longnote] +> Here is a note reference,[^1] and another.[^longnote] > -> [^1]: Here is the footnote. +> [^1]: Here is the note. > > [^longnote]: Here's one with multiple blocks. > > Subsequent paragraphs are indented to show that they -> belong to the previous footnote. +> belong to the previous note. > > { some.code } > > The whole paragraph can be indented, or just the -> first line. In this way, multi-paragraph footnotes +> first line. In this way, multi-paragraph notes > work like multi-paragraph list items. > > This paragraph won't be part of the note, because it @@ -5444,22 +5501,22 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \usemodule[t][markdown] -\setupmarkdown[footnotes = yes] +\setupmarkdown[notes = yes] \starttext \startmarkdown -Here is a footnote reference,[^1] and another.[^longnote] +Here is a note reference,[^1] and another.[^longnote] -[^1]: Here is the footnote. +[^1]: Here is the note. [^longnote]: Here's one with multiple blocks. Subsequent paragraphs are indented to show that they -belong to the previous footnote. +belong to the previous note. { some.code } The whole paragraph can be indented, or just the - first line. In this way, multi-paragraph footnotes + first line. In this way, multi-paragraph notes work like multi-paragraph list items. This paragraph won't be part of the note, because it @@ -5474,19 +5531,19 @@ context document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> Here is a footnote reference,[^1] and another.[^longnote] +> Here is a note reference,[^1] and another.[^longnote] > -> [^1]: Here is the footnote. +> [^1]: Here is the note. > > [^longnote]: Here's one with multiple blocks. > > Subsequent paragraphs are indented to show that they -> belong to the previous footnote. +> belong to the previous note. > > { some.code } > > The whole paragraph can be indented, or just the -> first line. In this way, multi-paragraph footnotes +> first line. In this way, multi-paragraph notes > work like multi-paragraph list items. > > This paragraph won't be part of the note, because it @@ -5495,11 +5552,21 @@ following text: %</manual-options> %<*tex> % \fi +% \begin{markdown} +% +% The footnotes option has been deprecated and will be removed in +% Markdown 3.0.0. +% +% \end{markdown} % \begin{macrocode} \@@_add_lua_option:nnn { footnotes } { boolean } { false } +\@@_add_lua_option:nnn + { notes } + { boolean } + { false } % \end{macrocode} % \iffalse %</tex> @@ -5507,6 +5574,7 @@ following text: % \fi % \begin{macrocode} defaultOptions.footnotes = false +defaultOptions.notes = false % \end{macrocode} % \par % \iffalse @@ -6321,18 +6389,18 @@ defaultOptions.hybrid = false %</lua,lua-cli> %<*manual-options> -#### Option `inlineFootnotes` +#### Option `inlineNotes` -`inlineFootnotes` (default value: `false`) +`inlineNotes` (default value: `false`) % \fi % \begin{markdown} % -% \Optitem[false]{inlineFootnotes}{\opt{true}, \opt{false}} +% \Optitem[false]{inlineNotes}{\opt{true}, \opt{false}} % : true - : Enable the Pandoc inline footnote syntax extension: + : Enable the Pandoc inline note syntax extension: ``` md Here is an inline note.^[Inlines notes are easier to @@ -6342,7 +6410,7 @@ defaultOptions.hybrid = false : false - : Disable the Pandoc inline footnote syntax extension. + : Disable the Pandoc inline note syntax extension. % \end{markdown} % \iffalse @@ -6353,7 +6421,7 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \documentclass{article} -\usepackage[inlineFootnotes]{markdown} +\usepackage[inlineNotes]{markdown} \begin{document} \begin{markdown} Here is an inline note.^[Inlines notes are easier to @@ -6379,7 +6447,7 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \usemodule[t][markdown] -\setupmarkdown[inlineFootnotes = yes] +\setupmarkdown[inlineNotes = yes] \starttext \startmarkdown Here is an inline note.^[Inlines notes are easier to @@ -6402,11 +6470,21 @@ following text: %</manual-options> %<*tex> % \fi +% \begin{markdown} +% +% The inlineFootnotes option has been deprecated and will be removed in +% Markdown 3.0.0. +% +% \end{markdown} % \begin{macrocode} \@@_add_lua_option:nnn { inlineFootnotes } { boolean } { false } +\@@_add_lua_option:nnn + { inlineNotes } + { boolean } + { false } % \end{macrocode} % \iffalse %</tex> @@ -6414,6 +6492,7 @@ following text: % \fi % \begin{macrocode} defaultOptions.inlineFootnotes = false +defaultOptions.inlineNotes = false % \end{macrocode} % \par % \iffalse @@ -6733,6 +6812,97 @@ defaultOptions.preserveTabs = false %</lua,lua-cli> %<*manual-options> +#### Option `rawAttribute` + +`rawAttribute` (default value: `false`) + +% \fi +% \begin{markdown} +% +% \Optitem[false]{rawAttribute}{\opt{true}, \opt{false}} +% +: true + + : Enable the Pandoc raw attribute syntax extension: + + ``` md + `$H_2 O$`{=tex} is a liquid. + ``` + + To enable raw blocks, the \Opt{fencedCode} option must also be enabled: + + ~~~~~~~~ md + Here is a mathematical formula: + ``` {=tex} + \[distance[i] = + \begin{dcases} + a & b \\ + c & d + \end{dcases} + \] + ``` + ~~~~~~~~~~~ + + The \Opt{rawAttribute} option is a good alternative to the \Opt{hybrid} + option. Unlike the \Opt{hybrid} option, which affects the entire + document, the \Opt{rawAttribute} option allows you to isolate the parts + of your documents that use TeX: + +: false + + : Disable the Pandoc raw attribute syntax extension. + +% \end{markdown} +% \iffalse + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +```` tex +\documentclass{article} +\usepackage[rawAttribute, fencedCode]{markdown} +\usepackage{expl3} +\begin{document} +\begin{markdown} +`$H_2 O$`{=tex} is a liquid. + +``` {=html} +<p>Here is some HTML content that will be ignored.</p> +``` +\end{markdown} +\end{document} +```````` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> H~2~O is a liquid. + +%</manual-options> +%<*tex> +% \fi +% \begin{macrocode} +\@@_add_lua_option:nnn + { rawAttribute } + { boolean } + { false } +% \end{macrocode} +% \iffalse +%</tex> +%<*lua,lua-cli> +% \fi +% \begin{macrocode} +defaultOptions.rawAttribute = true +% \end{macrocode} +% \par +% \iffalse +%</lua,lua-cli> +%<*manual-options> + #### Option `relativeReferences` `relativeReferences` (default value: `false`) @@ -7977,7 +8147,7 @@ following content: | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | - : Demonstration of pipe table syntax. +: Demonstration of pipe table syntax. \end{markdown} \end{document} ``````` @@ -7994,7 +8164,7 @@ following text: > | 123 | 123 | 123 | 123 | > | 1 | 1 | 1 | 1 | > -> : Demonstration of pipe table syntax. +> : Demonstration of pipe table syntax. ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -8015,7 +8185,7 @@ following content: | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | - : Demonstration of pipe table syntax. +: Demonstration of pipe table syntax. \stopmarkdown \stoptext ```````` @@ -8032,7 +8202,7 @@ following text: > | 123 | 123 | 123 | 123 | > | 1 | 1 | 1 | 1 | > -> : Demonstration of pipe table syntax. +> : Demonstration of pipe table syntax. %</manual-options> %<*tex> @@ -8330,25 +8500,25 @@ following content: \begin{markdown} The following list is tight: - - first item - - second item - - third item +- first item +- second item +- third item The following list is loose: - - first item - - second item that spans +- first item +- second item that spans - multiple paragraphs - - third item + multiple paragraphs +- third item \end{markdown} \begin{markdown*}{tightLists=false} The following list is now also loose: - - first item - - second item - - third item +- first item +- second item +- third item \end{markdown*} \end{document} @@ -8362,25 +8532,25 @@ following text: > The following list is tight: > -> - first item -> - second item -> - third item +> - first item +> - second item +> - third item > > The following list is loose: > -> - first item -> - second item that spans +> - first item +> - second item that spans > -> multiple paragraphs -> - third item +> multiple paragraphs +> - third item > > The following list is now also loose: > -> - first item +> - first item > -> - second item +> - second item > -> - third item +> - third item %</manual-options> %<*tex> @@ -8633,7 +8803,40 @@ local function warn(s) local function error(s) io.stderr:write("Error: " .. s .. "\n") - os.exit(1) end + os.exit(1) +end +% \end{macrocode} +% \begin{markdown} +% +% To make it easier to copy-and-paste options from Pandoc [@macfarlane22] such +% as `fancy_lists`, `header_attributes`, and `pipe_tables`, we accept +% snake\\\_case in addition to camelCase variants of options. As a bonus, +% studies [@sharif10] also show that snake\\\_case is faster to read than +% camelCase. +% +% \end{markdown} +% \begin{macrocode} +local function camel_case(option_name) + local cased_option_name = option_name:gsub("_(%l)", function(match) + return match:sub(2, 2):upper() + end) + return cased_option_name +end + +local function snake_case(option_name) + local cased_option_name = option_name:gsub("%l%u", function(match) + return match:sub(1, 1) .. "_" .. match:sub(2, 2):lower() + end) + return cased_option_name +end + +local cases = {camel_case, snake_case} +local various_case_options = {} +for option_name, _ in pairs(defaultOptions) do + for _, case in ipairs(cases) do + various_case_options[case(option_name)] = option_name + end +end local process_options = true local options = {} @@ -8662,10 +8865,13 @@ for i = 1, #arg do % \begin{macrocode} elseif arg[i]:match("=") then local key, value = arg[i]:match("(.-)=(.*)") + if defaultOptions[key] == nil then + key = various_case_options[key] + end % \end{macrocode} % \begin{markdown} % The \luamref{defaultOptions} table is consulted to identify whether \meta{value} -% should be parsed as a string or as a boolean. +% should be parsed as a string, number, table, or boolean. % \end{markdown} % \begin{macrocode} local default_type = type(defaultOptions[key]) @@ -8840,8 +9046,8 @@ pdftex --shell-escape document.tex % %### Typesetting Markdown {#textypesetting} % -% The interface exposes the \mdef{markdownBegin}, \mdef{markdownEnd}, and -% \mdef{markdownInput} macros. +% The interface exposes the \mdef{markdownBegin}, \mdef{markdownEnd}, +% \mdef{markdownInput}, and \mdef{markdownEscape} macros. % % The \mref{markdownBegin} macro marks the beginning of a markdown document % fragment and the \mref{markdownEnd} macro marks its end. @@ -8899,9 +9105,9 @@ pdftex --shell-escape document.tex % \bye % ``````` % -% The \mref{markdownInput} macro accepts a single parameter containing the -% filename of a markdown document and expands to the result of the conversion -% of the input markdown document to plain \TeX{}. +% The \mref{markdownInput} macro accepts a single parameter with the filename +% of a markdown document and expands to the result of the conversion of the +% input markdown document to plain \TeX{}. % % \end{markdown} % \begin{macrocode} @@ -8922,6 +9128,19 @@ pdftex --shell-escape document.tex % \bye % ``````` % +% The \mref{markdownEscape} macro accepts a single parameter with the filename +% of a \TeX{} document and executes the \TeX{} document in the middle of a +% markdown document fragment. Unlike the `\input` built-in of \TeX, +% \mref{markdownEscape} guarantees that the standard catcode regime of your +% \TeX{} format will be used. +% +% \end{markdown} +% \begin{macrocode} +\let\markdownEscape\relax +% \end{macrocode} +% \par +% \begin{markdown} +% %### Options {#texoptions} % % The plain \TeX{} options are represented by \TeX{} commands. Some of them map @@ -8948,7 +9167,7 @@ pdftex --shell-escape document.tex \prop_new:N \g_@@_plain_tex_option_types_prop \prop_new:N \g_@@_default_plain_tex_options_prop \tl_const:Nn \c_@@_option_layer_plain_tex_tl { plain_tex } -\seq_put_right:NV \g_@@_option_layers_seq \c_@@_option_layer_plain_tex_tl +\seq_gput_right:NV \g_@@_option_layers_seq \c_@@_option_layer_plain_tex_tl \cs_new:Nn \@@_add_plain_tex_option:nnn { @@ -9400,14 +9619,14 @@ A PDF document named `document.pdf` should be produced and contain the text % % \end{markdown} % \begin{macrocode} -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_plain_tex_options_seq { stripPercentSigns } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_plain_tex_option_types_prop { stripPercentSigns } { boolean } -\prop_put:Nnx +\prop_gput:Nnx \g_@@_default_plain_tex_options_prop { stripPercentSigns } { false } @@ -9553,10 +9772,10 @@ following text: \def\markdownRendererTickedBox{% \markdownRendererTickedBoxPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { tickedBox } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { tickedBox } { 0 } @@ -9564,10 +9783,10 @@ following text: \def\markdownRendererHalfTickedBox{% \markdownRendererHalfTickedBoxPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { halfTickedBox } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { halfTickedBox } { 0 } @@ -9575,10 +9794,10 @@ following text: \def\markdownRendererUntickedBox{% \markdownRendererUntickedBoxPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { untickedBox } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { untickedBox } { 0 } @@ -9717,10 +9936,10 @@ following text: \def\markdownRendererDocumentBegin{% \markdownRendererDocumentBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { documentBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { documentBegin } { 0 } @@ -9728,10 +9947,10 @@ following text: \def\markdownRendererDocumentEnd{% \markdownRendererDocumentEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { documentEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { documentEnd } { 0 } @@ -9862,10 +10081,10 @@ following text: \def\markdownRendererInterblockSeparator{% \markdownRendererInterblockSeparatorPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { interblockSeparator } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { interblockSeparator } { 0 } @@ -10008,10 +10227,10 @@ following text: \def\markdownRendererLineBreak{% \markdownRendererLineBreakPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { lineBreak } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { lineBreak } { 0 } @@ -10119,10 +10338,10 @@ following text: \def\markdownRendererEllipsis{% \markdownRendererEllipsisPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ellipsis } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ellipsis } { 0 } @@ -10194,7 +10413,7 @@ following text: > > ### References > [1] Donald Ervin Knuth. _The TeXbook, volume A of Computers and typesetting._ -> Addison-Wesley, 1984. +> Addison-Wesley, 1984. %</manual-tokens> %<*tex> @@ -10204,10 +10423,10 @@ following text: \def\markdownRendererNbsp{% \markdownRendererNbspPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { nbsp } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { nbsp } { 0 } @@ -10329,10 +10548,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererLeftBrace{% \markdownRendererLeftBracePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { leftBrace } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { leftBrace } { 0 } @@ -10340,10 +10559,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererRightBrace{% \markdownRendererRightBracePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { rightBrace } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { rightBrace } { 0 } @@ -10351,10 +10570,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererDollarSign{% \markdownRendererDollarSignPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dollarSign } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dollarSign } { 0 } @@ -10362,10 +10581,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererPercentSign{% \markdownRendererPercentSignPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { percentSign } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { percentSign } { 0 } @@ -10373,10 +10592,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererAmpersand{% \markdownRendererAmpersandPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ampersand } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ampersand } { 0 } @@ -10384,10 +10603,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererUnderscore{% \markdownRendererUnderscorePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { underscore } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { underscore } { 0 } @@ -10395,10 +10614,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererHash{% \markdownRendererHashPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { hash } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { hash } { 0 } @@ -10406,10 +10625,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererCircumflex{% \markdownRendererCircumflexPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { circumflex } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { circumflex } { 0 } @@ -10417,10 +10636,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererBackslash{% \markdownRendererBackslashPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { backslash } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { backslash } { 0 } @@ -10428,10 +10647,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererTilde{% \markdownRendererTildePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { tilde } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { tilde } { 0 } @@ -10439,10 +10658,10 @@ following text, where the middot (`·`) denotes a non-breaking space: \def\markdownRendererPipe{% \markdownRendererPipePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { pipe } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { pipe } { 0 } @@ -10458,8 +10677,8 @@ following text, where the middot (`·`) denotes a non-breaking space: % \begin{markdown} #### Code Span Renderer -The \mdef{markdownRendererCodeSpan} macro represents inlined code span in the -input text. It receives a single argument that corresponds to the inlined +The \mdef{markdownRendererCodeSpan} macro represents inline code span in the +input text. It receives a single argument that corresponds to the inline code span. % \end{markdown} @@ -10584,10 +10803,10 @@ following text: \def\markdownRendererCodeSpan{% \markdownRendererCodeSpanPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { codeSpan } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { codeSpan } { 1 } @@ -10708,10 +10927,10 @@ following text: \def\markdownRendererLink{% \markdownRendererLinkPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { link } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { link } { 4 } @@ -10788,7 +11007,7 @@ Bourne or Bourne again shell as the default shell of the current user. It also assumes that the `md5sum`, `wget`, and `convert` binaries are installed and that the \TeX{} engine has shell access. -> ![](https://tug.org/tugboat/noword.jpg "The Communications of the TeX Users Group") +> ![TUGboat](https://tug.org/tugboat/noword.jpg "The Communications of the TeX Users Group") %</manual-tokens> %<*tex> @@ -10798,10 +11017,10 @@ that the \TeX{} engine has shell access. \def\markdownRendererImage{% \markdownRendererImagePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { image } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { image } { 4 } @@ -10835,10 +11054,10 @@ and the title of the content block. \def\markdownRendererContentBlock{% \markdownRendererContentBlockPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { contentBlock } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { contentBlock } { 4 } @@ -10868,10 +11087,10 @@ as \mref{markdownRendererContentBlock}. \def\markdownRendererContentBlockOnlineImage{% \markdownRendererContentBlockOnlineImagePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { contentBlockOnlineImage } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { contentBlockOnlineImage } { 4 } @@ -10889,8 +11108,8 @@ as \mref{markdownRendererContentBlock}. The \mdef{markdownRendererContentBlockCode} macro represents an iA\,Writer content block that was recognized as a file in a known programming language by its filename extension $s$. If any `markdown-languages.json` file found -by \pkg{kpathsea}\footnote{Filenames other than `markdown-languages.json` may -be specified using the `contentBlocksLanguageMap` Lua option.} contains a +by \pkg{kpathsea}^[Filenames other than `markdown-languages.json` may +be specified using the `contentBlocksLanguageMap` Lua option.] contains a record $(k, v)$, then a non-online-image content block with the filename extension $s, s$`:lower()`${}=k$ is considered to be in a known programming language $v$. @@ -11063,10 +11282,10 @@ following text: \def\markdownRendererContentBlockCode{% \markdownRendererContentBlockCodePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { contentBlockCode } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { contentBlockCode } { 5 } @@ -11097,10 +11316,10 @@ list is not tight). The macro receives no arguments. \def\markdownRendererUlBegin{% \markdownRendererUlBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ulBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ulBegin } { 0 } @@ -11131,10 +11350,10 @@ is disabled. The macro receives no arguments. \def\markdownRendererUlBeginTight{% \markdownRendererUlBeginTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ulBeginTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ulBeginTight } { 0 } @@ -11163,10 +11382,10 @@ list. The macro receives no arguments. \def\markdownRendererUlItem{% \markdownRendererUlItemPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ulItem } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ulItem } { 0 } @@ -11195,10 +11414,10 @@ bulleted list. The macro receives no arguments. \def\markdownRendererUlItemEnd{% \markdownRendererUlItemEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ulItemEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ulItemEnd } { 0 } @@ -11228,10 +11447,10 @@ tight). The macro receives no arguments. \def\markdownRendererUlEnd{% \markdownRendererUlEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ulEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ulEnd } { 0 } @@ -11464,10 +11683,10 @@ following text: \def\markdownRendererUlEndTight{% \markdownRendererUlEndTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { ulEndTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { ulEndTight } { 0 } @@ -11499,10 +11718,10 @@ option is disabled. The macro receives no arguments. \def\markdownRendererOlBegin{% \markdownRendererOlBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olBegin } { 0 } @@ -11534,10 +11753,10 @@ receives no arguments. \def\markdownRendererOlBeginTight{% \markdownRendererOlBeginTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olBeginTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olBeginTight } { 0 } @@ -11571,10 +11790,10 @@ and the style of delimiters between list item labels and texts (`Default`, \def\markdownRendererFancyOlBegin{% \markdownRendererFancyOlBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlBegin } { 2 } @@ -11608,10 +11827,10 @@ the valid style values. \def\markdownRendererFancyOlBeginTight{% \markdownRendererFancyOlBeginTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlBeginTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlBeginTight } { 2 } @@ -11642,10 +11861,10 @@ arguments. \def\markdownRendererOlItem{% \markdownRendererOlItemPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olItem } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olItem } { 0 } @@ -11675,10 +11894,10 @@ option is disabled. The macro receives no arguments. \def\markdownRendererOlItemEnd{% \markdownRendererOlItemEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olItemEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olItemEnd } { 0 } @@ -11709,10 +11928,10 @@ receives a single numeric argument that corresponds to the item number. \def\markdownRendererOlItemWithNumber{% \markdownRendererOlItemWithNumberPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olItemWithNumber } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olItemWithNumber } { 1 } @@ -11743,10 +11962,10 @@ no arguments. \def\markdownRendererFancyOlItem{% \markdownRendererFancyOlItemPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlItem } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlItem } { 0 } @@ -11776,10 +11995,10 @@ option is enabled. The macro receives no arguments. \def\markdownRendererFancyOlItemEnd{% \markdownRendererFancyOlItemEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlItemEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlItemEnd } { 0 } @@ -11810,10 +12029,10 @@ argument that corresponds to the item number. \def\markdownRendererFancyOlItemWithNumber{% \markdownRendererFancyOlItemWithNumberPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlItemWithNumber } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlItemWithNumber } { 1 } @@ -11844,10 +12063,10 @@ disabled. The macro receives no arguments. \def\markdownRendererOlEnd{% \markdownRendererOlEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olEnd } { 0 } @@ -11879,10 +12098,10 @@ arguments. \def\markdownRendererOlEndTight{% \markdownRendererOlEndTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { olEndTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { olEndTight } { 0 } @@ -11913,10 +12132,10 @@ option is enabled. The macro receives no arguments. \def\markdownRendererFancyOlEnd{% \markdownRendererFancyOlEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlEnd } { 0 } @@ -12204,10 +12423,10 @@ following text: \def\markdownRendererFancyOlEndTight{% \markdownRendererFancyOlEndTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { fancyOlEndTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { fancyOlEndTight } { 0 } @@ -12241,10 +12460,10 @@ list is not tight). The macro receives no arguments. \def\markdownRendererDlBegin{% \markdownRendererDlBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlBegin } { 0 } @@ -12275,10 +12494,10 @@ list is not tight). This macro will only be produced, when the \def\markdownRendererDlBeginTight{% \markdownRendererDlBeginTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlBeginTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlBeginTight } { 0 } @@ -12308,10 +12527,10 @@ being defined. \def\markdownRendererDlItem{% \markdownRendererDlItemPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlItem } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlItem } { 1 } @@ -12340,10 +12559,10 @@ definitions for a single term. \def\markdownRendererDlItemEnd{% \markdownRendererDlItemEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlItemEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlItemEnd } { 0 } @@ -12373,10 +12592,10 @@ a single term. \def\markdownRendererDlDefinitionBegin{% \markdownRendererDlDefinitionBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlDefinitionBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlDefinitionBegin } { 0 } @@ -12406,10 +12625,10 @@ single term. \def\markdownRendererDlDefinitionEnd{% \markdownRendererDlDefinitionEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlDefinitionEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlDefinitionEnd } { 0 } @@ -12439,10 +12658,10 @@ tight). The macro receives no arguments. \def\markdownRendererDlEnd{% \markdownRendererDlEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlEnd } { 0 } @@ -12808,10 +13027,10 @@ following text: \def\markdownRendererDlEndTight{% \markdownRendererDlEndTightPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { dlEndTight } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { dlEndTight } { 0 } @@ -12928,10 +13147,10 @@ following text: \def\markdownRendererEmphasis{% \markdownRendererEmphasisPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { emphasis } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { emphasis } { 1 } @@ -12961,10 +13180,10 @@ corresponds to the emphasized span of text. \def\markdownRendererStrongEmphasis{% \markdownRendererStrongEmphasisPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { strongEmphasis } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { strongEmphasis } { 1 } @@ -12994,10 +13213,10 @@ a block quote. The macro receives no arguments. \def\markdownRendererBlockQuoteBegin{% \markdownRendererBlockQuoteBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { blockQuoteBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { blockQuoteBegin } { 0 } @@ -13139,10 +13358,10 @@ following text: \def\markdownRendererBlockQuoteEnd{% \markdownRendererBlockQuoteEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { blockQuoteEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { blockQuoteEnd } { 0 } @@ -13173,10 +13392,10 @@ filename of a file contaning the code block contents. \def\markdownRendererInputVerbatim{% \markdownRendererInputVerbatimPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { inputVerbatim } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { inputVerbatim } { 1 } @@ -13289,10 +13508,10 @@ following text except for the filename, which may differ: \def\markdownRendererInputFencedCode{% \markdownRendererInputFencedCodePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { inputFencedCode } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { inputFencedCode } { 2 } @@ -13323,10 +13542,10 @@ option is enabled. The macro receives no arguments. \def\markdownRendererJekyllDataBegin{% \markdownRendererJekyllDataBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataBegin } { 0 } @@ -13356,10 +13575,10 @@ The \mdef{markdownRendererJekyllDataEnd} macro represents the end of a \def\markdownRendererJekyllDataEnd{% \markdownRendererJekyllDataEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataEnd } { 0 } @@ -13391,10 +13610,10 @@ arguments: the scalar key in the parent structure, cast to a string following \def\markdownRendererJekyllDataMappingBegin{% \markdownRendererJekyllDataMappingBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataMappingBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataMappingBegin } { 2 } @@ -13424,10 +13643,10 @@ when the \Opt{jekyllData} option is enabled. The macro receives no arguments. \def\markdownRendererJekyllDataMappingEnd{% \markdownRendererJekyllDataMappingEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataMappingEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataMappingEnd } { 0 } @@ -13459,10 +13678,10 @@ arguments: the scalar key in the parent structure, cast to a string following \def\markdownRendererJekyllDataSequenceBegin{% \markdownRendererJekyllDataSequenceBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataSequenceBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataSequenceBegin } { 2 } @@ -13492,10 +13711,10 @@ when the \Opt{jekyllData} option is enabled. The macro receives no arguments. \def\markdownRendererJekyllDataSequenceEnd{% \markdownRendererJekyllDataSequenceEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataSequenceEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataSequenceEnd } { 0 } @@ -13527,10 +13746,10 @@ following \acro{yaml} serialization rules. \def\markdownRendererJekyllDataBoolean{% \markdownRendererJekyllDataBooleanPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataBoolean } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataBoolean } { 2 } @@ -13562,10 +13781,10 @@ following \acro{yaml} serialization rules. \def\markdownRendererJekyllDataNumber{% \markdownRendererJekyllDataNumberPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataNumber } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataNumber } { 2 } @@ -13597,10 +13816,10 @@ serialization rules, and the scalar value. \def\markdownRendererJekyllDataString{% \markdownRendererJekyllDataStringPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataString } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataString } { 2 } @@ -13636,10 +13855,10 @@ serialization rules. \def\markdownRendererJekyllDataEmpty{% \markdownRendererJekyllDataEmptyPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { jekyllDataEmpty } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { jekyllDataEmpty } { 1 } @@ -13763,10 +13982,10 @@ The macro receives a single argument that corresponds to the heading text. \def\markdownRendererHeadingOne{% \markdownRendererHeadingOnePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headingOne } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headingOne } { 1 } @@ -13796,10 +14015,10 @@ text. \def\markdownRendererHeadingTwo{% \markdownRendererHeadingTwoPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headingTwo } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headingTwo } { 1 } @@ -13829,10 +14048,10 @@ text. \def\markdownRendererHeadingThree{% \markdownRendererHeadingThreePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headingThree } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headingThree } { 1 } @@ -13862,10 +14081,10 @@ text. \def\markdownRendererHeadingFour{% \markdownRendererHeadingFourPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headingFour } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headingFour } { 1 } @@ -13895,10 +14114,10 @@ text. \def\markdownRendererHeadingFive{% \markdownRendererHeadingFivePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headingFive } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headingFive } { 1 } @@ -14029,10 +14248,10 @@ following text: \def\markdownRendererHeadingSix{% \markdownRendererHeadingSixPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headingSix } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headingSix } { 1 } @@ -14047,8 +14266,8 @@ following text: % % \begin{markdown} -#### Horizontal Rule Renderer -The \mdef{markdownRendererHorizontalRule} macro represents a horizontal rule. +#### Thematic Break Renderer +The \mdef{markdownRendererThematicBreak} macro represents a thematic break. The macro receives no arguments. % \end{markdown} @@ -14061,7 +14280,7 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \input markdown -\def\markdownRendererHorizontalRule{\vfil\break} +\def\markdownRendererThematicBreak{\vfil\break} \markdownBegin This is the first page. @@ -14093,7 +14312,7 @@ following content: \usepackage{markdown} \markdownSetup{ renderers = { - horizontalRule = \newpage, + thematicBreak = \newpage, }, } \begin{document} @@ -14125,7 +14344,7 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \usemodule[t][markdown] -\def\markdownRendererHorizontalRule{\page[yes]} +\def\markdownRendererThematicBreak{\page[yes]} \starttext \startmarkdown This is the first page. @@ -14152,18 +14371,58 @@ following text: %</manual-tokens> %<*tex> % \fi +% \begin{markdown} +% +% The \mdef{markdownRendererHorizontalRule} and +% \mdef{markdownRendererHorizontalRulePrototype} macros have been deprecated +% and will be removed in Markdown 3.0.0. % +% \end{markdown} % \begin{macrocode} -\def\markdownRendererHorizontalRule{% - \markdownRendererHorizontalRulePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\cs_new:Npn + \markdownRendererThematicBreak + { + \cs_if_exist:NTF + \markdownRendererHorizontalRule + { + \markdownWarning + { + Horizontal~rule~renderer~has~been~deprecated,~ + to~be~removed~in~Markdown~3.0.0 + } + \markdownRendererHorizontalRule + } + { + \cs_if_exist:NTF + \markdownRendererHorizontalRulePrototype + { + \markdownWarning + { + Horizontal~rule~renderer~prototype~has~been~deprecated,~ + to~be~removed~in~Markdown~3.0.0 + } + \markdownRendererHorizontalRulePrototype + } + { + \markdownRendererThematicBreakPrototype + } + } + } +\seq_gput_right:Nn \g_@@_renderers_seq { horizontalRule } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { horizontalRule } { 0 } +\seq_gput_right:Nn + \g_@@_renderers_seq + { thematicBreak } +\prop_gput:Nnn + \g_@@_renderer_arities_prop + { thematicBreak } + { 0 } \ExplSyntaxOff % \end{macrocode} % \par @@ -14175,10 +14434,10 @@ following text: % % \begin{markdown} -#### Footnote Renderer -The \mdef{markdownRendererFootnote} macro represents a footnote. This macro -will only be produced, when the \Opt{footnotes} option is enabled. The -macro receives a single argument that corresponds to the footnote text. +#### Note Renderer +The \mdef{markdownRendererNote} macro represents a note. This macro +will only be produced, when the \Opt{notes} option is enabled. The +macro receives a single argument that corresponds to the note text. % \end{markdown} % @@ -14190,14 +14449,14 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \input markdown -\def\markdownOptionFootnotes{true} -\def\markdownRendererFootnote#1{ (and \lowercase{#1})} +\def\markdownOptionNotes{true} +\def\markdownRendererNote#1{ (and \lowercase{#1})} \markdownBegin This is some text[^1] and this is some other text[^2]. - [^1]: this is a footnote + [^1]: this is a note - [^2]: this is some other footnote + [^2]: this is some other note \markdownEnd \bye ``````` @@ -14208,8 +14467,8 @@ luatex document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> This is some text (and this is a footnote) and this is some other -> text (and this is some other footnote). +> This is some text (and this is a note) and this is some other +> text (and this is some other note). ##### \LaTeX{} Example {.unnumbered} @@ -14217,19 +14476,19 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \documentclass{article} -\usepackage[footnotes]{markdown} +\usepackage[notes]{markdown} \markdownSetup{ renderers = { - footnote = { (and \MakeLowercase{#1})}, + note = { (and \MakeLowercase{#1})}, }, } \begin{document} \begin{markdown} This is some text[^1] and this is some other text[^2]. - [^1]: this is a footnote + [^1]: this is a note - [^2]: this is some other footnote + [^2]: this is some other note \end{markdown} \end{document} ``````` @@ -14240,8 +14499,8 @@ lualatex document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> This is some text (and this is a footnote) and this is some other -> text (and this is some other footnote). +> This is some text (and this is a note) and this is some other +> text (and this is some other note). ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -14249,15 +14508,15 @@ Using a text editor, create a text document named `document.tex` with the following content: ``` tex \usemodule[t][markdown] -\setupmarkdown[footnotes = yes] -\def\markdownRendererFootnote#1{ (and \lowercase{#1})} +\setupmarkdown[notes = yes] +\def\markdownRendererNote#1{ (and \lowercase{#1})} \starttext \startmarkdown This is some text[^1] and this is some other text[^2]. - [^1]: this is a footnote + [^1]: this is a note - [^2]: this is some other footnote + [^2]: this is some other note \stopmarkdown \stoptext ``````` @@ -14268,24 +14527,64 @@ context document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> This is some text (and this is a footnote) and this is some other -> text (and this is some other footnote). +> This is some text (and this is a note) and this is some other +> text (and this is some other note). %</manual-tokens> %<*tex> % \fi +% \begin{markdown} +% +% The \mdef{markdownRendererFootnote} and +% \mdef{markdownRendererFootnotePrototype} macros have been deprecated +% and will be removed in Markdown 3.0.0. % +% \end{markdown} % \begin{macrocode} -\def\markdownRendererFootnote{% - \markdownRendererFootnotePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\cs_new:Npn + \markdownRendererNote + { + \cs_if_exist:NTF + \markdownRendererFootnote + { + \markdownWarning + { + Footnote~renderer~has~been~deprecated,~ + to~be~removed~in~Markdown~3.0.0 + } + \markdownRendererFootnote + } + { + \cs_if_exist:NTF + \markdownRendererFootnotePrototype + { + \markdownWarning + { + Footnote~renderer~prototype~has~been~deprecated,~ + to~be~removed~in~Markdown~3.0.0 + } + \markdownRendererFootnotePrototype + } + { + \markdownRendererNotePrototype + } + } + } +\seq_gput_right:Nn \g_@@_renderers_seq { footnote } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { footnote } { 1 } +\seq_gput_right:Nn + \g_@@_renderers_seq + { note } +\prop_gput:Nnn + \g_@@_renderer_arities_prop + { note } + { 1 } \ExplSyntaxOff % \end{macrocode} % \par @@ -14376,10 +14675,10 @@ following text: \def\markdownRendererCite{% \markdownRendererCitePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { cite } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { cite } { 1 } @@ -14468,10 +14767,10 @@ following text: \def\markdownRendererTextCite{% \markdownRendererTextCitePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { textCite } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { textCite } { 1 } @@ -14595,10 +14894,10 @@ following text: \def\markdownRendererTable{% \markdownRendererTablePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { table } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { table } { 3 } @@ -14647,7 +14946,7 @@ following content: \begin{markdown} A useful use of inline HTML comments are side notes. <!-- Side notes are displayed in the horizontal margins next to the relevant -passages, which makes them *easier for the reader to find* than footnotes. --> +passages, which makes them *easier for the reader to find* than notes. --> We can render block HTML comments as blockquotes: @@ -14679,7 +14978,7 @@ following body text: The horizontal margins should contain the following text: > Side notes are displayed in the horizontal margins next to the relevant -> passages, which makes them *easier for the reader to find* than footnotes. +> passages, which makes them *easier for the reader to find* than notes. %</manual-tokens> %<*tex> @@ -14689,10 +14988,10 @@ The horizontal margins should contain the following text: \def\markdownRendererInlineHtmlComment{% \markdownRendererInlineHtmlCommentPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { inlineHtmlComment } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { inlineHtmlComment } { 1 } @@ -14700,10 +14999,10 @@ The horizontal margins should contain the following text: \def\markdownRendererBlockHtmlCommentBegin{% \markdownRendererBlockHtmlCommentBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { blockHtmlCommentBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { blockHtmlCommentBegin } { 0 } @@ -14711,10 +15010,10 @@ The horizontal margins should contain the following text: \def\markdownRendererBlockHtmlCommentEnd{% \markdownRendererBlockHtmlCommentEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { blockHtmlCommentEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { blockHtmlCommentEnd } { 0 } @@ -14788,10 +15087,10 @@ following body text: \def\markdownRendererInlineHtmlTag{% \markdownRendererInlineHtmlTagPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { inlineHtmlTag } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { inlineHtmlTag } { 1 } @@ -14799,10 +15098,10 @@ following body text: \def\markdownRendererInputBlockHtmlElement{% \markdownRendererInputBlockHtmlElementPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { inputBlockHtmlElement } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { inputBlockHtmlElement } { 1 } @@ -14906,10 +15205,10 @@ following text: \def\markdownRendererAttributeIdentifier{% \markdownRendererAttributeIdentifierPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { attributeIdentifier } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { attributeIdentifier } { 1 } @@ -14917,10 +15216,10 @@ following text: \def\markdownRendererAttributeClassName{% \markdownRendererAttributeClassNamePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { attributeClassName } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { attributeClassName } { 1 } @@ -14928,10 +15227,10 @@ following text: \def\markdownRendererAttributeKeyValue{% \markdownRendererAttributeKeyValuePrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { attributeKeyValue } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { attributeKeyValue } { 2 } @@ -15021,10 +15320,10 @@ following text: \def\markdownRendererHeaderAttributeContextBegin{% \markdownRendererHeaderAttributeContextBeginPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headerAttributeContextBegin } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headerAttributeContextBegin } { 0 } @@ -15032,10 +15331,10 @@ following text: \def\markdownRendererHeaderAttributeContextEnd{% \markdownRendererHeaderAttributeContextEndPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { headerAttributeContextEnd } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { headerAttributeContextEnd } { 0 } @@ -15142,10 +15441,10 @@ following text: \def\markdownRendererStrikeThrough{% \markdownRendererStrikeThroughPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { strikeThrough } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { strikeThrough } { 1 } @@ -15250,10 +15549,10 @@ following text: \def\markdownRendererSuperscript{% \markdownRendererSuperscriptPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { superscript } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { superscript } { 1 } @@ -15298,7 +15597,7 @@ luatex document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> H (2 moles) and O is liquid. +> H (2 moles) and O is a liquid. ##### \LaTeX{} Example {.unnumbered} @@ -15325,7 +15624,7 @@ lualatex document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> H (2 moles) and O is liquid. +> H (2 moles) and O is a liquid. ##### \Hologo{ConTeXt} Example {.unnumbered} @@ -15348,7 +15647,7 @@ context document.tex A PDF document named `document.pdf` should be produced and contain the following text: -> H (2 moles) and O is liquid. +> H (2 moles) and O is a liquid. %</manual-tokens> %<*tex> @@ -15358,13 +15657,130 @@ following text: \def\markdownRendererSubscript{% \markdownRendererSubscriptPrototype}% \ExplSyntaxOn -\seq_put_right:Nn +\seq_gput_right:Nn \g_@@_renderers_seq { subscript } -\prop_put:Nnn +\prop_gput:Nnn \g_@@_renderer_arities_prop { subscript } { 1 } +% \end{macrocode} +% \par +% +% \iffalse +%</tex> +%<*manual-tokens> +% \fi +% +% \begin{markdown} + +#### Raw Content Renderers +The \mdef{markdownRendererInputRawInline} macro represents an inline raw span. +The macro receives two arguments: the filename of a file contaning the inline +raw span contents and the raw attribute that designates the format of the +inline raw span. This macro will only be produced, when the \Opt{rawAttribute} +option is enabled. + +% \end{markdown} +% +% \iffalse +%</manual-tokens> +%<*tex> +% \fi +% +% \begin{macrocode} +\def\markdownRendererInputRawInline{% + \markdownRendererInputRawInlinePrototype}% +\ExplSyntaxOn +\seq_gput_right:Nn + \g_@@_renderers_seq + { inputRawInline } +\prop_gput:Nnn + \g_@@_renderer_arities_prop + { inputRawInline } + { 2 } +\ExplSyntaxOff +% \end{macrocode} +% \par +% +% \iffalse +%</tex> +%<*manual-tokens> +% \fi +% +% \begin{markdown} + +The \mdef{markdownRendererInputRawBlock} macro represents a raw block. The +macro receives two arguments: the filename of a file contaning the raw block +and the raw attribute that designates the format of the raw block. This macro +will only be produced, when the \Opt{rawAttribute} and \Opt{fencedCode} options +are enabled. + +% \end{markdown} +% +% \iffalse + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `document.tex` with the +following content: +```` tex +\documentclass{article} +\usepackage[rawAttribute, fencedCode]{markdown} +\usepackage{expl3} +\ExplSyntaxOn +\cs_new:Nn + \display_raw_content:nn + { + % If the raw attribute is TeX, execute the content as a TeX document. + \str_if_eq:nnTF + { #2 } + { tex } + { \markdownEscape { #1 } } + % Otherwise, ignore the content. + { } + } +\markdownSetup{ + renderers = { + rawInline = { \display_raw_content:nn { #1 } { #2 } }, + rawBlock = { \display_raw_content:nn { #1 } { #2 } } + }, +} +\ExplSyntaxOff +\begin{document} +\begin{markdown} +`$H_2 O$`{=tex} is a liquid. + +``` {=html} +<p>Here is some HTML content that will be ignored.</p> +``` +\end{markdown} +\end{document} +```` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> H~2~O is a liquid. + +%</manual-tokens> +%<*tex> +% \fi +% +% \begin{macrocode} +\def\markdownRendererInputRawBlock{% + \markdownRendererInputRawBlockPrototype}% +\ExplSyntaxOn +\seq_gput_right:Nn + \g_@@_renderers_seq + { inputRawBlock } +\prop_gput:Nnn + \g_@@_renderer_arities_prop + { inputRawBlock } + { 2 } \ExplSyntaxOff % \end{macrocode} % \par @@ -15494,7 +15910,7 @@ following text: By default, the renderer prototypes for YAML metadata provide a high-level interface that can be programmed using the `markdown/jekyllData` key--values -from the l3keys module of the \LaTeX3 kernel. +from the l3keys module of the \LaTeX{}3 kernel. % \end{markdown} % \iffalse @@ -15616,7 +16032,6 @@ following text: { } \ExplSyntaxOff % \end{macrocode} -% % \begin{markdown} % % The following \TeX{} macros provide definitions for the token renderers (see @@ -15638,6 +16053,28 @@ following text: \let\markdownRendererBlockHtmlCommentBegin=\iffalse \let\markdownRendererBlockHtmlCommentEndPrototype=\fi \let\markdownRendererBlockHtmlCommentEnd=\fi +% \end{macrocode} +% \begin{markdown} +% +% The \mdef{markdownRendererFootnote} and +% \mdef{markdownRendererFootnotePrototype} macros have been deprecated +% and will be removed in Markdown 3.0.0. +% +% \end{markdown} +% \begin{macrocode} + \cs_undefine:N \markdownRendererFootnote + \cs_undefine:N \markdownRendererFootnotePrototype +% \end{macrocode} +% \begin{markdown} +% +% The \mdef{markdownRendererHorizontalRule} and +% \mdef{markdownRendererHorizontalRulePrototype} macros have been deprecated +% and will be removed in Markdown 3.0.0. +% +% \end{markdown} +% \begin{macrocode} + \cs_undefine:N \markdownRendererHorizontalRule + \cs_undefine:N \markdownRendererHorizontalRulePrototype } \cs_new:Nn \@@_plaintex_define_renderer_prototype:n { @@ -16094,7 +16531,7 @@ document: \prop_new:N \g_@@_latex_option_types_prop \prop_new:N \g_@@_default_latex_options_prop \tl_const:Nn \c_@@_option_layer_latex_tl { latex } -\seq_put_right:NV \g_@@_option_layers_seq \c_@@_option_layer_latex_tl +\seq_gput_right:NV \g_@@_option_layers_seq \c_@@_option_layer_latex_tl \cs_new:Nn \@@_add_latex_option:nnn { @@ -16479,7 +16916,7 @@ A PDF document named `document.pdf` should be produced and contain the following image: > ![img](https://github.com/witiko/markdown/raw/main/markdown.png -> "The banner of the Markdown package") +> "The banner of the Markdown package") %</manual-options> %<*latex-themes-witiko-graphicx-http> @@ -16661,13 +17098,29 @@ The following ordered list will be preceded by roman numerals: \seq_map_inline:cn { g_@@_ ##1 _options_seq } { - \@@_latex_define_option_keyval:nn - { ##1 } +% \end{macrocode} +% \begin{markdown} +% +% To make it easier to copy-and-paste options from Pandoc [@macfarlane22] such +% as `fancy_lists`, `header_attributes`, and `pipe_tables`, we accept +% snake\\\_case in addition to camelCase variants of options. As a bonus, +% studies [@sharif10] also show that snake\\\_case is faster to read than +% camelCase. +% +% \end{markdown} +% \begin{macrocode} + \@@_with_various_cases:nn { ####1 } + { + \@@_latex_define_option_keyval:nnn + { ##1 } + { ####1 } + { ########1 } + } } } } -\cs_new:Nn \@@_latex_define_option_keyval:nn +\cs_new:Nn \@@_latex_define_option_keyval:nnn { \prop_get:cnN { g_@@_ #1 _option_types_prop } @@ -16676,7 +17129,7 @@ The following ordered list will be preceded by roman numerals: \keys_define:nn { markdown/latex-options } { - #2 .code:n = { + #3 .code:n = { \@@_set_option_value:nn { #2 } { ##1 } @@ -16689,7 +17142,7 @@ The following ordered list will be preceded by roman numerals: \keys_define:nn { markdown/latex-options } { - #2 .default:n = { true }, + #3 .default:n = { true }, } } % \end{macrocode} @@ -16710,7 +17163,7 @@ The following ordered list will be preceded by roman numerals: { \tl_set:Nn \l_tmpa_tl - { #2 } + { #3 } \tl_reverse:N \l_tmpa_tl \str_if_eq:enF @@ -16723,7 +17176,7 @@ The following ordered list will be preceded by roman numerals: \msg_error:nnn { @@ } { malformed-name-for-clist-option } - { #2 } + { #3 } } \tl_set:Nx \l_tmpa_tl @@ -16865,16 +17318,20 @@ The following ordered list will be preceded by roman numerals: } \cs_new:Nn \@@_latex_define_renderer:nNn { - \keys_define:nn - { markdown/latex-options/renderers } + \@@_with_various_cases:nn + { #1 } { - #1 .code:n = { - \cs_generate_from_arg_count:NNnn - #2 - \cs_set:Npn - { #3 } - { ##1 } - }, + \keys_define:nn + { markdown/latex-options/renderers } + { + ##1 .code:n = { + \cs_generate_from_arg_count:NNnn + #2 + \cs_set:Npn + { #3 } + { ####1 } + }, + } } } \cs_generate_variant:Nn @@ -16929,16 +17386,20 @@ The following ordered list will be preceded by roman numerals: } \cs_new:Nn \@@_latex_define_renderer_prototype:nNn { - \keys_define:nn - { markdown/latex-options/renderer-prototypes } + \@@_with_various_cases:nn + { #1 } { - #1 .code:n = { - \cs_generate_from_arg_count:NNnn - #2 - \cs_set:Npn - { #3 } - { ##1 } - }, + \keys_define:nn + { markdown/latex-options/renderer-prototypes } + { + ##1 .code:n = { + \cs_generate_from_arg_count:NNnn + #2 + \cs_set:Npn + { #3 } + { ####1 } + }, + } } } \cs_generate_variant:Nn @@ -17160,13 +17621,48 @@ texexec --passon=--shell-escape document.tex \seq_map_inline:cn { g_@@_ ##1 _options_seq } { - \@@_context_define_option_keyval:nn - { ##1 } +% \end{macrocode} +% \begin{markdown} +% +% To make it easier to copy-and-paste options from Pandoc [@macfarlane22] such +% as `fancy_lists`, `header_attributes`, and `pipe_tables`, we accept +% snake\\\_case in addition to camelCase variants of options. As a bonus, +% studies [@sharif10] also show that snake\\\_case is faster to read than +% camelCase. +% +% \end{markdown} +% \begin{macrocode} + \@@_with_various_cases:nn { ####1 } + { + \@@_context_define_option_keyval:nnn + { ##1 } + { ####1 } + { ########1 } + } } } } -\cs_new:Nn \@@_context_define_option_keyval:nn +% \end{macrocode} +% \begin{markdown} +% +% Furthermore, we also accept caseless variants of options in line with the +% style of \Hologo{ConTeXt}. +% +% \end{markdown} +% \begin{macrocode} +\cs_new:Nn \@@_caseless:N + { + \regex_replace_all:nnN + { ([a-z])([A-Z]) } + { \1 \c { str_lowercase:n } \cB\{ \2 \cE\} } + #1 + \tl_set:Nx + #1 + { #1 } + } +\seq_gput_right:Nn \g_@@_cases_seq { @@_caseless:N } +\cs_new:Nn \@@_context_define_option_keyval:nnn { \prop_get:cnN { g_@@_ #1 _option_types_prop } @@ -17175,7 +17671,7 @@ texexec --passon=--shell-escape document.tex \keys_define:nn { markdown/context-options } { - #2 .code:n = { + #3 .code:n = { \tl_set:Nx \l_tmpa_tl { @@ -17199,7 +17695,7 @@ texexec --passon=--shell-escape document.tex \keys_define:nn { markdown/context-options } { - #2 .default:n = { true }, + #3 .default:n = { true }, } } } @@ -17312,6 +17808,21 @@ end % \par % \begin{markdown} % +% The \luamdef{util.cache_verbatim} method strips whitespaces from the +% end of `string` and calls \luamref{util.cache} with `dir`, `string`, +% no salt or transformations, and the `.verbatim` suffix. +% +% \end{markdown} +% \begin{macrocode} +function util.cache_verbatim(dir, string) + string = string:gsub('[\r\n%s]*$', '') + local name = util.cache(dir, string, nil, nil, ".verbatim") + return name +end +% \end{macrocode} +% \par +% \begin{markdown} +% % The \luamdef{util.table_copy} method creates a shallow copy of a table `t` % and its metatable. % @@ -19868,13 +20379,14 @@ function M.writer.new(options) % \par % \begin{markdown} % -% Define \luamdef{writer->hrule} as the output format of a horizontal rule. +% Define \luamdef{writer->thematic_break} as the output format of a thematic +% break. % % \end{markdown} % \begin{macrocode} - function self.hrule() + function self.thematic_break() if not self.is_writing then return "" end - return "\\markdownRendererHorizontalRule{}" + return "\\markdownRendererThematicBreak{}" end % \end{macrocode} % \par @@ -19961,7 +20473,7 @@ function M.writer.new(options) % \begin{markdown} % % Define \luamdef{writer->code} as a function that will transform an input -% inlined code span `s` to the output format. +% inline code span `s` to the output format. % % \end{markdown} % \begin{macrocode} @@ -20212,8 +20724,7 @@ function M.writer.new(options) % \begin{macrocode} function self.verbatim(s) if not self.is_writing then return "" end - s = string.gsub(s, '[\r\n%s]*$', '') - local name = util.cache(options.cacheDir, s, nil, nil, ".verbatim") + local name = util.cache_verbatim(options.cacheDir, s) return {"\\markdownRendererInputVerbatim{",name,"}"} end % \end{macrocode} @@ -20633,6 +21144,20 @@ parsers.attribute_value = ( (parsers.dquote / "") + ( parsers.anyescaped - parsers.dquote - parsers.rbrace - parsers.space)^0 +parsers.attribute = (parsers.dash * Cc(".unnumbered")) + + C((parsers.hash + parsers.period) + * parsers.attribute_key) + + Cs( parsers.attribute_key + * parsers.optionalspace * parsers.equal * parsers.optionalspace + * parsers.attribute_value) +parsers.attributes = parsers.lbrace + * parsers.optionalspace + * parsers.attribute + * (parsers.spacechar^1 + * parsers.attribute)^0 + * parsers.optionalspace + * parsers.rbrace + -- block followed by 0 or more optionally -- indented blocks with first line indented. parsers.indented_blocks = function(bl) @@ -20707,8 +21232,8 @@ local function captures_geq_length(_,i,a,b) return #a >= #b and i end -parsers.infostring = (parsers.linechar - (parsers.backtick - + parsers.space^1 * (parsers.newline + parsers.eof)))^0 +parsers.infostring = (parsers.linechar - (parsers.backtick + + parsers.space^1 * (parsers.newline + parsers.eof)))^0 local fenceindent parsers.fencehead = function(char) @@ -20977,6 +21502,16 @@ parsers.urlchar = parsers.anyescaped - parsers.newline - parsers.more % % \end{markdown} % \begin{macrocode} +parsers.TildeFencedCode + = parsers.fencehead(parsers.tilde) + * Cs(parsers.fencedline(parsers.tilde)^0) + * parsers.fencetail(parsers.tilde) + +parsers.BacktickFencedCode + = parsers.fencehead(parsers.backtick) + * Cs(parsers.fencedline(parsers.backtick)^0) + * parsers.fencetail(parsers.backtick) + parsers.lineof = function(c) return (parsers.leader * (P(c) * parsers.optionalspace)^3 * (parsers.newline * parsers.blankline^1 @@ -20990,26 +21525,12 @@ end % % \end{markdown} % \begin{macrocode} -parsers.heading_attribute = (parsers.dash * Cc(".unnumbered")) - + C((parsers.hash + parsers.period) - * parsers.attribute_key) - + Cs( parsers.attribute_key - * parsers.optionalspace * parsers.equal * parsers.optionalspace - * parsers.attribute_value) -parsers.HeadingAttributes = parsers.lbrace - * parsers.optionalspace - * parsers.heading_attribute - * (parsers.spacechar^1 - * parsers.heading_attribute)^0 - * parsers.optionalspace - * parsers.rbrace - -- parse Atx heading start and return level -parsers.HeadingStart = #parsers.hash * C(parsers.hash^-6) - * -parsers.hash / length +parsers.heading_start = #parsers.hash * C(parsers.hash^-6) + * -parsers.hash / length -- parse setext header ending and return level -parsers.HeadingLevel = parsers.equal^1 * Cc(1) + parsers.dash^1 * Cc(2) +parsers.heading_level = parsers.equal^1 * Cc(1) + parsers.dash^1 * Cc(2) local function strip_atx_end(s) return s:gsub("[#%s]*\n$","") @@ -21188,8 +21709,8 @@ function M.reader.new(writer, options) % \end{markdown} % \begin{macrocode} if toplevel and (options.texComments or options.hybrid) then - str = lpeg.match(Ct(parsers.commented_line^1), str) - str = util.rope_to_string(str) + str = lpeg.match(Ct(parsers.commented_line^1), str) + str = util.rope_to_string(str) end local res = lpeg.match(grammar(), str) if res == nil then @@ -21274,7 +21795,7 @@ function M.reader.new(writer, options) * (-(parsers.leader * parsers.more + parsers.blankline) * parsers.linechar^1 * parsers.newline)^0 - + if not options.breakableBlockquotes then parsers.blockquote_body = parsers.blockquote_body * (parsers.blankline^0 / "") @@ -21283,7 +21804,7 @@ function M.reader.new(writer, options) % \par % \begin{markdown} % -%#### Parsers Used for Footnotes (local) +%#### Parsers Used for Notes (local) % % \end{markdown} % \begin{macrocode} @@ -21550,10 +22071,10 @@ function M.reader.new(writer, options) / self.parser_functions.parse_blocks_nested / writer.blockquote - parsers.HorizontalRule = ( parsers.lineof(parsers.asterisk) - + parsers.lineof(parsers.dash) - + parsers.lineof(parsers.underscore) - ) / writer.hrule + parsers.ThematicBreak = ( parsers.lineof(parsers.asterisk) + + parsers.lineof(parsers.dash) + + parsers.lineof(parsers.underscore) + ) / writer.thematic_break parsers.Reference = parsers.define_reference_parser / register_link @@ -21604,14 +22125,14 @@ function M.reader.new(writer, options) * parsers.ListBlock parsers.TightListItem = function(starter) - return -parsers.HorizontalRule + return -parsers.ThematicBreak * (Cs(starter / "" * parsers.tickbox^-1 * parsers.ListBlock * parsers.NestedList^-1) / self.parser_functions.parse_blocks_nested) * -(parsers.blanklines * parsers.indent) end parsers.LooseListItem = function(starter) - return -parsers.HorizontalRule + return -parsers.ThematicBreak * Cs( starter / "" * parsers.tickbox^-1 * parsers.ListBlock * Cc("\n") * (parsers.NestedList + parsers.ListContinuationBlock^0) * (parsers.blanklines / "\n\n") @@ -21664,7 +22185,7 @@ function M.reader.new(writer, options) % \end{markdown} % \begin{macrocode} -- parse atx header - parsers.AtxHeading = Cg(parsers.HeadingStart,"level") + parsers.AtxHeading = Cg(parsers.heading_start, "level") * parsers.optionalspace * (C(parsers.line) / strip_atx_end @@ -21676,7 +22197,7 @@ function M.reader.new(writer, options) * Ct(parsers.linechar^1 / self.parser_functions.parse_inlines) * parsers.newline - * parsers.HeadingLevel + * parsers.heading_level * parsers.optionalspace * parsers.newline / writer.heading @@ -21794,7 +22315,7 @@ function M.reader.new(writer, options) Blockquote = parsers.Blockquote, Verbatim = parsers.Verbatim, - HorizontalRule = parsers.HorizontalRule, + ThematicBreak = parsers.ThematicBreak, BulletList = parsers.BulletList, OrderedList = parsers.OrderedList, Heading = parsers.Heading, @@ -21969,7 +22490,7 @@ function M.reader.new(writer, options) % \begin{markdown} % % Although the interface of the \luamref{reader->insert_pattern} method does -% document this (see Section <#luauserextensions>), we allow the +% document this (see Section <#sec:luauserextensions>), we allow the % \luamref{reader->insert_pattern} and \luamref{reader->update_rule} % methods to insert not just \acro{peg} patterns, but also rule names that % reference the \acro{peg} grammar of Markdown. @@ -22654,74 +23175,22 @@ M.extensions.fenced_code = function(blank_before_code_fence) % % \end{markdown} % \begin{macrocode} - function self.fencedCode(i, s) + function self.fencedCode(s, i) if not self.is_writing then return "" end - s = string.gsub(s, '[\r\n%s]*$', '') - local name = util.cache(options.cacheDir, s, nil, nil, ".verbatim") - return {"\\markdownRendererInputFencedCode{",name,"}{",i,"}"} + local name = util.cache_verbatim(options.cacheDir, s) + return {"\\markdownRendererInputFencedCode{", + name,"}{",self.string(i),"}"} end end, extend_reader = function(self) local parsers = self.parsers local writer = self.writer - local function captures_geq_length(_,i,a,b) - return #a >= #b and i - end - - local infostring = (parsers.linechar - (parsers.backtick - + parsers.space^1 * (parsers.newline + parsers.eof)))^0 - - local fenceindent - local fencehead = function(char) - return C(parsers.nonindentspace) / function(s) fenceindent = #s end - * Cg(char^3, "fencelength") - * parsers.optionalspace * C(infostring) - * parsers.optionalspace * (parsers.newline + parsers.eof) - end - - local fencetail = function(char) - return parsers.nonindentspace - * Cmt(C(char^3) * Cb("fencelength"), captures_geq_length) - * parsers.optionalspace * (parsers.newline + parsers.eof) - + parsers.eof - end - - local fencedline = function(char) - return C(parsers.line - fencetail(char)) - / function(s) - local i = 1 - local remaining = fenceindent - while true do - local c = s:sub(i, i) - if c == " " and remaining > 0 then - remaining = remaining - 1 - i = i + 1 - elseif c == "\t" and remaining > 3 then - remaining = remaining - 4 - i = i + 1 - else - break - end - end - return s:sub(i) - end - end - - local TildeFencedCode - = fencehead(parsers.tilde) - * Cs(fencedline(parsers.tilde)^0) - * fencetail(parsers.tilde) - - local BacktickFencedCode - = fencehead(parsers.backtick) - * Cs(fencedline(parsers.backtick)^0) - * fencetail(parsers.backtick) - - local FencedCode = (TildeFencedCode - + BacktickFencedCode) + local FencedCode = (parsers.TildeFencedCode + + parsers.BacktickFencedCode) / function(infostring, code) - return writer.fencedCode(writer.string(infostring), - self.expandtabs(code)) + local expanded_code = self.expandtabs(code) + return writer.fencedCode(expanded_code, + infostring) end self.insert_pattern("Block after Verbatim", @@ -22731,8 +23200,8 @@ M.extensions.fenced_code = function(blank_before_code_fence) if blank_before_code_fence then fencestart = parsers.fail else - fencestart = fencehead(parsers.backtick) - + fencehead(parsers.tilde) + fencestart = parsers.fencehead(parsers.backtick) + + parsers.fencehead(parsers.tilde) end local EndlineExceptions = parsers.EndlineExceptions + fencestart @@ -22745,38 +23214,38 @@ end % \end{macrocode} % \begin{markdown} % -%#### Footnotes +%#### Notes % -% The \luamdef{extensions.footnotes} function implements the Pandoc footnote -% and inline footnote syntax extensions. When the `footnote` parameter is -% `true`, the Pandoc footnote syntax extension will be enabled. When the -% `inline_footnotes` parameter is `true`, the Pandoc inline footnote syntax +% The \luamdef{extensions.notes} function implements the Pandoc note +% and inline note syntax extensions. When the `note` parameter is +% `true`, the Pandoc note syntax extension will be enabled. When the +% `inline_notes` parameter is `true`, the Pandoc inline note syntax % extension will be enabled. % % \end{markdown} % \begin{macrocode} -M.extensions.footnotes = function(footnotes, inline_footnotes) - assert(footnotes or inline_footnotes) +M.extensions.notes = function(notes, inline_notes) + assert(notes or inline_notes) return { - name = "built-in footnotes syntax extension", + name = "built-in notes syntax extension", extend_writer = function(self) % \end{macrocode} % \par % \begin{markdown} % % Define \luamdef{writer->note} as a function that will transform an -% input footnote `s` to the output format. +% input note `s` to the output format. % % \end{markdown} % \begin{macrocode} function self.note(s) - return {"\\markdownRendererFootnote{",s,"}"} + return {"\\markdownRendererNote{",s,"}"} end end, extend_reader = function(self) local parsers = self.parsers local writer = self.writer - if inline_footnotes then + if inline_notes then local InlineNote = parsers.circumflex * (parsers.tag / self.parser_functions.parse_inlines_no_inline_note) @@ -22785,7 +23254,7 @@ M.extensions.footnotes = function(footnotes, inline_footnotes) self.insert_pattern("Inline after Emph", InlineNote, "InlineNote") end - if footnotes then + if notes then local function strip_first_char(s) return s:sub(2) end @@ -22851,49 +23320,49 @@ M.extensions.header_attributes = function() local parsers = self.parsers local writer = self.writer - parsers.AtxHeading = Cg(parsers.HeadingStart,"level") - * parsers.optionalspace - * (C(((parsers.linechar - - ((parsers.hash^1 - * parsers.optionalspace - * parsers.HeadingAttributes^-1 - + parsers.HeadingAttributes) - * parsers.optionalspace - * parsers.newline)) - * (parsers.linechar - - parsers.hash - - parsers.lbrace)^0)^1) - / self.parser_functions.parse_inlines) - * Cg(Ct(parsers.newline - + (parsers.hash^1 - * parsers.optionalspace - * parsers.HeadingAttributes^-1 - + parsers.HeadingAttributes) + local AtxHeading = Cg(parsers.heading_start, "level") + * parsers.optionalspace + * (C(((parsers.linechar + - ((parsers.hash^1 * parsers.optionalspace - * parsers.newline), "attributes") - * Cb("level") - * Cb("attributes") - / writer.heading - - parsers.SetextHeading = #(parsers.line * S("=-")) - * (C(((parsers.linechar - - (parsers.HeadingAttributes - * parsers.optionalspace - * parsers.newline)) - * (parsers.linechar - - parsers.lbrace)^0)^1) - / self.parser_functions.parse_inlines) - * Cg(Ct(parsers.newline - + (parsers.HeadingAttributes - * parsers.optionalspace - * parsers.newline)), "attributes") - * parsers.HeadingLevel - * Cb("attributes") - * parsers.optionalspace - * parsers.newline - / writer.heading - - local Heading = parsers.AtxHeading + parsers.SetextHeading + * parsers.attributes^-1 + + parsers.attributes) + * parsers.optionalspace + * parsers.newline)) + * (parsers.linechar + - parsers.hash + - parsers.lbrace)^0)^1) + / self.parser_functions.parse_inlines) + * Cg(Ct(parsers.newline + + (parsers.hash^1 + * parsers.optionalspace + * parsers.attributes^-1 + + parsers.attributes) + * parsers.optionalspace + * parsers.newline), "attributes") + * Cb("level") + * Cb("attributes") + / writer.heading + + local SetextHeading = #(parsers.line * S("=-")) + * (C(((parsers.linechar + - (parsers.attributes + * parsers.optionalspace + * parsers.newline)) + * (parsers.linechar + - parsers.lbrace)^0)^1) + / self.parser_functions.parse_inlines) + * Cg(Ct(parsers.newline + + (parsers.attributes + * parsers.optionalspace + * parsers.newline)), "attributes") + * parsers.heading_level + * Cb("attributes") + * parsers.optionalspace + * parsers.newline + / writer.heading + + local Heading = AtxHeading + SetextHeading self.update_rule("Heading", Heading) end } @@ -23035,14 +23504,14 @@ M.extensions.jekyll_data = function(expect_jekyll_data) local UnexpectedJekyllData = P("---") * parsers.blankline / 0 - * #(-parsers.blankline) -- if followed by blank, it's an hrule + * #(-parsers.blankline) -- if followed by blank, it's thematic break * JekyllData * (P("---") + P("...")) local ExpectedJekyllData = ( P("---") * parsers.blankline / 0 - * #(-parsers.blankline) -- if followed by blank, it's an hrule + * #(-parsers.blankline) -- if followed by blank, it's thematic break )^-1 * JekyllData * (P("---") + P("..."))^-1 @@ -23221,6 +23690,93 @@ end % \end{macrocode} % \begin{markdown} % +%#### Raw Attributes +% +% The \luamdef{extensions.raw_attribute} function implements the Pandoc +% raw attribute syntax extension. +% +% \end{markdown} +% \begin{macrocode} +M.extensions.raw_attribute = function() + return { + name = "built-in raw_attribute syntax extension", + extend_writer = function(self) + local options = self.options + +% \end{macrocode} +% \par +% \begin{markdown} +% +% Define \luamdef{writer->rawInline} as a function that will transform an +% input inline raw span `s` with the raw attribute `i` to the output format. +% +% \end{markdown} +% \begin{macrocode} + function self.rawInline(s, attr) + if not self.is_writing then return "" end + local name = util.cache_verbatim(options.cacheDir, s) + return {"\\markdownRendererInputRawInline{", + name,"}{", self.string(attr),"}"} + end + + if options.fencedCode then +% \end{macrocode} +% \par +% \begin{markdown} +% +% Define \luamdef{writer->rawBlock} as a function that will transform an +% input raw block `s` with the raw attribute `i` to the output format. +% +% \end{markdown} +% \begin{macrocode} + function self.rawBlock(s, attr) + if not self.is_writing then return "" end + local name = util.cache_verbatim(options.cacheDir, s) + return {"\\markdownRendererInputRawBlock{", + name,"}{", self.string(attr),"}"} + end + end + end, extend_reader = function(self) + local options = self.options + local writer = self.writer + + local raw_attribute = parsers.lbrace + * parsers.optionalspace + * parsers.equal + * C(parsers.attribute_key) + * parsers.optionalspace + * parsers.rbrace + + local RawInline = parsers.inticks + * raw_attribute + / writer.rawInline + + self.insert_pattern("Inline before Code", + RawInline, "RawInline") + + if options.fencedCode then + local RawBlock = (parsers.TildeFencedCode + + parsers.BacktickFencedCode) + / function(infostring, code) + local expanded_code = self.expandtabs(code) + local attr = lpeg.match(raw_attribute, infostring) + if attr then + return writer.rawBlock(expanded_code, attr) + else + return writer.fencedCode(expanded_code, + infostring) + end + end + + self.insert_pattern("Block after Verbatim", + RawBlock, "RawBlock") + end + end + } +end +% \end{macrocode} +% \begin{markdown} +% %#### Strike-Through % % The \luamdef{extensions.strike_through} function implements the Pandoc @@ -23456,14 +24012,14 @@ M.extensions.fancy_lists = function() * ListBlock local TightListItem = function(starter) - return -parsers.HorizontalRule + return -parsers.ThematicBreak * (Cs(starter / "" * parsers.tickbox^-1 * ListBlock * NestedList^-1) / self.parser_functions.parse_blocks_nested) * -(parsers.blanklines * parsers.indent) end local LooseListItem = function(starter) - return -parsers.HorizontalRule + return -parsers.ThematicBreak * Cs( starter / "" * parsers.tickbox^-1 * ListBlock * Cc("\n") * (NestedList + ListContinuationBlock^0) * (parsers.blanklines / "\n\n") @@ -23550,7 +24106,7 @@ end % % The \luamref{new} function returns a conversion function that takes a % markdown string and turns it into a plain \TeX{} output. See Section -% <#luaconversion>. +% <#sec:luaconversion>. % % \end{markdown} % \begin{macrocode} @@ -23611,6 +24167,11 @@ function M.new(options) table.insert(extensions, pipe_tables_extension) end + if options.rawAttribute then + local raw_attribute_extension = M.extensions.raw_attribute() + table.insert(extensions, raw_attribute_extension) + end + if options.strikeThrough then local strike_through_extension = M.extensions.strike_through() table.insert(extensions, strike_through_extension) @@ -23626,10 +24187,20 @@ function M.new(options) table.insert(extensions, superscript_extension) end - if options.footnotes or options.inlineFootnotes then - local footnotes_extension = M.extensions.footnotes( - options.footnotes, options.inlineFootnotes) - table.insert(extensions, footnotes_extension) +% \end{macrocode} +% \begin{markdown} +% +% The footnotes and inlineFootnotes option has been deprecated and will be +% removed in Markdown 3.0.0. +% +% \end{markdown} +% \begin{macrocode} + if options.footnotes or options.inlineFootnotes or + options.notes or options.inlineNotes then + local notes_extension = M.extensions.notes( + options.footnotes or options.notes, + options.inlineFootnotes or options.inlineNotes) + table.insert(extensions, notes_extension) end if options.citations then @@ -23724,7 +24295,7 @@ function M.new(options) % % Finally, cast the user-defined syntax extension to the internal format % of user extensions used by the Markdown package (see Section -% <#luabuiltinextensions>.) +% <#sec:luabuiltinextensions>.) % % \end{markdown} % \begin{macrocode} @@ -23930,8 +24501,8 @@ end \def\markdownRendererHeadingFourPrototype#1{#1}% \def\markdownRendererHeadingFivePrototype#1{#1}% \def\markdownRendererHeadingSixPrototype#1{#1}% -\def\markdownRendererHorizontalRulePrototype{}% -\def\markdownRendererFootnotePrototype#1{#1}% +\def\markdownRendererThematicBreakPrototype{}% +\def\markdownRendererNotePrototype#1{#1}% \def\markdownRendererCitePrototype#1{}% \def\markdownRendererTextCitePrototype#1{}% \def\markdownRendererTickedBoxPrototype{[X]}% @@ -23944,6 +24515,33 @@ end % \par % \begin{markdown} % +%#### Raw Attribute Renderer Prototypes +% +% In the raw block and inline raw span renderer prototypes, execute the content +% with TeX when the raw attribute is `tex`, display the content as markdown when +% the raw attribute is `md`, and ignore the content otherwise. +% +% \end{markdown} +% \begin{macrocode} +\ExplSyntaxOn +\cs_gset:Npn + \markdownRendererInputRawInlinePrototype#1#2 + { + \str_case:nn + { #2 } + { + { tex } { \markdownEscape{#1} } + { md } { \markdownInput{#1} } + } + } +\cs_gset_eq:NN + \markdownRendererInputRawBlockPrototype + \markdownRendererInputRawInlinePrototype +\ExplSyntaxOff +% \end{macrocode} +% \par +% \begin{markdown} +% %#### YAML Metadata Renderer Prototypes {#expl3yamlmetadataimplementation} % % To keep track of the current type of structure we inhabit when we are @@ -24867,6 +25465,22 @@ end }% |endgroup % \end{macrocode} +% \par +% \begin{markdown} +% The \mref{markdownEscape} macro resets the category codes of the percent sign +% and the hash sign back to comment and parameter, respectively, before using +% the `\input` built-in of \TeX{} to execute a \TeX{} document in the middle of +% a markdown document fragment. +% \end{markdown} +% \begin{macrocode} +\gdef\markdownEscape#1{% + \catcode`\%=14\relax + \catcode`\#=6\relax + \input #1\relax + \catcode`\%=12\relax + \catcode`\#=12\relax +}% +% \end{macrocode} % \iffalse %</tex> %<*latex> @@ -24983,13 +25597,13 @@ end % \begin{macrocode} \newcommand\markdownLaTeXThemeName{} \seq_new:N \g_@@_latex_themes_seq -\seq_put_right:NV +\seq_gput_right:NV \g_@@_latex_themes_seq \markdownLaTeXThemeName \newcommand\markdownLaTeXThemeLoad[2]{ \def\@tempa{% \def\markdownLaTeXThemeName{#2} - \seq_put_right:NV + \seq_gput_right:NV \g_@@_latex_themes_seq \markdownLaTeXThemeName \RequirePackage{#1} @@ -25266,11 +25880,20 @@ end { markdown/latex-options/renderers } { #1 } }, - rendererPrototypes .code:n = { - \keys_set:nn - { markdown/latex-options/renderer-prototypes } - { #1 } - }, + } +\@@_with_various_cases:nn + { rendererPrototypes } + { + \keys_define:nn + { markdown/latex-options } + { + #1 .code:n = { + \keys_set:nn + { markdown/latex-options/renderer-prototypes } + { ##1 } + }, + } + } % \end{macrocode} % \begin{markdown} % @@ -25279,7 +25902,11 @@ end % % \end{markdown} % \begin{macrocode} +\keys_define:nn + { markdown/latex-options } + { code .code:n = { #1 }, + } % \end{macrocode} % \begin{markdown} % @@ -25289,11 +25916,36 @@ end % % \end{markdown} % \begin{macrocode} - jekyllDataRenderers .code:n = { - \keys_set:nn - { markdown/latex-options/jekyll-data-renderers } - { #1 } - }, +\@@_with_various_cases:nn + { jekyllDataRenderers } + { + \keys_define:nn + { markdown/latex-options } + { + #1 .code:n = { + \tl_set:Nn + \l_tmpa_tl + { ##1 } +% \end{macrocode} +% \begin{markdown} +% +% To ensure that keys containing forward slashes get passed correctly, we +% replace all forward slashes in the nput with backslash tokens with category +% code letter and then undo the replacement. This means that if any unbraced +% backslash tokens with category code letter exist in the input, they will be +% replaced with forward slashes. However, this should be extremely rare. +% +% \end{markdown} +% \begin{macrocode} + \tl_replace_all:NnV + \l_tmpa_tl + { / } + \c_backslash_str + \keys_set:nV + { markdown/latex-options/jekyll-data-renderers } + \l_tmpa_tl + }, + } } \keys_define:nn { markdown/latex-options/jekyll-data-renderers } @@ -25302,6 +25954,10 @@ end \tl_set_eq:NN \l_tmpa_tl \l_keys_key_str + \tl_replace_all:NVn + \l_tmpa_tl + \c_backslash_str + { / } \tl_put_right:Nn \l_tmpa_tl { @@ -25315,6 +25971,12 @@ end \cs_generate_variant:Nn \keys_define:nn { nV } +\cs_generate_variant:Nn + \tl_replace_all:Nnn + { NVn } +\cs_generate_variant:Nn + \tl_replace_all:Nnn + { NnV } \ExplSyntaxOff % \end{macrocode} % \par @@ -25483,7 +26145,7 @@ end dlEndTight = {\markdownRendererDlEnd}}} } \ExplSyntaxOff -\RequirePackage{amsmath,ifthen} +\RequirePackage{amsmath} % \end{macrocode} % \par % \begin{markdown} @@ -25540,29 +26202,33 @@ end \else \texttt{#1}% \fi + }}} +\ExplSyntaxOn +\markdownSetup{ + rendererPrototypes = { + contentBlock = { + \str_case:nnF + { #1 } + { + { csv } + { + \begin{table} + \begin{center} + \csvautotabular{#3} + \end{center} + \tl_if_empty:nF + { #4 } + { \caption{#4} } + \end{table} + } + { tex } { \markdownEscape{#3} } + } + { \markdownInput{#3} } + }, }, - contentBlock = {% - \ifthenelse{\equal{#1}{csv}}{% - \begin{table}% - \begin{center}% - \csvautotabular{#3}% - \end{center} - \ifx\empty#4\empty\else - \caption{#4}% - \fi - \end{table}% - }{% - \ifthenelse{\equal{#1}{tex}}{% - \catcode`\%=14\relax - \catcode`\#=6\relax - \input #3\relax - \catcode`\%=12\relax - \catcode`\#=12\relax - }{% - \markdownInput{#3}% - }% - }% - }, +} +\ExplSyntaxOff +\markdownSetup{rendererPrototypes={ image = {% \begin{figure}% \begin{center}% @@ -25653,8 +26319,8 @@ end \catcode`\#=12\relax }% \fi}, - horizontalRule = {\noindent\rule[0.5ex]{\linewidth}{1pt}}, - footnote = {\footnote{#1}}}} + thematicBreak = {\noindent\rule[0.5ex]{\linewidth}{1pt}}, + note = {\footnote{#1}}}} % \end{macrocode} % \par % \begin{markdown} @@ -26177,7 +26843,6 @@ end \addto@hook\markdownLaTeXTable{#1\\}% \expandafter\@gobble \fi\markdownLaTeXRenderTableCell} -\fi % \end{macrocode} % \par % \begin{markdown} @@ -26257,6 +26922,35 @@ end % \par % \begin{markdown} % +%#### Raw Attribute Renderer Prototypes +% +% In the raw block and inline raw span renderer prototypes, execute the content +% with TeX when the raw attribute is `tex` or `latex`, display the content as +% markdown when the raw attribute is `md`, and ignore the content otherwise. +% +% \end{markdown} +% \begin{macrocode} +\ExplSyntaxOn +\cs_gset:Npn + \markdownRendererInputRawInlinePrototype#1#2 + { + \str_case:nn + { #2 } + { + { tex } { \markdownEscape{#1} } + { latex } { \markdownEscape{#1} } + { md } { \markdownInput{#1} } + } + } +\cs_gset_eq:NN + \markdownRendererInputRawBlockPrototype + \markdownRendererInputRawInlinePrototype +\ExplSyntaxOff +\fi % Closes `\markdownIfOption{Plain}{\iffalse}{iftrue}` +% \end{macrocode} +% \par +% \begin{markdown} +% %### Miscellanea % When buffering user input, we should disable the bytes with the high bit set, % since these are made active by the \pkg{inputenc} package. We will do this by @@ -26504,9 +27198,9 @@ end \def\markdownRendererHeadingFourPrototype#1{\subsubsection{#1}}% \def\markdownRendererHeadingFivePrototype#1{\subsubsubsection{#1}}% \def\markdownRendererHeadingSixPrototype#1{\subsubsubsubsection{#1}}% -\def\markdownRendererHorizontalRulePrototype{% +\def\markdownRendererThematicBreakPrototype{% \blackrule[height=1pt, width=\hsize]}% -\def\markdownRendererFootnotePrototype#1{\footnote{#1}}% +\def\markdownRendererNotePrototype#1{\footnote{#1}}% \def\markdownRendererTickedBoxPrototype{$\boxtimes$} \def\markdownRendererHalfTickedBoxPrototype{$\boxdot$} \def\markdownRendererUntickedBoxPrototype{$\square$} @@ -26587,6 +27281,34 @@ end \ifnum\markdownConTeXtColumnCounter<\markdownConTeXtColumnTotal\relax\else \expandafter\gobbleoneargument \fi\markdownConTeXtRenderTableCell} +% \end{macrocode} +% \par +% \begin{markdown} +% +%#### Raw Attribute Renderer Prototypes +% +% In the raw block and inline raw span renderer prototypes, execute the content +% with TeX when the raw attribute is `tex` or `context`, display the content as +% markdown when the raw attribute is `md`, and ignore the content otherwise. +% +% \end{markdown} +% \begin{macrocode} +\ExplSyntaxOn +\cs_gset:Npn + \markdownRendererInputRawInlinePrototype#1#2 + { + \str_case:nn + { #2 } + { + { tex } { \markdownEscape{#1} } + { context } { \markdownEscape{#1} } + { md } { \markdownInput{#1} } + } + } +\cs_gset_eq:NN + \markdownRendererInputRawBlockPrototype + \markdownRendererInputRawInlinePrototype +\ExplSyntaxOff \stopmodule\protect % \end{macrocode} % \iffalse diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html index edd58f157d..8f66e86c6e 100644 --- a/macros/generic/markdown/markdown.html +++ b/macros/generic/markdown/markdown.html @@ -84,7 +84,7 @@ <header id="title-block-header"> <h1 class="title">Markdown Package User Manual</h1> <p class="author">Vít Novotný</p> -<p class="date">2.17.1-0-g8ca83f5 2022-10-03</p> +<p class="date">2.18.0-0-gd8ae860 2022-10-30</p> </header> <nav id="TOC" role="doc-toc"> <ul> @@ -2554,7 +2554,7 @@ class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <div class="sourceCode" id="cb169"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb169-1"><a href="#cb169-1" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> strike_through <span class="op">=</span> <span class="op">{</span></span> <span id="cb169-2"><a href="#cb169-2" aria-hidden="true" tabindex="-1"></a> api_version <span class="op">=</span> <span class="dv">2</span><span class="op">,</span></span> -<span id="cb169-3"><a href="#cb169-3" aria-hidden="true" tabindex="-1"></a> grammar_version <span class="op">=</span> <span class="dv">1</span><span class="op">,</span></span> +<span id="cb169-3"><a href="#cb169-3" aria-hidden="true" tabindex="-1"></a> grammar_version <span class="op">=</span> <span class="dv">2</span><span class="op">,</span></span> <span id="cb169-4"><a href="#cb169-4" aria-hidden="true" tabindex="-1"></a> finalize_grammar <span class="op">=</span> <span class="kw">function</span><span class="op">(</span>reader<span class="op">)</span></span> <span id="cb169-5"><a href="#cb169-5" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> nonspacechar <span class="op">=</span> lpeg<span class="op">.</span>P<span class="op">(</span><span class="dv">1</span><span class="op">)</span> <span class="op">-</span> lpeg<span class="op">.</span>S<span class="op">(</span><span class="st">"</span><span class="sc">\t</span><span class="st"> "</span><span class="op">)</span></span> <span id="cb169-6"><a href="#cb169-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> doubleslashes <span class="op">=</span> lpeg<span class="op">.</span>P<span class="op">(</span><span class="st">"//"</span><span class="op">)</span></span> @@ -2603,7 +2603,7 @@ class="sourceCode json"><code class="sourceCode json"><span id="cb172-1"><a href <span id="cb172-2"><a href="#cb172-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"Block"</span><span class="fu">:</span> <span class="ot">[</span></span> <span id="cb172-3"><a href="#cb172-3" aria-hidden="true" tabindex="-1"></a> <span class="st">"Blockquote"</span><span class="ot">,</span></span> <span id="cb172-4"><a href="#cb172-4" aria-hidden="true" tabindex="-1"></a> <span class="st">"Verbatim"</span><span class="ot">,</span></span> -<span id="cb172-5"><a href="#cb172-5" aria-hidden="true" tabindex="-1"></a> <span class="st">"HorizontalRule"</span><span class="ot">,</span></span> +<span id="cb172-5"><a href="#cb172-5" aria-hidden="true" tabindex="-1"></a> <span class="st">"ThematicBreak"</span><span class="ot">,</span></span> <span id="cb172-6"><a href="#cb172-6" aria-hidden="true" tabindex="-1"></a> <span class="st">"BulletList"</span><span class="ot">,</span></span> <span id="cb172-7"><a href="#cb172-7" aria-hidden="true" tabindex="-1"></a> <span class="st">"OrderedList"</span><span class="ot">,</span></span> <span id="cb172-8"><a href="#cb172-8" aria-hidden="true" tabindex="-1"></a> <span class="st">"Heading"</span><span class="ot">,</span></span> @@ -2844,7 +2844,7 @@ class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <div class="sourceCode" id="cb186"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb186-1"><a href="#cb186-1" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> strike_through <span class="op">=</span> <span class="op">{</span></span> <span id="cb186-2"><a href="#cb186-2" aria-hidden="true" tabindex="-1"></a> api_version <span class="op">=</span> <span class="dv">2</span><span class="op">,</span></span> -<span id="cb186-3"><a href="#cb186-3" aria-hidden="true" tabindex="-1"></a> grammar_version <span class="op">=</span> <span class="dv">1</span><span class="op">,</span></span> +<span id="cb186-3"><a href="#cb186-3" aria-hidden="true" tabindex="-1"></a> grammar_version <span class="op">=</span> <span class="dv">2</span><span class="op">,</span></span> <span id="cb186-4"><a href="#cb186-4" aria-hidden="true" tabindex="-1"></a> finalize_grammar <span class="op">=</span> <span class="kw">function</span><span class="op">(</span>reader<span class="op">)</span></span> <span id="cb186-5"><a href="#cb186-5" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> nonspacechar <span class="op">=</span> lpeg<span class="op">.</span>P<span class="op">(</span><span class="dv">1</span><span class="op">)</span> <span class="op">-</span> lpeg<span class="op">.</span>S<span class="op">(</span><span class="st">"</span><span class="sc">\t</span><span class="st"> "</span><span class="op">)</span></span> <span id="cb186-6"><a href="#cb186-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> doubleslashes <span class="op">=</span> lpeg<span class="op">.</span>P<span class="op">(</span><span class="st">"//"</span><span class="op">)</span></span> @@ -3332,30 +3332,30 @@ contents of the frozen cache using the the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p> -<h4 data-number="2.2.1.21" id="option-footnotes"><span +<h4 data-number="2.2.1.21" id="option-notes"><span class="header-section-number">2.2.1.21</span> Option -<code>footnotes</code></h4> +<code>notes</code></h4> <dl> -<dt><code>footnotes</code> (default value: <code>false</code>)</dt> +<dt><code>notes</code> (default value: <code>false</code>)</dt> <dd> <dl> <dt>true</dt> <dd> -<p>Enable the Pandoc footnote syntax extension:</p> +<p>Enable the Pandoc note syntax extension:</p> <div class="sourceCode" id="cb220"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb220-1"><a href="#cb220-1" aria-hidden="true" tabindex="-1"></a>Here is a footnote reference,<span class="ot">[^1]</span> and another.<span class="ot">[^longnote]</span></span> +class="sourceCode md"><code class="sourceCode markdown"><span id="cb220-1"><a href="#cb220-1" aria-hidden="true" tabindex="-1"></a>Here is a note reference,<span class="ot">[^1]</span> and another.<span class="ot">[^longnote]</span></span> <span id="cb220-2"><a href="#cb220-2" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb220-3"><a href="#cb220-3" aria-hidden="true" tabindex="-1"></a><span class="ot">[^1]: </span>Here is the footnote.</span> +<span id="cb220-3"><a href="#cb220-3" aria-hidden="true" tabindex="-1"></a><span class="ot">[^1]: </span>Here is the note.</span> <span id="cb220-4"><a href="#cb220-4" aria-hidden="true" tabindex="-1"></a></span> <span id="cb220-5"><a href="#cb220-5" aria-hidden="true" tabindex="-1"></a><span class="ot">[^longnote]: </span>Here's one with multiple blocks.</span> <span id="cb220-6"><a href="#cb220-6" aria-hidden="true" tabindex="-1"></a></span> <span id="cb220-7"><a href="#cb220-7" aria-hidden="true" tabindex="-1"></a><span class="in"> Subsequent paragraphs are indented to show that they</span></span> -<span id="cb220-8"><a href="#cb220-8" aria-hidden="true" tabindex="-1"></a>belong to the previous footnote.</span> +<span id="cb220-8"><a href="#cb220-8" aria-hidden="true" tabindex="-1"></a>belong to the previous note.</span> <span id="cb220-9"><a href="#cb220-9" aria-hidden="true" tabindex="-1"></a></span> <span id="cb220-10"><a href="#cb220-10" aria-hidden="true" tabindex="-1"></a><span class="in"> { some.code }</span></span> <span id="cb220-11"><a href="#cb220-11" aria-hidden="true" tabindex="-1"></a></span> <span id="cb220-12"><a href="#cb220-12" aria-hidden="true" tabindex="-1"></a><span class="in"> The whole paragraph can be indented, or just the</span></span> -<span id="cb220-13"><a href="#cb220-13" aria-hidden="true" tabindex="-1"></a><span class="in"> first line. In this way, multi-paragraph footnotes</span></span> +<span id="cb220-13"><a href="#cb220-13" aria-hidden="true" tabindex="-1"></a><span class="in"> first line. In this way, multi-paragraph notes</span></span> <span id="cb220-14"><a href="#cb220-14" aria-hidden="true" tabindex="-1"></a><span class="in"> work like multi-paragraph list items.</span></span> <span id="cb220-15"><a href="#cb220-15" aria-hidden="true" tabindex="-1"></a></span> <span id="cb220-16"><a href="#cb220-16" aria-hidden="true" tabindex="-1"></a>This paragraph won't be part of the note, because it</span> @@ -3367,7 +3367,7 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb220-1"><a hr <dl> <dt>false</dt> <dd> -<p>Disable the Pandoc footnote syntax extension.</p> +<p>Disable the Pandoc note syntax extension.</p> </dd> </dl> </dd> @@ -3378,22 +3378,22 @@ class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <code>document.tex</code> with the following content:</p> <div class="sourceCode" id="cb221"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb221-1"><a href="#cb221-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb221-2"><a href="#cb221-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</span> +<span id="cb221-2"><a href="#cb221-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[notes]{<span class="ex">markdown</span>}</span> <span id="cb221-3"><a href="#cb221-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> <span id="cb221-4"><a href="#cb221-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb221-5"><a href="#cb221-5" aria-hidden="true" tabindex="-1"></a>Here is a footnote reference,[^1] and another.[^longnote]</span> +<span id="cb221-5"><a href="#cb221-5" aria-hidden="true" tabindex="-1"></a>Here is a note reference,[^1] and another.[^longnote]</span> <span id="cb221-6"><a href="#cb221-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb221-7"><a href="#cb221-7" aria-hidden="true" tabindex="-1"></a>[^1]: Here is the footnote.</span> +<span id="cb221-7"><a href="#cb221-7" aria-hidden="true" tabindex="-1"></a>[^1]: Here is the note.</span> <span id="cb221-8"><a href="#cb221-8" aria-hidden="true" tabindex="-1"></a></span> <span id="cb221-9"><a href="#cb221-9" aria-hidden="true" tabindex="-1"></a>[^longnote]: Here's one with multiple blocks.</span> <span id="cb221-10"><a href="#cb221-10" aria-hidden="true" tabindex="-1"></a></span> <span id="cb221-11"><a href="#cb221-11" aria-hidden="true" tabindex="-1"></a> Subsequent paragraphs are indented to show that they</span> -<span id="cb221-12"><a href="#cb221-12" aria-hidden="true" tabindex="-1"></a>belong to the previous footnote.</span> +<span id="cb221-12"><a href="#cb221-12" aria-hidden="true" tabindex="-1"></a>belong to the previous note.</span> <span id="cb221-13"><a href="#cb221-13" aria-hidden="true" tabindex="-1"></a></span> <span id="cb221-14"><a href="#cb221-14" aria-hidden="true" tabindex="-1"></a> { some.code }</span> <span id="cb221-15"><a href="#cb221-15" aria-hidden="true" tabindex="-1"></a></span> <span id="cb221-16"><a href="#cb221-16" aria-hidden="true" tabindex="-1"></a> The whole paragraph can be indented, or just the</span> -<span id="cb221-17"><a href="#cb221-17" aria-hidden="true" tabindex="-1"></a> first line. In this way, multi-paragraph footnotes</span> +<span id="cb221-17"><a href="#cb221-17" aria-hidden="true" tabindex="-1"></a> first line. In this way, multi-paragraph notes</span> <span id="cb221-18"><a href="#cb221-18" aria-hidden="true" tabindex="-1"></a> work like multi-paragraph list items.</span> <span id="cb221-19"><a href="#cb221-19" aria-hidden="true" tabindex="-1"></a></span> <span id="cb221-20"><a href="#cb221-20" aria-hidden="true" tabindex="-1"></a>This paragraph won't be part of the note, because it</span> @@ -3406,7 +3406,7 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb222-1"><a href=" <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>Here is a footnote reference,<a href="#fn1" class="footnote-ref" +<p>Here is a note reference,<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> and another.<a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a></p> @@ -3419,22 +3419,22 @@ class="tex">T<sub>e</sub>X</span>t Example</h5> <code>document.tex</code> with the following content:</p> <div class="sourceCode" id="cb224"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb224-1"><a href="#cb224-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb224-2"><a href="#cb224-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[footnotes = yes]</span> +<span id="cb224-2"><a href="#cb224-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[notes = yes]</span> <span id="cb224-3"><a href="#cb224-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> <span id="cb224-4"><a href="#cb224-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb224-5"><a href="#cb224-5" aria-hidden="true" tabindex="-1"></a>Here is a footnote reference,[^1] and another.[^longnote]</span> +<span id="cb224-5"><a href="#cb224-5" aria-hidden="true" tabindex="-1"></a>Here is a note reference,[^1] and another.[^longnote]</span> <span id="cb224-6"><a href="#cb224-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb224-7"><a href="#cb224-7" aria-hidden="true" tabindex="-1"></a>[^1]: Here is the footnote.</span> +<span id="cb224-7"><a href="#cb224-7" aria-hidden="true" tabindex="-1"></a>[^1]: Here is the note.</span> <span id="cb224-8"><a href="#cb224-8" aria-hidden="true" tabindex="-1"></a></span> <span id="cb224-9"><a href="#cb224-9" aria-hidden="true" tabindex="-1"></a>[^longnote]: Here's one with multiple blocks.</span> <span id="cb224-10"><a href="#cb224-10" aria-hidden="true" tabindex="-1"></a></span> <span id="cb224-11"><a href="#cb224-11" aria-hidden="true" tabindex="-1"></a> Subsequent paragraphs are indented to show that they</span> -<span id="cb224-12"><a href="#cb224-12" aria-hidden="true" tabindex="-1"></a>belong to the previous footnote.</span> +<span id="cb224-12"><a href="#cb224-12" aria-hidden="true" tabindex="-1"></a>belong to the previous note.</span> <span id="cb224-13"><a href="#cb224-13" aria-hidden="true" tabindex="-1"></a></span> <span id="cb224-14"><a href="#cb224-14" aria-hidden="true" tabindex="-1"></a> { some.code }</span> <span id="cb224-15"><a href="#cb224-15" aria-hidden="true" tabindex="-1"></a></span> <span id="cb224-16"><a href="#cb224-16" aria-hidden="true" tabindex="-1"></a> The whole paragraph can be indented, or just the</span> -<span id="cb224-17"><a href="#cb224-17" aria-hidden="true" tabindex="-1"></a> first line. In this way, multi-paragraph footnotes</span> +<span id="cb224-17"><a href="#cb224-17" aria-hidden="true" tabindex="-1"></a> first line. In this way, multi-paragraph notes</span> <span id="cb224-18"><a href="#cb224-18" aria-hidden="true" tabindex="-1"></a> work like multi-paragraph list items.</span> <span id="cb224-19"><a href="#cb224-19" aria-hidden="true" tabindex="-1"></a></span> <span id="cb224-20"><a href="#cb224-20" aria-hidden="true" tabindex="-1"></a>This paragraph won't be part of the note, because it</span> @@ -3447,7 +3447,7 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb225-1"><a href=" <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>Here is a footnote reference,<a href="#fn3" class="footnote-ref" +<p>Here is a note reference,<a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a> and another.<a href="#fn4" class="footnote-ref" id="fnref4" role="doc-noteref"><sup>4</sup></a></p> @@ -4093,17 +4093,16 @@ contain the following text:</p> <p>$\sqrt {-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> -<h4 data-number="2.2.1.28" id="option-inlinefootnotes"><span +<h4 data-number="2.2.1.28" id="option-inlinenotes"><span class="header-section-number">2.2.1.28</span> Option -<code>inlineFootnotes</code></h4> +<code>inlineNotes</code></h4> <dl> -<dt><code>inlineFootnotes</code> (default value: -<code>false</code>)</dt> +<dt><code>inlineNotes</code> (default value: <code>false</code>)</dt> <dd> <dl> <dt>true</dt> <dd> -<p>Enable the Pandoc inline footnote syntax extension:</p> +<p>Enable the Pandoc inline note syntax extension:</p> <div class="sourceCode" id="cb259"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb259-1"><a href="#cb259-1" aria-hidden="true" tabindex="-1"></a>Here is an inline note.^[Inlines notes are easier to</span> <span id="cb259-2"><a href="#cb259-2" aria-hidden="true" tabindex="-1"></a>write, since you don't have to pick an identifier and</span> @@ -4115,7 +4114,7 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb259-1"><a hr <dl> <dt>false</dt> <dd> -<p>Disable the Pandoc inline footnote syntax extension.</p> +<p>Disable the Pandoc inline note syntax extension.</p> </dd> </dl> </dd> @@ -4126,7 +4125,7 @@ class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <code>document.tex</code> with the following content:</p> <div class="sourceCode" id="cb260"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb260-1"><a href="#cb260-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb260-2"><a href="#cb260-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[inlineFootnotes]{<span class="ex">markdown</span>}</span> +<span id="cb260-2"><a href="#cb260-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[inlineNotes]{<span class="ex">markdown</span>}</span> <span id="cb260-3"><a href="#cb260-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> <span id="cb260-4"><a href="#cb260-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> <span id="cb260-5"><a href="#cb260-5" aria-hidden="true" tabindex="-1"></a>Here is an inline note.^[Inlines notes are easier to</span> @@ -4149,7 +4148,7 @@ class="tex">T<sub>e</sub>X</span>t Example</h5> <code>document.tex</code> with the following content:</p> <div class="sourceCode" id="cb262"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb262-1"><a href="#cb262-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb262-2"><a href="#cb262-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[inlineFootnotes = yes]</span> +<span id="cb262-2"><a href="#cb262-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[inlineNotes = yes]</span> <span id="cb262-3"><a href="#cb262-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> <span id="cb262-4"><a href="#cb262-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> <span id="cb262-5"><a href="#cb262-5" aria-hidden="true" tabindex="-1"></a>Here is an inline note.^[Inlines notes are easier to</span> @@ -4460,8 +4459,74 @@ class="header-section-number">2.2.1.31</span> Option </dl> </dd> </dl> -<h4 data-number="2.2.1.32" id="option-relativereferences"><span +<h4 data-number="2.2.1.32" id="option-rawattribute"><span class="header-section-number">2.2.1.32</span> Option +<code>rawAttribute</code></h4> +<dl> +<dt><code>rawAttribute</code> (default value: <code>false</code>)</dt> +<dd> +<dl> +<dt>true</dt> +<dd> +<p>Enable the Pandoc raw attribute syntax extension:</p> +<div class="sourceCode" id="cb276"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb276-1"><a href="#cb276-1" aria-hidden="true" tabindex="-1"></a><span class="in">`$H_2 O$`</span>{=tex} is a liquid.</span></code></pre></div> +<p>To enable raw blocks, the <strong><code>fencedCode</code></strong> +option must also be enabled:</p> +<div class="sourceCode" id="cb277"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb277-1"><a href="#cb277-1" aria-hidden="true" tabindex="-1"></a><span class="an">Here is a mathematical formula:</span></span> +<span id="cb277-2"><a href="#cb277-2" aria-hidden="true" tabindex="-1"></a><span class="in">``` {=tex}</span></span> +<span id="cb277-3"><a href="#cb277-3" aria-hidden="true" tabindex="-1"></a><span class="in">\[distance[i] =</span></span> +<span id="cb277-4"><a href="#cb277-4" aria-hidden="true" tabindex="-1"></a><span class="in"> \begin{dcases}</span></span> +<span id="cb277-5"><a href="#cb277-5" aria-hidden="true" tabindex="-1"></a><span class="in"> a & b \\</span></span> +<span id="cb277-6"><a href="#cb277-6" aria-hidden="true" tabindex="-1"></a><span class="in"> c & d</span></span> +<span id="cb277-7"><a href="#cb277-7" aria-hidden="true" tabindex="-1"></a><span class="in"> \end{dcases}</span></span> +<span id="cb277-8"><a href="#cb277-8" aria-hidden="true" tabindex="-1"></a><span class="in">\]</span></span> +<span id="cb277-9"><a href="#cb277-9" aria-hidden="true" tabindex="-1"></a><span class="in">```</span></span></code></pre></div> +<p>The <strong><code>rawAttribute</code></strong> option is a good +alternative to the <strong><code>hybrid</code></strong> option. Unlike +the <strong><code>hybrid</code></strong> option, which affects the +entire document, the <strong><code>rawAttribute</code></strong> option +allows you to isolate the parts of your documents that use TeX:</p> +</dd> +</dl> +</dd> +<dd> +<dl> +<dt>false</dt> +<dd> +<p>Disable the Pandoc raw attribute syntax extension.</p> +</dd> +</dl> +</dd> +</dl> +<h5 class="unnumbered" id="latex-example-26"><span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb278"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb278-1"><a href="#cb278-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb278-2"><a href="#cb278-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[rawAttribute, fencedCode]{<span class="ex">markdown</span>}</span> +<span id="cb278-3"><a href="#cb278-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">expl3</span>}</span> +<span id="cb278-4"><a href="#cb278-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb278-5"><a href="#cb278-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb278-6"><a href="#cb278-6" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$H_2 O$</span>`{=tex} is a liquid.</span> +<span id="cb278-7"><a href="#cb278-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb278-8"><a href="#cb278-8" aria-hidden="true" tabindex="-1"></a>``` {=html}</span> +<span id="cb278-9"><a href="#cb278-9" aria-hidden="true" tabindex="-1"></a><p>Here is some HTML content that will be ignored.</p></span> +<span id="cb278-10"><a href="#cb278-10" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb278-11"><a href="#cb278-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb278-12"><a href="#cb278-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb279"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb279-1"><a href="#cb279-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>H<sub>2</sub>O is a liquid.</p> +</blockquote> +<h4 data-number="2.2.1.33" id="option-relativereferences"><span +class="header-section-number">2.2.1.33</span> Option <code>relativeReferences</code></h4> <dl> <dt><code>relativeReferences</code> (default value: @@ -4473,14 +4538,14 @@ class="header-section-number">2.2.1.32</span> Option <p>Enable <a href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">relative references</a> in autolinks:</p> -<div class="sourceCode" id="cb276"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb276-1"><a href="#cb276-1" aria-hidden="true" tabindex="-1"></a>I conclude in Section <#conclusion>.</span> -<span id="cb276-2"><a href="#cb276-2" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb276-3"><a href="#cb276-3" aria-hidden="true" tabindex="-1"></a>Conclusion {#conclusion}</span> -<span id="cb276-4"><a href="#cb276-4" aria-hidden="true" tabindex="-1"></a><span class="fu">==========</span></span> -<span id="cb276-5"><a href="#cb276-5" aria-hidden="true" tabindex="-1"></a>In this paper, we have discovered that most</span> -<span id="cb276-6"><a href="#cb276-6" aria-hidden="true" tabindex="-1"></a>grandmas would rather eat dinner with their</span> -<span id="cb276-7"><a href="#cb276-7" aria-hidden="true" tabindex="-1"></a>grandchildren than get eaten. Begone, wolf!</span></code></pre></div> +<div class="sourceCode" id="cb280"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb280-1"><a href="#cb280-1" aria-hidden="true" tabindex="-1"></a>I conclude in Section <#conclusion>.</span> +<span id="cb280-2"><a href="#cb280-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb280-3"><a href="#cb280-3" aria-hidden="true" tabindex="-1"></a>Conclusion {#conclusion}</span> +<span id="cb280-4"><a href="#cb280-4" aria-hidden="true" tabindex="-1"></a><span class="fu">==========</span></span> +<span id="cb280-5"><a href="#cb280-5" aria-hidden="true" tabindex="-1"></a>In this paper, we have discovered that most</span> +<span id="cb280-6"><a href="#cb280-6" aria-hidden="true" tabindex="-1"></a>grandmas would rather eat dinner with their</span> +<span id="cb280-7"><a href="#cb280-7" aria-hidden="true" tabindex="-1"></a>grandchildren than get eaten. Begone, wolf!</span></code></pre></div> </dd> </dl> </dd> @@ -4493,30 +4558,30 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb276-1"><a hr </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-26"><span +<h5 class="unnumbered" id="latex-example-27"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb277"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb277-1"><a href="#cb277-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb277-2"><a href="#cb277-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes, relativeReferences]{<span class="ex">markdown</span>}</span> -<span id="cb277-3"><a href="#cb277-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb277-4"><a href="#cb277-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb277-5"><a href="#cb277-5" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb277-6"><a href="#cb277-6" aria-hidden="true" tabindex="-1"></a>I conclude in Section <#conclusion>.</span> -<span id="cb277-7"><a href="#cb277-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb277-8"><a href="#cb277-8" aria-hidden="true" tabindex="-1"></a>Conclusion {#conclusion}</span> -<span id="cb277-9"><a href="#cb277-9" aria-hidden="true" tabindex="-1"></a>==========</span> -<span id="cb277-10"><a href="#cb277-10" aria-hidden="true" tabindex="-1"></a>In this paper, we have discovered that most</span> -<span id="cb277-11"><a href="#cb277-11" aria-hidden="true" tabindex="-1"></a>grandmas would rather eat dinner with their</span> -<span id="cb277-12"><a href="#cb277-12" aria-hidden="true" tabindex="-1"></a>grandchildren than get eaten. Begone, wolf!</span> -<span id="cb277-13"><a href="#cb277-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb277-14"><a href="#cb277-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb277-15"><a href="#cb277-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb281"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb281-1"><a href="#cb281-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb281-2"><a href="#cb281-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes, relativeReferences]{<span class="ex">markdown</span>}</span> +<span id="cb281-3"><a href="#cb281-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb281-4"><a href="#cb281-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb281-5"><a href="#cb281-5" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb281-6"><a href="#cb281-6" aria-hidden="true" tabindex="-1"></a>I conclude in Section <#conclusion>.</span> +<span id="cb281-7"><a href="#cb281-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb281-8"><a href="#cb281-8" aria-hidden="true" tabindex="-1"></a>Conclusion {#conclusion}</span> +<span id="cb281-9"><a href="#cb281-9" aria-hidden="true" tabindex="-1"></a>==========</span> +<span id="cb281-10"><a href="#cb281-10" aria-hidden="true" tabindex="-1"></a>In this paper, we have discovered that most</span> +<span id="cb281-11"><a href="#cb281-11" aria-hidden="true" tabindex="-1"></a>grandmas would rather eat dinner with their</span> +<span id="cb281-12"><a href="#cb281-12" aria-hidden="true" tabindex="-1"></a>grandchildren than get eaten. Begone, wolf!</span> +<span id="cb281-13"><a href="#cb281-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb281-14"><a href="#cb281-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb281-15"><a href="#cb281-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX twice from the terminal:</p> -<div class="sourceCode" id="cb278"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb278-1"><a href="#cb278-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb278-2"><a href="#cb278-2" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb282"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb282-1"><a href="#cb282-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb282-2"><a href="#cb282-2" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4525,8 +4590,8 @@ contain the following text:</p> <p>In this paper, we have discovered that most grandmas would rather eat dinner with their grandchildren than get eaten. Begone, wolf!</p> </blockquote> -<h4 data-number="2.2.1.33" id="option-shiftheadings"><span -class="header-section-number">2.2.1.33</span> Option +<h4 data-number="2.2.1.34" id="option-shiftheadings"><span +class="header-section-number">2.2.1.34</span> Option <code>shiftHeadings</code></h4> <dl> <dt><code>shiftHeadings</code> (default value: <code>0</code>)</dt> @@ -4542,32 +4607,32 @@ when ⟨<em>shift amount</em>⟩ is positive, and to level 1, when class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p> -<div class="sourceCode" id="cb279"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb279-1"><a href="#cb279-1" aria-hidden="true" tabindex="-1"></a><span class="fu">## A section</span></span></code></pre></div> +<div class="sourceCode" id="cb283"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb283-1"><a href="#cb283-1" aria-hidden="true" tabindex="-1"></a><span class="fu">## A section</span></span></code></pre></div> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb280"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb280-1"><a href="#cb280-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb280-2"><a href="#cb280-2" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb280-3"><a href="#cb280-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span> -<span id="cb280-4"><a href="#cb280-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span> -<span id="cb280-5"><a href="#cb280-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span> -<span id="cb280-6"><a href="#cb280-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span> -<span id="cb280-7"><a href="#cb280-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span> -<span id="cb280-8"><a href="#cb280-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb280-9"><a href="#cb280-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{-1}</span> -<span id="cb280-10"><a href="#cb280-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb280-11"><a href="#cb280-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb280-12"><a href="#cb280-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{0}</span> -<span id="cb280-13"><a href="#cb280-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb280-14"><a href="#cb280-14" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb280-15"><a href="#cb280-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{+1}</span> -<span id="cb280-16"><a href="#cb280-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb280-17"><a href="#cb280-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb280-18"><a href="#cb280-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb284"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb284-1"><a href="#cb284-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb284-2"><a href="#cb284-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb284-3"><a href="#cb284-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span> +<span id="cb284-4"><a href="#cb284-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span> +<span id="cb284-5"><a href="#cb284-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span> +<span id="cb284-6"><a href="#cb284-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span> +<span id="cb284-7"><a href="#cb284-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span> +<span id="cb284-8"><a href="#cb284-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb284-9"><a href="#cb284-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{-1}</span> +<span id="cb284-10"><a href="#cb284-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb284-11"><a href="#cb284-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb284-12"><a href="#cb284-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{0}</span> +<span id="cb284-13"><a href="#cb284-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb284-14"><a href="#cb284-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb284-15"><a href="#cb284-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{+1}</span> +<span id="cb284-16"><a href="#cb284-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb284-17"><a href="#cb284-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb284-18"><a href="#cb284-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb281"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb281-1"><a href="#cb281-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb285"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb285-1"><a href="#cb285-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4575,24 +4640,24 @@ contain the following text:</p> <h2 id="a-section-1">A section</h2> <h3 id="a-section-2">A section</h3> </blockquote> -<h5 class="unnumbered" id="latex-example-27"><span +<h5 class="unnumbered" id="latex-example-28"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb282"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb282-1"><a href="#cb282-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb282-2"><a href="#cb282-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb282-3"><a href="#cb282-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{example.md}</span> -<span id="cb282-4"><a href="#cb282-4" aria-hidden="true" tabindex="-1"></a>## A section</span> -<span id="cb282-5"><a href="#cb282-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> -<span id="cb282-6"><a href="#cb282-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb282-7"><a href="#cb282-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[shiftHeadings=-1]{example.md}</span> -<span id="cb282-8"><a href="#cb282-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb282-9"><a href="#cb282-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[shiftHeadings=+1]{example.md}</span> -<span id="cb282-10"><a href="#cb282-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb286"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb286-1"><a href="#cb286-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb286-2"><a href="#cb286-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb286-3"><a href="#cb286-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{example.md}</span> +<span id="cb286-4"><a href="#cb286-4" aria-hidden="true" tabindex="-1"></a>## A section</span> +<span id="cb286-5"><a href="#cb286-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> +<span id="cb286-6"><a href="#cb286-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb286-7"><a href="#cb286-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[shiftHeadings=-1]{example.md}</span> +<span id="cb286-8"><a href="#cb286-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb286-9"><a href="#cb286-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[shiftHeadings=+1]{example.md}</span> +<span id="cb286-10"><a href="#cb286-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb283"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb283-1"><a href="#cb283-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb287"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb287-1"><a href="#cb287-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4604,22 +4669,22 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p> -<div class="sourceCode" id="cb284"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb284-1"><a href="#cb284-1" aria-hidden="true" tabindex="-1"></a><span class="fu">## A section</span></span></code></pre></div> +<div class="sourceCode" id="cb288"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb288-1"><a href="#cb288-1" aria-hidden="true" tabindex="-1"></a><span class="fu">## A section</span></span></code></pre></div> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb285"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb285-1"><a href="#cb285-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb285-2"><a href="#cb285-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb285-3"><a href="#cb285-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb285-4"><a href="#cb285-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = -1]{example.md}</span> -<span id="cb285-5"><a href="#cb285-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = 0]{example.md}</span> -<span id="cb285-6"><a href="#cb285-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = +1]{example.md}</span> -<span id="cb285-7"><a href="#cb285-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb285-8"><a href="#cb285-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb289"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb289-1"><a href="#cb289-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb289-2"><a href="#cb289-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb289-3"><a href="#cb289-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb289-4"><a href="#cb289-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = -1]{example.md}</span> +<span id="cb289-5"><a href="#cb289-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = 0]{example.md}</span> +<span id="cb289-6"><a href="#cb289-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = +1]{example.md}</span> +<span id="cb289-7"><a href="#cb289-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb289-8"><a href="#cb289-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb286"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb286-1"><a href="#cb286-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb290"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb290-1"><a href="#cb290-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4627,8 +4692,8 @@ contain the following text:</p> <h2 id="a-section-7">A section</h2> <h3 id="a-section-8">A section</h3> </blockquote> -<h4 data-number="2.2.1.34" id="slice"><span -class="header-section-number">2.2.1.34</span> Option +<h4 data-number="2.2.1.35" id="slice"><span +class="header-section-number">2.2.1.35</span> Option <code>slice</code></h4> <dl> <dt><code>slice</code> (default value: <code>^ $</code>)</dt> @@ -4662,43 +4727,43 @@ i.e. the entire section with the <abbr>HTML</abbr> attribute class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>hamlet.md</code> with the following content:</p> -<div class="sourceCode" id="cb287"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb287-1"><a href="#cb287-1" aria-hidden="true" tabindex="-1"></a><span class="fu"># The Tragedy of Hamlet</span></span> -<span id="cb287-2"><a href="#cb287-2" aria-hidden="true" tabindex="-1"></a>Shakespeare's longest play.</span> -<span id="cb287-3"><a href="#cb287-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb287-4"><a href="#cb287-4" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act III {#act-3}</span></span> -<span id="cb287-5"><a href="#cb287-5" aria-hidden="true" tabindex="-1"></a>Hamlet kills Polonius.</span> -<span id="cb287-6"><a href="#cb287-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb287-7"><a href="#cb287-7" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act V {#act-5}</span></span> -<span id="cb287-8"><a href="#cb287-8" aria-hidden="true" tabindex="-1"></a>Hamlet dies.</span> -<span id="cb287-9"><a href="#cb287-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb287-10"><a href="#cb287-10" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act I {#act-1}</span></span> -<span id="cb287-11"><a href="#cb287-11" aria-hidden="true" tabindex="-1"></a>Hamlet talks to ghost.</span></code></pre></div> +<div class="sourceCode" id="cb291"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb291-1"><a href="#cb291-1" aria-hidden="true" tabindex="-1"></a><span class="fu"># The Tragedy of Hamlet</span></span> +<span id="cb291-2"><a href="#cb291-2" aria-hidden="true" tabindex="-1"></a>Shakespeare's longest play.</span> +<span id="cb291-3"><a href="#cb291-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb291-4"><a href="#cb291-4" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act III {#act-3}</span></span> +<span id="cb291-5"><a href="#cb291-5" aria-hidden="true" tabindex="-1"></a>Hamlet kills Polonius.</span> +<span id="cb291-6"><a href="#cb291-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb291-7"><a href="#cb291-7" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act V {#act-5}</span></span> +<span id="cb291-8"><a href="#cb291-8" aria-hidden="true" tabindex="-1"></a>Hamlet dies.</span> +<span id="cb291-9"><a href="#cb291-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb291-10"><a href="#cb291-10" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act I {#act-1}</span></span> +<span id="cb291-11"><a href="#cb291-11" aria-hidden="true" tabindex="-1"></a>Hamlet talks to ghost.</span></code></pre></div> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb288"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb288-1"><a href="#cb288-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb288-2"><a href="#cb288-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHeaderAttributes</span>{true}</span> -<span id="cb288-3"><a href="#cb288-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb288-4"><a href="#cb288-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span> -<span id="cb288-5"><a href="#cb288-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span> -<span id="cb288-6"><a href="#cb288-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span> -<span id="cb288-7"><a href="#cb288-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span> -<span id="cb288-8"><a href="#cb288-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span> -<span id="cb288-9"><a href="#cb288-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb288-10"><a href="#cb288-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSlice</span>{^ ^act-3}</span> -<span id="cb288-11"><a href="#cb288-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> -<span id="cb288-12"><a href="#cb288-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb288-13"><a href="#cb288-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSlice</span>{act-1}</span> -<span id="cb288-14"><a href="#cb288-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> -<span id="cb288-15"><a href="#cb288-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb288-16"><a href="#cb288-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSlice</span>{act-3 act-5}</span> -<span id="cb288-17"><a href="#cb288-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> -<span id="cb288-18"><a href="#cb288-18" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb288-19"><a href="#cb288-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb292"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb292-1"><a href="#cb292-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb292-2"><a href="#cb292-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHeaderAttributes</span>{true}</span> +<span id="cb292-3"><a href="#cb292-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb292-4"><a href="#cb292-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span> +<span id="cb292-5"><a href="#cb292-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span> +<span id="cb292-6"><a href="#cb292-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span> +<span id="cb292-7"><a href="#cb292-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span> +<span id="cb292-8"><a href="#cb292-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span> +<span id="cb292-9"><a href="#cb292-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb292-10"><a href="#cb292-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSlice</span>{^ ^act-3}</span> +<span id="cb292-11"><a href="#cb292-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> +<span id="cb292-12"><a href="#cb292-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb292-13"><a href="#cb292-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSlice</span>{act-1}</span> +<span id="cb292-14"><a href="#cb292-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> +<span id="cb292-15"><a href="#cb292-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb292-16"><a href="#cb292-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSlice</span>{act-3 act-5}</span> +<span id="cb292-17"><a href="#cb292-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> +<span id="cb292-18"><a href="#cb292-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb292-19"><a href="#cb292-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb289"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb289-1"><a href="#cb289-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb293"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb293-1"><a href="#cb293-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4711,34 +4776,34 @@ contain the following text:</p> <h2 id="act-v">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-28"><span +<h5 class="unnumbered" id="latex-example-29"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb290"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb290-1"><a href="#cb290-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb290-2"><a href="#cb290-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span> -<span id="cb290-3"><a href="#cb290-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{hamlet.md}</span> -<span id="cb290-4"><a href="#cb290-4" aria-hidden="true" tabindex="-1"></a># The Tragedy of Hamlet</span> -<span id="cb290-5"><a href="#cb290-5" aria-hidden="true" tabindex="-1"></a>Shakespeare's longest play.</span> -<span id="cb290-6"><a href="#cb290-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb290-7"><a href="#cb290-7" aria-hidden="true" tabindex="-1"></a>## Act III {#act-3}</span> -<span id="cb290-8"><a href="#cb290-8" aria-hidden="true" tabindex="-1"></a>Hamlet kills Polonius.</span> -<span id="cb290-9"><a href="#cb290-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb290-10"><a href="#cb290-10" aria-hidden="true" tabindex="-1"></a>## Act V {#act-5}</span> -<span id="cb290-11"><a href="#cb290-11" aria-hidden="true" tabindex="-1"></a>Hamlet dies.</span> -<span id="cb290-12"><a href="#cb290-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb290-13"><a href="#cb290-13" aria-hidden="true" tabindex="-1"></a>## Act I {#act-1}</span> -<span id="cb290-14"><a href="#cb290-14" aria-hidden="true" tabindex="-1"></a>Hamlet talks to ghost.</span> -<span id="cb290-15"><a href="#cb290-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> -<span id="cb290-16"><a href="#cb290-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb290-17"><a href="#cb290-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</span> -<span id="cb290-18"><a href="#cb290-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</span> -<span id="cb290-19"><a href="#cb290-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</span> -<span id="cb290-20"><a href="#cb290-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb294"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb294-1"><a href="#cb294-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb294-2"><a href="#cb294-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span> +<span id="cb294-3"><a href="#cb294-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{hamlet.md}</span> +<span id="cb294-4"><a href="#cb294-4" aria-hidden="true" tabindex="-1"></a># The Tragedy of Hamlet</span> +<span id="cb294-5"><a href="#cb294-5" aria-hidden="true" tabindex="-1"></a>Shakespeare's longest play.</span> +<span id="cb294-6"><a href="#cb294-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb294-7"><a href="#cb294-7" aria-hidden="true" tabindex="-1"></a>## Act III {#act-3}</span> +<span id="cb294-8"><a href="#cb294-8" aria-hidden="true" tabindex="-1"></a>Hamlet kills Polonius.</span> +<span id="cb294-9"><a href="#cb294-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb294-10"><a href="#cb294-10" aria-hidden="true" tabindex="-1"></a>## Act V {#act-5}</span> +<span id="cb294-11"><a href="#cb294-11" aria-hidden="true" tabindex="-1"></a>Hamlet dies.</span> +<span id="cb294-12"><a href="#cb294-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb294-13"><a href="#cb294-13" aria-hidden="true" tabindex="-1"></a>## Act I {#act-1}</span> +<span id="cb294-14"><a href="#cb294-14" aria-hidden="true" tabindex="-1"></a>Hamlet talks to ghost.</span> +<span id="cb294-15"><a href="#cb294-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> +<span id="cb294-16"><a href="#cb294-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb294-17"><a href="#cb294-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</span> +<span id="cb294-18"><a href="#cb294-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</span> +<span id="cb294-19"><a href="#cb294-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</span> +<span id="cb294-20"><a href="#cb294-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb291"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb291-1"><a href="#cb291-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb295"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb295-1"><a href="#cb295-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4755,33 +4820,33 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>hamlet.md</code> with the following content:</p> -<div class="sourceCode" id="cb292"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb292-1"><a href="#cb292-1" aria-hidden="true" tabindex="-1"></a><span class="fu"># The Tragedy of Hamlet</span></span> -<span id="cb292-2"><a href="#cb292-2" aria-hidden="true" tabindex="-1"></a>Shakespeare's longest play.</span> -<span id="cb292-3"><a href="#cb292-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb292-4"><a href="#cb292-4" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act III {#act-3}</span></span> -<span id="cb292-5"><a href="#cb292-5" aria-hidden="true" tabindex="-1"></a>Hamlet kills Polonius.</span> -<span id="cb292-6"><a href="#cb292-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb292-7"><a href="#cb292-7" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act V {#act-5}</span></span> -<span id="cb292-8"><a href="#cb292-8" aria-hidden="true" tabindex="-1"></a>Hamlet dies.</span> -<span id="cb292-9"><a href="#cb292-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb292-10"><a href="#cb292-10" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act I {#act-1}</span></span> -<span id="cb292-11"><a href="#cb292-11" aria-hidden="true" tabindex="-1"></a>Hamlet talks to ghost.</span></code></pre></div> +<div class="sourceCode" id="cb296"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb296-1"><a href="#cb296-1" aria-hidden="true" tabindex="-1"></a><span class="fu"># The Tragedy of Hamlet</span></span> +<span id="cb296-2"><a href="#cb296-2" aria-hidden="true" tabindex="-1"></a>Shakespeare's longest play.</span> +<span id="cb296-3"><a href="#cb296-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb296-4"><a href="#cb296-4" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act III {#act-3}</span></span> +<span id="cb296-5"><a href="#cb296-5" aria-hidden="true" tabindex="-1"></a>Hamlet kills Polonius.</span> +<span id="cb296-6"><a href="#cb296-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb296-7"><a href="#cb296-7" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act V {#act-5}</span></span> +<span id="cb296-8"><a href="#cb296-8" aria-hidden="true" tabindex="-1"></a>Hamlet dies.</span> +<span id="cb296-9"><a href="#cb296-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb296-10"><a href="#cb296-10" aria-hidden="true" tabindex="-1"></a><span class="fu">## Act I {#act-1}</span></span> +<span id="cb296-11"><a href="#cb296-11" aria-hidden="true" tabindex="-1"></a>Hamlet talks to ghost.</span></code></pre></div> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb293"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb293-1"><a href="#cb293-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb293-2"><a href="#cb293-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[headerAttributes = yes]</span> -<span id="cb293-3"><a href="#cb293-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb293-4"><a href="#cb293-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb293-5"><a href="#cb293-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[slice = ^ ^act-3]{example.md}</span> -<span id="cb293-6"><a href="#cb293-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[slice = act-1]{example.md}</span> -<span id="cb293-7"><a href="#cb293-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[slice = act-3 act-5]{example.md}</span> -<span id="cb293-8"><a href="#cb293-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb293-9"><a href="#cb293-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb297"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb297-1"><a href="#cb297-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb297-2"><a href="#cb297-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[headerAttributes = yes]</span> +<span id="cb297-3"><a href="#cb297-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb297-4"><a href="#cb297-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb297-5"><a href="#cb297-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[slice = ^ ^act-3]{example.md}</span> +<span id="cb297-6"><a href="#cb297-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[slice = act-1]{example.md}</span> +<span id="cb297-7"><a href="#cb297-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\inputmarkdown</span>[slice = act-3 act-5]{example.md}</span> +<span id="cb297-8"><a href="#cb297-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb297-9"><a href="#cb297-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb294"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb294-1"><a href="#cb294-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb298"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb298-1"><a href="#cb298-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4794,8 +4859,8 @@ contain the following text:</p> <h2 id="act-v-2">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h4 data-number="2.2.1.35" id="option-smartellipses"><span -class="header-section-number">2.2.1.35</span> Option +<h4 data-number="2.2.1.36" id="option-smartellipses"><span +class="header-section-number">2.2.1.36</span> Option <code>smartEllipses</code></h4> <dl> <dt><code>smartEllipses</code> (default value: <code>false</code>)</dt> @@ -4822,25 +4887,25 @@ class="tex">T<sub>e</sub>X</span> macro.</p> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb295"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb295-1"><a href="#cb295-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb295-2"><a href="#cb295-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb295-3"><a href="#cb295-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb295-4"><a href="#cb295-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> -<span id="cb295-5"><a href="#cb295-5" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> -<span id="cb295-6"><a href="#cb295-6" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new()</span> -<span id="cb295-7"><a href="#cb295-7" aria-hidden="true" tabindex="-1"></a> local input = "These are just three regular dots ..."</span> -<span id="cb295-8"><a href="#cb295-8" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> -<span id="cb295-9"><a href="#cb295-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> -<span id="cb295-10"><a href="#cb295-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> -<span id="cb295-11"><a href="#cb295-11" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> -<span id="cb295-12"><a href="#cb295-12" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new({smartEllipses = true})</span> -<span id="cb295-13"><a href="#cb295-13" aria-hidden="true" tabindex="-1"></a> local input = "... and this is a victorian ellipsis."</span> -<span id="cb295-14"><a href="#cb295-14" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> -<span id="cb295-15"><a href="#cb295-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb299"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb299-1"><a href="#cb299-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb299-2"><a href="#cb299-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> +<span id="cb299-3"><a href="#cb299-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb299-4"><a href="#cb299-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb299-5"><a href="#cb299-5" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb299-6"><a href="#cb299-6" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new()</span> +<span id="cb299-7"><a href="#cb299-7" aria-hidden="true" tabindex="-1"></a> local input = "These are just three regular dots ..."</span> +<span id="cb299-8"><a href="#cb299-8" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb299-9"><a href="#cb299-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> +<span id="cb299-10"><a href="#cb299-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb299-11"><a href="#cb299-11" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb299-12"><a href="#cb299-12" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new({smartEllipses = true})</span> +<span id="cb299-13"><a href="#cb299-13" aria-hidden="true" tabindex="-1"></a> local input = "... and this is a victorian ellipsis."</span> +<span id="cb299-14"><a href="#cb299-14" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb299-15"><a href="#cb299-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Then, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb296"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb296-1"><a href="#cb296-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb300"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb300-1"><a href="#cb300-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4850,23 +4915,23 @@ contain the following text:</p> <h5 class="unnumbered" id="lua-cli-example-9">Lua CLI Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb297"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb297-1"><a href="#cb297-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb297-2"><a href="#cb297-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb297-3"><a href="#cb297-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb297-4"><a href="#cb297-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb297-5"><a href="#cb297-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> -<span id="cb297-6"><a href="#cb297-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb297-7"><a href="#cb297-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb301"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb301-1"><a href="#cb301-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb301-2"><a href="#cb301-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> +<span id="cb301-3"><a href="#cb301-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb301-4"><a href="#cb301-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb301-5"><a href="#cb301-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> +<span id="cb301-6"><a href="#cb301-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb301-7"><a href="#cb301-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p> -<div class="sourceCode" id="cb298"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb298-1"><a href="#cb298-1" aria-hidden="true" tabindex="-1"></a>Are these just three regular dots, a victorian ellipsis, or ... ?</span></code></pre></div> +<div class="sourceCode" id="cb302"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb302-1"><a href="#cb302-1" aria-hidden="true" tabindex="-1"></a>Are these just three regular dots, a victorian ellipsis, or ... ?</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb299"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb299-1"><a href="#cb299-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> content.md optionfalse.tex</span> -<span id="cb299-2"><a href="#cb299-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true <span class="at">--</span> content.md optiontrue.tex</span> -<span id="cb299-3"><a href="#cb299-3" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb303"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb303-1"><a href="#cb303-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> content.md optionfalse.tex</span> +<span id="cb303-2"><a href="#cb303-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb303-3"><a href="#cb303-3" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems @@ -4887,55 +4952,55 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb300"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb300-1"><a href="#cb300-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb300-2"><a href="#cb300-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb300-3"><a href="#cb300-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb300-4"><a href="#cb300-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb300-5"><a href="#cb300-5" aria-hidden="true" tabindex="-1"></a>These are just three regular dots ...</span> -<span id="cb300-6"><a href="#cb300-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb300-7"><a href="#cb300-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb300-8"><a href="#cb300-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span> -<span id="cb300-9"><a href="#cb300-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb300-10"><a href="#cb300-10" aria-hidden="true" tabindex="-1"></a>... and this is a victorian ellipsis.</span> -<span id="cb300-11"><a href="#cb300-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb300-12"><a href="#cb300-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb300-13"><a href="#cb300-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb304"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb304-1"><a href="#cb304-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb304-2"><a href="#cb304-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> +<span id="cb304-3"><a href="#cb304-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb304-4"><a href="#cb304-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb304-5"><a href="#cb304-5" aria-hidden="true" tabindex="-1"></a>These are just three regular dots ...</span> +<span id="cb304-6"><a href="#cb304-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb304-7"><a href="#cb304-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb304-8"><a href="#cb304-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span> +<span id="cb304-9"><a href="#cb304-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb304-10"><a href="#cb304-10" aria-hidden="true" tabindex="-1"></a>... and this is a victorian ellipsis.</span> +<span id="cb304-11"><a href="#cb304-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb304-12"><a href="#cb304-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb304-13"><a href="#cb304-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb301"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb301-1"><a href="#cb301-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb305"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb305-1"><a href="#cb305-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>These are just three regular dots …</p> <p>. . . and this is a victorian ellipsis.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-29"><span +<h5 class="unnumbered" id="latex-example-30"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb302"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb302-1"><a href="#cb302-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb302-2"><a href="#cb302-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb302-3"><a href="#cb302-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb302-4"><a href="#cb302-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb302-5"><a href="#cb302-5" aria-hidden="true" tabindex="-1"></a> ellipsis = {. . .}</span> -<span id="cb302-6"><a href="#cb302-6" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb302-7"><a href="#cb302-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb302-8"><a href="#cb302-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb302-9"><a href="#cb302-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb302-10"><a href="#cb302-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb302-11"><a href="#cb302-11" aria-hidden="true" tabindex="-1"></a>These are just three regular dots ...</span> -<span id="cb302-12"><a href="#cb302-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb302-13"><a href="#cb302-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb302-14"><a href="#cb302-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</span> -<span id="cb302-15"><a href="#cb302-15" aria-hidden="true" tabindex="-1"></a>... and this is a victorian ellipsis.</span> -<span id="cb302-16"><a href="#cb302-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb302-17"><a href="#cb302-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb302-18"><a href="#cb302-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb306"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb306-1"><a href="#cb306-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb306-2"><a href="#cb306-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb306-3"><a href="#cb306-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb306-4"><a href="#cb306-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb306-5"><a href="#cb306-5" aria-hidden="true" tabindex="-1"></a> ellipsis = {. . .}</span> +<span id="cb306-6"><a href="#cb306-6" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb306-7"><a href="#cb306-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb306-8"><a href="#cb306-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb306-9"><a href="#cb306-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb306-10"><a href="#cb306-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb306-11"><a href="#cb306-11" aria-hidden="true" tabindex="-1"></a>These are just three regular dots ...</span> +<span id="cb306-12"><a href="#cb306-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb306-13"><a href="#cb306-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb306-14"><a href="#cb306-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</span> +<span id="cb306-15"><a href="#cb306-15" aria-hidden="true" tabindex="-1"></a>... and this is a victorian ellipsis.</span> +<span id="cb306-16"><a href="#cb306-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb306-17"><a href="#cb306-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb306-18"><a href="#cb306-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb303"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb303-1"><a href="#cb303-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb307"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb307-1"><a href="#cb307-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -4946,32 +5011,32 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb304"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb304-1"><a href="#cb304-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb304-2"><a href="#cb304-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb304-3"><a href="#cb304-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb304-4"><a href="#cb304-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb304-5"><a href="#cb304-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb304-6"><a href="#cb304-6" aria-hidden="true" tabindex="-1"></a>These are just three regular dots ...</span> -<span id="cb304-7"><a href="#cb304-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb304-8"><a href="#cb304-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb304-9"><a href="#cb304-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[smartEllipses = yes]</span> -<span id="cb304-10"><a href="#cb304-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb304-11"><a href="#cb304-11" aria-hidden="true" tabindex="-1"></a>... and this is a victorian ellipsis.</span> -<span id="cb304-12"><a href="#cb304-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb304-13"><a href="#cb304-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb304-14"><a href="#cb304-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb308"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb308-1"><a href="#cb308-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb308-2"><a href="#cb308-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> +<span id="cb308-3"><a href="#cb308-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb308-4"><a href="#cb308-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb308-5"><a href="#cb308-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb308-6"><a href="#cb308-6" aria-hidden="true" tabindex="-1"></a>These are just three regular dots ...</span> +<span id="cb308-7"><a href="#cb308-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb308-8"><a href="#cb308-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb308-9"><a href="#cb308-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[smartEllipses = yes]</span> +<span id="cb308-10"><a href="#cb308-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb308-11"><a href="#cb308-11" aria-hidden="true" tabindex="-1"></a>... and this is a victorian ellipsis.</span> +<span id="cb308-12"><a href="#cb308-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb308-13"><a href="#cb308-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb308-14"><a href="#cb308-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb305"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb305-1"><a href="#cb305-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb309"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb309-1"><a href="#cb309-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>These are just three regular dots …</p> <p>. . . and this is a victorian ellipsis.</p> </blockquote> -<h4 data-number="2.2.1.36" id="option-startnumber"><span -class="header-section-number">2.2.1.36</span> Option +<h4 data-number="2.2.1.37" id="option-startnumber"><span +class="header-section-number">2.2.1.37</span> Option <code>startNumber</code></h4> <dl> <dt><code>startNumber</code> (default value: <code>true</code>)</dt> @@ -4997,36 +5062,36 @@ class="tex">T<sub>e</sub>X</span> macro.</p> </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-30"><span +<h5 class="unnumbered" id="latex-example-31"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb306"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb306-1"><a href="#cb306-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb306-2"><a href="#cb306-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb306-3"><a href="#cb306-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb306-4"><a href="#cb306-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb306-5"><a href="#cb306-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb306-6"><a href="#cb306-6" aria-hidden="true" tabindex="-1"></a>The following list respects the numbers specified in the markup:</span> -<span id="cb306-7"><a href="#cb306-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb306-8"><a href="#cb306-8" aria-hidden="true" tabindex="-1"></a>3. third item</span> -<span id="cb306-9"><a href="#cb306-9" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> -<span id="cb306-10"><a href="#cb306-10" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> -<span id="cb306-11"><a href="#cb306-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb306-12"><a href="#cb306-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb306-13"><a href="#cb306-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</span> -<span id="cb306-14"><a href="#cb306-14" aria-hidden="true" tabindex="-1"></a>The following list does not respect the numbers specified in the</span> -<span id="cb306-15"><a href="#cb306-15" aria-hidden="true" tabindex="-1"></a>markup:</span> -<span id="cb306-16"><a href="#cb306-16" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb306-17"><a href="#cb306-17" aria-hidden="true" tabindex="-1"></a>3. third item</span> -<span id="cb306-18"><a href="#cb306-18" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> -<span id="cb306-19"><a href="#cb306-19" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> -<span id="cb306-20"><a href="#cb306-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb306-21"><a href="#cb306-21" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb306-22"><a href="#cb306-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb310"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb310-1"><a href="#cb310-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb310-2"><a href="#cb310-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb310-3"><a href="#cb310-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb310-4"><a href="#cb310-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb310-5"><a href="#cb310-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb310-6"><a href="#cb310-6" aria-hidden="true" tabindex="-1"></a>The following list respects the numbers specified in the markup:</span> +<span id="cb310-7"><a href="#cb310-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb310-8"><a href="#cb310-8" aria-hidden="true" tabindex="-1"></a>3. third item</span> +<span id="cb310-9"><a href="#cb310-9" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> +<span id="cb310-10"><a href="#cb310-10" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> +<span id="cb310-11"><a href="#cb310-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb310-12"><a href="#cb310-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb310-13"><a href="#cb310-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</span> +<span id="cb310-14"><a href="#cb310-14" aria-hidden="true" tabindex="-1"></a>The following list does not respect the numbers specified in the</span> +<span id="cb310-15"><a href="#cb310-15" aria-hidden="true" tabindex="-1"></a>markup:</span> +<span id="cb310-16"><a href="#cb310-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb310-17"><a href="#cb310-17" aria-hidden="true" tabindex="-1"></a>3. third item</span> +<span id="cb310-18"><a href="#cb310-18" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> +<span id="cb310-19"><a href="#cb310-19" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> +<span id="cb310-20"><a href="#cb310-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb310-21"><a href="#cb310-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb310-22"><a href="#cb310-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb307"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb307-1"><a href="#cb307-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb311"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb311-1"><a href="#cb311-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5048,30 +5113,30 @@ markup:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb308"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb308-1"><a href="#cb308-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb308-2"><a href="#cb308-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb308-3"><a href="#cb308-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb308-4"><a href="#cb308-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb308-5"><a href="#cb308-5" aria-hidden="true" tabindex="-1"></a>The following list respects the numbers specified in the markup:</span> -<span id="cb308-6"><a href="#cb308-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb308-7"><a href="#cb308-7" aria-hidden="true" tabindex="-1"></a>3. third item</span> -<span id="cb308-8"><a href="#cb308-8" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> -<span id="cb308-9"><a href="#cb308-9" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> -<span id="cb308-10"><a href="#cb308-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb308-11"><a href="#cb308-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb308-12"><a href="#cb308-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[startNumber = no]</span> -<span id="cb308-13"><a href="#cb308-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb308-14"><a href="#cb308-14" aria-hidden="true" tabindex="-1"></a>The following list respects the numbers specified in the markup:</span> -<span id="cb308-15"><a href="#cb308-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb308-16"><a href="#cb308-16" aria-hidden="true" tabindex="-1"></a>3. third item</span> -<span id="cb308-17"><a href="#cb308-17" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> -<span id="cb308-18"><a href="#cb308-18" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> -<span id="cb308-19"><a href="#cb308-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb308-20"><a href="#cb308-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb312"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb312-1"><a href="#cb312-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb312-2"><a href="#cb312-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb312-3"><a href="#cb312-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb312-4"><a href="#cb312-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb312-5"><a href="#cb312-5" aria-hidden="true" tabindex="-1"></a>The following list respects the numbers specified in the markup:</span> +<span id="cb312-6"><a href="#cb312-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb312-7"><a href="#cb312-7" aria-hidden="true" tabindex="-1"></a>3. third item</span> +<span id="cb312-8"><a href="#cb312-8" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> +<span id="cb312-9"><a href="#cb312-9" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> +<span id="cb312-10"><a href="#cb312-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb312-11"><a href="#cb312-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb312-12"><a href="#cb312-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[startNumber = no]</span> +<span id="cb312-13"><a href="#cb312-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb312-14"><a href="#cb312-14" aria-hidden="true" tabindex="-1"></a>The following list respects the numbers specified in the markup:</span> +<span id="cb312-15"><a href="#cb312-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb312-16"><a href="#cb312-16" aria-hidden="true" tabindex="-1"></a>3. third item</span> +<span id="cb312-17"><a href="#cb312-17" aria-hidden="true" tabindex="-1"></a>4. fourth item</span> +<span id="cb312-18"><a href="#cb312-18" aria-hidden="true" tabindex="-1"></a>5. fifth item</span> +<span id="cb312-19"><a href="#cb312-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb312-20"><a href="#cb312-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb309"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb309-1"><a href="#cb309-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb313"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb313-1"><a href="#cb313-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5089,8 +5154,8 @@ markup:</p> <li>fifth item</li> </ol> </blockquote> -<h4 data-number="2.2.1.37" id="option-strikethrough"><span -class="header-section-number">2.2.1.37</span> Option +<h4 data-number="2.2.1.38" id="option-strikethrough"><span +class="header-section-number">2.2.1.38</span> Option <code>strikeThrough</code></h4> <dl> <dt><code>strikeThrough</code> (default value: <code>false</code>)</dt> @@ -5099,8 +5164,8 @@ class="header-section-number">2.2.1.37</span> Option <dt>true</dt> <dd> <p>Enable the Pandoc strike-through syntax extension:</p> -<div class="sourceCode" id="cb310"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb310-1"><a href="#cb310-1" aria-hidden="true" tabindex="-1"></a>This ~~is deleted text.~~</span></code></pre></div> +<div class="sourceCode" id="cb314"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb314-1"><a href="#cb314-1" aria-hidden="true" tabindex="-1"></a>This ~~is deleted text.~~</span></code></pre></div> </dd> </dl> </dd> @@ -5117,44 +5182,44 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb310-1"><a hr class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb311"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb311-1"><a href="#cb311-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb311-2"><a href="#cb311-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStrikeThrough</span>{true}</span> -<span id="cb311-3"><a href="#cb311-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> soulutf8.sty</span> -<span id="cb311-4"><a href="#cb311-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\st</span>{#1}}</span> -<span id="cb311-5"><a href="#cb311-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb311-6"><a href="#cb311-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb311-7"><a href="#cb311-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb311-8"><a href="#cb311-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb315"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb315-1"><a href="#cb315-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb315-2"><a href="#cb315-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStrikeThrough</span>{true}</span> +<span id="cb315-3"><a href="#cb315-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> soulutf8.sty</span> +<span id="cb315-4"><a href="#cb315-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\st</span>{#1}}</span> +<span id="cb315-5"><a href="#cb315-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb315-6"><a href="#cb315-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> +<span id="cb315-7"><a href="#cb315-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb315-8"><a href="#cb315-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb312"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb312-1"><a href="#cb312-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb316"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb316-1"><a href="#cb316-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <del>a lunar roving vehicle</del> strike-through text.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-31"><span +<h5 class="unnumbered" id="latex-example-32"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb313"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb313-1"><a href="#cb313-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb313-2"><a href="#cb313-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[strikeThrough]{<span class="ex">markdown</span>}</span> -<span id="cb313-3"><a href="#cb313-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">soulutf8</span>}</span> -<span id="cb313-4"><a href="#cb313-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb313-5"><a href="#cb313-5" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb313-6"><a href="#cb313-6" aria-hidden="true" tabindex="-1"></a> strikeThrough = {<span class="fu">\st</span>{#1}},</span> -<span id="cb313-7"><a href="#cb313-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb313-8"><a href="#cb313-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb313-9"><a href="#cb313-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb313-10"><a href="#cb313-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb313-11"><a href="#cb313-11" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb313-12"><a href="#cb313-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb313-13"><a href="#cb313-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb317"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb317-1"><a href="#cb317-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb317-2"><a href="#cb317-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[strikeThrough]{<span class="ex">markdown</span>}</span> +<span id="cb317-3"><a href="#cb317-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">soulutf8</span>}</span> +<span id="cb317-4"><a href="#cb317-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb317-5"><a href="#cb317-5" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb317-6"><a href="#cb317-6" aria-hidden="true" tabindex="-1"></a> strikeThrough = {<span class="fu">\st</span>{#1}},</span> +<span id="cb317-7"><a href="#cb317-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb317-8"><a href="#cb317-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb317-9"><a href="#cb317-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb317-10"><a href="#cb317-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb317-11"><a href="#cb317-11" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> +<span id="cb317-12"><a href="#cb317-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb317-13"><a href="#cb317-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb314"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb314-1"><a href="#cb314-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb318"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb318-1"><a href="#cb318-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5164,25 +5229,25 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb315"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb315-1"><a href="#cb315-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb315-2"><a href="#cb315-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[strikeThrough = yes]</span> -<span id="cb315-3"><a href="#cb315-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\overstrikes</span>{#1}}</span> -<span id="cb315-4"><a href="#cb315-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb315-5"><a href="#cb315-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb315-6"><a href="#cb315-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb315-7"><a href="#cb315-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb315-8"><a href="#cb315-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb319"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb319-1"><a href="#cb319-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb319-2"><a href="#cb319-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[strikeThrough = yes]</span> +<span id="cb319-3"><a href="#cb319-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\overstrikes</span>{#1}}</span> +<span id="cb319-4"><a href="#cb319-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb319-5"><a href="#cb319-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb319-6"><a href="#cb319-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> +<span id="cb319-7"><a href="#cb319-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb319-8"><a href="#cb319-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb316"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb316-1"><a href="#cb316-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb320"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb320-1"><a href="#cb320-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <del>a lunar roving vehicle</del> strike-through text.</p> </blockquote> -<h4 data-number="2.2.1.38" id="option-stripindent"><span -class="header-section-number">2.2.1.38</span> Option +<h4 data-number="2.2.1.39" id="option-stripindent"><span +class="header-section-number">2.2.1.39</span> Option <code>stripIndent</code></h4> <dl> <dt><code>stripIndent</code> (default value: <code>false</code>)</dt> @@ -5193,14 +5258,14 @@ class="header-section-number">2.2.1.38</span> Option <p>Strip the minimal indentation of non-blank lines from all lines in a markdown document. Requires that the <strong><code>preserveTabs</code></strong> Lua option is disabled:</p> -<div class="sourceCode" id="cb317"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb317-1"><a href="#cb317-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb317-2"><a href="#cb317-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span> -<span id="cb317-3"><a href="#cb317-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb317-4"><a href="#cb317-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb317-5"><a href="#cb317-5" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> -<span id="cb317-6"><a href="#cb317-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb317-7"><a href="#cb317-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb321"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb321-1"><a href="#cb321-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb321-2"><a href="#cb321-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span> +<span id="cb321-3"><a href="#cb321-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb321-4"><a href="#cb321-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb321-5"><a href="#cb321-5" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> +<span id="cb321-6"><a href="#cb321-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb321-7"><a href="#cb321-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> </dd> </dl> </dd> @@ -5218,54 +5283,54 @@ document.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb318"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb318-1"><a href="#cb318-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb318-2"><a href="#cb318-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStripIndent</span>{true}</span> -<span id="cb318-3"><a href="#cb318-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb318-4"><a href="#cb318-4" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> -<span id="cb318-5"><a href="#cb318-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb318-6"><a href="#cb318-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb322"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb322-1"><a href="#cb322-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb322-2"><a href="#cb322-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStripIndent</span>{true}</span> +<span id="cb322-3"><a href="#cb322-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb322-4"><a href="#cb322-4" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> +<span id="cb322-5"><a href="#cb322-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb322-6"><a href="#cb322-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb319"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb319-1"><a href="#cb319-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb323"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb323-1"><a href="#cb323-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> -<h5 class="unnumbered" id="latex-example-32"><span +<h5 class="unnumbered" id="latex-example-33"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb320"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb320-1"><a href="#cb320-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb320-2"><a href="#cb320-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span> -<span id="cb320-3"><a href="#cb320-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb320-4"><a href="#cb320-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb320-5"><a href="#cb320-5" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> -<span id="cb320-6"><a href="#cb320-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb320-7"><a href="#cb320-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb324"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb324-1"><a href="#cb324-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb324-2"><a href="#cb324-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span> +<span id="cb324-3"><a href="#cb324-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb324-4"><a href="#cb324-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb324-5"><a href="#cb324-5" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> +<span id="cb324-6"><a href="#cb324-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb324-7"><a href="#cb324-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb321"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb321-1"><a href="#cb321-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb325"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb325-1"><a href="#cb325-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> <h5 class="unnumbered" id="context-example-25">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb322"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb322-1"><a href="#cb322-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb322-2"><a href="#cb322-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[stripIndent = yes]</span> -<span id="cb322-3"><a href="#cb322-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb322-4"><a href="#cb322-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\startmarkdown</span></span> -<span id="cb322-5"><a href="#cb322-5" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> -<span id="cb322-6"><a href="#cb322-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\stopmarkdown</span></span> -<span id="cb322-7"><a href="#cb322-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb326"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb326-1"><a href="#cb326-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb326-2"><a href="#cb326-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[stripIndent = yes]</span> +<span id="cb326-3"><a href="#cb326-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb326-4"><a href="#cb326-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\startmarkdown</span></span> +<span id="cb326-5"><a href="#cb326-5" aria-hidden="true" tabindex="-1"></a> Hello *world*!</span> +<span id="cb326-6"><a href="#cb326-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\stopmarkdown</span></span> +<span id="cb326-7"><a href="#cb326-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb323"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb323-1"><a href="#cb323-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb327"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb327-1"><a href="#cb327-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> -<h4 data-number="2.2.1.39" id="option-subscripts"><span -class="header-section-number">2.2.1.39</span> Option +<h4 data-number="2.2.1.40" id="option-subscripts"><span +class="header-section-number">2.2.1.40</span> Option <code>subscripts</code></h4> <dl> <dt><code>subscripts</code> (default value: <code>false</code>)</dt> @@ -5274,8 +5339,8 @@ class="header-section-number">2.2.1.39</span> Option <dt>true</dt> <dd> <p>Enable the Pandoc subscript syntax extension:</p> -<div class="sourceCode" id="cb324"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb324-1"><a href="#cb324-1" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span></code></pre></div> +<div class="sourceCode" id="cb328"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb328-1"><a href="#cb328-1" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span></code></pre></div> </dd> </dl> </dd> @@ -5288,21 +5353,21 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb324-1"><a hr </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-33"><span +<h5 class="unnumbered" id="latex-example-34"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb325"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb325-1"><a href="#cb325-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb325-2"><a href="#cb325-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[subscripts]{<span class="ex">markdown</span>}</span> -<span id="cb325-3"><a href="#cb325-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb325-4"><a href="#cb325-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb325-5"><a href="#cb325-5" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> -<span id="cb325-6"><a href="#cb325-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb325-7"><a href="#cb325-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb329"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb329-1"><a href="#cb329-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb329-2"><a href="#cb329-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[subscripts]{<span class="ex">markdown</span>}</span> +<span id="cb329-3"><a href="#cb329-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb329-4"><a href="#cb329-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb329-5"><a href="#cb329-5" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> +<span id="cb329-6"><a href="#cb329-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb329-7"><a href="#cb329-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb326"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb326-1"><a href="#cb326-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb330"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb330-1"><a href="#cb330-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5312,24 +5377,24 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb327"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb327-1"><a href="#cb327-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb327-2"><a href="#cb327-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[subscripts = yes]</span> -<span id="cb327-3"><a href="#cb327-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb327-4"><a href="#cb327-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb327-5"><a href="#cb327-5" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> -<span id="cb327-6"><a href="#cb327-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb327-7"><a href="#cb327-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb331"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb331-1"><a href="#cb331-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb331-2"><a href="#cb331-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[subscripts = yes]</span> +<span id="cb331-3"><a href="#cb331-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb331-4"><a href="#cb331-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb331-5"><a href="#cb331-5" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> +<span id="cb331-6"><a href="#cb331-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb331-7"><a href="#cb331-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb328"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb328-1"><a href="#cb328-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb332"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb332-1"><a href="#cb332-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>H<sub>2</sub>O is a liquid.</p> </blockquote> -<h4 data-number="2.2.1.40" id="option-superscripts"><span -class="header-section-number">2.2.1.40</span> Option +<h4 data-number="2.2.1.41" id="option-superscripts"><span +class="header-section-number">2.2.1.41</span> Option <code>superscripts</code></h4> <dl> <dt><code>superscripts</code> (default value: <code>false</code>)</dt> @@ -5338,8 +5403,8 @@ class="header-section-number">2.2.1.40</span> Option <dt>true</dt> <dd> <p>Enable the Pandoc superscript syntax extension:</p> -<div class="sourceCode" id="cb329"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb329-1"><a href="#cb329-1" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span></code></pre></div> +<div class="sourceCode" id="cb333"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb333-1"><a href="#cb333-1" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span></code></pre></div> </dd> </dl> </dd> @@ -5352,21 +5417,21 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb329-1"><a hr </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-34"><span +<h5 class="unnumbered" id="latex-example-35"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb330"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb330-1"><a href="#cb330-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb330-2"><a href="#cb330-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[superscripts]{<span class="ex">markdown</span>}</span> -<span id="cb330-3"><a href="#cb330-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb330-4"><a href="#cb330-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb330-5"><a href="#cb330-5" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> -<span id="cb330-6"><a href="#cb330-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb330-7"><a href="#cb330-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb334"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb334-1"><a href="#cb334-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb334-2"><a href="#cb334-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[superscripts]{<span class="ex">markdown</span>}</span> +<span id="cb334-3"><a href="#cb334-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb334-4"><a href="#cb334-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb334-5"><a href="#cb334-5" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> +<span id="cb334-6"><a href="#cb334-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb334-7"><a href="#cb334-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb331"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb331-1"><a href="#cb331-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb335"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb335-1"><a href="#cb335-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5376,24 +5441,24 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb332"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb332-1"><a href="#cb332-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb332-2"><a href="#cb332-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[superscripts = yes]</span> -<span id="cb332-3"><a href="#cb332-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb332-4"><a href="#cb332-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb332-5"><a href="#cb332-5" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> -<span id="cb332-6"><a href="#cb332-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb332-7"><a href="#cb332-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb336"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb336-1"><a href="#cb336-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb336-2"><a href="#cb336-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[superscripts = yes]</span> +<span id="cb336-3"><a href="#cb336-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb336-4"><a href="#cb336-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb336-5"><a href="#cb336-5" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> +<span id="cb336-6"><a href="#cb336-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb336-7"><a href="#cb336-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb333"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb333-1"><a href="#cb333-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb337"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb337-1"><a href="#cb337-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>2<sup>10</sup> is 1024.</p> </blockquote> -<h4 data-number="2.2.1.41" id="option-tablecaptions"><span -class="header-section-number">2.2.1.41</span> Option +<h4 data-number="2.2.1.42" id="option-tablecaptions"><span +class="header-section-number">2.2.1.42</span> Option <code>tableCaptions</code></h4> <dl> <dt><code>tableCaptions</code> (default value: <code>false</code>)</dt> @@ -5403,14 +5468,14 @@ class="header-section-number">2.2.1.41</span> Option <dd> <p>Enable the Pandoc <code>table_captions</code> syntax extension for <a href="#pipe-tables">pipe tables</a>.</p> -<div class="sourceCode" id="cb334"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb334-1"><a href="#cb334-1" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> -<span id="cb334-2"><a href="#cb334-2" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> -<span id="cb334-3"><a href="#cb334-3" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb334-4"><a href="#cb334-4" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb334-5"><a href="#cb334-5" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb334-6"><a href="#cb334-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb334-7"><a href="#cb334-7" aria-hidden="true" tabindex="-1"></a> : Demonstration of pipe table syntax.</span></code></pre></div> +<div class="sourceCode" id="cb338"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb338-1"><a href="#cb338-1" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb338-2"><a href="#cb338-2" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb338-3"><a href="#cb338-3" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb338-4"><a href="#cb338-4" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb338-5"><a href="#cb338-5" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> +<span id="cb338-6"><a href="#cb338-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb338-7"><a href="#cb338-7" aria-hidden="true" tabindex="-1"></a> : Demonstration of pipe table syntax.</span></code></pre></div> </dd> </dl> </dd> @@ -5423,27 +5488,27 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb334-1"><a hr </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-35"><span +<h5 class="unnumbered" id="latex-example-36"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb335"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb335-1"><a href="#cb335-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb335-2"><a href="#cb335-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span> -<span id="cb335-3"><a href="#cb335-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb335-4"><a href="#cb335-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb335-5"><a href="#cb335-5" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> -<span id="cb335-6"><a href="#cb335-6" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> -<span id="cb335-7"><a href="#cb335-7" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb335-8"><a href="#cb335-8" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb335-9"><a href="#cb335-9" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb335-10"><a href="#cb335-10" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb335-11"><a href="#cb335-11" aria-hidden="true" tabindex="-1"></a> : Demonstration of pipe table syntax.</span> -<span id="cb335-12"><a href="#cb335-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb335-13"><a href="#cb335-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb339"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb339-1"><a href="#cb339-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb339-2"><a href="#cb339-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span> +<span id="cb339-3"><a href="#cb339-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb339-4"><a href="#cb339-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb339-5"><a href="#cb339-5" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb339-6"><a href="#cb339-6" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb339-7"><a href="#cb339-7" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb339-8"><a href="#cb339-8" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb339-9"><a href="#cb339-9" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> +<span id="cb339-10"><a href="#cb339-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb339-11"><a href="#cb339-11" aria-hidden="true" tabindex="-1"></a>: Demonstration of pipe table syntax.</span> +<span id="cb339-12"><a href="#cb339-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb339-13"><a href="#cb339-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb336"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb336-1"><a href="#cb336-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb340"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb340-1"><a href="#cb340-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5483,27 +5548,27 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb337"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb337-1"><a href="#cb337-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb337-2"><a href="#cb337-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb337-3"><a href="#cb337-3" aria-hidden="true" tabindex="-1"></a> [</span> -<span id="cb337-4"><a href="#cb337-4" aria-hidden="true" tabindex="-1"></a> pipeTables = yes,</span> -<span id="cb337-5"><a href="#cb337-5" aria-hidden="true" tabindex="-1"></a> tableCaptions = yes,</span> -<span id="cb337-6"><a href="#cb337-6" aria-hidden="true" tabindex="-1"></a> ]</span> -<span id="cb337-7"><a href="#cb337-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb337-8"><a href="#cb337-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb337-9"><a href="#cb337-9" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> -<span id="cb337-10"><a href="#cb337-10" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> -<span id="cb337-11"><a href="#cb337-11" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb337-12"><a href="#cb337-12" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb337-13"><a href="#cb337-13" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb337-14"><a href="#cb337-14" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb337-15"><a href="#cb337-15" aria-hidden="true" tabindex="-1"></a> : Demonstration of pipe table syntax.</span> -<span id="cb337-16"><a href="#cb337-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb337-17"><a href="#cb337-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb341"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb341-1"><a href="#cb341-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb341-2"><a href="#cb341-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> +<span id="cb341-3"><a href="#cb341-3" aria-hidden="true" tabindex="-1"></a> [</span> +<span id="cb341-4"><a href="#cb341-4" aria-hidden="true" tabindex="-1"></a> pipeTables = yes,</span> +<span id="cb341-5"><a href="#cb341-5" aria-hidden="true" tabindex="-1"></a> tableCaptions = yes,</span> +<span id="cb341-6"><a href="#cb341-6" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb341-7"><a href="#cb341-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb341-8"><a href="#cb341-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb341-9"><a href="#cb341-9" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb341-10"><a href="#cb341-10" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb341-11"><a href="#cb341-11" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb341-12"><a href="#cb341-12" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb341-13"><a href="#cb341-13" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> +<span id="cb341-14"><a href="#cb341-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb341-15"><a href="#cb341-15" aria-hidden="true" tabindex="-1"></a>: Demonstration of pipe table syntax.</span> +<span id="cb341-16"><a href="#cb341-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb341-17"><a href="#cb341-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb338"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb338-1"><a href="#cb338-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb342"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb342-1"><a href="#cb342-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5539,8 +5604,8 @@ contain the following text:</p> </tbody> </table> </blockquote> -<h4 data-number="2.2.1.42" id="option-tasklists"><span -class="header-section-number">2.2.1.42</span> Option +<h4 data-number="2.2.1.43" id="option-tasklists"><span +class="header-section-number">2.2.1.43</span> Option <code>taskLists</code></h4> <dl> <dt><code>taskLists</code> (default value: <code>false</code>)</dt> @@ -5549,10 +5614,10 @@ class="header-section-number">2.2.1.42</span> Option <dt>true</dt> <dd> <p>Enable the Pandoc <code>task_lists</code> syntax extension.</p> -<div class="sourceCode" id="cb339"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb339-1"><a href="#cb339-1" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span><span class="va">[ ]</span> an unticked task list item</span> -<span id="cb339-2"><a href="#cb339-2" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span><span class="co">[</span><span class="ot">/</span><span class="co">]</span> a half-checked task list item</span> -<span id="cb339-3"><a href="#cb339-3" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span><span class="co">[</span><span class="ot">X</span><span class="co">]</span> a ticked task list item</span></code></pre></div> +<div class="sourceCode" id="cb343"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb343-1"><a href="#cb343-1" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span><span class="va">[ ]</span> an unticked task list item</span> +<span id="cb343-2"><a href="#cb343-2" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span><span class="co">[</span><span class="ot">/</span><span class="co">]</span> a half-checked task list item</span> +<span id="cb343-3"><a href="#cb343-3" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span><span class="co">[</span><span class="ot">X</span><span class="co">]</span> a ticked task list item</span></code></pre></div> </dd> </dl> </dd> @@ -5565,30 +5630,30 @@ class="sourceCode md"><code class="sourceCode markdown"><span id="cb339-1"><a hr </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-36"><span +<h5 class="unnumbered" id="latex-example-37"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb340"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb340-1"><a href="#cb340-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb340-2"><a href="#cb340-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span> -<span id="cb340-3"><a href="#cb340-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb340-4"><a href="#cb340-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb340-5"><a href="#cb340-5" aria-hidden="true" tabindex="-1"></a> untickedBox = No,</span> -<span id="cb340-6"><a href="#cb340-6" aria-hidden="true" tabindex="-1"></a> halfTickedBox = Maybe,</span> -<span id="cb340-7"><a href="#cb340-7" aria-hidden="true" tabindex="-1"></a> tickedBox = Yes,</span> -<span id="cb340-8"><a href="#cb340-8" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb340-9"><a href="#cb340-9" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb340-10"><a href="#cb340-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb340-11"><a href="#cb340-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb340-12"><a href="#cb340-12" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> -<span id="cb340-13"><a href="#cb340-13" aria-hidden="true" tabindex="-1"></a>- [/] I can?</span> -<span id="cb340-14"><a href="#cb340-14" aria-hidden="true" tabindex="-1"></a>- [X] I can!</span> -<span id="cb340-15"><a href="#cb340-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb340-16"><a href="#cb340-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb344"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb344-1"><a href="#cb344-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb344-2"><a href="#cb344-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span> +<span id="cb344-3"><a href="#cb344-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb344-4"><a href="#cb344-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb344-5"><a href="#cb344-5" aria-hidden="true" tabindex="-1"></a> untickedBox = No,</span> +<span id="cb344-6"><a href="#cb344-6" aria-hidden="true" tabindex="-1"></a> halfTickedBox = Maybe,</span> +<span id="cb344-7"><a href="#cb344-7" aria-hidden="true" tabindex="-1"></a> tickedBox = Yes,</span> +<span id="cb344-8"><a href="#cb344-8" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb344-9"><a href="#cb344-9" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb344-10"><a href="#cb344-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb344-11"><a href="#cb344-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb344-12"><a href="#cb344-12" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> +<span id="cb344-13"><a href="#cb344-13" aria-hidden="true" tabindex="-1"></a>- [/] I can?</span> +<span id="cb344-14"><a href="#cb344-14" aria-hidden="true" tabindex="-1"></a>- [X] I can!</span> +<span id="cb344-15"><a href="#cb344-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb344-16"><a href="#cb344-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb341"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb341-1"><a href="#cb341-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb345"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb345-1"><a href="#cb345-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5602,22 +5667,22 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb342"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb342-1"><a href="#cb342-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb342-2"><a href="#cb342-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[taskLists = yes]</span> -<span id="cb342-3"><a href="#cb342-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span> -<span id="cb342-4"><a href="#cb342-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHalftickedBox</span>{Maybe}</span> -<span id="cb342-5"><a href="#cb342-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span> -<span id="cb342-6"><a href="#cb342-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb342-7"><a href="#cb342-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb342-8"><a href="#cb342-8" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> -<span id="cb342-9"><a href="#cb342-9" aria-hidden="true" tabindex="-1"></a>- [/] I can?</span> -<span id="cb342-10"><a href="#cb342-10" aria-hidden="true" tabindex="-1"></a>- [X] I can!</span> -<span id="cb342-11"><a href="#cb342-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb342-12"><a href="#cb342-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb346"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb346-1"><a href="#cb346-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb346-2"><a href="#cb346-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[taskLists = yes]</span> +<span id="cb346-3"><a href="#cb346-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span> +<span id="cb346-4"><a href="#cb346-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHalftickedBox</span>{Maybe}</span> +<span id="cb346-5"><a href="#cb346-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span> +<span id="cb346-6"><a href="#cb346-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb346-7"><a href="#cb346-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb346-8"><a href="#cb346-8" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> +<span id="cb346-9"><a href="#cb346-9" aria-hidden="true" tabindex="-1"></a>- [/] I can?</span> +<span id="cb346-10"><a href="#cb346-10" aria-hidden="true" tabindex="-1"></a>- [X] I can!</span> +<span id="cb346-11"><a href="#cb346-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb346-12"><a href="#cb346-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb343"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb343-1"><a href="#cb343-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb347"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb347-1"><a href="#cb347-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5627,8 +5692,8 @@ contain the following text:</p> <li>Yes I can!</li> </ul> </blockquote> -<h4 data-number="2.2.1.43" id="option-texcomments"><span -class="header-section-number">2.2.1.43</span> Option +<h4 data-number="2.2.1.44" id="option-texcomments"><span +class="header-section-number">2.2.1.44</span> Option <code>texComments</code></h4> <dl> <dt><code>texComments</code> (default value: <code>false</code>)</dt> @@ -5637,15 +5702,15 @@ class="header-section-number">2.2.1.43</span> Option <dt>true</dt> <dd> <p>Strip <span class="tex">T<sub>e</sub>X</span>-style comments.</p> -<div class="sourceCode" id="cb344"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb344-1"><a href="#cb344-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb344-2"><a href="#cb344-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span> -<span id="cb344-3"><a href="#cb344-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb344-4"><a href="#cb344-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb344-5"><a href="#cb344-5" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb344-6"><a href="#cb344-6" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> -<span id="cb344-7"><a href="#cb344-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb344-8"><a href="#cb344-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb348"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb348-1"><a href="#cb348-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb348-2"><a href="#cb348-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span> +<span id="cb348-3"><a href="#cb348-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb348-4"><a href="#cb348-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb348-5"><a href="#cb348-5" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> +<span id="cb348-6"><a href="#cb348-6" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> +<span id="cb348-7"><a href="#cb348-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb348-8"><a href="#cb348-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Always enabled when <strong><code>hybrid</code></strong> is enabled.</p> </dd> @@ -5665,57 +5730,57 @@ comments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb345"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb345-1"><a href="#cb345-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb345-2"><a href="#cb345-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTexComments</span>{true}</span> -<span id="cb345-3"><a href="#cb345-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb345-4"><a href="#cb345-4" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb345-5"><a href="#cb345-5" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> -<span id="cb345-6"><a href="#cb345-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb345-7"><a href="#cb345-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb349"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb349-1"><a href="#cb349-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb349-2"><a href="#cb349-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTexComments</span>{true}</span> +<span id="cb349-3"><a href="#cb349-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb349-4"><a href="#cb349-4" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> +<span id="cb349-5"><a href="#cb349-5" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> +<span id="cb349-6"><a href="#cb349-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb349-7"><a href="#cb349-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb346"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb346-1"><a href="#cb346-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb350"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb350-1"><a href="#cb350-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> -<h5 class="unnumbered" id="latex-example-37"><span +<h5 class="unnumbered" id="latex-example-38"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb347"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb347-1"><a href="#cb347-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb347-2"><a href="#cb347-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span> -<span id="cb347-3"><a href="#cb347-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb347-4"><a href="#cb347-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb347-5"><a href="#cb347-5" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb347-6"><a href="#cb347-6" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> -<span id="cb347-7"><a href="#cb347-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb347-8"><a href="#cb347-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb351"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb351-1"><a href="#cb351-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb351-2"><a href="#cb351-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span> +<span id="cb351-3"><a href="#cb351-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb351-4"><a href="#cb351-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb351-5"><a href="#cb351-5" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> +<span id="cb351-6"><a href="#cb351-6" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> +<span id="cb351-7"><a href="#cb351-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb351-8"><a href="#cb351-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb348"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb348-1"><a href="#cb348-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb352"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb352-1"><a href="#cb352-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> <h5 class="unnumbered" id="context-example-30">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb349"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb349-1"><a href="#cb349-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb349-2"><a href="#cb349-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[texComments = yes]</span> -<span id="cb349-3"><a href="#cb349-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb349-4"><a href="#cb349-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb349-5"><a href="#cb349-5" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb349-6"><a href="#cb349-6" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> -<span id="cb349-7"><a href="#cb349-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb349-8"><a href="#cb349-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb353"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb353-1"><a href="#cb353-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb353-2"><a href="#cb353-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[texComments = yes]</span> +<span id="cb353-3"><a href="#cb353-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb353-4"><a href="#cb353-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb353-5"><a href="#cb353-5" aria-hidden="true" tabindex="-1"></a>Hel<span class="co">% this is a comment</span></span> +<span id="cb353-6"><a href="#cb353-6" aria-hidden="true" tabindex="-1"></a> lo *world*!</span> +<span id="cb353-7"><a href="#cb353-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb353-8"><a href="#cb353-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb350"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb350-1"><a href="#cb350-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb354"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb354-1"><a href="#cb354-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> -<h4 data-number="2.2.1.44" id="option-tightlists"><span -class="header-section-number">2.2.1.44</span> Option +<h4 data-number="2.2.1.45" id="option-tightlists"><span +class="header-section-number">2.2.1.45</span> Option <code>tightLists</code></h4> <dl> <dt><code>tightLists</code> (default value: <code>true</code>)</dt> @@ -5727,16 +5792,16 @@ class="header-section-number">2.2.1.44</span> Option paragraphs will be considered <em>tight</em>. Tight lists will produce tight renderers that may produce different output than lists that are not tight:</p> -<div class="sourceCode" id="cb351"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb351-1"><a href="#cb351-1" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>This is</span> -<span id="cb351-2"><a href="#cb351-2" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>a tight</span> -<span id="cb351-3"><a href="#cb351-3" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>unordered list.</span> -<span id="cb351-4"><a href="#cb351-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb351-5"><a href="#cb351-5" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>This is</span> -<span id="cb351-6"><a href="#cb351-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb351-7"><a href="#cb351-7" aria-hidden="true" tabindex="-1"></a> not a tight</span> -<span id="cb351-8"><a href="#cb351-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb351-9"><a href="#cb351-9" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>unordered list.</span></code></pre></div> +<div class="sourceCode" id="cb355"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb355-1"><a href="#cb355-1" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>This is</span> +<span id="cb355-2"><a href="#cb355-2" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>a tight</span> +<span id="cb355-3"><a href="#cb355-3" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>unordered list.</span> +<span id="cb355-4"><a href="#cb355-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb355-5"><a href="#cb355-5" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>This is</span> +<span id="cb355-6"><a href="#cb355-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb355-7"><a href="#cb355-7" aria-hidden="true" tabindex="-1"></a> not a tight</span> +<span id="cb355-8"><a href="#cb355-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb355-9"><a href="#cb355-9" aria-hidden="true" tabindex="-1"></a><span class="ss">- </span>unordered list.</span></code></pre></div> </dd> </dl> </dd> @@ -5751,43 +5816,43 @@ multiple paragraphs.</p> </dl> </dd> </dl> -<h5 class="unnumbered" id="latex-example-38"><span +<h5 class="unnumbered" id="latex-example-39"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb352"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb352-1"><a href="#cb352-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb352-2"><a href="#cb352-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb352-3"><a href="#cb352-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb352-4"><a href="#cb352-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-5"><a href="#cb352-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb352-6"><a href="#cb352-6" aria-hidden="true" tabindex="-1"></a>The following list is tight:</span> -<span id="cb352-7"><a href="#cb352-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-8"><a href="#cb352-8" aria-hidden="true" tabindex="-1"></a> - first item</span> -<span id="cb352-9"><a href="#cb352-9" aria-hidden="true" tabindex="-1"></a> - second item</span> -<span id="cb352-10"><a href="#cb352-10" aria-hidden="true" tabindex="-1"></a> - third item</span> -<span id="cb352-11"><a href="#cb352-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-12"><a href="#cb352-12" aria-hidden="true" tabindex="-1"></a>The following list is loose:</span> -<span id="cb352-13"><a href="#cb352-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-14"><a href="#cb352-14" aria-hidden="true" tabindex="-1"></a> - first item</span> -<span id="cb352-15"><a href="#cb352-15" aria-hidden="true" tabindex="-1"></a> - second item that spans</span> -<span id="cb352-16"><a href="#cb352-16" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-17"><a href="#cb352-17" aria-hidden="true" tabindex="-1"></a> multiple paragraphs</span> -<span id="cb352-18"><a href="#cb352-18" aria-hidden="true" tabindex="-1"></a> - third item</span> -<span id="cb352-19"><a href="#cb352-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb352-20"><a href="#cb352-20" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-21"><a href="#cb352-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</span> -<span id="cb352-22"><a href="#cb352-22" aria-hidden="true" tabindex="-1"></a>The following list is now also loose:</span> -<span id="cb352-23"><a href="#cb352-23" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-24"><a href="#cb352-24" aria-hidden="true" tabindex="-1"></a> - first item</span> -<span id="cb352-25"><a href="#cb352-25" aria-hidden="true" tabindex="-1"></a> - second item</span> -<span id="cb352-26"><a href="#cb352-26" aria-hidden="true" tabindex="-1"></a> - third item</span> -<span id="cb352-27"><a href="#cb352-27" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb352-28"><a href="#cb352-28" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb352-29"><a href="#cb352-29" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb356"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb356-1"><a href="#cb356-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb356-2"><a href="#cb356-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb356-3"><a href="#cb356-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb356-4"><a href="#cb356-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-5"><a href="#cb356-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb356-6"><a href="#cb356-6" aria-hidden="true" tabindex="-1"></a>The following list is tight:</span> +<span id="cb356-7"><a href="#cb356-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-8"><a href="#cb356-8" aria-hidden="true" tabindex="-1"></a>- first item</span> +<span id="cb356-9"><a href="#cb356-9" aria-hidden="true" tabindex="-1"></a>- second item</span> +<span id="cb356-10"><a href="#cb356-10" aria-hidden="true" tabindex="-1"></a>- third item</span> +<span id="cb356-11"><a href="#cb356-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-12"><a href="#cb356-12" aria-hidden="true" tabindex="-1"></a>The following list is loose:</span> +<span id="cb356-13"><a href="#cb356-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-14"><a href="#cb356-14" aria-hidden="true" tabindex="-1"></a>- first item</span> +<span id="cb356-15"><a href="#cb356-15" aria-hidden="true" tabindex="-1"></a>- second item that spans</span> +<span id="cb356-16"><a href="#cb356-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-17"><a href="#cb356-17" aria-hidden="true" tabindex="-1"></a> multiple paragraphs</span> +<span id="cb356-18"><a href="#cb356-18" aria-hidden="true" tabindex="-1"></a>- third item</span> +<span id="cb356-19"><a href="#cb356-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb356-20"><a href="#cb356-20" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-21"><a href="#cb356-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</span> +<span id="cb356-22"><a href="#cb356-22" aria-hidden="true" tabindex="-1"></a>The following list is now also loose:</span> +<span id="cb356-23"><a href="#cb356-23" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-24"><a href="#cb356-24" aria-hidden="true" tabindex="-1"></a>- first item</span> +<span id="cb356-25"><a href="#cb356-25" aria-hidden="true" tabindex="-1"></a>- second item</span> +<span id="cb356-26"><a href="#cb356-26" aria-hidden="true" tabindex="-1"></a>- third item</span> +<span id="cb356-27"><a href="#cb356-27" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb356-28"><a href="#cb356-28" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb356-29"><a href="#cb356-29" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb353"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb353-1"><a href="#cb353-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb357"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb357-1"><a href="#cb357-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5811,8 +5876,8 @@ contain the following text:</p> <li><p>third item</p></li> </ul> </blockquote> -<h4 data-number="2.2.1.45" id="option-underscores"><span -class="header-section-number">2.2.1.45</span> Option +<h4 data-number="2.2.1.46" id="option-underscores"><span +class="header-section-number">2.2.1.46</span> Option <code>underscores</code></h4> <dl> <dt><code>underscores</code> (default value: <code>true</code>)</dt> @@ -5822,11 +5887,11 @@ class="header-section-number">2.2.1.45</span> Option <dd> <p>Both underscores and asterisks can be used to denote emphasis and strong emphasis:</p> -<div class="sourceCode" id="cb354"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb354-1"><a href="#cb354-1" aria-hidden="true" tabindex="-1"></a>*single asterisks*</span> -<span id="cb354-2"><a href="#cb354-2" aria-hidden="true" tabindex="-1"></a>_single underscores_</span> -<span id="cb354-3"><a href="#cb354-3" aria-hidden="true" tabindex="-1"></a>**double asterisks**</span> -<span id="cb354-4"><a href="#cb354-4" aria-hidden="true" tabindex="-1"></a>__double underscores__</span></code></pre></div> +<div class="sourceCode" id="cb358"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb358-1"><a href="#cb358-1" aria-hidden="true" tabindex="-1"></a>*single asterisks*</span> +<span id="cb358-2"><a href="#cb358-2" aria-hidden="true" tabindex="-1"></a>_single underscores_</span> +<span id="cb358-3"><a href="#cb358-3" aria-hidden="true" tabindex="-1"></a>**double asterisks**</span> +<span id="cb358-4"><a href="#cb358-4" aria-hidden="true" tabindex="-1"></a>__double underscores__</span></code></pre></div> </dd> </dl> </dd> @@ -5846,23 +5911,23 @@ constantly escape subscripts.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb355"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb355-1"><a href="#cb355-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb355-2"><a href="#cb355-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> -<span id="cb355-3"><a href="#cb355-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb355-4"><a href="#cb355-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb355-5"><a href="#cb355-5" aria-hidden="true" tabindex="-1"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span> -<span id="cb355-6"><a href="#cb355-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb355-7"><a href="#cb355-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb355-8"><a href="#cb355-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionUnderscores</span>{false}</span> -<span id="cb355-9"><a href="#cb355-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb355-10"><a href="#cb355-10" aria-hidden="true" tabindex="-1"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> -<span id="cb355-11"><a href="#cb355-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb355-12"><a href="#cb355-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb355-13"><a href="#cb355-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb359"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb359-1"><a href="#cb359-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb359-2"><a href="#cb359-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> +<span id="cb359-3"><a href="#cb359-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb359-4"><a href="#cb359-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb359-5"><a href="#cb359-5" aria-hidden="true" tabindex="-1"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span> +<span id="cb359-6"><a href="#cb359-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb359-7"><a href="#cb359-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb359-8"><a href="#cb359-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionUnderscores</span>{false}</span> +<span id="cb359-9"><a href="#cb359-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb359-10"><a href="#cb359-10" aria-hidden="true" tabindex="-1"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> +<span id="cb359-11"><a href="#cb359-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb359-12"><a href="#cb359-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb359-13"><a href="#cb359-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb356"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb356-1"><a href="#cb356-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb360"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb360-1"><a href="#cb360-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5871,27 +5936,27 @@ contain the following text:</p> <p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-39"><span +<h5 class="unnumbered" id="latex-example-40"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb357"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb357-1"><a href="#cb357-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb357-2"><a href="#cb357-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</span> -<span id="cb357-3"><a href="#cb357-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb357-4"><a href="#cb357-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb357-5"><a href="#cb357-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb357-6"><a href="#cb357-6" aria-hidden="true" tabindex="-1"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span> -<span id="cb357-7"><a href="#cb357-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb357-8"><a href="#cb357-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb357-9"><a href="#cb357-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</span> -<span id="cb357-10"><a href="#cb357-10" aria-hidden="true" tabindex="-1"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> -<span id="cb357-11"><a href="#cb357-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb357-12"><a href="#cb357-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb357-13"><a href="#cb357-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb361"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb361-1"><a href="#cb361-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb361-2"><a href="#cb361-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</span> +<span id="cb361-3"><a href="#cb361-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb361-4"><a href="#cb361-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb361-5"><a href="#cb361-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb361-6"><a href="#cb361-6" aria-hidden="true" tabindex="-1"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span> +<span id="cb361-7"><a href="#cb361-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb361-8"><a href="#cb361-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb361-9"><a href="#cb361-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</span> +<span id="cb361-10"><a href="#cb361-10" aria-hidden="true" tabindex="-1"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> +<span id="cb361-11"><a href="#cb361-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb361-12"><a href="#cb361-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb361-13"><a href="#cb361-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb358"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb358-1"><a href="#cb358-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb362"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb362-1"><a href="#cb362-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5904,24 +5969,24 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb359"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb359-1"><a href="#cb359-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb359-2"><a href="#cb359-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> -<span id="cb359-3"><a href="#cb359-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb359-4"><a href="#cb359-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb359-5"><a href="#cb359-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb359-6"><a href="#cb359-6" aria-hidden="true" tabindex="-1"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span> -<span id="cb359-7"><a href="#cb359-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb359-8"><a href="#cb359-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb359-9"><a href="#cb359-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[underscores = yes]</span> -<span id="cb359-10"><a href="#cb359-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb359-11"><a href="#cb359-11" aria-hidden="true" tabindex="-1"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> -<span id="cb359-12"><a href="#cb359-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb359-13"><a href="#cb359-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb359-14"><a href="#cb359-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb363"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb363-1"><a href="#cb363-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb363-2"><a href="#cb363-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> +<span id="cb363-3"><a href="#cb363-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb363-4"><a href="#cb363-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb363-5"><a href="#cb363-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb363-6"><a href="#cb363-6" aria-hidden="true" tabindex="-1"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span> +<span id="cb363-7"><a href="#cb363-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb363-8"><a href="#cb363-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb363-9"><a href="#cb363-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[underscores = yes]</span> +<span id="cb363-10"><a href="#cb363-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb363-11"><a href="#cb363-11" aria-hidden="true" tabindex="-1"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> +<span id="cb363-12"><a href="#cb363-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb363-13"><a href="#cb363-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb363-14"><a href="#cb363-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb360"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb360-1"><a href="#cb360-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb364"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb364-1"><a href="#cb364-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -5948,8 +6013,8 @@ plain <span class="tex">T<sub>e</sub>X</span></h4> <strong><code>taskLists</code></strong> Lua option to <code>true</code>, you would include the following code in your plain <span class="tex">T<sub>e</sub>X</span> document:</p> -<div class="sourceCode" id="cb361"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb361-1"><a href="#cb361-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTaskLists</span>{true}</span></code></pre></div> +<div class="sourceCode" id="cb365"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb365-1"><a href="#cb365-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTaskLists</span>{true}</span></code></pre></div> <h4 data-number="2.2.2.2" id="finalizing-and-freezing-the-cache"><span class="header-section-number">2.2.2.2</span> Finalizing and Freezing the Cache</h4> @@ -5999,24 +6064,24 @@ options.</p> <p>Using a text editor, create a folder named <code>output-directory</code> and a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb362"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb362-1"><a href="#cb362-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb362-2"><a href="#cb362-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb362-3"><a href="#cb362-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHelperScriptFileName</span>{helper-script.lua}</span> -<span id="cb362-4"><a href="#cb362-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionInputTempFileName</span>{temporary-input.md}</span> -<span id="cb362-5"><a href="#cb362-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionOutputTempFileName</span>{temporary-output.tex}</span> -<span id="cb362-6"><a href="#cb362-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionErrorTempFileName</span>{error-output.txt}</span> -<span id="cb362-7"><a href="#cb362-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionOutputDir</span>{output-directory}</span> -<span id="cb362-8"><a href="#cb362-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionCacheDir</span>{output-directory/cache-directory}</span> -<span id="cb362-9"><a href="#cb362-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownOptionFinalizeCachetrue</span></span> -<span id="cb362-10"><a href="#cb362-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{output-directory/cache-directory/frozen-cache.tex}</span> -<span id="cb362-11"><a href="#cb362-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb362-12"><a href="#cb362-12" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> -<span id="cb362-13"><a href="#cb362-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb362-14"><a href="#cb362-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb366"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb366-1"><a href="#cb366-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb366-2"><a href="#cb366-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb366-3"><a href="#cb366-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHelperScriptFileName</span>{helper-script.lua}</span> +<span id="cb366-4"><a href="#cb366-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionInputTempFileName</span>{temporary-input.md}</span> +<span id="cb366-5"><a href="#cb366-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionOutputTempFileName</span>{temporary-output.tex}</span> +<span id="cb366-6"><a href="#cb366-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionErrorTempFileName</span>{error-output.txt}</span> +<span id="cb366-7"><a href="#cb366-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionOutputDir</span>{output-directory}</span> +<span id="cb366-8"><a href="#cb366-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionCacheDir</span>{output-directory/cache-directory}</span> +<span id="cb366-9"><a href="#cb366-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownOptionFinalizeCachetrue</span></span> +<span id="cb366-10"><a href="#cb366-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{output-directory/cache-directory/frozen-cache.tex}</span> +<span id="cb366-11"><a href="#cb366-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb366-12"><a href="#cb366-12" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb366-13"><a href="#cb366-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb366-14"><a href="#cb366-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb363"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb363-1"><a href="#cb363-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> <span class="at">--output-directory</span> output-directory document.tex</span></code></pre></div> +<div class="sourceCode" id="cb367"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb367-1"><a href="#cb367-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> <span class="at">--output-directory</span> output-directory document.tex</span></code></pre></div> <p>A text document named <code>temporary-input.md</code> should be produced in the folder named <code>output-directory</code> and contain the following text:</p> @@ -6029,8 +6094,8 @@ document. LuaTeX does not need other temporary files to perform the conversion from markdown to <span class="tex">T<sub>e</sub>X</span>. To produce the remaining temporary files, invoke pdfTeX from the terminal:</p> -<div class="sourceCode" id="cb364"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb364-1"><a href="#cb364-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> <span class="at">--output-directory</span> output-directory <span class="at">--shell-escape</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb368"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb368-1"><a href="#cb368-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> <span class="at">--output-directory</span> output-directory <span class="at">--shell-escape</span> document.tex</span></code></pre></div> <p>Text documents named <code>helper-script.lua</code>, and <code>temporary-output.md</code> should be produced in the folder named <code>output-directory</code>. The document named @@ -6059,21 +6124,21 @@ Mittelbach. The recognized values of the macro are <code>true</code> <code>false</code>.</p> <p>Using a text editor, create a text document named <code>document.dtx</code> with the following content:</p> -<div class="sourceCode" id="cb365"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb365-1"><a href="#cb365-1" aria-hidden="true" tabindex="-1"></a><span class="co">% \iffalse</span></span> -<span id="cb365-2"><a href="#cb365-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</span> -<span id="cb365-3"><a href="#cb365-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</span> -<span id="cb365-4"><a href="#cb365-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb365-5"><a href="#cb365-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\DocInput</span>{document.dtx}</span> -<span id="cb365-6"><a href="#cb365-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span> -<span id="cb365-7"><a href="#cb365-7" aria-hidden="true" tabindex="-1"></a><span class="co">% \fi</span></span> -<span id="cb365-8"><a href="#cb365-8" aria-hidden="true" tabindex="-1"></a><span class="co">%</span></span> -<span id="cb365-9"><a href="#cb365-9" aria-hidden="true" tabindex="-1"></a><span class="co">% \begin{markdown}</span></span> -<span id="cb365-10"><a href="#cb365-10" aria-hidden="true" tabindex="-1"></a><span class="co">% Hello *world*!</span></span> -<span id="cb365-11"><a href="#cb365-11" aria-hidden="true" tabindex="-1"></a><span class="co">% \end{markdown}</span></span></code></pre></div> +<div class="sourceCode" id="cb369"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb369-1"><a href="#cb369-1" aria-hidden="true" tabindex="-1"></a><span class="co">% \iffalse</span></span> +<span id="cb369-2"><a href="#cb369-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</span> +<span id="cb369-3"><a href="#cb369-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</span> +<span id="cb369-4"><a href="#cb369-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb369-5"><a href="#cb369-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\DocInput</span>{document.dtx}</span> +<span id="cb369-6"><a href="#cb369-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span> +<span id="cb369-7"><a href="#cb369-7" aria-hidden="true" tabindex="-1"></a><span class="co">% \fi</span></span> +<span id="cb369-8"><a href="#cb369-8" aria-hidden="true" tabindex="-1"></a><span class="co">%</span></span> +<span id="cb369-9"><a href="#cb369-9" aria-hidden="true" tabindex="-1"></a><span class="co">% \begin{markdown}</span></span> +<span id="cb369-10"><a href="#cb369-10" aria-hidden="true" tabindex="-1"></a><span class="co">% Hello *world*!</span></span> +<span id="cb369-11"><a href="#cb369-11" aria-hidden="true" tabindex="-1"></a><span class="co">% \end{markdown}</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb366"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb366-1"><a href="#cb366-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.dtx</span></code></pre></div> +<div class="sourceCode" id="cb370"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb370-1"><a href="#cb370-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.dtx</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p> <h3 data-number="2.2.3" id="latex-1"><span @@ -6093,10 +6158,10 @@ class="latex">L<sup>a</sup>T<sub>e</sub>X</span>. For example, to set the <strong><code>taskLists</code></strong> Lua option to <code>true</code>, we would include the following code in our <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document:</p> -<div class="sourceCode" id="cb367"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb367-1"><a href="#cb367-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb367-2"><a href="#cb367-2" aria-hidden="true" tabindex="-1"></a> taskLists = true,</span> -<span id="cb367-3"><a href="#cb367-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb371"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb371-1"><a href="#cb371-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb371-2"><a href="#cb371-2" aria-hidden="true" tabindex="-1"></a> taskLists = true,</span> +<span id="cb371-3"><a href="#cb371-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> <p>We can also set all plain <span class="tex">T<sub>e</sub>X</span> options directly from <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>. For example, to set @@ -6104,10 +6169,10 @@ the <code>\markdownOptionHelperScriptFileName</code> plain <span class="tex">T<sub>e</sub>X</span> option to <code>helper-script.lua</code>, we would inclde the following code in our <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document:</p> -<div class="sourceCode" id="cb368"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb368-1"><a href="#cb368-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb368-2"><a href="#cb368-2" aria-hidden="true" tabindex="-1"></a> helperScriptFileName = helper-script.lua,</span> -<span id="cb368-3"><a href="#cb368-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb372"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb372-1"><a href="#cb372-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb372-2"><a href="#cb372-2" aria-hidden="true" tabindex="-1"></a> helperScriptFileName = helper-script.lua,</span> +<span id="cb372-3"><a href="#cb372-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> <h4 data-number="2.2.3.2" id="latexplain"><span class="header-section-number">2.2.3.2</span> No default token renderer prototypes</h4> @@ -6122,8 +6187,8 @@ class="tex">T<sub>e</sub>X</span> implementation and prevent the soft from being loaded: The plain option must be set before or when loading the package. Setting the option after loading the package will have no effect.</p> -<div class="sourceCode" id="cb369"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb369-1"><a href="#cb369-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[plain]{<span class="ex">markdown</span>}</span></code></pre></div> +<div class="sourceCode" id="cb373"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb373-1"><a href="#cb373-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[plain]{<span class="ex">markdown</span>}</span></code></pre></div> <h4 data-number="2.2.3.3" id="latexthemes"><span class="header-section-number">2.2.3.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes</h4> @@ -6136,11 +6201,11 @@ without low-level programming.</p> <p>For example, to load themes named <code>witiko/beamer/MU</code> and <code>witiko/dot</code>, you would use the following code in the preamble of your document:</p> -<div class="sourceCode" id="cb370"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb370-1"><a href="#cb370-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[</span> -<span id="cb370-2"><a href="#cb370-2" aria-hidden="true" tabindex="-1"></a> theme = witiko/beamer/MU,</span> -<span id="cb370-3"><a href="#cb370-3" aria-hidden="true" tabindex="-1"></a> theme = witiko/dot,</span> -<span id="cb370-4"><a href="#cb370-4" aria-hidden="true" tabindex="-1"></a>]{<span class="ex">markdown</span>}</span></code></pre></div> +<div class="sourceCode" id="cb374"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb374-1"><a href="#cb374-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[</span> +<span id="cb374-2"><a href="#cb374-2" aria-hidden="true" tabindex="-1"></a> theme = witiko/beamer/MU,</span> +<span id="cb374-3"><a href="#cb374-3" aria-hidden="true" tabindex="-1"></a> theme = witiko/dot,</span> +<span id="cb374-4"><a href="#cb374-4" aria-hidden="true" tabindex="-1"></a>]{<span class="ex">markdown</span>}</span></code></pre></div> <p>Due to limitations of <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, themes may not be loaded after the beginning of a <span @@ -6158,48 +6223,48 @@ installed. The theme also requires shell access unless the class="tex">T<sub>e</sub>X</span> option is enabled.</p> </dd> </dl> -<h5 class="unnumbered" id="latex-example-40"><span +<h5 class="unnumbered" id="latex-example-41"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb371"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb371-1"><a href="#cb371-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb371-2"><a href="#cb371-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[theme=witiko/dot]{<span class="ex">markdown</span>}</span> -<span id="cb371-3"><a href="#cb371-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\setkeys</span>{Gin}{</span> -<span id="cb371-4"><a href="#cb371-4" aria-hidden="true" tabindex="-1"></a> width=<span class="fu">\columnwidth</span>,</span> -<span id="cb371-5"><a href="#cb371-5" aria-hidden="true" tabindex="-1"></a> height=0.65<span class="fu">\paperheight</span>,</span> -<span id="cb371-6"><a href="#cb371-6" aria-hidden="true" tabindex="-1"></a> keepaspectratio}</span> -<span id="cb371-7"><a href="#cb371-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb371-8"><a href="#cb371-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb371-9"><a href="#cb371-9" aria-hidden="true" tabindex="-1"></a>``` dot Various formats of mathemathical formulae</span> -<span id="cb371-10"><a href="#cb371-10" aria-hidden="true" tabindex="-1"></a>digraph tree {</span> -<span id="cb371-11"><a href="#cb371-11" aria-hidden="true" tabindex="-1"></a> margin = 0;</span> -<span id="cb371-12"><a href="#cb371-12" aria-hidden="true" tabindex="-1"></a> rankdir = "LR";</span> -<span id="cb371-13"><a href="#cb371-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb371-14"><a href="#cb371-14" aria-hidden="true" tabindex="-1"></a> latex -> pmml;</span> -<span id="cb371-15"><a href="#cb371-15" aria-hidden="true" tabindex="-1"></a> latex -> cmml;</span> -<span id="cb371-16"><a href="#cb371-16" aria-hidden="true" tabindex="-1"></a> pmml -> slt;</span> -<span id="cb371-17"><a href="#cb371-17" aria-hidden="true" tabindex="-1"></a> cmml -> opt;</span> -<span id="cb371-18"><a href="#cb371-18" aria-hidden="true" tabindex="-1"></a> cmml -> prefix;</span> -<span id="cb371-19"><a href="#cb371-19" aria-hidden="true" tabindex="-1"></a> cmml -> infix;</span> -<span id="cb371-20"><a href="#cb371-20" aria-hidden="true" tabindex="-1"></a> pmml -> mterms [style=dashed];</span> -<span id="cb371-21"><a href="#cb371-21" aria-hidden="true" tabindex="-1"></a> cmml -> mterms;</span> -<span id="cb371-22"><a href="#cb371-22" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb371-23"><a href="#cb371-23" aria-hidden="true" tabindex="-1"></a> latex [label = "LaTeX"];</span> -<span id="cb371-24"><a href="#cb371-24" aria-hidden="true" tabindex="-1"></a> pmml [label = "Presentation MathML"];</span> -<span id="cb371-25"><a href="#cb371-25" aria-hidden="true" tabindex="-1"></a> cmml [label = "Content MathML"];</span> -<span id="cb371-26"><a href="#cb371-26" aria-hidden="true" tabindex="-1"></a> slt [label = "Symbol Layout Tree"];</span> -<span id="cb371-27"><a href="#cb371-27" aria-hidden="true" tabindex="-1"></a> opt [label = "Operator Tree"];</span> -<span id="cb371-28"><a href="#cb371-28" aria-hidden="true" tabindex="-1"></a> prefix [label = "Prefix"];</span> -<span id="cb371-29"><a href="#cb371-29" aria-hidden="true" tabindex="-1"></a> infix [label = "Infix"];</span> -<span id="cb371-30"><a href="#cb371-30" aria-hidden="true" tabindex="-1"></a> mterms [label = "M-Terms"];</span> -<span id="cb371-31"><a href="#cb371-31" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb371-32"><a href="#cb371-32" aria-hidden="true" tabindex="-1"></a>```</span> -<span id="cb371-33"><a href="#cb371-33" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb371-34"><a href="#cb371-34" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb375"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb375-1"><a href="#cb375-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb375-2"><a href="#cb375-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[theme=witiko/dot]{<span class="ex">markdown</span>}</span> +<span id="cb375-3"><a href="#cb375-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\setkeys</span>{Gin}{</span> +<span id="cb375-4"><a href="#cb375-4" aria-hidden="true" tabindex="-1"></a> width=<span class="fu">\columnwidth</span>,</span> +<span id="cb375-5"><a href="#cb375-5" aria-hidden="true" tabindex="-1"></a> height=0.65<span class="fu">\paperheight</span>,</span> +<span id="cb375-6"><a href="#cb375-6" aria-hidden="true" tabindex="-1"></a> keepaspectratio}</span> +<span id="cb375-7"><a href="#cb375-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb375-8"><a href="#cb375-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb375-9"><a href="#cb375-9" aria-hidden="true" tabindex="-1"></a>``` dot Various formats of mathemathical formulae</span> +<span id="cb375-10"><a href="#cb375-10" aria-hidden="true" tabindex="-1"></a>digraph tree {</span> +<span id="cb375-11"><a href="#cb375-11" aria-hidden="true" tabindex="-1"></a> margin = 0;</span> +<span id="cb375-12"><a href="#cb375-12" aria-hidden="true" tabindex="-1"></a> rankdir = "LR";</span> +<span id="cb375-13"><a href="#cb375-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb375-14"><a href="#cb375-14" aria-hidden="true" tabindex="-1"></a> latex -> pmml;</span> +<span id="cb375-15"><a href="#cb375-15" aria-hidden="true" tabindex="-1"></a> latex -> cmml;</span> +<span id="cb375-16"><a href="#cb375-16" aria-hidden="true" tabindex="-1"></a> pmml -> slt;</span> +<span id="cb375-17"><a href="#cb375-17" aria-hidden="true" tabindex="-1"></a> cmml -> opt;</span> +<span id="cb375-18"><a href="#cb375-18" aria-hidden="true" tabindex="-1"></a> cmml -> prefix;</span> +<span id="cb375-19"><a href="#cb375-19" aria-hidden="true" tabindex="-1"></a> cmml -> infix;</span> +<span id="cb375-20"><a href="#cb375-20" aria-hidden="true" tabindex="-1"></a> pmml -> mterms [style=dashed];</span> +<span id="cb375-21"><a href="#cb375-21" aria-hidden="true" tabindex="-1"></a> cmml -> mterms;</span> +<span id="cb375-22"><a href="#cb375-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb375-23"><a href="#cb375-23" aria-hidden="true" tabindex="-1"></a> latex [label = "LaTeX"];</span> +<span id="cb375-24"><a href="#cb375-24" aria-hidden="true" tabindex="-1"></a> pmml [label = "Presentation MathML"];</span> +<span id="cb375-25"><a href="#cb375-25" aria-hidden="true" tabindex="-1"></a> cmml [label = "Content MathML"];</span> +<span id="cb375-26"><a href="#cb375-26" aria-hidden="true" tabindex="-1"></a> slt [label = "Symbol Layout Tree"];</span> +<span id="cb375-27"><a href="#cb375-27" aria-hidden="true" tabindex="-1"></a> opt [label = "Operator Tree"];</span> +<span id="cb375-28"><a href="#cb375-28" aria-hidden="true" tabindex="-1"></a> prefix [label = "Prefix"];</span> +<span id="cb375-29"><a href="#cb375-29" aria-hidden="true" tabindex="-1"></a> infix [label = "Infix"];</span> +<span id="cb375-30"><a href="#cb375-30" aria-hidden="true" tabindex="-1"></a> mterms [label = "M-Terms"];</span> +<span id="cb375-31"><a href="#cb375-31" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb375-32"><a href="#cb375-32" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb375-33"><a href="#cb375-33" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb375-34"><a href="#cb375-34" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb372"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb372-1"><a href="#cb372-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb376"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb376-1"><a href="#cb376-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain a drawing of a directed graph similar to Figure 1 from the following conference article:</p> @@ -6225,28 +6290,29 @@ Wget or cURL installed. The theme also requires shell access unless the class="tex">T<sub>e</sub>X</span> option is enabled.</p> </dd> </dl> -<h5 class="unnumbered" id="latex-example-41"><span +<h5 class="unnumbered" id="latex-example-42"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb373"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb373-1"><a href="#cb373-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb373-2"><a href="#cb373-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[theme=witiko/graphicx/http]{<span class="ex">markdown</span>}</span> -<span id="cb373-3"><a href="#cb373-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb373-4"><a href="#cb373-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb373-5"><a href="#cb373-5" aria-hidden="true" tabindex="-1"></a>![img](https://github.com/witiko/markdown/raw/main/markdown.png</span> -<span id="cb373-6"><a href="#cb373-6" aria-hidden="true" tabindex="-1"></a> "The banner of the Markdown package")</span> -<span id="cb373-7"><a href="#cb373-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb373-8"><a href="#cb373-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb377"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb377-1"><a href="#cb377-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb377-2"><a href="#cb377-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[theme=witiko/graphicx/http]{<span class="ex">markdown</span>}</span> +<span id="cb377-3"><a href="#cb377-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb377-4"><a href="#cb377-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb377-5"><a href="#cb377-5" aria-hidden="true" tabindex="-1"></a>![img](https://github.com/witiko/markdown/raw/main/markdown.png</span> +<span id="cb377-6"><a href="#cb377-6" aria-hidden="true" tabindex="-1"></a> "The banner of the Markdown package")</span> +<span id="cb377-7"><a href="#cb377-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb377-8"><a href="#cb377-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb374"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb374-1"><a href="#cb374-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb378"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb378-1"><a href="#cb378-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following image:</p> <blockquote> <figure> -<img src="https://github.com/witiko/markdown/raw/main/markdown.png" -title="The banner of the Markdown package" alt="img" /> +<img +src="https://github.com/witiko/markdown/raw/main/markdown.png%20%22The%20banner%20of%20the%20Markdown%20package%22" +alt="img" /> <figcaption aria-hidden="true">img</figcaption> </figure> </blockquote> @@ -6258,21 +6324,21 @@ non-breaking space even when the <strong><code>hybrid</code></strong> Lua option is disabled.</p> </dd> </dl> -<h5 class="unnumbered" id="latex-example-42"><span +<h5 class="unnumbered" id="latex-example-43"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb375"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb375-1"><a href="#cb375-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb375-2"><a href="#cb375-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[theme=witiko/tilde]{<span class="ex">markdown</span>}</span> -<span id="cb375-3"><a href="#cb375-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb375-4"><a href="#cb375-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb375-5"><a href="#cb375-5" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb375-6"><a href="#cb375-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb375-7"><a href="#cb375-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb379"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb379-1"><a href="#cb379-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb379-2"><a href="#cb379-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[theme=witiko/tilde]{<span class="ex">markdown</span>}</span> +<span id="cb379-3"><a href="#cb379-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb379-4"><a href="#cb379-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb379-5"><a href="#cb379-5" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> +<span id="cb379-6"><a href="#cb379-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb379-7"><a href="#cb379-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb376"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb376-1"><a href="#cb376-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb380"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb380-1"><a href="#cb380-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p> @@ -6289,30 +6355,30 @@ class="latex">L<sup>a</sup>T<sub>e</sub>X</span> setup snippets provide syntactic sugar for defining and invoking various options locally.</p> <p>Here is how we can use setup snippets to store options and invoke them later:</p> -<div class="sourceCode" id="cb377"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb377-1"><a href="#cb377-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetupSnippet</span>{romanNumerals}{</span> -<span id="cb377-2"><a href="#cb377-2" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb377-3"><a href="#cb377-3" aria-hidden="true" tabindex="-1"></a> olItemWithNumber = {<span class="co">%</span></span> -<span id="cb377-4"><a href="#cb377-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\item</span>[<span class="fu">\romannumeral</span>#1<span class="fu">\relax</span>.]<span class="co">%</span></span> -<span id="cb377-5"><a href="#cb377-5" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb377-6"><a href="#cb377-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb377-7"><a href="#cb377-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb377-8"><a href="#cb377-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb377-9"><a href="#cb377-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb377-10"><a href="#cb377-10" aria-hidden="true" tabindex="-1"></a>The following ordered list will be preceded by arabic numerals:</span> -<span id="cb377-11"><a href="#cb377-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb377-12"><a href="#cb377-12" aria-hidden="true" tabindex="-1"></a>1. wahid</span> -<span id="cb377-13"><a href="#cb377-13" aria-hidden="true" tabindex="-1"></a>2. aithnayn</span> -<span id="cb377-14"><a href="#cb377-14" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb377-15"><a href="#cb377-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb377-16"><a href="#cb377-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{snippet=romanNumerals}</span> -<span id="cb377-17"><a href="#cb377-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb377-18"><a href="#cb377-18" aria-hidden="true" tabindex="-1"></a>The following ordered list will be preceded by roman numerals:</span> -<span id="cb377-19"><a href="#cb377-19" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb377-20"><a href="#cb377-20" aria-hidden="true" tabindex="-1"></a>3. tres</span> -<span id="cb377-21"><a href="#cb377-21" aria-hidden="true" tabindex="-1"></a>4. quattuor</span> -<span id="cb377-22"><a href="#cb377-22" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb377-23"><a href="#cb377-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span></code></pre></div> +<div class="sourceCode" id="cb381"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb381-1"><a href="#cb381-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetupSnippet</span>{romanNumerals}{</span> +<span id="cb381-2"><a href="#cb381-2" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb381-3"><a href="#cb381-3" aria-hidden="true" tabindex="-1"></a> olItemWithNumber = {<span class="co">%</span></span> +<span id="cb381-4"><a href="#cb381-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\item</span>[<span class="fu">\romannumeral</span>#1<span class="fu">\relax</span>.]<span class="co">%</span></span> +<span id="cb381-5"><a href="#cb381-5" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb381-6"><a href="#cb381-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb381-7"><a href="#cb381-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb381-8"><a href="#cb381-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb381-9"><a href="#cb381-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb381-10"><a href="#cb381-10" aria-hidden="true" tabindex="-1"></a>The following ordered list will be preceded by arabic numerals:</span> +<span id="cb381-11"><a href="#cb381-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb381-12"><a href="#cb381-12" aria-hidden="true" tabindex="-1"></a>1. wahid</span> +<span id="cb381-13"><a href="#cb381-13" aria-hidden="true" tabindex="-1"></a>2. aithnayn</span> +<span id="cb381-14"><a href="#cb381-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb381-15"><a href="#cb381-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb381-16"><a href="#cb381-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{snippet=romanNumerals}</span> +<span id="cb381-17"><a href="#cb381-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb381-18"><a href="#cb381-18" aria-hidden="true" tabindex="-1"></a>The following ordered list will be preceded by roman numerals:</span> +<span id="cb381-19"><a href="#cb381-19" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb381-20"><a href="#cb381-20" aria-hidden="true" tabindex="-1"></a>3. tres</span> +<span id="cb381-21"><a href="#cb381-21" aria-hidden="true" tabindex="-1"></a>4. quattuor</span> +<span id="cb381-22"><a href="#cb381-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb381-23"><a href="#cb381-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span></code></pre></div> <h2 data-number="2.3" id="markdown-tokens"><span class="header-section-number">2.3</span> Markdown Tokens</h2> <p>A key feature of the Markdown package is the support for manipulating @@ -6336,28 +6402,28 @@ boxes, respectively. These macros will either be produced, when the Ballot Box with X (☒, U+2612), Hourglass (⌛, U+231B) or Ballot Box (☐, U+2610) Unicode characters are encountered in the markdown input, respectively.</p> -<h5 class="unnumbered" id="latex-example-43"><span +<h5 class="unnumbered" id="latex-example-44"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb378"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb378-1"><a href="#cb378-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb378-2"><a href="#cb378-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span> -<span id="cb378-3"><a href="#cb378-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb378-4"><a href="#cb378-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb378-5"><a href="#cb378-5" aria-hidden="true" tabindex="-1"></a> untickedBox = No,</span> -<span id="cb378-6"><a href="#cb378-6" aria-hidden="true" tabindex="-1"></a> tickedBox = Yes,</span> -<span id="cb378-7"><a href="#cb378-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb378-8"><a href="#cb378-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb378-9"><a href="#cb378-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb378-10"><a href="#cb378-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb378-11"><a href="#cb378-11" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> -<span id="cb378-12"><a href="#cb378-12" aria-hidden="true" tabindex="-1"></a>- [x] I can!</span> -<span id="cb378-13"><a href="#cb378-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb378-14"><a href="#cb378-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb382"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb382-1"><a href="#cb382-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb382-2"><a href="#cb382-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span> +<span id="cb382-3"><a href="#cb382-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb382-4"><a href="#cb382-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb382-5"><a href="#cb382-5" aria-hidden="true" tabindex="-1"></a> untickedBox = No,</span> +<span id="cb382-6"><a href="#cb382-6" aria-hidden="true" tabindex="-1"></a> tickedBox = Yes,</span> +<span id="cb382-7"><a href="#cb382-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb382-8"><a href="#cb382-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb382-9"><a href="#cb382-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb382-10"><a href="#cb382-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb382-11"><a href="#cb382-11" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> +<span id="cb382-12"><a href="#cb382-12" aria-hidden="true" tabindex="-1"></a>- [x] I can!</span> +<span id="cb382-13"><a href="#cb382-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb382-14"><a href="#cb382-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb379"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb379-1"><a href="#cb379-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb383"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb383-1"><a href="#cb383-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6370,20 +6436,20 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb380"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb380-1"><a href="#cb380-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb380-2"><a href="#cb380-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[taskLists = yes]</span> -<span id="cb380-3"><a href="#cb380-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span> -<span id="cb380-4"><a href="#cb380-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span> -<span id="cb380-5"><a href="#cb380-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb380-6"><a href="#cb380-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb380-7"><a href="#cb380-7" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> -<span id="cb380-8"><a href="#cb380-8" aria-hidden="true" tabindex="-1"></a>- [x] I can!</span> -<span id="cb380-9"><a href="#cb380-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb380-10"><a href="#cb380-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb384"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb384-1"><a href="#cb384-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb384-2"><a href="#cb384-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[taskLists = yes]</span> +<span id="cb384-3"><a href="#cb384-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span> +<span id="cb384-4"><a href="#cb384-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span> +<span id="cb384-5"><a href="#cb384-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb384-6"><a href="#cb384-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb384-7"><a href="#cb384-7" aria-hidden="true" tabindex="-1"></a>- [ ] you can't.</span> +<span id="cb384-8"><a href="#cb384-8" aria-hidden="true" tabindex="-1"></a>- [x] I can!</span> +<span id="cb384-9"><a href="#cb384-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb384-10"><a href="#cb384-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb381"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb381-1"><a href="#cb381-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb385"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb385-1"><a href="#cb385-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6404,81 +6470,81 @@ number of markdown documents. Additionally, markdown documents may appear not only in a sequence, but several markdown documents may also be <em>nested</em>. Redefinitions of the macros should take this into account.</p> -<h5 class="unnumbered" id="latex-example-44"><span +<h5 class="unnumbered" id="latex-example-45"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>nested.md</code> with the following content:</p> -<div class="sourceCode" id="cb382"><pre -class="sourceCode md"><code class="sourceCode markdown"><span id="cb382-1"><a href="#cb382-1" aria-hidden="true" tabindex="-1"></a>This is a *nested* markdown document.</span></code></pre></div> +<div class="sourceCode" id="cb386"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb386-1"><a href="#cb386-1" aria-hidden="true" tabindex="-1"></a>This is a *nested* markdown document.</span></code></pre></div> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb383"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb383-1"><a href="#cb383-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb383-2"><a href="#cb383-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> -<span id="cb383-3"><a href="#cb383-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb383-4"><a href="#cb383-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb383-5"><a href="#cb383-5" aria-hidden="true" tabindex="-1"></a> contentBlock = {<span class="co">%</span></span> -<span id="cb383-6"><a href="#cb383-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\markdownInput</span>{#3}<span class="co">%</span></span> -<span id="cb383-7"><a href="#cb383-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-8"><a href="#cb383-8" aria-hidden="true" tabindex="-1"></a> documentBegin = {<span class="co">%</span></span> -<span id="cb383-9"><a href="#cb383-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-10"><a href="#cb383-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a document)}</span> -<span id="cb383-11"><a href="#cb383-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-12"><a href="#cb383-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> -<span id="cb383-13"><a href="#cb383-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\markdownSetup</span>{snippet=first-nesting-level}<span class="co">%</span></span> -<span id="cb383-14"><a href="#cb383-14" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-15"><a href="#cb383-15" aria-hidden="true" tabindex="-1"></a> documentEnd = {<span class="co">%</span></span> -<span id="cb383-16"><a href="#cb383-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\endgroup</span></span> -<span id="cb383-17"><a href="#cb383-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-18"><a href="#cb383-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a document)}</span> -<span id="cb383-19"><a href="#cb383-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-20"><a href="#cb383-20" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-21"><a href="#cb383-21" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-22"><a href="#cb383-22" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb383-23"><a href="#cb383-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetupSnippet</span>{first-nesting-level}{</span> -<span id="cb383-24"><a href="#cb383-24" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb383-25"><a href="#cb383-25" aria-hidden="true" tabindex="-1"></a> documentBegin = {</span> -<span id="cb383-26"><a href="#cb383-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-27"><a href="#cb383-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a nested document)}</span> -<span id="cb383-28"><a href="#cb383-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-29"><a href="#cb383-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> -<span id="cb383-30"><a href="#cb383-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\markdownSetup</span>{snippet=second-nesting-level-and-below}</span> -<span id="cb383-31"><a href="#cb383-31" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-32"><a href="#cb383-32" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-33"><a href="#cb383-33" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb383-34"><a href="#cb383-34" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetupSnippet</span>{second-nesting-level-and-below}{</span> -<span id="cb383-35"><a href="#cb383-35" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb383-36"><a href="#cb383-36" aria-hidden="true" tabindex="-1"></a> documentBegin = {</span> -<span id="cb383-37"><a href="#cb383-37" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-38"><a href="#cb383-38" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a nested document)}</span> -<span id="cb383-39"><a href="#cb383-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-40"><a href="#cb383-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> -<span id="cb383-41"><a href="#cb383-41" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-42"><a href="#cb383-42" aria-hidden="true" tabindex="-1"></a> documentEnd = {</span> -<span id="cb383-43"><a href="#cb383-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\endgroup</span></span> -<span id="cb383-44"><a href="#cb383-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-45"><a href="#cb383-45" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a nested document)}</span> -<span id="cb383-46"><a href="#cb383-46" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb383-47"><a href="#cb383-47" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-48"><a href="#cb383-48" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb383-49"><a href="#cb383-49" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb383-50"><a href="#cb383-50" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb383-51"><a href="#cb383-51" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-52"><a href="#cb383-52" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> -<span id="cb383-53"><a href="#cb383-53" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb383-54"><a href="#cb383-54" aria-hidden="true" tabindex="-1"></a>/nested.md</span> -<span id="cb383-55"><a href="#cb383-55" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb383-56"><a href="#cb383-56" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> -<span id="cb383-57"><a href="#cb383-57" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-58"><a href="#cb383-58" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-59"><a href="#cb383-59" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb383-60"><a href="#cb383-60" aria-hidden="true" tabindex="-1"></a>Bar baz!</span> -<span id="cb383-61"><a href="#cb383-61" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb383-62"><a href="#cb383-62" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-63"><a href="#cb383-63" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb387"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb387-1"><a href="#cb387-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb387-2"><a href="#cb387-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> +<span id="cb387-3"><a href="#cb387-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb387-4"><a href="#cb387-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb387-5"><a href="#cb387-5" aria-hidden="true" tabindex="-1"></a> contentBlock = {<span class="co">%</span></span> +<span id="cb387-6"><a href="#cb387-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\markdownInput</span>{#3}<span class="co">%</span></span> +<span id="cb387-7"><a href="#cb387-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-8"><a href="#cb387-8" aria-hidden="true" tabindex="-1"></a> documentBegin = {<span class="co">%</span></span> +<span id="cb387-9"><a href="#cb387-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-10"><a href="#cb387-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a document)}</span> +<span id="cb387-11"><a href="#cb387-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-12"><a href="#cb387-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> +<span id="cb387-13"><a href="#cb387-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\markdownSetup</span>{snippet=first-nesting-level}<span class="co">%</span></span> +<span id="cb387-14"><a href="#cb387-14" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-15"><a href="#cb387-15" aria-hidden="true" tabindex="-1"></a> documentEnd = {<span class="co">%</span></span> +<span id="cb387-16"><a href="#cb387-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\endgroup</span></span> +<span id="cb387-17"><a href="#cb387-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-18"><a href="#cb387-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a document)}</span> +<span id="cb387-19"><a href="#cb387-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-20"><a href="#cb387-20" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-21"><a href="#cb387-21" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-22"><a href="#cb387-22" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb387-23"><a href="#cb387-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetupSnippet</span>{first-nesting-level}{</span> +<span id="cb387-24"><a href="#cb387-24" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb387-25"><a href="#cb387-25" aria-hidden="true" tabindex="-1"></a> documentBegin = {</span> +<span id="cb387-26"><a href="#cb387-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-27"><a href="#cb387-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a nested document)}</span> +<span id="cb387-28"><a href="#cb387-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-29"><a href="#cb387-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> +<span id="cb387-30"><a href="#cb387-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\markdownSetup</span>{snippet=second-nesting-level-and-below}</span> +<span id="cb387-31"><a href="#cb387-31" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-32"><a href="#cb387-32" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-33"><a href="#cb387-33" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb387-34"><a href="#cb387-34" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetupSnippet</span>{second-nesting-level-and-below}{</span> +<span id="cb387-35"><a href="#cb387-35" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb387-36"><a href="#cb387-36" aria-hidden="true" tabindex="-1"></a> documentBegin = {</span> +<span id="cb387-37"><a href="#cb387-37" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-38"><a href="#cb387-38" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a nested document)}</span> +<span id="cb387-39"><a href="#cb387-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-40"><a href="#cb387-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> +<span id="cb387-41"><a href="#cb387-41" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-42"><a href="#cb387-42" aria-hidden="true" tabindex="-1"></a> documentEnd = {</span> +<span id="cb387-43"><a href="#cb387-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\endgroup</span></span> +<span id="cb387-44"><a href="#cb387-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-45"><a href="#cb387-45" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a nested document)}</span> +<span id="cb387-46"><a href="#cb387-46" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb387-47"><a href="#cb387-47" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-48"><a href="#cb387-48" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb387-49"><a href="#cb387-49" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb387-50"><a href="#cb387-50" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb387-51"><a href="#cb387-51" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb387-52"><a href="#cb387-52" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb387-53"><a href="#cb387-53" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb387-54"><a href="#cb387-54" aria-hidden="true" tabindex="-1"></a>/nested.md</span> +<span id="cb387-55"><a href="#cb387-55" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb387-56"><a href="#cb387-56" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> +<span id="cb387-57"><a href="#cb387-57" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb387-58"><a href="#cb387-58" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb387-59"><a href="#cb387-59" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb387-60"><a href="#cb387-60" aria-hidden="true" tabindex="-1"></a>Bar baz!</span> +<span id="cb387-61"><a href="#cb387-61" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb387-62"><a href="#cb387-62" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb387-63"><a href="#cb387-63" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb384"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb384-1"><a href="#cb384-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb388"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb388-1"><a href="#cb388-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6503,22 +6569,22 @@ receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb385"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb385-1"><a href="#cb385-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb385-2"><a href="#cb385-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb385-3"><a href="#cb385-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb385-4"><a href="#cb385-4" aria-hidden="true" tabindex="-1"></a> {<span class="fu">\it</span>(The end of a block)}<span class="co">%</span></span> -<span id="cb385-5"><a href="#cb385-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb385-6"><a href="#cb385-6" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb385-7"><a href="#cb385-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb385-8"><a href="#cb385-8" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> -<span id="cb385-9"><a href="#cb385-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb385-10"><a href="#cb385-10" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> -<span id="cb385-11"><a href="#cb385-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb385-12"><a href="#cb385-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb389"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb389-1"><a href="#cb389-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb389-2"><a href="#cb389-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb389-3"><a href="#cb389-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb389-4"><a href="#cb389-4" aria-hidden="true" tabindex="-1"></a> {<span class="fu">\it</span>(The end of a block)}<span class="co">%</span></span> +<span id="cb389-5"><a href="#cb389-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb389-6"><a href="#cb389-6" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb389-7"><a href="#cb389-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb389-8"><a href="#cb389-8" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb389-9"><a href="#cb389-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb389-10"><a href="#cb389-10" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> +<span id="cb389-11"><a href="#cb389-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb389-12"><a href="#cb389-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb386"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb386-1"><a href="#cb386-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb390"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb390-1"><a href="#cb390-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6526,32 +6592,32 @@ contain the following text:</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 class="unnumbered" id="latex-example-45"><span +<h5 class="unnumbered" id="latex-example-46"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb387"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb387-1"><a href="#cb387-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb387-2"><a href="#cb387-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb387-3"><a href="#cb387-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb387-4"><a href="#cb387-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb387-5"><a href="#cb387-5" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb387-6"><a href="#cb387-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb387-7"><a href="#cb387-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span> -<span id="cb387-8"><a href="#cb387-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb387-9"><a href="#cb387-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb387-10"><a href="#cb387-10" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb387-11"><a href="#cb387-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb387-12"><a href="#cb387-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb387-13"><a href="#cb387-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb387-14"><a href="#cb387-14" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> -<span id="cb387-15"><a href="#cb387-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb387-16"><a href="#cb387-16" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> -<span id="cb387-17"><a href="#cb387-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb387-18"><a href="#cb387-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb391"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb391-1"><a href="#cb391-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb391-2"><a href="#cb391-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb391-3"><a href="#cb391-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb391-4"><a href="#cb391-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb391-5"><a href="#cb391-5" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> +<span id="cb391-6"><a href="#cb391-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb391-7"><a href="#cb391-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span> +<span id="cb391-8"><a href="#cb391-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb391-9"><a href="#cb391-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb391-10"><a href="#cb391-10" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb391-11"><a href="#cb391-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb391-12"><a href="#cb391-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb391-13"><a href="#cb391-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb391-14"><a href="#cb391-14" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb391-15"><a href="#cb391-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb391-16"><a href="#cb391-16" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> +<span id="cb391-17"><a href="#cb391-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb391-18"><a href="#cb391-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb388"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb388-1"><a href="#cb388-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb392"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb392-1"><a href="#cb392-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6563,23 +6629,23 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb389"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb389-1"><a href="#cb389-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb389-2"><a href="#cb389-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb389-3"><a href="#cb389-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb389-4"><a href="#cb389-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span> -<span id="cb389-5"><a href="#cb389-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb389-6"><a href="#cb389-6" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb389-7"><a href="#cb389-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb389-8"><a href="#cb389-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb389-9"><a href="#cb389-9" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> -<span id="cb389-10"><a href="#cb389-10" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb389-11"><a href="#cb389-11" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> -<span id="cb389-12"><a href="#cb389-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb389-13"><a href="#cb389-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb393"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb393-1"><a href="#cb393-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb393-2"><a href="#cb393-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb393-3"><a href="#cb393-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb393-4"><a href="#cb393-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span> +<span id="cb393-5"><a href="#cb393-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb393-6"><a href="#cb393-6" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb393-7"><a href="#cb393-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb393-8"><a href="#cb393-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb393-9"><a href="#cb393-9" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb393-10"><a href="#cb393-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb393-11"><a href="#cb393-11" aria-hidden="true" tabindex="-1"></a>_Foo_ bar!</span> +<span id="cb393-12"><a href="#cb393-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb393-13"><a href="#cb393-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb390"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb390-1"><a href="#cb390-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb394"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb394-1"><a href="#cb394-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6595,15 +6661,15 @@ line break. The macro receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb391"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb391-1"><a href="#cb391-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb391-2"><a href="#cb391-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span> -<span id="cb391-3"><a href="#cb391-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb391-4"><a href="#cb391-4" aria-hidden="true" tabindex="-1"></a> {<span class="fu">\it</span>(A forced linebreak)}<span class="co">%</span></span> -<span id="cb391-5"><a href="#cb391-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb391-6"><a href="#cb391-6" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb391-7"><a href="#cb391-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb391-8"><a href="#cb391-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb395"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb395-1"><a href="#cb395-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb395-2"><a href="#cb395-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span> +<span id="cb395-3"><a href="#cb395-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb395-4"><a href="#cb395-4" aria-hidden="true" tabindex="-1"></a> {<span class="fu">\it</span>(A forced linebreak)}<span class="co">%</span></span> +<span id="cb395-5"><a href="#cb395-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb395-6"><a href="#cb395-6" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb395-7"><a href="#cb395-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb395-8"><a href="#cb395-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the @@ -6612,8 +6678,8 @@ processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> <pre><code>Hello world! <br/>_Foo_ bar!</code></pre> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb392"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb392-1"><a href="#cb392-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb396"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb396-1"><a href="#cb396-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6621,25 +6687,25 @@ contain the following text:</p> <p><em>(A forced linebreak)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 class="unnumbered" id="latex-example-46"><span +<h5 class="unnumbered" id="latex-example-47"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb393"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb393-1"><a href="#cb393-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb393-2"><a href="#cb393-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb393-3"><a href="#cb393-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb393-4"><a href="#cb393-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb393-5"><a href="#cb393-5" aria-hidden="true" tabindex="-1"></a> lineBreak = {<span class="co">%</span></span> -<span id="cb393-6"><a href="#cb393-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb393-7"><a href="#cb393-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span> -<span id="cb393-8"><a href="#cb393-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb393-9"><a href="#cb393-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb393-10"><a href="#cb393-10" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb393-11"><a href="#cb393-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb393-12"><a href="#cb393-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb393-13"><a href="#cb393-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb393-14"><a href="#cb393-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb397"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb397-1"><a href="#cb397-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb397-2"><a href="#cb397-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb397-3"><a href="#cb397-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb397-4"><a href="#cb397-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb397-5"><a href="#cb397-5" aria-hidden="true" tabindex="-1"></a> lineBreak = {<span class="co">%</span></span> +<span id="cb397-6"><a href="#cb397-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb397-7"><a href="#cb397-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span> +<span id="cb397-8"><a href="#cb397-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb397-9"><a href="#cb397-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb397-10"><a href="#cb397-10" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb397-11"><a href="#cb397-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb397-12"><a href="#cb397-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb397-13"><a href="#cb397-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb397-14"><a href="#cb397-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the @@ -6648,8 +6714,8 @@ processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> <pre><code>Hello world! <br/>_Foo_ bar!</code></pre> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb394"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb394-1"><a href="#cb394-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb398"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb398-1"><a href="#cb398-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6661,16 +6727,16 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb395"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb395-1"><a href="#cb395-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb395-2"><a href="#cb395-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span> -<span id="cb395-3"><a href="#cb395-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb395-4"><a href="#cb395-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span> -<span id="cb395-5"><a href="#cb395-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb395-6"><a href="#cb395-6" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb395-7"><a href="#cb395-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb395-8"><a href="#cb395-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb395-9"><a href="#cb395-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb399"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb399-1"><a href="#cb399-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb399-2"><a href="#cb399-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span> +<span id="cb399-3"><a href="#cb399-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb399-4"><a href="#cb399-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span> +<span id="cb399-5"><a href="#cb399-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb399-6"><a href="#cb399-6" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb399-7"><a href="#cb399-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb399-8"><a href="#cb399-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>{example.md}</span> +<span id="cb399-9"><a href="#cb399-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the @@ -6679,8 +6745,8 @@ processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> <pre><code>Hello world! <br/>_Foo_ bar!</code></pre> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb396"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb396-1"><a href="#cb396-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb400"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb400-1"><a href="#cb400-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6698,42 +6764,42 @@ enabled. The macro receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb397"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb397-1"><a href="#cb397-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb397-2"><a href="#cb397-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span> -<span id="cb397-3"><a href="#cb397-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{{<span class="fu">\it</span> SHAZAM}!}</span> -<span id="cb397-4"><a href="#cb397-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb397-5"><a href="#cb397-5" aria-hidden="true" tabindex="-1"></a>The secret word is ...</span> -<span id="cb397-6"><a href="#cb397-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb397-7"><a href="#cb397-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb401"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb401-1"><a href="#cb401-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb401-2"><a href="#cb401-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span> +<span id="cb401-3"><a href="#cb401-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{{<span class="fu">\it</span> SHAZAM}!}</span> +<span id="cb401-4"><a href="#cb401-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb401-5"><a href="#cb401-5" aria-hidden="true" tabindex="-1"></a>The secret word is ...</span> +<span id="cb401-6"><a href="#cb401-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb401-7"><a href="#cb401-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb398"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb398-1"><a href="#cb398-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb402"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb402-1"><a href="#cb402-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>The secret word is <em>SHAZAM</em>!</p> </blockquote> -<h5 class="unnumbered" id="latex-example-47"><span +<h5 class="unnumbered" id="latex-example-48"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb399"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb399-1"><a href="#cb399-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb399-2"><a href="#cb399-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span> -<span id="cb399-3"><a href="#cb399-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb399-4"><a href="#cb399-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb399-5"><a href="#cb399-5" aria-hidden="true" tabindex="-1"></a> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</span> -<span id="cb399-6"><a href="#cb399-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb399-7"><a href="#cb399-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb399-8"><a href="#cb399-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb399-9"><a href="#cb399-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb399-10"><a href="#cb399-10" aria-hidden="true" tabindex="-1"></a>The secret word is ...</span> -<span id="cb399-11"><a href="#cb399-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb399-12"><a href="#cb399-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb403"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb403-1"><a href="#cb403-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb403-2"><a href="#cb403-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span> +<span id="cb403-3"><a href="#cb403-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb403-4"><a href="#cb403-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb403-5"><a href="#cb403-5" aria-hidden="true" tabindex="-1"></a> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</span> +<span id="cb403-6"><a href="#cb403-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb403-7"><a href="#cb403-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb403-8"><a href="#cb403-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb403-9"><a href="#cb403-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb403-10"><a href="#cb403-10" aria-hidden="true" tabindex="-1"></a>The secret word is ...</span> +<span id="cb403-11"><a href="#cb403-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb403-12"><a href="#cb403-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb400"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb400-1"><a href="#cb400-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb404"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb404-1"><a href="#cb404-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6743,18 +6809,18 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb401"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb401-1"><a href="#cb401-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb401-2"><a href="#cb401-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[smartEllipses = yes]</span> -<span id="cb401-3"><a href="#cb401-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{<span class="fu">\emph</span>{SHAZAM}!}</span> -<span id="cb401-4"><a href="#cb401-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb401-5"><a href="#cb401-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb401-6"><a href="#cb401-6" aria-hidden="true" tabindex="-1"></a>The secret word is ...</span> -<span id="cb401-7"><a href="#cb401-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb401-8"><a href="#cb401-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb405"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb405-1"><a href="#cb405-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb405-2"><a href="#cb405-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[smartEllipses = yes]</span> +<span id="cb405-3"><a href="#cb405-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEllipsis</span>{<span class="fu">\emph</span>{SHAZAM}!}</span> +<span id="cb405-4"><a href="#cb405-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb405-5"><a href="#cb405-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb405-6"><a href="#cb405-6" aria-hidden="true" tabindex="-1"></a>The secret word is ...</span> +<span id="cb405-7"><a href="#cb405-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb405-8"><a href="#cb405-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb402"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb402-1"><a href="#cb402-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb406"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb406-1"><a href="#cb406-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6767,46 +6833,46 @@ class="header-section-number">2.3.1.6</span> Non-Breaking Space Renderer</h4> <p>The <code>\markdownRendererNbsp</code> macro represents a non-breaking space.</p> -<h5 class="unnumbered" id="latex-example-48"><span +<h5 class="unnumbered" id="latex-example-49"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.bib</code> with the following content:</p> -<div class="sourceCode" id="cb403"><pre -class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb403-1"><a href="#cb403-1" aria-hidden="true" tabindex="-1"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> -<span id="cb403-2"><a href="#cb403-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> -<span id="cb403-3"><a href="#cb403-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">title</span> = "<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>",</span> -<span id="cb403-4"><a href="#cb403-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> -<span id="cb403-5"><a href="#cb403-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> -<span id="cb403-6"><a href="#cb403-6" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb407"><pre +class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb407-1"><a href="#cb407-1" aria-hidden="true" tabindex="-1"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> +<span id="cb407-2"><a href="#cb407-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> +<span id="cb407-3"><a href="#cb407-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">title</span> = "<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>",</span> +<span id="cb407-4"><a href="#cb407-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> +<span id="cb407-5"><a href="#cb407-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> +<span id="cb407-6"><a href="#cb407-6" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb404"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb404-1"><a href="#cb404-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb404-2"><a href="#cb404-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[</span> -<span id="cb404-3"><a href="#cb404-3" aria-hidden="true" tabindex="-1"></a> citations,</span> -<span id="cb404-4"><a href="#cb404-4" aria-hidden="true" tabindex="-1"></a> citationNbsps,</span> -<span id="cb404-5"><a href="#cb404-5" aria-hidden="true" tabindex="-1"></a>]{<span class="ex">markdown</span>}</span> -<span id="cb404-6"><a href="#cb404-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb404-7"><a href="#cb404-7" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb404-8"><a href="#cb404-8" aria-hidden="true" tabindex="-1"></a> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</span> -<span id="cb404-9"><a href="#cb404-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb404-10"><a href="#cb404-10" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb404-11"><a href="#cb404-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb404-12"><a href="#cb404-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb404-13"><a href="#cb404-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb404-14"><a href="#cb404-14" aria-hidden="true" tabindex="-1"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> -<span id="cb404-15"><a href="#cb404-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb404-16"><a href="#cb404-16" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb404-17"><a href="#cb404-17" aria-hidden="true" tabindex="-1"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span> -<span id="cb404-18"><a href="#cb404-18" aria-hidden="true" tabindex="-1"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span> -<span id="cb404-19"><a href="#cb404-19" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb404-20"><a href="#cb404-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb408"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb408-1"><a href="#cb408-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb408-2"><a href="#cb408-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[</span> +<span id="cb408-3"><a href="#cb408-3" aria-hidden="true" tabindex="-1"></a> citations,</span> +<span id="cb408-4"><a href="#cb408-4" aria-hidden="true" tabindex="-1"></a> citationNbsps,</span> +<span id="cb408-5"><a href="#cb408-5" aria-hidden="true" tabindex="-1"></a>]{<span class="ex">markdown</span>}</span> +<span id="cb408-6"><a href="#cb408-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb408-7"><a href="#cb408-7" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb408-8"><a href="#cb408-8" aria-hidden="true" tabindex="-1"></a> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</span> +<span id="cb408-9"><a href="#cb408-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb408-10"><a href="#cb408-10" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb408-11"><a href="#cb408-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb408-12"><a href="#cb408-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb408-13"><a href="#cb408-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb408-14"><a href="#cb408-14" aria-hidden="true" tabindex="-1"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> +<span id="cb408-15"><a href="#cb408-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb408-16"><a href="#cb408-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb408-17"><a href="#cb408-17" aria-hidden="true" tabindex="-1"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span> +<span id="cb408-18"><a href="#cb408-18" aria-hidden="true" tabindex="-1"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span> +<span id="cb408-19"><a href="#cb408-19" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb408-20"><a href="#cb408-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX and BibTeX from the terminal:</p> -<div class="sourceCode" id="cb405"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb405-1"><a href="#cb405-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb405-2"><a href="#cb405-2" aria-hidden="true" tabindex="-1"></a><span class="ex">bibtex</span> document.aux</span> -<span id="cb405-3"><a href="#cb405-3" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb405-4"><a href="#cb405-4" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb409"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb409-1"><a href="#cb409-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb409-2"><a href="#cb409-2" aria-hidden="true" tabindex="-1"></a><span class="ex">bibtex</span> document.aux</span> +<span id="cb409-3"><a href="#cb409-3" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb409-4"><a href="#cb409-4" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6855,45 +6921,45 @@ class="tex">T<sub>e</sub>X</span> Example</h5> tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p> -<div class="sourceCode" id="cb406"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb406-1"><a href="#cb406-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb406-2"><a href="#cb406-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span> -<span id="cb406-3"><a href="#cb406-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb406-4"><a href="#cb406-4" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb406-5"><a href="#cb406-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb406-6"><a href="#cb406-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb410"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb410-1"><a href="#cb410-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb410-2"><a href="#cb410-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span> +<span id="cb410-3"><a href="#cb410-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb410-4"><a href="#cb410-4" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> +<span id="cb410-5"><a href="#cb410-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb410-6"><a href="#cb410-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb407"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb407-1"><a href="#cb407-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb411"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb411-1"><a href="#cb411-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p> <blockquote> <p>Bartel·Leendert van·der·Waerden</p> </blockquote> -<h5 class="unnumbered" id="latex-example-49"><span +<h5 class="unnumbered" id="latex-example-50"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p> -<div class="sourceCode" id="cb408"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb408-1"><a href="#cb408-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb408-2"><a href="#cb408-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb408-3"><a href="#cb408-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb408-4"><a href="#cb408-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb408-5"><a href="#cb408-5" aria-hidden="true" tabindex="-1"></a> tilde = ~,</span> -<span id="cb408-6"><a href="#cb408-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb408-7"><a href="#cb408-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb408-8"><a href="#cb408-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb408-9"><a href="#cb408-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb408-10"><a href="#cb408-10" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb408-11"><a href="#cb408-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb408-12"><a href="#cb408-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb412"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb412-1"><a href="#cb412-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb412-2"><a href="#cb412-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb412-3"><a href="#cb412-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb412-4"><a href="#cb412-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb412-5"><a href="#cb412-5" aria-hidden="true" tabindex="-1"></a> tilde = ~,</span> +<span id="cb412-6"><a href="#cb412-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb412-7"><a href="#cb412-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb412-8"><a href="#cb412-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb412-9"><a href="#cb412-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb412-10"><a href="#cb412-10" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> +<span id="cb412-11"><a href="#cb412-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb412-12"><a href="#cb412-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb409"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb409-1"><a href="#cb409-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb413"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb413-1"><a href="#cb413-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p> @@ -6907,17 +6973,17 @@ class="tex">T<sub>e</sub>X</span>t Example</h5> tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p> -<div class="sourceCode" id="cb410"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb410-1"><a href="#cb410-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb410-2"><a href="#cb410-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span> -<span id="cb410-3"><a href="#cb410-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb410-4"><a href="#cb410-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb410-5"><a href="#cb410-5" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb410-6"><a href="#cb410-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb410-7"><a href="#cb410-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb414"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb414-1"><a href="#cb414-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb414-2"><a href="#cb414-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span> +<span id="cb414-3"><a href="#cb414-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb414-4"><a href="#cb414-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb414-5"><a href="#cb414-5" aria-hidden="true" tabindex="-1"></a>Bartel~Leendert van~der~Waerden</span> +<span id="cb414-6"><a href="#cb414-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb414-7"><a href="#cb414-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb411"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb411-1"><a href="#cb411-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb415"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb415-1"><a href="#cb415-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p> @@ -6926,34 +6992,34 @@ non-breaking space:</p> </blockquote> <h4 data-number="2.3.1.8" id="code-span-renderer"><span class="header-section-number">2.3.1.8</span> Code Span Renderer</h4> -<p>The <code>\markdownRendererCodeSpan</code> macro represents inlined +<p>The <code>\markdownRendererCodeSpan</code> macro represents inline code span in the input text. It receives a single argument that -corresponds to the inlined code span.</p> +corresponds to the inline code span.</p> <h5 class="unnumbered" id="plain-tex-example-22">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb412"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb412-1"><a href="#cb412-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb412-2"><a href="#cb412-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb412-3"><a href="#cb412-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb412-4"><a href="#cb412-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span> -<span id="cb412-5"><a href="#cb412-5" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb412-6"><a href="#cb412-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb412-7"><a href="#cb412-7" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> -<span id="cb412-8"><a href="#cb412-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb412-9"><a href="#cb412-9" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb412-10"><a href="#cb412-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb412-11"><a href="#cb412-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb412-12"><a href="#cb412-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> -<span id="cb412-13"><a href="#cb412-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb412-14"><a href="#cb412-14" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb412-15"><a href="#cb412-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb412-16"><a href="#cb412-16" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb412-17"><a href="#cb412-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb416"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb416-1"><a href="#cb416-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb416-2"><a href="#cb416-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb416-3"><a href="#cb416-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb416-4"><a href="#cb416-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span> +<span id="cb416-5"><a href="#cb416-5" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb416-6"><a href="#cb416-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb416-7"><a href="#cb416-7" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> +<span id="cb416-8"><a href="#cb416-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb416-9"><a href="#cb416-9" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> +<span id="cb416-10"><a href="#cb416-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb416-11"><a href="#cb416-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb416-12"><a href="#cb416-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> +<span id="cb416-13"><a href="#cb416-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb416-14"><a href="#cb416-14" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> +<span id="cb416-15"><a href="#cb416-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb416-16"><a href="#cb416-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb416-17"><a href="#cb416-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb413"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb413-1"><a href="#cb413-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb417"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb417-1"><a href="#cb417-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -6961,34 +7027,34 @@ contain the following text:</p> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-50"><span +<h5 class="unnumbered" id="latex-example-51"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb414"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb414-1"><a href="#cb414-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb414-2"><a href="#cb414-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span> -<span id="cb414-3"><a href="#cb414-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb414-4"><a href="#cb414-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb414-5"><a href="#cb414-5" aria-hidden="true" tabindex="-1"></a> codeSpan = {#1},</span> -<span id="cb414-6"><a href="#cb414-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb414-7"><a href="#cb414-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb414-8"><a href="#cb414-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb414-9"><a href="#cb414-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb414-10"><a href="#cb414-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb414-11"><a href="#cb414-11" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> -<span id="cb414-12"><a href="#cb414-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb414-13"><a href="#cb414-13" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb414-14"><a href="#cb414-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb414-15"><a href="#cb414-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb414-16"><a href="#cb414-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> -<span id="cb414-17"><a href="#cb414-17" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb414-18"><a href="#cb414-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb414-19"><a href="#cb414-19" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb414-20"><a href="#cb414-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb418"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb418-1"><a href="#cb418-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb418-2"><a href="#cb418-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span> +<span id="cb418-3"><a href="#cb418-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb418-4"><a href="#cb418-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb418-5"><a href="#cb418-5" aria-hidden="true" tabindex="-1"></a> codeSpan = {#1},</span> +<span id="cb418-6"><a href="#cb418-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb418-7"><a href="#cb418-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb418-8"><a href="#cb418-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb418-9"><a href="#cb418-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb418-10"><a href="#cb418-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb418-11"><a href="#cb418-11" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> +<span id="cb418-12"><a href="#cb418-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb418-13"><a href="#cb418-13" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> +<span id="cb418-14"><a href="#cb418-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb418-15"><a href="#cb418-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb418-16"><a href="#cb418-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> +<span id="cb418-17"><a href="#cb418-17" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> +<span id="cb418-18"><a href="#cb418-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb418-19"><a href="#cb418-19" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb418-20"><a href="#cb418-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb415"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb415-1"><a href="#cb415-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb419"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb419-1"><a href="#cb419-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7000,26 +7066,26 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb416"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb416-1"><a href="#cb416-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb416-2"><a href="#cb416-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span> -<span id="cb416-3"><a href="#cb416-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb416-4"><a href="#cb416-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb416-5"><a href="#cb416-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb416-6"><a href="#cb416-6" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> -<span id="cb416-7"><a href="#cb416-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb416-8"><a href="#cb416-8" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb416-9"><a href="#cb416-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb416-10"><a href="#cb416-10" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb416-11"><a href="#cb416-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> -<span id="cb416-12"><a href="#cb416-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb416-13"><a href="#cb416-13" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb416-14"><a href="#cb416-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb416-15"><a href="#cb416-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb416-16"><a href="#cb416-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb420"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb420-1"><a href="#cb420-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb420-2"><a href="#cb420-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span> +<span id="cb420-3"><a href="#cb420-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb420-4"><a href="#cb420-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb420-5"><a href="#cb420-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb420-6"><a href="#cb420-6" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> +<span id="cb420-7"><a href="#cb420-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb420-8"><a href="#cb420-8" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> +<span id="cb420-9"><a href="#cb420-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb420-10"><a href="#cb420-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb420-11"><a href="#cb420-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> +<span id="cb420-12"><a href="#cb420-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb420-13"><a href="#cb420-13" aria-hidden="true" tabindex="-1"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> +<span id="cb420-14"><a href="#cb420-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb420-15"><a href="#cb420-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb420-16"><a href="#cb420-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb417"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb417-1"><a href="#cb417-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb421"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb421-1"><a href="#cb421-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7037,21 +7103,21 @@ that can be used outside typesetting, and the title of the link.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb418"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb418-1"><a href="#cb418-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb418-2"><a href="#cb418-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb418-3"><a href="#cb418-3" aria-hidden="true" tabindex="-1"></a> #1 {<span class="fu">\tt</span>#2} titled {<span class="fu">\it</span>#4}<span class="co">%</span></span> -<span id="cb418-4"><a href="#cb418-4" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb418-5"><a href="#cb418-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb418-6"><a href="#cb418-6" aria-hidden="true" tabindex="-1"></a>Please visit [the link][ctan].</span> -<span id="cb418-7"><a href="#cb418-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb418-8"><a href="#cb418-8" aria-hidden="true" tabindex="-1"></a> [ctan]: https://ctan.org/</span> -<span id="cb418-9"><a href="#cb418-9" aria-hidden="true" tabindex="-1"></a> (the Comprehensive TeX Archive Network)</span> -<span id="cb418-10"><a href="#cb418-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb418-11"><a href="#cb418-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb422"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb422-1"><a href="#cb422-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb422-2"><a href="#cb422-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb422-3"><a href="#cb422-3" aria-hidden="true" tabindex="-1"></a> #1 {<span class="fu">\tt</span>#2} titled {<span class="fu">\it</span>#4}<span class="co">%</span></span> +<span id="cb422-4"><a href="#cb422-4" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb422-5"><a href="#cb422-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb422-6"><a href="#cb422-6" aria-hidden="true" tabindex="-1"></a>Please visit [the link][ctan].</span> +<span id="cb422-7"><a href="#cb422-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb422-8"><a href="#cb422-8" aria-hidden="true" tabindex="-1"></a> [ctan]: https://ctan.org/</span> +<span id="cb422-9"><a href="#cb422-9" aria-hidden="true" tabindex="-1"></a> (the Comprehensive TeX Archive Network)</span> +<span id="cb422-10"><a href="#cb422-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb422-11"><a href="#cb422-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb419"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb419-1"><a href="#cb419-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb423"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb423-1"><a href="#cb423-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7059,31 +7125,31 @@ contain the following text:</p> class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-51"><span +<h5 class="unnumbered" id="latex-example-52"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb420"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb420-1"><a href="#cb420-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb420-2"><a href="#cb420-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb420-3"><a href="#cb420-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb420-4"><a href="#cb420-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb420-5"><a href="#cb420-5" aria-hidden="true" tabindex="-1"></a> link = {<span class="co">%</span></span> -<span id="cb420-6"><a href="#cb420-6" aria-hidden="true" tabindex="-1"></a> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span> -<span id="cb420-7"><a href="#cb420-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb420-8"><a href="#cb420-8" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb420-9"><a href="#cb420-9" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb420-10"><a href="#cb420-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb420-11"><a href="#cb420-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb420-12"><a href="#cb420-12" aria-hidden="true" tabindex="-1"></a>Please visit [the link][ctan].</span> -<span id="cb420-13"><a href="#cb420-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb420-14"><a href="#cb420-14" aria-hidden="true" tabindex="-1"></a> [ctan]: https://ctan.org/</span> -<span id="cb420-15"><a href="#cb420-15" aria-hidden="true" tabindex="-1"></a> (the Comprehensive TeX Archive Network)</span> -<span id="cb420-16"><a href="#cb420-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb420-17"><a href="#cb420-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb424"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb424-1"><a href="#cb424-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb424-2"><a href="#cb424-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb424-3"><a href="#cb424-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb424-4"><a href="#cb424-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb424-5"><a href="#cb424-5" aria-hidden="true" tabindex="-1"></a> link = {<span class="co">%</span></span> +<span id="cb424-6"><a href="#cb424-6" aria-hidden="true" tabindex="-1"></a> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span> +<span id="cb424-7"><a href="#cb424-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb424-8"><a href="#cb424-8" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb424-9"><a href="#cb424-9" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb424-10"><a href="#cb424-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb424-11"><a href="#cb424-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb424-12"><a href="#cb424-12" aria-hidden="true" tabindex="-1"></a>Please visit [the link][ctan].</span> +<span id="cb424-13"><a href="#cb424-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb424-14"><a href="#cb424-14" aria-hidden="true" tabindex="-1"></a> [ctan]: https://ctan.org/</span> +<span id="cb424-15"><a href="#cb424-15" aria-hidden="true" tabindex="-1"></a> (the Comprehensive TeX Archive Network)</span> +<span id="cb424-16"><a href="#cb424-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb424-17"><a href="#cb424-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb421"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb421-1"><a href="#cb421-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb425"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb425-1"><a href="#cb425-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7095,22 +7161,22 @@ Archive Network</em>.</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb422"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb422-1"><a href="#cb422-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb422-2"><a href="#cb422-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb422-3"><a href="#cb422-3" aria-hidden="true" tabindex="-1"></a> #1 {<span class="fu">\tt</span>#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span> -<span id="cb422-4"><a href="#cb422-4" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb422-5"><a href="#cb422-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb422-6"><a href="#cb422-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb422-7"><a href="#cb422-7" aria-hidden="true" tabindex="-1"></a>Please visit [the link][ctan].</span> -<span id="cb422-8"><a href="#cb422-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb422-9"><a href="#cb422-9" aria-hidden="true" tabindex="-1"></a> [ctan]: https://ctan.org/</span> -<span id="cb422-10"><a href="#cb422-10" aria-hidden="true" tabindex="-1"></a> (the Comprehensive TeX Archive Network)</span> -<span id="cb422-11"><a href="#cb422-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb422-12"><a href="#cb422-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb426"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb426-1"><a href="#cb426-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb426-2"><a href="#cb426-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb426-3"><a href="#cb426-3" aria-hidden="true" tabindex="-1"></a> #1 {<span class="fu">\tt</span>#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span> +<span id="cb426-4"><a href="#cb426-4" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb426-5"><a href="#cb426-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb426-6"><a href="#cb426-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb426-7"><a href="#cb426-7" aria-hidden="true" tabindex="-1"></a>Please visit [the link][ctan].</span> +<span id="cb426-8"><a href="#cb426-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb426-9"><a href="#cb426-9" aria-hidden="true" tabindex="-1"></a> [ctan]: https://ctan.org/</span> +<span id="cb426-10"><a href="#cb426-10" aria-hidden="true" tabindex="-1"></a> (the Comprehensive TeX Archive Network)</span> +<span id="cb426-11"><a href="#cb426-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb426-12"><a href="#cb426-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb423"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb423-1"><a href="#cb423-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb427"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb427-1"><a href="#cb427-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7124,48 +7190,48 @@ class="header-section-number">2.3.1.10</span> Image Renderer</h4> receives four arguments: the label, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the link.</p> -<h5 class="unnumbered" id="latex-example-52"><span +<h5 class="unnumbered" id="latex-example-53"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb424"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb424-1"><a href="#cb424-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb424-2"><a href="#cb424-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb424-3"><a href="#cb424-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\begingroup</span></span> -<span id="cb424-4"><a href="#cb424-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</span> -<span id="cb424-5"><a href="#cb424-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> -<span id="cb424-6"><a href="#cb424-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</span> -<span id="cb424-7"><a href="#cb424-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\global\def\markdownRendererImage</span>#1#2#3#4{^^A</span> -<span id="cb424-8"><a href="#cb424-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\immediate\write</span>18{^^A</span></code></pre></div> -<div class="sourceCode" id="cb425"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb425-1"><a href="#cb425-1" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="bu">printf</span> <span class="st">'%s'</span> <span class="st">"#3"</span> <span class="kw">|</span> <span class="fu">grep</span> <span class="at">-q</span> ^http<span class="kw">;</span> <span class="cf">then</span></span> -<span id="cb425-2"><a href="#cb425-2" aria-hidden="true" tabindex="-1"></a> <span class="va">OUTPUT</span><span class="op">=</span><span class="st">"</span><span class="va">$(</span><span class="bu">printf</span> <span class="st">'%s'</span> <span class="st">"#3"</span> <span class="kw">|</span> <span class="fu">md5sum</span> <span class="kw">|</span> <span class="fu">cut</span> <span class="at">-d</span><span class="st">' '</span> <span class="at">-f1</span><span class="va">)</span><span class="st">.^^A</span></span> -<span id="cb425-3"><a href="#cb425-3" aria-hidden="true" tabindex="-1"></a><span class="st"> </span><span class="va">$(</span><span class="bu">printf</span> <span class="st">'%s'</span> <span class="st">"#3"</span> <span class="kw">|</span> <span class="fu">sed</span> <span class="st">'s/.*[.]//'</span><span class="va">)</span><span class="st">"</span><span class="kw">;</span></span> -<span id="cb425-4"><a href="#cb425-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="ot">! </span><span class="bu">[</span> <span class="ot">-e</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> <span class="bu">]</span><span class="kw">;</span> <span class="cf">then</span></span> -<span id="cb425-5"><a href="#cb425-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">wget</span> <span class="at">-O</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> <span class="st">'#3'</span> <span class="kw">||</span> <span class="fu">rm</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span><span class="kw">;</span></span> -<span id="cb425-6"><a href="#cb425-6" aria-hidden="true" tabindex="-1"></a> <span class="ex">convert</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> png:<span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span><span class="kw">;</span></span> -<span id="cb425-7"><a href="#cb425-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">fi</span><span class="kw">;</span></span> -<span id="cb425-8"><a href="#cb425-8" aria-hidden="true" tabindex="-1"></a> <span class="bu">printf</span> <span class="st">'%s%%'</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> <span class="op">></span> <span class="dt">\j</span>obname.fetched<span class="kw">;</span></span> -<span id="cb425-9"><a href="#cb425-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span></span> -<span id="cb425-10"><a href="#cb425-10" aria-hidden="true" tabindex="-1"></a> <span class="bu">printf</span> <span class="st">'%s%%'</span> <span class="st">"#3"</span> <span class="op">></span> <span class="dt">\j</span>obname.fetched<span class="kw">;</span></span> -<span id="cb425-11"><a href="#cb425-11" aria-hidden="true" tabindex="-1"></a> <span class="ex">fi^^A</span></span></code></pre></div> -<div class="sourceCode" id="cb426"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb426-1"><a href="#cb426-1" aria-hidden="true" tabindex="-1"></a> }^^A</span> -<span id="cb426-2"><a href="#cb426-2" aria-hidden="true" tabindex="-1"></a> {^^A</span> -<span id="cb426-3"><a href="#cb426-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\everyeof</span>={<span class="fu">\noexpand</span>}^^A</span> -<span id="cb426-4"><a href="#cb426-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\edef\filename</span>{<span class="fu">\_</span>_markdowninput"<span class="fu">\jobname</span>.fetched" }^^A</span> -<span id="cb426-5"><a href="#cb426-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">\includegraphics</span>[width=<span class="fu">\textwidth</span>]{<span class="fu">\filename</span>}^^A</span> -<span id="cb426-6"><a href="#cb426-6" aria-hidden="true" tabindex="-1"></a> }^^A</span> -<span id="cb426-7"><a href="#cb426-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb426-8"><a href="#cb426-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\endgroup</span></span> -<span id="cb426-9"><a href="#cb426-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb426-10"><a href="#cb426-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb426-11"><a href="#cb426-11" aria-hidden="true" tabindex="-1"></a>![TUGboat](https://tug.org/tugboat/noword.jpg)</span> -<span id="cb426-12"><a href="#cb426-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb426-13"><a href="#cb426-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb428"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb428-1"><a href="#cb428-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb428-2"><a href="#cb428-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb428-3"><a href="#cb428-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\begingroup</span></span> +<span id="cb428-4"><a href="#cb428-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</span> +<span id="cb428-5"><a href="#cb428-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> +<span id="cb428-6"><a href="#cb428-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</span> +<span id="cb428-7"><a href="#cb428-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\global\def\markdownRendererImage</span>#1#2#3#4{^^A</span> +<span id="cb428-8"><a href="#cb428-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\immediate\write</span>18{^^A</span></code></pre></div> +<div class="sourceCode" id="cb429"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb429-1"><a href="#cb429-1" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="bu">printf</span> <span class="st">'%s'</span> <span class="st">"#3"</span> <span class="kw">|</span> <span class="fu">grep</span> <span class="at">-q</span> ^http<span class="kw">;</span> <span class="cf">then</span></span> +<span id="cb429-2"><a href="#cb429-2" aria-hidden="true" tabindex="-1"></a> <span class="va">OUTPUT</span><span class="op">=</span><span class="st">"</span><span class="va">$(</span><span class="bu">printf</span> <span class="st">'%s'</span> <span class="st">"#3"</span> <span class="kw">|</span> <span class="fu">md5sum</span> <span class="kw">|</span> <span class="fu">cut</span> <span class="at">-d</span><span class="st">' '</span> <span class="at">-f1</span><span class="va">)</span><span class="st">.^^A</span></span> +<span id="cb429-3"><a href="#cb429-3" aria-hidden="true" tabindex="-1"></a><span class="st"> </span><span class="va">$(</span><span class="bu">printf</span> <span class="st">'%s'</span> <span class="st">"#3"</span> <span class="kw">|</span> <span class="fu">sed</span> <span class="st">'s/.*[.]//'</span><span class="va">)</span><span class="st">"</span><span class="kw">;</span></span> +<span id="cb429-4"><a href="#cb429-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="ot">! </span><span class="bu">[</span> <span class="ot">-e</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> <span class="bu">]</span><span class="kw">;</span> <span class="cf">then</span></span> +<span id="cb429-5"><a href="#cb429-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">wget</span> <span class="at">-O</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> <span class="st">'#3'</span> <span class="kw">||</span> <span class="fu">rm</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span><span class="kw">;</span></span> +<span id="cb429-6"><a href="#cb429-6" aria-hidden="true" tabindex="-1"></a> <span class="ex">convert</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> png:<span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span><span class="kw">;</span></span> +<span id="cb429-7"><a href="#cb429-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">fi</span><span class="kw">;</span></span> +<span id="cb429-8"><a href="#cb429-8" aria-hidden="true" tabindex="-1"></a> <span class="bu">printf</span> <span class="st">'%s%%'</span> <span class="st">"</span><span class="va">$OUTPUT</span><span class="st">"</span> <span class="op">></span> <span class="dt">\j</span>obname.fetched<span class="kw">;</span></span> +<span id="cb429-9"><a href="#cb429-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span></span> +<span id="cb429-10"><a href="#cb429-10" aria-hidden="true" tabindex="-1"></a> <span class="bu">printf</span> <span class="st">'%s%%'</span> <span class="st">"#3"</span> <span class="op">></span> <span class="dt">\j</span>obname.fetched<span class="kw">;</span></span> +<span id="cb429-11"><a href="#cb429-11" aria-hidden="true" tabindex="-1"></a> <span class="ex">fi^^A</span></span></code></pre></div> +<div class="sourceCode" id="cb430"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb430-1"><a href="#cb430-1" aria-hidden="true" tabindex="-1"></a> }^^A</span> +<span id="cb430-2"><a href="#cb430-2" aria-hidden="true" tabindex="-1"></a> {^^A</span> +<span id="cb430-3"><a href="#cb430-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\everyeof</span>={<span class="fu">\noexpand</span>}^^A</span> +<span id="cb430-4"><a href="#cb430-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\edef\filename</span>{<span class="fu">\_</span>_markdowninput"<span class="fu">\jobname</span>.fetched" }^^A</span> +<span id="cb430-5"><a href="#cb430-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">\includegraphics</span>[width=<span class="fu">\textwidth</span>]{<span class="fu">\filename</span>}^^A</span> +<span id="cb430-6"><a href="#cb430-6" aria-hidden="true" tabindex="-1"></a> }^^A</span> +<span id="cb430-7"><a href="#cb430-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb430-8"><a href="#cb430-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\endgroup</span></span> +<span id="cb430-9"><a href="#cb430-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb430-10"><a href="#cb430-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb430-11"><a href="#cb430-11" aria-hidden="true" tabindex="-1"></a>![TUGboat](https://tug.org/tugboat/noword.jpg)</span> +<span id="cb430-12"><a href="#cb430-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb430-13"><a href="#cb430-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb427"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb427-1"><a href="#cb427-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> <span class="at">--shell-escape</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb431"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb431-1"><a href="#cb431-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> <span class="at">--shell-escape</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following content. This assumes that you use a Unix-like operating system with Bourne or Bourne again shell as the default shell @@ -7174,8 +7240,11 @@ of the current user. It also assumes that the <code>md5sum</code>, that the <span class="tex">T<sub>e</sub>X</span> engine has shell access.</p> <blockquote> -<p><img src="https://tug.org/tugboat/noword.jpg" -title="The Communications of the TeX Users Group" /></p> +<figure> +<img src="https://tug.org/tugboat/noword.jpg" +title="The Communications of the TeX Users Group" alt="TUGboat" /> +<figcaption aria-hidden="true">TUGboat</figcaption> +</figure> </blockquote> <h4 data-number="2.3.1.11" id="texcontentblockrenderers"><span class="header-section-number">2.3.1.11</span> Content Block @@ -7194,7 +7263,9 @@ an iA Writer content block that was recognized as a file in a known programming language by its filename extension <span class="math inline"><em>s</em></span>. If any <code>markdown-languages.json</code> file found by -<strong><code>kpathsea</code></strong> contains a record <span +<strong><code>kpathsea</code></strong><a href="#fn7" +class="footnote-ref" id="fnref7" role="doc-noteref"><sup>7</sup></a> +contains a record <span class="math inline">(<em>k</em>,<em>v</em>)</span>, then a non-online-image content block with the filename extension <span class="math inline"><em>s</em>, <em>s</em></span><code>:lower()</code><span @@ -7220,34 +7291,34 @@ starting point.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb428"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb428-1"><a href="#cb428-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb428-2"><a href="#cb428-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span> -<span id="cb428-3"><a href="#cb428-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb428-4"><a href="#cb428-4" aria-hidden="true" tabindex="-1"></a> This is {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb428-5"><a href="#cb428-5" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb428-6"><a href="#cb428-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb428-7"><a href="#cb428-7" aria-hidden="true" tabindex="-1"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb428-8"><a href="#cb428-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb428-9"><a href="#cb428-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span> -<span id="cb428-10"><a href="#cb428-10" aria-hidden="true" tabindex="-1"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span> -<span id="cb428-11"><a href="#cb428-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb428-12"><a href="#cb428-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb428-13"><a href="#cb428-13" aria-hidden="true" tabindex="-1"></a>/document.tex (the document that we are currently typesetting)</span> -<span id="cb428-14"><a href="#cb428-14" aria-hidden="true" tabindex="-1"></a>/markdown-languages.json (the mapping between filename extensions</span> -<span id="cb428-15"><a href="#cb428-15" aria-hidden="true" tabindex="-1"></a> and programming language names)</span> -<span id="cb428-16"><a href="#cb428-16" aria-hidden="true" tabindex="-1"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> -<span id="cb428-17"><a href="#cb428-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb428-18"><a href="#cb428-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb432"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb432-1"><a href="#cb432-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb432-2"><a href="#cb432-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span> +<span id="cb432-3"><a href="#cb432-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb432-4"><a href="#cb432-4" aria-hidden="true" tabindex="-1"></a> This is {<span class="fu">\tt</span> #2}, #4.</span> +<span id="cb432-5"><a href="#cb432-5" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb432-6"><a href="#cb432-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb432-7"><a href="#cb432-7" aria-hidden="true" tabindex="-1"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span> +<span id="cb432-8"><a href="#cb432-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb432-9"><a href="#cb432-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span> +<span id="cb432-10"><a href="#cb432-10" aria-hidden="true" tabindex="-1"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span> +<span id="cb432-11"><a href="#cb432-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb432-12"><a href="#cb432-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb432-13"><a href="#cb432-13" aria-hidden="true" tabindex="-1"></a>/document.tex (the document that we are currently typesetting)</span> +<span id="cb432-14"><a href="#cb432-14" aria-hidden="true" tabindex="-1"></a>/markdown-languages.json (the mapping between filename extensions</span> +<span id="cb432-15"><a href="#cb432-15" aria-hidden="true" tabindex="-1"></a> and programming language names)</span> +<span id="cb432-16"><a href="#cb432-16" aria-hidden="true" tabindex="-1"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> +<span id="cb432-17"><a href="#cb432-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb432-18"><a href="#cb432-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p> -<div class="sourceCode" id="cb429"><pre -class="sourceCode js"><code class="sourceCode javascript"><span id="cb429-1"><a href="#cb429-1" aria-hidden="true" tabindex="-1"></a>{</span> -<span id="cb429-2"><a href="#cb429-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></span> -<span id="cb429-3"><a href="#cb429-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb433"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb433-1"><a href="#cb433-1" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb433-2"><a href="#cb433-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></span> +<span id="cb433-3"><a href="#cb433-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb430"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb430-1"><a href="#cb430-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb434"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb434-1"><a href="#cb434-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7259,38 +7330,38 @@ extensions and programming language names.</p> <p>This is the image <code>https://tug.org/tugboat/noword.jpg</code>, the logotype of TUGboat.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-53"><span +<h5 class="unnumbered" id="latex-example-54"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb431"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb431-1"><a href="#cb431-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb431-2"><a href="#cb431-2" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{markdown-languages.json}</span> -<span id="cb431-3"><a href="#cb431-3" aria-hidden="true" tabindex="-1"></a>{</span> -<span id="cb431-4"><a href="#cb431-4" aria-hidden="true" tabindex="-1"></a> "json": "JavaScript Object Notation",</span> -<span id="cb431-5"><a href="#cb431-5" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb431-6"><a href="#cb431-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> -<span id="cb431-7"><a href="#cb431-7" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> -<span id="cb431-8"><a href="#cb431-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb431-9"><a href="#cb431-9" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb431-10"><a href="#cb431-10" aria-hidden="true" tabindex="-1"></a> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</span> -<span id="cb431-11"><a href="#cb431-11" aria-hidden="true" tabindex="-1"></a> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</span> -<span id="cb431-12"><a href="#cb431-12" aria-hidden="true" tabindex="-1"></a> contentBlockCode = {<span class="co">%</span></span> -<span id="cb431-13"><a href="#cb431-13" aria-hidden="true" tabindex="-1"></a> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</span> -<span id="cb431-14"><a href="#cb431-14" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb431-15"><a href="#cb431-15" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb431-16"><a href="#cb431-16" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb431-17"><a href="#cb431-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb431-18"><a href="#cb431-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb431-19"><a href="#cb431-19" aria-hidden="true" tabindex="-1"></a>/document.tex (the document that we are currently typesetting)</span> -<span id="cb431-20"><a href="#cb431-20" aria-hidden="true" tabindex="-1"></a>/markdown-languages.json (the mapping between filename extensions</span> -<span id="cb431-21"><a href="#cb431-21" aria-hidden="true" tabindex="-1"></a> and programming language names)</span> -<span id="cb431-22"><a href="#cb431-22" aria-hidden="true" tabindex="-1"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> -<span id="cb431-23"><a href="#cb431-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb431-24"><a href="#cb431-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb435"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb435-1"><a href="#cb435-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb435-2"><a href="#cb435-2" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{markdown-languages.json}</span> +<span id="cb435-3"><a href="#cb435-3" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb435-4"><a href="#cb435-4" aria-hidden="true" tabindex="-1"></a> "json": "JavaScript Object Notation",</span> +<span id="cb435-5"><a href="#cb435-5" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb435-6"><a href="#cb435-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> +<span id="cb435-7"><a href="#cb435-7" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> +<span id="cb435-8"><a href="#cb435-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb435-9"><a href="#cb435-9" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb435-10"><a href="#cb435-10" aria-hidden="true" tabindex="-1"></a> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</span> +<span id="cb435-11"><a href="#cb435-11" aria-hidden="true" tabindex="-1"></a> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</span> +<span id="cb435-12"><a href="#cb435-12" aria-hidden="true" tabindex="-1"></a> contentBlockCode = {<span class="co">%</span></span> +<span id="cb435-13"><a href="#cb435-13" aria-hidden="true" tabindex="-1"></a> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</span> +<span id="cb435-14"><a href="#cb435-14" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb435-15"><a href="#cb435-15" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb435-16"><a href="#cb435-16" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb435-17"><a href="#cb435-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb435-18"><a href="#cb435-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb435-19"><a href="#cb435-19" aria-hidden="true" tabindex="-1"></a>/document.tex (the document that we are currently typesetting)</span> +<span id="cb435-20"><a href="#cb435-20" aria-hidden="true" tabindex="-1"></a>/markdown-languages.json (the mapping between filename extensions</span> +<span id="cb435-21"><a href="#cb435-21" aria-hidden="true" tabindex="-1"></a> and programming language names)</span> +<span id="cb435-22"><a href="#cb435-22" aria-hidden="true" tabindex="-1"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> +<span id="cb435-23"><a href="#cb435-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb435-24"><a href="#cb435-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb432"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb432-1"><a href="#cb432-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb436"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb436-1"><a href="#cb436-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7306,35 +7377,35 @@ the logotype of TUGboat.</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb433"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb433-1"><a href="#cb433-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb433-2"><a href="#cb433-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[contentBlocks = yes]</span> -<span id="cb433-3"><a href="#cb433-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb433-4"><a href="#cb433-4" aria-hidden="true" tabindex="-1"></a> This is {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb433-5"><a href="#cb433-5" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb433-6"><a href="#cb433-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb433-7"><a href="#cb433-7" aria-hidden="true" tabindex="-1"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb433-8"><a href="#cb433-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb433-9"><a href="#cb433-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span> -<span id="cb433-10"><a href="#cb433-10" aria-hidden="true" tabindex="-1"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span> -<span id="cb433-11"><a href="#cb433-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb433-12"><a href="#cb433-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb433-13"><a href="#cb433-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb433-14"><a href="#cb433-14" aria-hidden="true" tabindex="-1"></a>/document.tex (the document that we are currently typesetting)</span> -<span id="cb433-15"><a href="#cb433-15" aria-hidden="true" tabindex="-1"></a>/markdown-languages.json (the mapping between filename extensions</span> -<span id="cb433-16"><a href="#cb433-16" aria-hidden="true" tabindex="-1"></a> and programming language names)</span> -<span id="cb433-17"><a href="#cb433-17" aria-hidden="true" tabindex="-1"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> -<span id="cb433-18"><a href="#cb433-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb433-19"><a href="#cb433-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb437"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb437-1"><a href="#cb437-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb437-2"><a href="#cb437-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[contentBlocks = yes]</span> +<span id="cb437-3"><a href="#cb437-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb437-4"><a href="#cb437-4" aria-hidden="true" tabindex="-1"></a> This is {<span class="fu">\tt</span> #2}, #4.</span> +<span id="cb437-5"><a href="#cb437-5" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb437-6"><a href="#cb437-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb437-7"><a href="#cb437-7" aria-hidden="true" tabindex="-1"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span> +<span id="cb437-8"><a href="#cb437-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb437-9"><a href="#cb437-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span> +<span id="cb437-10"><a href="#cb437-10" aria-hidden="true" tabindex="-1"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span> +<span id="cb437-11"><a href="#cb437-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb437-12"><a href="#cb437-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb437-13"><a href="#cb437-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb437-14"><a href="#cb437-14" aria-hidden="true" tabindex="-1"></a>/document.tex (the document that we are currently typesetting)</span> +<span id="cb437-15"><a href="#cb437-15" aria-hidden="true" tabindex="-1"></a>/markdown-languages.json (the mapping between filename extensions</span> +<span id="cb437-16"><a href="#cb437-16" aria-hidden="true" tabindex="-1"></a> and programming language names)</span> +<span id="cb437-17"><a href="#cb437-17" aria-hidden="true" tabindex="-1"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> +<span id="cb437-18"><a href="#cb437-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb437-19"><a href="#cb437-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p> -<div class="sourceCode" id="cb434"><pre -class="sourceCode js"><code class="sourceCode javascript"><span id="cb434-1"><a href="#cb434-1" aria-hidden="true" tabindex="-1"></a>{</span> -<span id="cb434-2"><a href="#cb434-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></span> -<span id="cb434-3"><a href="#cb434-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb438"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb438-1"><a href="#cb438-1" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb438-2"><a href="#cb438-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></span> +<span id="cb438-3"><a href="#cb438-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb435"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb435-1"><a href="#cb435-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb439"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb439-1"><a href="#cb439-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7373,52 +7444,52 @@ receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb436"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb436-1"><a href="#cb436-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb436-2"><a href="#cb436-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> -<span id="cb436-3"><a href="#cb436-3" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-4"><a href="#cb436-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb436-5"><a href="#cb436-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span> -<span id="cb436-6"><a href="#cb436-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb436-7"><a href="#cb436-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb436-8"><a href="#cb436-8" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb436-9"><a href="#cb436-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> -<span id="cb436-10"><a href="#cb436-10" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb436-11"><a href="#cb436-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb436-12"><a href="#cb436-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span> -<span id="cb436-13"><a href="#cb436-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span> -<span id="cb436-14"><a href="#cb436-14" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-15"><a href="#cb436-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb436-16"><a href="#cb436-16" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> -<span id="cb436-17"><a href="#cb436-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-18"><a href="#cb436-18" aria-hidden="true" tabindex="-1"></a>- the first item</span> -<span id="cb436-19"><a href="#cb436-19" aria-hidden="true" tabindex="-1"></a>- the second item</span> -<span id="cb436-20"><a href="#cb436-20" aria-hidden="true" tabindex="-1"></a>- the third item</span> -<span id="cb436-21"><a href="#cb436-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb436-22"><a href="#cb436-22" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-23"><a href="#cb436-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb436-24"><a href="#cb436-24" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> -<span id="cb436-25"><a href="#cb436-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb436-26"><a href="#cb436-26" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb436-27"><a href="#cb436-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBegin</span>{}</span> -<span id="cb436-28"><a href="#cb436-28" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{--<span class="fu">\kern</span> 0.5em}</span> -<span id="cb436-29"><a href="#cb436-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.<span class="fu">\par</span>}</span> -<span id="cb436-30"><a href="#cb436-30" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEnd</span>{}</span> -<span id="cb436-31"><a href="#cb436-31" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-32"><a href="#cb436-32" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb436-33"><a href="#cb436-33" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> -<span id="cb436-34"><a href="#cb436-34" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-35"><a href="#cb436-35" aria-hidden="true" tabindex="-1"></a>- This is the first item</span> -<span id="cb436-36"><a href="#cb436-36" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-37"><a href="#cb436-37" aria-hidden="true" tabindex="-1"></a>- This is the second item</span> -<span id="cb436-38"><a href="#cb436-38" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-39"><a href="#cb436-39" aria-hidden="true" tabindex="-1"></a>- This is the third item</span> -<span id="cb436-40"><a href="#cb436-40" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb436-41"><a href="#cb436-41" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb436-42"><a href="#cb436-42" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb440"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb440-1"><a href="#cb440-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb440-2"><a href="#cb440-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> +<span id="cb440-3"><a href="#cb440-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-4"><a href="#cb440-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> +<span id="cb440-5"><a href="#cb440-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span> +<span id="cb440-6"><a href="#cb440-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> +<span id="cb440-7"><a href="#cb440-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> +<span id="cb440-8"><a href="#cb440-8" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb440-9"><a href="#cb440-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> +<span id="cb440-10"><a href="#cb440-10" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb440-11"><a href="#cb440-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb440-12"><a href="#cb440-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span> +<span id="cb440-13"><a href="#cb440-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span> +<span id="cb440-14"><a href="#cb440-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-15"><a href="#cb440-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb440-16"><a href="#cb440-16" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> +<span id="cb440-17"><a href="#cb440-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-18"><a href="#cb440-18" aria-hidden="true" tabindex="-1"></a>- the first item</span> +<span id="cb440-19"><a href="#cb440-19" aria-hidden="true" tabindex="-1"></a>- the second item</span> +<span id="cb440-20"><a href="#cb440-20" aria-hidden="true" tabindex="-1"></a>- the third item</span> +<span id="cb440-21"><a href="#cb440-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb440-22"><a href="#cb440-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-23"><a href="#cb440-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb440-24"><a href="#cb440-24" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> +<span id="cb440-25"><a href="#cb440-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb440-26"><a href="#cb440-26" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb440-27"><a href="#cb440-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBegin</span>{}</span> +<span id="cb440-28"><a href="#cb440-28" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{--<span class="fu">\kern</span> 0.5em}</span> +<span id="cb440-29"><a href="#cb440-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.<span class="fu">\par</span>}</span> +<span id="cb440-30"><a href="#cb440-30" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEnd</span>{}</span> +<span id="cb440-31"><a href="#cb440-31" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-32"><a href="#cb440-32" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb440-33"><a href="#cb440-33" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> +<span id="cb440-34"><a href="#cb440-34" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-35"><a href="#cb440-35" aria-hidden="true" tabindex="-1"></a>- This is the first item</span> +<span id="cb440-36"><a href="#cb440-36" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-37"><a href="#cb440-37" aria-hidden="true" tabindex="-1"></a>- This is the second item</span> +<span id="cb440-38"><a href="#cb440-38" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-39"><a href="#cb440-39" aria-hidden="true" tabindex="-1"></a>- This is the third item</span> +<span id="cb440-40"><a href="#cb440-40" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb440-41"><a href="#cb440-41" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb440-42"><a href="#cb440-42" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb437"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb437-1"><a href="#cb437-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb441"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb441-1"><a href="#cb441-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7431,61 +7502,61 @@ item).</p> <li><p>This is the third item.</p></li> </ul> </blockquote> -<h5 class="unnumbered" id="latex-example-54"><span +<h5 class="unnumbered" id="latex-example-55"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb438"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb438-1"><a href="#cb438-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb438-2"><a href="#cb438-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</span> -<span id="cb438-3"><a href="#cb438-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb438-4"><a href="#cb438-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-5"><a href="#cb438-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb438-6"><a href="#cb438-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb438-7"><a href="#cb438-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {},</span> -<span id="cb438-8"><a href="#cb438-8" aria-hidden="true" tabindex="-1"></a> ulBeginTight = { (},</span> -<span id="cb438-9"><a href="#cb438-9" aria-hidden="true" tabindex="-1"></a> ulItem = {<span class="co">%</span></span> -<span id="cb438-10"><a href="#cb438-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb438-11"><a href="#cb438-11" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb438-12"><a href="#cb438-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> -<span id="cb438-13"><a href="#cb438-13" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb438-14"><a href="#cb438-14" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb438-15"><a href="#cb438-15" aria-hidden="true" tabindex="-1"></a> ulItemEnd = {},</span> -<span id="cb438-16"><a href="#cb438-16" aria-hidden="true" tabindex="-1"></a> ulEndTight = {).},</span> -<span id="cb438-17"><a href="#cb438-17" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb438-18"><a href="#cb438-18" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb438-19"><a href="#cb438-19" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> -<span id="cb438-20"><a href="#cb438-20" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-21"><a href="#cb438-21" aria-hidden="true" tabindex="-1"></a>- the first item</span> -<span id="cb438-22"><a href="#cb438-22" aria-hidden="true" tabindex="-1"></a>- the second item</span> -<span id="cb438-23"><a href="#cb438-23" aria-hidden="true" tabindex="-1"></a>- the third item</span> -<span id="cb438-24"><a href="#cb438-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb438-25"><a href="#cb438-25" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-26"><a href="#cb438-26" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb438-27"><a href="#cb438-27" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb438-28"><a href="#cb438-28" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb438-29"><a href="#cb438-29" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> -<span id="cb438-30"><a href="#cb438-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb438-31"><a href="#cb438-31" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb438-32"><a href="#cb438-32" aria-hidden="true" tabindex="-1"></a> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</span> -<span id="cb438-33"><a href="#cb438-33" aria-hidden="true" tabindex="-1"></a> ulItem = {<span class="fu">\item</span>},</span> -<span id="cb438-34"><a href="#cb438-34" aria-hidden="true" tabindex="-1"></a> ulItemEnd = {.},</span> -<span id="cb438-35"><a href="#cb438-35" aria-hidden="true" tabindex="-1"></a> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span> -<span id="cb438-36"><a href="#cb438-36" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb438-37"><a href="#cb438-37" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb438-38"><a href="#cb438-38" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> -<span id="cb438-39"><a href="#cb438-39" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-40"><a href="#cb438-40" aria-hidden="true" tabindex="-1"></a>- This is the first item</span> -<span id="cb438-41"><a href="#cb438-41" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-42"><a href="#cb438-42" aria-hidden="true" tabindex="-1"></a>- This is the second item</span> -<span id="cb438-43"><a href="#cb438-43" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-44"><a href="#cb438-44" aria-hidden="true" tabindex="-1"></a>- This is the third item</span> -<span id="cb438-45"><a href="#cb438-45" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb438-46"><a href="#cb438-46" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb438-47"><a href="#cb438-47" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb442"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb442-1"><a href="#cb442-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb442-2"><a href="#cb442-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</span> +<span id="cb442-3"><a href="#cb442-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb442-4"><a href="#cb442-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-5"><a href="#cb442-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb442-6"><a href="#cb442-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb442-7"><a href="#cb442-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {},</span> +<span id="cb442-8"><a href="#cb442-8" aria-hidden="true" tabindex="-1"></a> ulBeginTight = { (},</span> +<span id="cb442-9"><a href="#cb442-9" aria-hidden="true" tabindex="-1"></a> ulItem = {<span class="co">%</span></span> +<span id="cb442-10"><a href="#cb442-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> +<span id="cb442-11"><a href="#cb442-11" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb442-12"><a href="#cb442-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> +<span id="cb442-13"><a href="#cb442-13" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb442-14"><a href="#cb442-14" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb442-15"><a href="#cb442-15" aria-hidden="true" tabindex="-1"></a> ulItemEnd = {},</span> +<span id="cb442-16"><a href="#cb442-16" aria-hidden="true" tabindex="-1"></a> ulEndTight = {).},</span> +<span id="cb442-17"><a href="#cb442-17" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb442-18"><a href="#cb442-18" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb442-19"><a href="#cb442-19" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> +<span id="cb442-20"><a href="#cb442-20" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-21"><a href="#cb442-21" aria-hidden="true" tabindex="-1"></a>- the first item</span> +<span id="cb442-22"><a href="#cb442-22" aria-hidden="true" tabindex="-1"></a>- the second item</span> +<span id="cb442-23"><a href="#cb442-23" aria-hidden="true" tabindex="-1"></a>- the third item</span> +<span id="cb442-24"><a href="#cb442-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb442-25"><a href="#cb442-25" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-26"><a href="#cb442-26" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb442-27"><a href="#cb442-27" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb442-28"><a href="#cb442-28" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> +<span id="cb442-29"><a href="#cb442-29" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> +<span id="cb442-30"><a href="#cb442-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb442-31"><a href="#cb442-31" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb442-32"><a href="#cb442-32" aria-hidden="true" tabindex="-1"></a> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</span> +<span id="cb442-33"><a href="#cb442-33" aria-hidden="true" tabindex="-1"></a> ulItem = {<span class="fu">\item</span>},</span> +<span id="cb442-34"><a href="#cb442-34" aria-hidden="true" tabindex="-1"></a> ulItemEnd = {.},</span> +<span id="cb442-35"><a href="#cb442-35" aria-hidden="true" tabindex="-1"></a> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span> +<span id="cb442-36"><a href="#cb442-36" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb442-37"><a href="#cb442-37" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb442-38"><a href="#cb442-38" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> +<span id="cb442-39"><a href="#cb442-39" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-40"><a href="#cb442-40" aria-hidden="true" tabindex="-1"></a>- This is the first item</span> +<span id="cb442-41"><a href="#cb442-41" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-42"><a href="#cb442-42" aria-hidden="true" tabindex="-1"></a>- This is the second item</span> +<span id="cb442-43"><a href="#cb442-43" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-44"><a href="#cb442-44" aria-hidden="true" tabindex="-1"></a>- This is the third item</span> +<span id="cb442-45"><a href="#cb442-45" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb442-46"><a href="#cb442-46" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb442-47"><a href="#cb442-47" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb439"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb439-1"><a href="#cb439-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb443"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb443-1"><a href="#cb443-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7502,53 +7573,53 @@ item).</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb440"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb440-1"><a href="#cb440-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb440-2"><a href="#cb440-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[tightLists = yes]</span> -<span id="cb440-3"><a href="#cb440-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb440-4"><a href="#cb440-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-5"><a href="#cb440-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb440-6"><a href="#cb440-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span> -<span id="cb440-7"><a href="#cb440-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb440-8"><a href="#cb440-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb440-9"><a href="#cb440-9" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb440-10"><a href="#cb440-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> -<span id="cb440-11"><a href="#cb440-11" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb440-12"><a href="#cb440-12" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb440-13"><a href="#cb440-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span> -<span id="cb440-14"><a href="#cb440-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span> -<span id="cb440-15"><a href="#cb440-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-16"><a href="#cb440-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb440-17"><a href="#cb440-17" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> -<span id="cb440-18"><a href="#cb440-18" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-19"><a href="#cb440-19" aria-hidden="true" tabindex="-1"></a>- the first item</span> -<span id="cb440-20"><a href="#cb440-20" aria-hidden="true" tabindex="-1"></a>- the second item</span> -<span id="cb440-21"><a href="#cb440-21" aria-hidden="true" tabindex="-1"></a>- the third item</span> -<span id="cb440-22"><a href="#cb440-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb440-23"><a href="#cb440-23" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-24"><a href="#cb440-24" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb440-25"><a href="#cb440-25" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> -<span id="cb440-26"><a href="#cb440-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb440-27"><a href="#cb440-27" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb440-28"><a href="#cb440-28" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBegin</span>{<span class="fu">\startitemize</span>}</span> -<span id="cb440-29"><a href="#cb440-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="fu">\item</span>}</span> -<span id="cb440-30"><a href="#cb440-30" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.}</span> -<span id="cb440-31"><a href="#cb440-31" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEnd</span>{<span class="fu">\stopitemize</span>}</span> -<span id="cb440-32"><a href="#cb440-32" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-33"><a href="#cb440-33" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb440-34"><a href="#cb440-34" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> -<span id="cb440-35"><a href="#cb440-35" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-36"><a href="#cb440-36" aria-hidden="true" tabindex="-1"></a>- This is the first item</span> -<span id="cb440-37"><a href="#cb440-37" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-38"><a href="#cb440-38" aria-hidden="true" tabindex="-1"></a>- This is the second item</span> -<span id="cb440-39"><a href="#cb440-39" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-40"><a href="#cb440-40" aria-hidden="true" tabindex="-1"></a>- This is the third item</span> -<span id="cb440-41"><a href="#cb440-41" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb440-42"><a href="#cb440-42" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb440-43"><a href="#cb440-43" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb444"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb444-1"><a href="#cb444-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb444-2"><a href="#cb444-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[tightLists = yes]</span> +<span id="cb444-3"><a href="#cb444-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb444-4"><a href="#cb444-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-5"><a href="#cb444-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> +<span id="cb444-6"><a href="#cb444-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span> +<span id="cb444-7"><a href="#cb444-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> +<span id="cb444-8"><a href="#cb444-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> +<span id="cb444-9"><a href="#cb444-9" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb444-10"><a href="#cb444-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> +<span id="cb444-11"><a href="#cb444-11" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb444-12"><a href="#cb444-12" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb444-13"><a href="#cb444-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span> +<span id="cb444-14"><a href="#cb444-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span> +<span id="cb444-15"><a href="#cb444-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-16"><a href="#cb444-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb444-17"><a href="#cb444-17" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> +<span id="cb444-18"><a href="#cb444-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-19"><a href="#cb444-19" aria-hidden="true" tabindex="-1"></a>- the first item</span> +<span id="cb444-20"><a href="#cb444-20" aria-hidden="true" tabindex="-1"></a>- the second item</span> +<span id="cb444-21"><a href="#cb444-21" aria-hidden="true" tabindex="-1"></a>- the third item</span> +<span id="cb444-22"><a href="#cb444-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb444-23"><a href="#cb444-23" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-24"><a href="#cb444-24" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb444-25"><a href="#cb444-25" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> +<span id="cb444-26"><a href="#cb444-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb444-27"><a href="#cb444-27" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb444-28"><a href="#cb444-28" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlBegin</span>{<span class="fu">\startitemize</span>}</span> +<span id="cb444-29"><a href="#cb444-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="fu">\item</span>}</span> +<span id="cb444-30"><a href="#cb444-30" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.}</span> +<span id="cb444-31"><a href="#cb444-31" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererUlEnd</span>{<span class="fu">\stopitemize</span>}</span> +<span id="cb444-32"><a href="#cb444-32" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-33"><a href="#cb444-33" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb444-34"><a href="#cb444-34" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> +<span id="cb444-35"><a href="#cb444-35" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-36"><a href="#cb444-36" aria-hidden="true" tabindex="-1"></a>- This is the first item</span> +<span id="cb444-37"><a href="#cb444-37" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-38"><a href="#cb444-38" aria-hidden="true" tabindex="-1"></a>- This is the second item</span> +<span id="cb444-39"><a href="#cb444-39" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-40"><a href="#cb444-40" aria-hidden="true" tabindex="-1"></a>- This is the third item</span> +<span id="cb444-41"><a href="#cb444-41" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb444-42"><a href="#cb444-42" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb444-43"><a href="#cb444-43" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb441"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb441-1"><a href="#cb441-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb445"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb445-1"><a href="#cb445-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7650,70 +7721,70 @@ receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb442"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb442-1"><a href="#cb442-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb442-2"><a href="#cb442-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> -<span id="cb442-3"><a href="#cb442-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStartNumber</span>{true}</span> -<span id="cb442-4"><a href="#cb442-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-5"><a href="#cb442-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb442-6"><a href="#cb442-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span> -<span id="cb442-7"><a href="#cb442-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb442-8"><a href="#cb442-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb442-9"><a href="#cb442-9" aria-hidden="true" tabindex="-1"></a> the first</span> -<span id="cb442-10"><a href="#cb442-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb442-11"><a href="#cb442-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb442-12"><a href="#cb442-12" aria-hidden="true" tabindex="-1"></a> , the second</span> -<span id="cb442-13"><a href="#cb442-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb442-14"><a href="#cb442-14" aria-hidden="true" tabindex="-1"></a> , and the third</span> -<span id="cb442-15"><a href="#cb442-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb442-16"><a href="#cb442-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb442-17"><a href="#cb442-17" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb442-18"><a href="#cb442-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span> -<span id="cb442-19"><a href="#cb442-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span> -<span id="cb442-20"><a href="#cb442-20" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-21"><a href="#cb442-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb442-22"><a href="#cb442-22" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> -<span id="cb442-23"><a href="#cb442-23" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-24"><a href="#cb442-24" aria-hidden="true" tabindex="-1"></a>1. item</span> -<span id="cb442-25"><a href="#cb442-25" aria-hidden="true" tabindex="-1"></a>2. item</span> -<span id="cb442-26"><a href="#cb442-26" aria-hidden="true" tabindex="-1"></a>3. item</span> -<span id="cb442-27"><a href="#cb442-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb442-28"><a href="#cb442-28" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-29"><a href="#cb442-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb442-30"><a href="#cb442-30" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> -<span id="cb442-31"><a href="#cb442-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb442-32"><a href="#cb442-32" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb442-33"><a href="#cb442-33" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBegin</span>{}</span> -<span id="cb442-34"><a href="#cb442-34" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb442-35"><a href="#cb442-35" aria-hidden="true" tabindex="-1"></a> #1.<span class="fu">\kern</span> 0.5em<span class="co">%</span></span> -<span id="cb442-36"><a href="#cb442-36" aria-hidden="true" tabindex="-1"></a> This is the</span> -<span id="cb442-37"><a href="#cb442-37" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb442-38"><a href="#cb442-38" aria-hidden="true" tabindex="-1"></a> first</span> -<span id="cb442-39"><a href="#cb442-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb442-40"><a href="#cb442-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb442-41"><a href="#cb442-41" aria-hidden="true" tabindex="-1"></a> second</span> -<span id="cb442-42"><a href="#cb442-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb442-43"><a href="#cb442-43" aria-hidden="true" tabindex="-1"></a> third</span> -<span id="cb442-44"><a href="#cb442-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb442-45"><a href="#cb442-45" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb442-46"><a href="#cb442-46" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb442-47"><a href="#cb442-47" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span> -<span id="cb442-48"><a href="#cb442-48" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEnd</span>{}</span> -<span id="cb442-49"><a href="#cb442-49" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-50"><a href="#cb442-50" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb442-51"><a href="#cb442-51" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> -<span id="cb442-52"><a href="#cb442-52" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-53"><a href="#cb442-53" aria-hidden="true" tabindex="-1"></a>1. item</span> -<span id="cb442-54"><a href="#cb442-54" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-55"><a href="#cb442-55" aria-hidden="true" tabindex="-1"></a>2. item</span> -<span id="cb442-56"><a href="#cb442-56" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-57"><a href="#cb442-57" aria-hidden="true" tabindex="-1"></a>3. item</span> -<span id="cb442-58"><a href="#cb442-58" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb442-59"><a href="#cb442-59" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb442-60"><a href="#cb442-60" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb446"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb446-1"><a href="#cb446-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb446-2"><a href="#cb446-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> +<span id="cb446-3"><a href="#cb446-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStartNumber</span>{true}</span> +<span id="cb446-4"><a href="#cb446-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-5"><a href="#cb446-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> +<span id="cb446-6"><a href="#cb446-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span> +<span id="cb446-7"><a href="#cb446-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> +<span id="cb446-8"><a href="#cb446-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> +<span id="cb446-9"><a href="#cb446-9" aria-hidden="true" tabindex="-1"></a> the first</span> +<span id="cb446-10"><a href="#cb446-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb446-11"><a href="#cb446-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> +<span id="cb446-12"><a href="#cb446-12" aria-hidden="true" tabindex="-1"></a> , the second</span> +<span id="cb446-13"><a href="#cb446-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb446-14"><a href="#cb446-14" aria-hidden="true" tabindex="-1"></a> , and the third</span> +<span id="cb446-15"><a href="#cb446-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb446-16"><a href="#cb446-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb446-17"><a href="#cb446-17" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb446-18"><a href="#cb446-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span> +<span id="cb446-19"><a href="#cb446-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span> +<span id="cb446-20"><a href="#cb446-20" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-21"><a href="#cb446-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb446-22"><a href="#cb446-22" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> +<span id="cb446-23"><a href="#cb446-23" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-24"><a href="#cb446-24" aria-hidden="true" tabindex="-1"></a>1. item</span> +<span id="cb446-25"><a href="#cb446-25" aria-hidden="true" tabindex="-1"></a>2. item</span> +<span id="cb446-26"><a href="#cb446-26" aria-hidden="true" tabindex="-1"></a>3. item</span> +<span id="cb446-27"><a href="#cb446-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb446-28"><a href="#cb446-28" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-29"><a href="#cb446-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb446-30"><a href="#cb446-30" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> +<span id="cb446-31"><a href="#cb446-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb446-32"><a href="#cb446-32" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb446-33"><a href="#cb446-33" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBegin</span>{}</span> +<span id="cb446-34"><a href="#cb446-34" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> +<span id="cb446-35"><a href="#cb446-35" aria-hidden="true" tabindex="-1"></a> #1.<span class="fu">\kern</span> 0.5em<span class="co">%</span></span> +<span id="cb446-36"><a href="#cb446-36" aria-hidden="true" tabindex="-1"></a> This is the</span> +<span id="cb446-37"><a href="#cb446-37" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> +<span id="cb446-38"><a href="#cb446-38" aria-hidden="true" tabindex="-1"></a> first</span> +<span id="cb446-39"><a href="#cb446-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb446-40"><a href="#cb446-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> +<span id="cb446-41"><a href="#cb446-41" aria-hidden="true" tabindex="-1"></a> second</span> +<span id="cb446-42"><a href="#cb446-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb446-43"><a href="#cb446-43" aria-hidden="true" tabindex="-1"></a> third</span> +<span id="cb446-44"><a href="#cb446-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb446-45"><a href="#cb446-45" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb446-46"><a href="#cb446-46" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb446-47"><a href="#cb446-47" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span> +<span id="cb446-48"><a href="#cb446-48" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEnd</span>{}</span> +<span id="cb446-49"><a href="#cb446-49" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-50"><a href="#cb446-50" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb446-51"><a href="#cb446-51" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> +<span id="cb446-52"><a href="#cb446-52" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-53"><a href="#cb446-53" aria-hidden="true" tabindex="-1"></a>1. item</span> +<span id="cb446-54"><a href="#cb446-54" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-55"><a href="#cb446-55" aria-hidden="true" tabindex="-1"></a>2. item</span> +<span id="cb446-56"><a href="#cb446-56" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-57"><a href="#cb446-57" aria-hidden="true" tabindex="-1"></a>3. item</span> +<span id="cb446-58"><a href="#cb446-58" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb446-59"><a href="#cb446-59" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb446-60"><a href="#cb446-60" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb443"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb443-1"><a href="#cb443-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb447"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb447-1"><a href="#cb447-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7726,77 +7797,77 @@ item).</p> <li><p>This is the third item.</p></li> </ol> </blockquote> -<h5 class="unnumbered" id="latex-example-55"><span +<h5 class="unnumbered" id="latex-example-56"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb444"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb444-1"><a href="#cb444-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb444-2"><a href="#cb444-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</span> -<span id="cb444-3"><a href="#cb444-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb444-4"><a href="#cb444-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-5"><a href="#cb444-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb444-6"><a href="#cb444-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb444-7"><a href="#cb444-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {},</span> -<span id="cb444-8"><a href="#cb444-8" aria-hidden="true" tabindex="-1"></a> olBeginTight = { (},</span> -<span id="cb444-9"><a href="#cb444-9" aria-hidden="true" tabindex="-1"></a> olItemWithNumber = {<span class="co">%</span></span> -<span id="cb444-10"><a href="#cb444-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb444-11"><a href="#cb444-11" aria-hidden="true" tabindex="-1"></a> the first</span> -<span id="cb444-12"><a href="#cb444-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb444-13"><a href="#cb444-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb444-14"><a href="#cb444-14" aria-hidden="true" tabindex="-1"></a> , the second</span> -<span id="cb444-15"><a href="#cb444-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb444-16"><a href="#cb444-16" aria-hidden="true" tabindex="-1"></a> , and the third</span> -<span id="cb444-17"><a href="#cb444-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb444-18"><a href="#cb444-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb444-19"><a href="#cb444-19" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb444-20"><a href="#cb444-20" aria-hidden="true" tabindex="-1"></a> olItemEnd = {},</span> -<span id="cb444-21"><a href="#cb444-21" aria-hidden="true" tabindex="-1"></a> olEndTight = {).},</span> -<span id="cb444-22"><a href="#cb444-22" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb444-23"><a href="#cb444-23" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb444-24"><a href="#cb444-24" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> -<span id="cb444-25"><a href="#cb444-25" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-26"><a href="#cb444-26" aria-hidden="true" tabindex="-1"></a>1. item</span> -<span id="cb444-27"><a href="#cb444-27" aria-hidden="true" tabindex="-1"></a>2. item</span> -<span id="cb444-28"><a href="#cb444-28" aria-hidden="true" tabindex="-1"></a>3. item</span> -<span id="cb444-29"><a href="#cb444-29" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb444-30"><a href="#cb444-30" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-31"><a href="#cb444-31" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb444-32"><a href="#cb444-32" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb444-33"><a href="#cb444-33" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb444-34"><a href="#cb444-34" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> -<span id="cb444-35"><a href="#cb444-35" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb444-36"><a href="#cb444-36" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb444-37"><a href="#cb444-37" aria-hidden="true" tabindex="-1"></a> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</span> -<span id="cb444-38"><a href="#cb444-38" aria-hidden="true" tabindex="-1"></a> olItemWithNumber = {<span class="co">%</span></span> -<span id="cb444-39"><a href="#cb444-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\item</span> This is the</span> -<span id="cb444-40"><a href="#cb444-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb444-41"><a href="#cb444-41" aria-hidden="true" tabindex="-1"></a> first</span> -<span id="cb444-42"><a href="#cb444-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb444-43"><a href="#cb444-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb444-44"><a href="#cb444-44" aria-hidden="true" tabindex="-1"></a> second</span> -<span id="cb444-45"><a href="#cb444-45" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb444-46"><a href="#cb444-46" aria-hidden="true" tabindex="-1"></a> third</span> -<span id="cb444-47"><a href="#cb444-47" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb444-48"><a href="#cb444-48" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb444-49"><a href="#cb444-49" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb444-50"><a href="#cb444-50" aria-hidden="true" tabindex="-1"></a> olItemEnd = {.},</span> -<span id="cb444-51"><a href="#cb444-51" aria-hidden="true" tabindex="-1"></a> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</span> -<span id="cb444-52"><a href="#cb444-52" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb444-53"><a href="#cb444-53" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb444-54"><a href="#cb444-54" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> -<span id="cb444-55"><a href="#cb444-55" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-56"><a href="#cb444-56" aria-hidden="true" tabindex="-1"></a>1. item</span> -<span id="cb444-57"><a href="#cb444-57" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-58"><a href="#cb444-58" aria-hidden="true" tabindex="-1"></a>2. item</span> -<span id="cb444-59"><a href="#cb444-59" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-60"><a href="#cb444-60" aria-hidden="true" tabindex="-1"></a>3. item</span> -<span id="cb444-61"><a href="#cb444-61" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb444-62"><a href="#cb444-62" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb444-63"><a href="#cb444-63" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb448"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb448-1"><a href="#cb448-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb448-2"><a href="#cb448-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</span> +<span id="cb448-3"><a href="#cb448-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb448-4"><a href="#cb448-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-5"><a href="#cb448-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb448-6"><a href="#cb448-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb448-7"><a href="#cb448-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {},</span> +<span id="cb448-8"><a href="#cb448-8" aria-hidden="true" tabindex="-1"></a> olBeginTight = { (},</span> +<span id="cb448-9"><a href="#cb448-9" aria-hidden="true" tabindex="-1"></a> olItemWithNumber = {<span class="co">%</span></span> +<span id="cb448-10"><a href="#cb448-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> +<span id="cb448-11"><a href="#cb448-11" aria-hidden="true" tabindex="-1"></a> the first</span> +<span id="cb448-12"><a href="#cb448-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb448-13"><a href="#cb448-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> +<span id="cb448-14"><a href="#cb448-14" aria-hidden="true" tabindex="-1"></a> , the second</span> +<span id="cb448-15"><a href="#cb448-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb448-16"><a href="#cb448-16" aria-hidden="true" tabindex="-1"></a> , and the third</span> +<span id="cb448-17"><a href="#cb448-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb448-18"><a href="#cb448-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb448-19"><a href="#cb448-19" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb448-20"><a href="#cb448-20" aria-hidden="true" tabindex="-1"></a> olItemEnd = {},</span> +<span id="cb448-21"><a href="#cb448-21" aria-hidden="true" tabindex="-1"></a> olEndTight = {).},</span> +<span id="cb448-22"><a href="#cb448-22" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb448-23"><a href="#cb448-23" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb448-24"><a href="#cb448-24" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> +<span id="cb448-25"><a href="#cb448-25" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-26"><a href="#cb448-26" aria-hidden="true" tabindex="-1"></a>1. item</span> +<span id="cb448-27"><a href="#cb448-27" aria-hidden="true" tabindex="-1"></a>2. item</span> +<span id="cb448-28"><a href="#cb448-28" aria-hidden="true" tabindex="-1"></a>3. item</span> +<span id="cb448-29"><a href="#cb448-29" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb448-30"><a href="#cb448-30" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-31"><a href="#cb448-31" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb448-32"><a href="#cb448-32" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb448-33"><a href="#cb448-33" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> +<span id="cb448-34"><a href="#cb448-34" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> +<span id="cb448-35"><a href="#cb448-35" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb448-36"><a href="#cb448-36" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb448-37"><a href="#cb448-37" aria-hidden="true" tabindex="-1"></a> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</span> +<span id="cb448-38"><a href="#cb448-38" aria-hidden="true" tabindex="-1"></a> olItemWithNumber = {<span class="co">%</span></span> +<span id="cb448-39"><a href="#cb448-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\item</span> This is the</span> +<span id="cb448-40"><a href="#cb448-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> +<span id="cb448-41"><a href="#cb448-41" aria-hidden="true" tabindex="-1"></a> first</span> +<span id="cb448-42"><a href="#cb448-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb448-43"><a href="#cb448-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> +<span id="cb448-44"><a href="#cb448-44" aria-hidden="true" tabindex="-1"></a> second</span> +<span id="cb448-45"><a href="#cb448-45" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb448-46"><a href="#cb448-46" aria-hidden="true" tabindex="-1"></a> third</span> +<span id="cb448-47"><a href="#cb448-47" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb448-48"><a href="#cb448-48" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb448-49"><a href="#cb448-49" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb448-50"><a href="#cb448-50" aria-hidden="true" tabindex="-1"></a> olItemEnd = {.},</span> +<span id="cb448-51"><a href="#cb448-51" aria-hidden="true" tabindex="-1"></a> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</span> +<span id="cb448-52"><a href="#cb448-52" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb448-53"><a href="#cb448-53" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb448-54"><a href="#cb448-54" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> +<span id="cb448-55"><a href="#cb448-55" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-56"><a href="#cb448-56" aria-hidden="true" tabindex="-1"></a>1. item</span> +<span id="cb448-57"><a href="#cb448-57" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-58"><a href="#cb448-58" aria-hidden="true" tabindex="-1"></a>2. item</span> +<span id="cb448-59"><a href="#cb448-59" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-60"><a href="#cb448-60" aria-hidden="true" tabindex="-1"></a>3. item</span> +<span id="cb448-61"><a href="#cb448-61" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb448-62"><a href="#cb448-62" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb448-63"><a href="#cb448-63" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb445"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb445-1"><a href="#cb445-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb449"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb449-1"><a href="#cb449-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7813,74 +7884,74 @@ item).</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb446"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb446-1"><a href="#cb446-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb446-2"><a href="#cb446-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb446-3"><a href="#cb446-3" aria-hidden="true" tabindex="-1"></a> [</span> -<span id="cb446-4"><a href="#cb446-4" aria-hidden="true" tabindex="-1"></a> tightLists = yes,</span> -<span id="cb446-5"><a href="#cb446-5" aria-hidden="true" tabindex="-1"></a> startNumber = yes,</span> -<span id="cb446-6"><a href="#cb446-6" aria-hidden="true" tabindex="-1"></a> ]</span> -<span id="cb446-7"><a href="#cb446-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb446-8"><a href="#cb446-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-9"><a href="#cb446-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb446-10"><a href="#cb446-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span> -<span id="cb446-11"><a href="#cb446-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb446-12"><a href="#cb446-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb446-13"><a href="#cb446-13" aria-hidden="true" tabindex="-1"></a> the first</span> -<span id="cb446-14"><a href="#cb446-14" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb446-15"><a href="#cb446-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb446-16"><a href="#cb446-16" aria-hidden="true" tabindex="-1"></a> , the second</span> -<span id="cb446-17"><a href="#cb446-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb446-18"><a href="#cb446-18" aria-hidden="true" tabindex="-1"></a> , and the third</span> -<span id="cb446-19"><a href="#cb446-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb446-20"><a href="#cb446-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb446-21"><a href="#cb446-21" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb446-22"><a href="#cb446-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span> -<span id="cb446-23"><a href="#cb446-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span> -<span id="cb446-24"><a href="#cb446-24" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-25"><a href="#cb446-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb446-26"><a href="#cb446-26" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> -<span id="cb446-27"><a href="#cb446-27" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-28"><a href="#cb446-28" aria-hidden="true" tabindex="-1"></a>1. item</span> -<span id="cb446-29"><a href="#cb446-29" aria-hidden="true" tabindex="-1"></a>2. item</span> -<span id="cb446-30"><a href="#cb446-30" aria-hidden="true" tabindex="-1"></a>3. item</span> -<span id="cb446-31"><a href="#cb446-31" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb446-32"><a href="#cb446-32" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-33"><a href="#cb446-33" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb446-34"><a href="#cb446-34" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> -<span id="cb446-35"><a href="#cb446-35" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb446-36"><a href="#cb446-36" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb446-37"><a href="#cb446-37" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBegin</span>{<span class="fu">\startitemize</span>}</span> -<span id="cb446-38"><a href="#cb446-38" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb446-39"><a href="#cb446-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\sym</span>{#1.}</span> -<span id="cb446-40"><a href="#cb446-40" aria-hidden="true" tabindex="-1"></a> This is the</span> -<span id="cb446-41"><a href="#cb446-41" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb446-42"><a href="#cb446-42" aria-hidden="true" tabindex="-1"></a> first</span> -<span id="cb446-43"><a href="#cb446-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb446-44"><a href="#cb446-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb446-45"><a href="#cb446-45" aria-hidden="true" tabindex="-1"></a> second</span> -<span id="cb446-46"><a href="#cb446-46" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb446-47"><a href="#cb446-47" aria-hidden="true" tabindex="-1"></a> third</span> -<span id="cb446-48"><a href="#cb446-48" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb446-49"><a href="#cb446-49" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb446-50"><a href="#cb446-50" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb446-51"><a href="#cb446-51" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span> -<span id="cb446-52"><a href="#cb446-52" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEnd</span>{<span class="fu">\stopitemize</span>}</span> -<span id="cb446-53"><a href="#cb446-53" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-54"><a href="#cb446-54" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb446-55"><a href="#cb446-55" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> -<span id="cb446-56"><a href="#cb446-56" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-57"><a href="#cb446-57" aria-hidden="true" tabindex="-1"></a>1. item</span> -<span id="cb446-58"><a href="#cb446-58" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-59"><a href="#cb446-59" aria-hidden="true" tabindex="-1"></a>2. item</span> -<span id="cb446-60"><a href="#cb446-60" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-61"><a href="#cb446-61" aria-hidden="true" tabindex="-1"></a>3. item</span> -<span id="cb446-62"><a href="#cb446-62" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb446-63"><a href="#cb446-63" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb446-64"><a href="#cb446-64" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb450"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb450-1"><a href="#cb450-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb450-2"><a href="#cb450-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> +<span id="cb450-3"><a href="#cb450-3" aria-hidden="true" tabindex="-1"></a> [</span> +<span id="cb450-4"><a href="#cb450-4" aria-hidden="true" tabindex="-1"></a> tightLists = yes,</span> +<span id="cb450-5"><a href="#cb450-5" aria-hidden="true" tabindex="-1"></a> startNumber = yes,</span> +<span id="cb450-6"><a href="#cb450-6" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb450-7"><a href="#cb450-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb450-8"><a href="#cb450-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-9"><a href="#cb450-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> +<span id="cb450-10"><a href="#cb450-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span> +<span id="cb450-11"><a href="#cb450-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> +<span id="cb450-12"><a href="#cb450-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> +<span id="cb450-13"><a href="#cb450-13" aria-hidden="true" tabindex="-1"></a> the first</span> +<span id="cb450-14"><a href="#cb450-14" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb450-15"><a href="#cb450-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> +<span id="cb450-16"><a href="#cb450-16" aria-hidden="true" tabindex="-1"></a> , the second</span> +<span id="cb450-17"><a href="#cb450-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb450-18"><a href="#cb450-18" aria-hidden="true" tabindex="-1"></a> , and the third</span> +<span id="cb450-19"><a href="#cb450-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb450-20"><a href="#cb450-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb450-21"><a href="#cb450-21" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb450-22"><a href="#cb450-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span> +<span id="cb450-23"><a href="#cb450-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span> +<span id="cb450-24"><a href="#cb450-24" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-25"><a href="#cb450-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb450-26"><a href="#cb450-26" aria-hidden="true" tabindex="-1"></a>This is a tight list</span> +<span id="cb450-27"><a href="#cb450-27" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-28"><a href="#cb450-28" aria-hidden="true" tabindex="-1"></a>1. item</span> +<span id="cb450-29"><a href="#cb450-29" aria-hidden="true" tabindex="-1"></a>2. item</span> +<span id="cb450-30"><a href="#cb450-30" aria-hidden="true" tabindex="-1"></a>3. item</span> +<span id="cb450-31"><a href="#cb450-31" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb450-32"><a href="#cb450-32" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-33"><a href="#cb450-33" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb450-34"><a href="#cb450-34" aria-hidden="true" tabindex="-1"></a> :<span class="fu">\par</span></span> +<span id="cb450-35"><a href="#cb450-35" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb450-36"><a href="#cb450-36" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb450-37"><a href="#cb450-37" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlBegin</span>{<span class="fu">\startitemize</span>}</span> +<span id="cb450-38"><a href="#cb450-38" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> +<span id="cb450-39"><a href="#cb450-39" aria-hidden="true" tabindex="-1"></a> <span class="fu">\sym</span>{#1.}</span> +<span id="cb450-40"><a href="#cb450-40" aria-hidden="true" tabindex="-1"></a> This is the</span> +<span id="cb450-41"><a href="#cb450-41" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> +<span id="cb450-42"><a href="#cb450-42" aria-hidden="true" tabindex="-1"></a> first</span> +<span id="cb450-43"><a href="#cb450-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb450-44"><a href="#cb450-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> +<span id="cb450-45"><a href="#cb450-45" aria-hidden="true" tabindex="-1"></a> second</span> +<span id="cb450-46"><a href="#cb450-46" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb450-47"><a href="#cb450-47" aria-hidden="true" tabindex="-1"></a> third</span> +<span id="cb450-48"><a href="#cb450-48" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb450-49"><a href="#cb450-49" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb450-50"><a href="#cb450-50" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb450-51"><a href="#cb450-51" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span> +<span id="cb450-52"><a href="#cb450-52" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererOlEnd</span>{<span class="fu">\stopitemize</span>}</span> +<span id="cb450-53"><a href="#cb450-53" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-54"><a href="#cb450-54" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb450-55"><a href="#cb450-55" aria-hidden="true" tabindex="-1"></a>This is a loose list</span> +<span id="cb450-56"><a href="#cb450-56" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-57"><a href="#cb450-57" aria-hidden="true" tabindex="-1"></a>1. item</span> +<span id="cb450-58"><a href="#cb450-58" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-59"><a href="#cb450-59" aria-hidden="true" tabindex="-1"></a>2. item</span> +<span id="cb450-60"><a href="#cb450-60" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-61"><a href="#cb450-61" aria-hidden="true" tabindex="-1"></a>3. item</span> +<span id="cb450-62"><a href="#cb450-62" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb450-63"><a href="#cb450-63" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb450-64"><a href="#cb450-64" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb447"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb447-1"><a href="#cb447-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb451"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb451-1"><a href="#cb451-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -7930,88 +8001,88 @@ receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb448"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb448-1"><a href="#cb448-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb448-2"><a href="#cb448-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionDefinitionLists</span>{true}</span> -<span id="cb448-3"><a href="#cb448-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> -<span id="cb448-4"><a href="#cb448-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-5"><a href="#cb448-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb448-6"><a href="#cb448-6" aria-hidden="true" tabindex="-1"></a> :<span class="co">%</span></span> -<span id="cb448-7"><a href="#cb448-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb448-8"><a href="#cb448-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb448-9"><a href="#cb448-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{<span class="co">%</span></span> -<span id="cb448-10"><a href="#cb448-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> -<span id="cb448-11"><a href="#cb448-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\parindent</span>=0pt</span> -<span id="cb448-12"><a href="#cb448-12" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb448-13"><a href="#cb448-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb448-14"><a href="#cb448-14" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span> -<span id="cb448-15"><a href="#cb448-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb448-16"><a href="#cb448-16" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb448-17"><a href="#cb448-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb448-18"><a href="#cb448-18" aria-hidden="true" tabindex="-1"></a> , and</span> -<span id="cb448-19"><a href="#cb448-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> -<span id="cb448-20"><a href="#cb448-20" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb448-21"><a href="#cb448-21" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb448-22"><a href="#cb448-22" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb448-23"><a href="#cb448-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> -<span id="cb448-24"><a href="#cb448-24" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\par</span>--<span class="fu">\kern</span> 0.5em}</span> -<span id="cb448-25"><a href="#cb448-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEndTight</span>{<span class="fu">\endgroup</span>}</span> -<span id="cb448-26"><a href="#cb448-26" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-27"><a href="#cb448-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb448-28"><a href="#cb448-28" aria-hidden="true" tabindex="-1"></a>This is a tight definition list</span> -<span id="cb448-29"><a href="#cb448-29" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-30"><a href="#cb448-30" aria-hidden="true" tabindex="-1"></a>Coffee</span> -<span id="cb448-31"><a href="#cb448-31" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> -<span id="cb448-32"><a href="#cb448-32" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> -<span id="cb448-33"><a href="#cb448-33" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb448-34"><a href="#cb448-34" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-35"><a href="#cb448-35" aria-hidden="true" tabindex="-1"></a>Milk</span> -<span id="cb448-36"><a href="#cb448-36" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> -<span id="cb448-37"><a href="#cb448-37" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> -<span id="cb448-38"><a href="#cb448-38" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> -<span id="cb448-39"><a href="#cb448-39" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb448-40"><a href="#cb448-40" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-41"><a href="#cb448-41" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb448-42"><a href="#cb448-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb448-43"><a href="#cb448-43" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb448-44"><a href="#cb448-44" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span> -<span id="cb448-45"><a href="#cb448-45" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb448-46"><a href="#cb448-46" aria-hidden="true" tabindex="-1"></a> . #1 is a</span> -<span id="cb448-47"><a href="#cb448-47" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb448-48"><a href="#cb448-48" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb448-49"><a href="#cb448-49" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb448-50"><a href="#cb448-50" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> -<span id="cb448-51"><a href="#cb448-51" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb448-52"><a href="#cb448-52" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb448-53"><a href="#cb448-53" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb448-54"><a href="#cb448-54" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> -<span id="cb448-55"><a href="#cb448-55" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span> -<span id="cb448-56"><a href="#cb448-56" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span> -<span id="cb448-57"><a href="#cb448-57" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-58"><a href="#cb448-58" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb448-59"><a href="#cb448-59" aria-hidden="true" tabindex="-1"></a>This is a loose definition list</span> -<span id="cb448-60"><a href="#cb448-60" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-61"><a href="#cb448-61" aria-hidden="true" tabindex="-1"></a>Coffee</span> -<span id="cb448-62"><a href="#cb448-62" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-63"><a href="#cb448-63" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> -<span id="cb448-64"><a href="#cb448-64" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-65"><a href="#cb448-65" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> -<span id="cb448-66"><a href="#cb448-66" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-67"><a href="#cb448-67" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb448-68"><a href="#cb448-68" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-69"><a href="#cb448-69" aria-hidden="true" tabindex="-1"></a>Milk</span> -<span id="cb448-70"><a href="#cb448-70" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-71"><a href="#cb448-71" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> -<span id="cb448-72"><a href="#cb448-72" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-73"><a href="#cb448-73" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> -<span id="cb448-74"><a href="#cb448-74" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-75"><a href="#cb448-75" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> -<span id="cb448-76"><a href="#cb448-76" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb448-77"><a href="#cb448-77" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb448-78"><a href="#cb448-78" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb452"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb452-1"><a href="#cb452-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb452-2"><a href="#cb452-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionDefinitionLists</span>{true}</span> +<span id="cb452-3"><a href="#cb452-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> +<span id="cb452-4"><a href="#cb452-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-5"><a href="#cb452-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb452-6"><a href="#cb452-6" aria-hidden="true" tabindex="-1"></a> :<span class="co">%</span></span> +<span id="cb452-7"><a href="#cb452-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb452-8"><a href="#cb452-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb452-9"><a href="#cb452-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{<span class="co">%</span></span> +<span id="cb452-10"><a href="#cb452-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> +<span id="cb452-11"><a href="#cb452-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\parindent</span>=0pt</span> +<span id="cb452-12"><a href="#cb452-12" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb452-13"><a href="#cb452-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> +<span id="cb452-14"><a href="#cb452-14" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span> +<span id="cb452-15"><a href="#cb452-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> +<span id="cb452-16"><a href="#cb452-16" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb452-17"><a href="#cb452-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> +<span id="cb452-18"><a href="#cb452-18" aria-hidden="true" tabindex="-1"></a> , and</span> +<span id="cb452-19"><a href="#cb452-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> +<span id="cb452-20"><a href="#cb452-20" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb452-21"><a href="#cb452-21" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb452-22"><a href="#cb452-22" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb452-23"><a href="#cb452-23" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> +<span id="cb452-24"><a href="#cb452-24" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\par</span>--<span class="fu">\kern</span> 0.5em}</span> +<span id="cb452-25"><a href="#cb452-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEndTight</span>{<span class="fu">\endgroup</span>}</span> +<span id="cb452-26"><a href="#cb452-26" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-27"><a href="#cb452-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb452-28"><a href="#cb452-28" aria-hidden="true" tabindex="-1"></a>This is a tight definition list</span> +<span id="cb452-29"><a href="#cb452-29" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-30"><a href="#cb452-30" aria-hidden="true" tabindex="-1"></a>Coffee</span> +<span id="cb452-31"><a href="#cb452-31" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> +<span id="cb452-32"><a href="#cb452-32" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> +<span id="cb452-33"><a href="#cb452-33" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> +<span id="cb452-34"><a href="#cb452-34" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-35"><a href="#cb452-35" aria-hidden="true" tabindex="-1"></a>Milk</span> +<span id="cb452-36"><a href="#cb452-36" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> +<span id="cb452-37"><a href="#cb452-37" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> +<span id="cb452-38"><a href="#cb452-38" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> +<span id="cb452-39"><a href="#cb452-39" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb452-40"><a href="#cb452-40" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-41"><a href="#cb452-41" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb452-42"><a href="#cb452-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb452-43"><a href="#cb452-43" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb452-44"><a href="#cb452-44" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span> +<span id="cb452-45"><a href="#cb452-45" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> +<span id="cb452-46"><a href="#cb452-46" aria-hidden="true" tabindex="-1"></a> . #1 is a</span> +<span id="cb452-47"><a href="#cb452-47" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> +<span id="cb452-48"><a href="#cb452-48" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> +<span id="cb452-49"><a href="#cb452-49" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb452-50"><a href="#cb452-50" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> +<span id="cb452-51"><a href="#cb452-51" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb452-52"><a href="#cb452-52" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb452-53"><a href="#cb452-53" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb452-54"><a href="#cb452-54" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> +<span id="cb452-55"><a href="#cb452-55" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span> +<span id="cb452-56"><a href="#cb452-56" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span> +<span id="cb452-57"><a href="#cb452-57" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-58"><a href="#cb452-58" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb452-59"><a href="#cb452-59" aria-hidden="true" tabindex="-1"></a>This is a loose definition list</span> +<span id="cb452-60"><a href="#cb452-60" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-61"><a href="#cb452-61" aria-hidden="true" tabindex="-1"></a>Coffee</span> +<span id="cb452-62"><a href="#cb452-62" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-63"><a href="#cb452-63" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> +<span id="cb452-64"><a href="#cb452-64" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-65"><a href="#cb452-65" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> +<span id="cb452-66"><a href="#cb452-66" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-67"><a href="#cb452-67" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> +<span id="cb452-68"><a href="#cb452-68" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-69"><a href="#cb452-69" aria-hidden="true" tabindex="-1"></a>Milk</span> +<span id="cb452-70"><a href="#cb452-70" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-71"><a href="#cb452-71" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> +<span id="cb452-72"><a href="#cb452-72" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-73"><a href="#cb452-73" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> +<span id="cb452-74"><a href="#cb452-74" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-75"><a href="#cb452-75" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> +<span id="cb452-76"><a href="#cb452-76" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb452-77"><a href="#cb452-77" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb452-78"><a href="#cb452-78" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb449"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb449-1"><a href="#cb449-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb453"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb453-1"><a href="#cb453-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8033,94 +8104,94 @@ prepared from roasted coffee beans, and one of the most traded agricultural commodities in the world. Milk is a white cold drink, nutrient-rich, and produced on an industrial scale.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-56"><span +<h5 class="unnumbered" id="latex-example-57"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb450"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb450-1"><a href="#cb450-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb450-2"><a href="#cb450-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</span> -<span id="cb450-3"><a href="#cb450-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb450-4"><a href="#cb450-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-5"><a href="#cb450-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb450-6"><a href="#cb450-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb450-7"><a href="#cb450-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb450-8"><a href="#cb450-8" aria-hidden="true" tabindex="-1"></a> :<span class="co">%</span></span> -<span id="cb450-9"><a href="#cb450-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb450-10"><a href="#cb450-10" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb450-11"><a href="#cb450-11" aria-hidden="true" tabindex="-1"></a> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</span> -<span id="cb450-12"><a href="#cb450-12" aria-hidden="true" tabindex="-1"></a> dlItem = {<span class="co">%</span></span> -<span id="cb450-13"><a href="#cb450-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\item</span>[#1]</span> -<span id="cb450-14"><a href="#cb450-14" aria-hidden="true" tabindex="-1"></a> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</span> -<span id="cb450-15"><a href="#cb450-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb450-16"><a href="#cb450-16" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb450-17"><a href="#cb450-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb450-18"><a href="#cb450-18" aria-hidden="true" tabindex="-1"></a> , and</span> -<span id="cb450-19"><a href="#cb450-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> -<span id="cb450-20"><a href="#cb450-20" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb450-21"><a href="#cb450-21" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb450-22"><a href="#cb450-22" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb450-23"><a href="#cb450-23" aria-hidden="true" tabindex="-1"></a> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span> -<span id="cb450-24"><a href="#cb450-24" aria-hidden="true" tabindex="-1"></a> dlDefinitionBegin = <span class="fu">\item</span>,</span> -<span id="cb450-25"><a href="#cb450-25" aria-hidden="true" tabindex="-1"></a> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</span> -<span id="cb450-26"><a href="#cb450-26" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb450-27"><a href="#cb450-27" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb450-28"><a href="#cb450-28" aria-hidden="true" tabindex="-1"></a>This is a tight definition list</span> -<span id="cb450-29"><a href="#cb450-29" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-30"><a href="#cb450-30" aria-hidden="true" tabindex="-1"></a>Coffee</span> -<span id="cb450-31"><a href="#cb450-31" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> -<span id="cb450-32"><a href="#cb450-32" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> -<span id="cb450-33"><a href="#cb450-33" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb450-34"><a href="#cb450-34" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-35"><a href="#cb450-35" aria-hidden="true" tabindex="-1"></a>Milk</span> -<span id="cb450-36"><a href="#cb450-36" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> -<span id="cb450-37"><a href="#cb450-37" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> -<span id="cb450-38"><a href="#cb450-38" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> -<span id="cb450-39"><a href="#cb450-39" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb450-40"><a href="#cb450-40" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-41"><a href="#cb450-41" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb450-42"><a href="#cb450-42" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb450-43"><a href="#cb450-43" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb450-44"><a href="#cb450-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb450-45"><a href="#cb450-45" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb450-46"><a href="#cb450-46" aria-hidden="true" tabindex="-1"></a> dlBegin = {},</span> -<span id="cb450-47"><a href="#cb450-47" aria-hidden="true" tabindex="-1"></a> dlItem = {<span class="co">%</span></span> -<span id="cb450-48"><a href="#cb450-48" aria-hidden="true" tabindex="-1"></a> . #1 is a</span> -<span id="cb450-49"><a href="#cb450-49" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb450-50"><a href="#cb450-50" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb450-51"><a href="#cb450-51" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb450-52"><a href="#cb450-52" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> -<span id="cb450-53"><a href="#cb450-53" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb450-54"><a href="#cb450-54" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb450-55"><a href="#cb450-55" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb450-56"><a href="#cb450-56" aria-hidden="true" tabindex="-1"></a> dlItemEnd = {},</span> -<span id="cb450-57"><a href="#cb450-57" aria-hidden="true" tabindex="-1"></a> dlDefinitionEnd = {},</span> -<span id="cb450-58"><a href="#cb450-58" aria-hidden="true" tabindex="-1"></a> dlEnd = {.},</span> -<span id="cb450-59"><a href="#cb450-59" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb450-60"><a href="#cb450-60" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb450-61"><a href="#cb450-61" aria-hidden="true" tabindex="-1"></a>This is a loose definition list</span> -<span id="cb450-62"><a href="#cb450-62" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-63"><a href="#cb450-63" aria-hidden="true" tabindex="-1"></a>Coffee</span> -<span id="cb450-64"><a href="#cb450-64" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-65"><a href="#cb450-65" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> -<span id="cb450-66"><a href="#cb450-66" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-67"><a href="#cb450-67" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> -<span id="cb450-68"><a href="#cb450-68" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-69"><a href="#cb450-69" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb450-70"><a href="#cb450-70" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-71"><a href="#cb450-71" aria-hidden="true" tabindex="-1"></a>Milk</span> -<span id="cb450-72"><a href="#cb450-72" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-73"><a href="#cb450-73" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> -<span id="cb450-74"><a href="#cb450-74" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-75"><a href="#cb450-75" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> -<span id="cb450-76"><a href="#cb450-76" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-77"><a href="#cb450-77" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> -<span id="cb450-78"><a href="#cb450-78" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb450-79"><a href="#cb450-79" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb450-80"><a href="#cb450-80" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb454"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb454-1"><a href="#cb454-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb454-2"><a href="#cb454-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</span> +<span id="cb454-3"><a href="#cb454-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb454-4"><a href="#cb454-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-5"><a href="#cb454-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb454-6"><a href="#cb454-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb454-7"><a href="#cb454-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> +<span id="cb454-8"><a href="#cb454-8" aria-hidden="true" tabindex="-1"></a> :<span class="co">%</span></span> +<span id="cb454-9"><a href="#cb454-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb454-10"><a href="#cb454-10" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb454-11"><a href="#cb454-11" aria-hidden="true" tabindex="-1"></a> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</span> +<span id="cb454-12"><a href="#cb454-12" aria-hidden="true" tabindex="-1"></a> dlItem = {<span class="co">%</span></span> +<span id="cb454-13"><a href="#cb454-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\item</span>[#1]</span> +<span id="cb454-14"><a href="#cb454-14" aria-hidden="true" tabindex="-1"></a> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</span> +<span id="cb454-15"><a href="#cb454-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> +<span id="cb454-16"><a href="#cb454-16" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb454-17"><a href="#cb454-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> +<span id="cb454-18"><a href="#cb454-18" aria-hidden="true" tabindex="-1"></a> , and</span> +<span id="cb454-19"><a href="#cb454-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> +<span id="cb454-20"><a href="#cb454-20" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb454-21"><a href="#cb454-21" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb454-22"><a href="#cb454-22" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb454-23"><a href="#cb454-23" aria-hidden="true" tabindex="-1"></a> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span> +<span id="cb454-24"><a href="#cb454-24" aria-hidden="true" tabindex="-1"></a> dlDefinitionBegin = <span class="fu">\item</span>,</span> +<span id="cb454-25"><a href="#cb454-25" aria-hidden="true" tabindex="-1"></a> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</span> +<span id="cb454-26"><a href="#cb454-26" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb454-27"><a href="#cb454-27" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb454-28"><a href="#cb454-28" aria-hidden="true" tabindex="-1"></a>This is a tight definition list</span> +<span id="cb454-29"><a href="#cb454-29" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-30"><a href="#cb454-30" aria-hidden="true" tabindex="-1"></a>Coffee</span> +<span id="cb454-31"><a href="#cb454-31" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> +<span id="cb454-32"><a href="#cb454-32" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> +<span id="cb454-33"><a href="#cb454-33" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> +<span id="cb454-34"><a href="#cb454-34" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-35"><a href="#cb454-35" aria-hidden="true" tabindex="-1"></a>Milk</span> +<span id="cb454-36"><a href="#cb454-36" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> +<span id="cb454-37"><a href="#cb454-37" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> +<span id="cb454-38"><a href="#cb454-38" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> +<span id="cb454-39"><a href="#cb454-39" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb454-40"><a href="#cb454-40" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-41"><a href="#cb454-41" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb454-42"><a href="#cb454-42" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb454-43"><a href="#cb454-43" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {<span class="co">%</span></span> +<span id="cb454-44"><a href="#cb454-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb454-45"><a href="#cb454-45" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb454-46"><a href="#cb454-46" aria-hidden="true" tabindex="-1"></a> dlBegin = {},</span> +<span id="cb454-47"><a href="#cb454-47" aria-hidden="true" tabindex="-1"></a> dlItem = {<span class="co">%</span></span> +<span id="cb454-48"><a href="#cb454-48" aria-hidden="true" tabindex="-1"></a> . #1 is a</span> +<span id="cb454-49"><a href="#cb454-49" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> +<span id="cb454-50"><a href="#cb454-50" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> +<span id="cb454-51"><a href="#cb454-51" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb454-52"><a href="#cb454-52" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> +<span id="cb454-53"><a href="#cb454-53" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb454-54"><a href="#cb454-54" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb454-55"><a href="#cb454-55" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb454-56"><a href="#cb454-56" aria-hidden="true" tabindex="-1"></a> dlItemEnd = {},</span> +<span id="cb454-57"><a href="#cb454-57" aria-hidden="true" tabindex="-1"></a> dlDefinitionEnd = {},</span> +<span id="cb454-58"><a href="#cb454-58" aria-hidden="true" tabindex="-1"></a> dlEnd = {.},</span> +<span id="cb454-59"><a href="#cb454-59" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb454-60"><a href="#cb454-60" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb454-61"><a href="#cb454-61" aria-hidden="true" tabindex="-1"></a>This is a loose definition list</span> +<span id="cb454-62"><a href="#cb454-62" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-63"><a href="#cb454-63" aria-hidden="true" tabindex="-1"></a>Coffee</span> +<span id="cb454-64"><a href="#cb454-64" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-65"><a href="#cb454-65" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> +<span id="cb454-66"><a href="#cb454-66" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-67"><a href="#cb454-67" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> +<span id="cb454-68"><a href="#cb454-68" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-69"><a href="#cb454-69" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> +<span id="cb454-70"><a href="#cb454-70" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-71"><a href="#cb454-71" aria-hidden="true" tabindex="-1"></a>Milk</span> +<span id="cb454-72"><a href="#cb454-72" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-73"><a href="#cb454-73" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> +<span id="cb454-74"><a href="#cb454-74" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-75"><a href="#cb454-75" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> +<span id="cb454-76"><a href="#cb454-76" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-77"><a href="#cb454-77" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> +<span id="cb454-78"><a href="#cb454-78" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb454-79"><a href="#cb454-79" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb454-80"><a href="#cb454-80" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb451"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb451-1"><a href="#cb451-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb455"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb455-1"><a href="#cb455-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8146,90 +8217,90 @@ nutrient-rich, and produced on an industrial scale.</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb452"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb452-1"><a href="#cb452-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb452-2"><a href="#cb452-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb452-3"><a href="#cb452-3" aria-hidden="true" tabindex="-1"></a> [</span> -<span id="cb452-4"><a href="#cb452-4" aria-hidden="true" tabindex="-1"></a> definitionLists = yes,</span> -<span id="cb452-5"><a href="#cb452-5" aria-hidden="true" tabindex="-1"></a> tightLists = yes,</span> -<span id="cb452-6"><a href="#cb452-6" aria-hidden="true" tabindex="-1"></a> ]</span> -<span id="cb452-7"><a href="#cb452-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb452-8"><a href="#cb452-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-9"><a href="#cb452-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb452-10"><a href="#cb452-10" aria-hidden="true" tabindex="-1"></a> :<span class="co">%</span></span> -<span id="cb452-11"><a href="#cb452-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb452-12"><a href="#cb452-12" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb452-13"><a href="#cb452-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{}</span> -<span id="cb452-14"><a href="#cb452-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb452-15"><a href="#cb452-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span> -<span id="cb452-16"><a href="#cb452-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\startitemize</span></span> -<span id="cb452-17"><a href="#cb452-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb452-18"><a href="#cb452-18" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb452-19"><a href="#cb452-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb452-20"><a href="#cb452-20" aria-hidden="true" tabindex="-1"></a> , and</span> -<span id="cb452-21"><a href="#cb452-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> -<span id="cb452-22"><a href="#cb452-22" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb452-23"><a href="#cb452-23" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb452-24"><a href="#cb452-24" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb452-25"><a href="#cb452-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{<span class="fu">\stopitemize</span>}</span> -<span id="cb452-26"><a href="#cb452-26" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\item</span>}</span> -<span id="cb452-27"><a href="#cb452-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEndTight</span>{}</span> -<span id="cb452-28"><a href="#cb452-28" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-29"><a href="#cb452-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb452-30"><a href="#cb452-30" aria-hidden="true" tabindex="-1"></a>This is a tight definition list</span> -<span id="cb452-31"><a href="#cb452-31" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-32"><a href="#cb452-32" aria-hidden="true" tabindex="-1"></a>Coffee</span> -<span id="cb452-33"><a href="#cb452-33" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> -<span id="cb452-34"><a href="#cb452-34" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> -<span id="cb452-35"><a href="#cb452-35" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb452-36"><a href="#cb452-36" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-37"><a href="#cb452-37" aria-hidden="true" tabindex="-1"></a>Milk</span> -<span id="cb452-38"><a href="#cb452-38" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> -<span id="cb452-39"><a href="#cb452-39" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> -<span id="cb452-40"><a href="#cb452-40" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> -<span id="cb452-41"><a href="#cb452-41" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb452-42"><a href="#cb452-42" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-43"><a href="#cb452-43" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb452-44"><a href="#cb452-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb452-45"><a href="#cb452-45" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb452-46"><a href="#cb452-46" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span> -<span id="cb452-47"><a href="#cb452-47" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb452-48"><a href="#cb452-48" aria-hidden="true" tabindex="-1"></a> . #1 is a</span> -<span id="cb452-49"><a href="#cb452-49" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb452-50"><a href="#cb452-50" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb452-51"><a href="#cb452-51" aria-hidden="true" tabindex="-1"></a> ,</span> -<span id="cb452-52"><a href="#cb452-52" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> -<span id="cb452-53"><a href="#cb452-53" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb452-54"><a href="#cb452-54" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb452-55"><a href="#cb452-55" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb452-56"><a href="#cb452-56" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> -<span id="cb452-57"><a href="#cb452-57" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span> -<span id="cb452-58"><a href="#cb452-58" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span> -<span id="cb452-59"><a href="#cb452-59" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-60"><a href="#cb452-60" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb452-61"><a href="#cb452-61" aria-hidden="true" tabindex="-1"></a>This is a loose definition list</span> -<span id="cb452-62"><a href="#cb452-62" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-63"><a href="#cb452-63" aria-hidden="true" tabindex="-1"></a>Coffee</span> -<span id="cb452-64"><a href="#cb452-64" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-65"><a href="#cb452-65" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> -<span id="cb452-66"><a href="#cb452-66" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-67"><a href="#cb452-67" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> -<span id="cb452-68"><a href="#cb452-68" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-69"><a href="#cb452-69" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb452-70"><a href="#cb452-70" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-71"><a href="#cb452-71" aria-hidden="true" tabindex="-1"></a>Milk</span> -<span id="cb452-72"><a href="#cb452-72" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-73"><a href="#cb452-73" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> -<span id="cb452-74"><a href="#cb452-74" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-75"><a href="#cb452-75" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> -<span id="cb452-76"><a href="#cb452-76" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-77"><a href="#cb452-77" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> -<span id="cb452-78"><a href="#cb452-78" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb452-79"><a href="#cb452-79" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb452-80"><a href="#cb452-80" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb456"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb456-1"><a href="#cb456-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb456-2"><a href="#cb456-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> +<span id="cb456-3"><a href="#cb456-3" aria-hidden="true" tabindex="-1"></a> [</span> +<span id="cb456-4"><a href="#cb456-4" aria-hidden="true" tabindex="-1"></a> definitionLists = yes,</span> +<span id="cb456-5"><a href="#cb456-5" aria-hidden="true" tabindex="-1"></a> tightLists = yes,</span> +<span id="cb456-6"><a href="#cb456-6" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb456-7"><a href="#cb456-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb456-8"><a href="#cb456-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-9"><a href="#cb456-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb456-10"><a href="#cb456-10" aria-hidden="true" tabindex="-1"></a> :<span class="co">%</span></span> +<span id="cb456-11"><a href="#cb456-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb456-12"><a href="#cb456-12" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb456-13"><a href="#cb456-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{}</span> +<span id="cb456-14"><a href="#cb456-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> +<span id="cb456-15"><a href="#cb456-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span> +<span id="cb456-16"><a href="#cb456-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\startitemize</span></span> +<span id="cb456-17"><a href="#cb456-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> +<span id="cb456-18"><a href="#cb456-18" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb456-19"><a href="#cb456-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> +<span id="cb456-20"><a href="#cb456-20" aria-hidden="true" tabindex="-1"></a> , and</span> +<span id="cb456-21"><a href="#cb456-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> +<span id="cb456-22"><a href="#cb456-22" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb456-23"><a href="#cb456-23" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb456-24"><a href="#cb456-24" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb456-25"><a href="#cb456-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{<span class="fu">\stopitemize</span>}</span> +<span id="cb456-26"><a href="#cb456-26" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\item</span>}</span> +<span id="cb456-27"><a href="#cb456-27" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEndTight</span>{}</span> +<span id="cb456-28"><a href="#cb456-28" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-29"><a href="#cb456-29" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb456-30"><a href="#cb456-30" aria-hidden="true" tabindex="-1"></a>This is a tight definition list</span> +<span id="cb456-31"><a href="#cb456-31" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-32"><a href="#cb456-32" aria-hidden="true" tabindex="-1"></a>Coffee</span> +<span id="cb456-33"><a href="#cb456-33" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> +<span id="cb456-34"><a href="#cb456-34" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> +<span id="cb456-35"><a href="#cb456-35" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> +<span id="cb456-36"><a href="#cb456-36" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-37"><a href="#cb456-37" aria-hidden="true" tabindex="-1"></a>Milk</span> +<span id="cb456-38"><a href="#cb456-38" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> +<span id="cb456-39"><a href="#cb456-39" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> +<span id="cb456-40"><a href="#cb456-40" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> +<span id="cb456-41"><a href="#cb456-41" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb456-42"><a href="#cb456-42" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-43"><a href="#cb456-43" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb456-44"><a href="#cb456-44" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> +<span id="cb456-45"><a href="#cb456-45" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb456-46"><a href="#cb456-46" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span> +<span id="cb456-47"><a href="#cb456-47" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> +<span id="cb456-48"><a href="#cb456-48" aria-hidden="true" tabindex="-1"></a> . #1 is a</span> +<span id="cb456-49"><a href="#cb456-49" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> +<span id="cb456-50"><a href="#cb456-50" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> +<span id="cb456-51"><a href="#cb456-51" aria-hidden="true" tabindex="-1"></a> ,</span> +<span id="cb456-52"><a href="#cb456-52" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> +<span id="cb456-53"><a href="#cb456-53" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb456-54"><a href="#cb456-54" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb456-55"><a href="#cb456-55" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb456-56"><a href="#cb456-56" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> +<span id="cb456-57"><a href="#cb456-57" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span> +<span id="cb456-58"><a href="#cb456-58" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span> +<span id="cb456-59"><a href="#cb456-59" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-60"><a href="#cb456-60" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb456-61"><a href="#cb456-61" aria-hidden="true" tabindex="-1"></a>This is a loose definition list</span> +<span id="cb456-62"><a href="#cb456-62" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-63"><a href="#cb456-63" aria-hidden="true" tabindex="-1"></a>Coffee</span> +<span id="cb456-64"><a href="#cb456-64" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-65"><a href="#cb456-65" aria-hidden="true" tabindex="-1"></a>: black hot drink</span> +<span id="cb456-66"><a href="#cb456-66" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-67"><a href="#cb456-67" aria-hidden="true" tabindex="-1"></a>: prepared from roasted coffee beans</span> +<span id="cb456-68"><a href="#cb456-68" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-69"><a href="#cb456-69" aria-hidden="true" tabindex="-1"></a>: one of the most traded agricultural commodities in the world</span> +<span id="cb456-70"><a href="#cb456-70" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-71"><a href="#cb456-71" aria-hidden="true" tabindex="-1"></a>Milk</span> +<span id="cb456-72"><a href="#cb456-72" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-73"><a href="#cb456-73" aria-hidden="true" tabindex="-1"></a>: white cold drink</span> +<span id="cb456-74"><a href="#cb456-74" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-75"><a href="#cb456-75" aria-hidden="true" tabindex="-1"></a>: nutrient-rich</span> +<span id="cb456-76"><a href="#cb456-76" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-77"><a href="#cb456-77" aria-hidden="true" tabindex="-1"></a>: produced on an industrial scale</span> +<span id="cb456-78"><a href="#cb456-78" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb456-79"><a href="#cb456-79" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb456-80"><a href="#cb456-80" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb453"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb453-1"><a href="#cb453-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb457"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb457-1"><a href="#cb457-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8260,48 +8331,48 @@ corresponds to the emphasized span of text.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb454"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb454-1"><a href="#cb454-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb454-2"><a href="#cb454-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{{<span class="fu">\it</span>#1}}</span> -<span id="cb454-3"><a href="#cb454-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{{<span class="fu">\bf</span>#1}}</span> -<span id="cb454-4"><a href="#cb454-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb454-5"><a href="#cb454-5" aria-hidden="true" tabindex="-1"></a>This is *emphasis*.</span> -<span id="cb454-6"><a href="#cb454-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb454-7"><a href="#cb454-7" aria-hidden="true" tabindex="-1"></a>This is **strong emphasis**.</span> -<span id="cb454-8"><a href="#cb454-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb454-9"><a href="#cb454-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb458"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb458-1"><a href="#cb458-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb458-2"><a href="#cb458-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{{<span class="fu">\it</span>#1}}</span> +<span id="cb458-3"><a href="#cb458-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{{<span class="fu">\bf</span>#1}}</span> +<span id="cb458-4"><a href="#cb458-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb458-5"><a href="#cb458-5" aria-hidden="true" tabindex="-1"></a>This is *emphasis*.</span> +<span id="cb458-6"><a href="#cb458-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb458-7"><a href="#cb458-7" aria-hidden="true" tabindex="-1"></a>This is **strong emphasis**.</span> +<span id="cb458-8"><a href="#cb458-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb458-9"><a href="#cb458-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb455"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb455-1"><a href="#cb455-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb459"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb459-1"><a href="#cb459-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <em>emphasis</em>.</p> <p>This is <strong>strong emphasis</strong>.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-57"><span +<h5 class="unnumbered" id="latex-example-58"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb456"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb456-1"><a href="#cb456-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb456-2"><a href="#cb456-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb456-3"><a href="#cb456-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb456-4"><a href="#cb456-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb456-5"><a href="#cb456-5" aria-hidden="true" tabindex="-1"></a> emphasis = {<span class="fu">\emph</span>{#1}},</span> -<span id="cb456-6"><a href="#cb456-6" aria-hidden="true" tabindex="-1"></a> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</span> -<span id="cb456-7"><a href="#cb456-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb456-8"><a href="#cb456-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb456-9"><a href="#cb456-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb456-10"><a href="#cb456-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb456-11"><a href="#cb456-11" aria-hidden="true" tabindex="-1"></a>This is *emphasis*.</span> -<span id="cb456-12"><a href="#cb456-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb456-13"><a href="#cb456-13" aria-hidden="true" tabindex="-1"></a>This is **strong emphasis**.</span> -<span id="cb456-14"><a href="#cb456-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb456-15"><a href="#cb456-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb460"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb460-1"><a href="#cb460-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb460-2"><a href="#cb460-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb460-3"><a href="#cb460-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb460-4"><a href="#cb460-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb460-5"><a href="#cb460-5" aria-hidden="true" tabindex="-1"></a> emphasis = {<span class="fu">\emph</span>{#1}},</span> +<span id="cb460-6"><a href="#cb460-6" aria-hidden="true" tabindex="-1"></a> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</span> +<span id="cb460-7"><a href="#cb460-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb460-8"><a href="#cb460-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb460-9"><a href="#cb460-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb460-10"><a href="#cb460-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb460-11"><a href="#cb460-11" aria-hidden="true" tabindex="-1"></a>This is *emphasis*.</span> +<span id="cb460-12"><a href="#cb460-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb460-13"><a href="#cb460-13" aria-hidden="true" tabindex="-1"></a>This is **strong emphasis**.</span> +<span id="cb460-14"><a href="#cb460-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb460-15"><a href="#cb460-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb457"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb457-1"><a href="#cb457-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb461"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb461-1"><a href="#cb461-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8312,20 +8383,20 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb458"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb458-1"><a href="#cb458-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb458-2"><a href="#cb458-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{<span class="fu">\emph</span>{#1}}</span> -<span id="cb458-3"><a href="#cb458-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{<span class="fu">\bold</span>{#1}}</span> -<span id="cb458-4"><a href="#cb458-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb458-5"><a href="#cb458-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb458-6"><a href="#cb458-6" aria-hidden="true" tabindex="-1"></a>This is *emphasis*.</span> -<span id="cb458-7"><a href="#cb458-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb458-8"><a href="#cb458-8" aria-hidden="true" tabindex="-1"></a>This is **strong emphasis**.</span> -<span id="cb458-9"><a href="#cb458-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb458-10"><a href="#cb458-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb462"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb462-1"><a href="#cb462-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb462-2"><a href="#cb462-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{<span class="fu">\emph</span>{#1}}</span> +<span id="cb462-3"><a href="#cb462-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{<span class="fu">\bold</span>{#1}}</span> +<span id="cb462-4"><a href="#cb462-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb462-5"><a href="#cb462-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb462-6"><a href="#cb462-6" aria-hidden="true" tabindex="-1"></a>This is *emphasis*.</span> +<span id="cb462-7"><a href="#cb462-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb462-8"><a href="#cb462-8" aria-hidden="true" tabindex="-1"></a>This is **strong emphasis**.</span> +<span id="cb462-9"><a href="#cb462-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb462-10"><a href="#cb462-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb459"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb459-1"><a href="#cb459-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb463"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb463-1"><a href="#cb463-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8345,31 +8416,31 @@ end of a block quote. The macro receives no arguments.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb460"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb460-1"><a href="#cb460-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb460-2"><a href="#cb460-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="co">%</span></span> -<span id="cb460-3"><a href="#cb460-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> -<span id="cb460-4"><a href="#cb460-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\vskip\parindent</span></span> -<span id="cb460-5"><a href="#cb460-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\leftskip</span>=2<span class="fu">\parindent</span></span> -<span id="cb460-6"><a href="#cb460-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\parindent</span>=0pt</span> -<span id="cb460-7"><a href="#cb460-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb460-8"><a href="#cb460-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="co">%</span></span> -<span id="cb460-9"><a href="#cb460-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb460-10"><a href="#cb460-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\vskip\parindent</span></span> -<span id="cb460-11"><a href="#cb460-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\endgroup</span></span> -<span id="cb460-12"><a href="#cb460-12" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb460-13"><a href="#cb460-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb460-14"><a href="#cb460-14" aria-hidden="true" tabindex="-1"></a>A quote from William Shakespeare's King Lear:</span> -<span id="cb460-15"><a href="#cb460-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb460-16"><a href="#cb460-16" aria-hidden="true" tabindex="-1"></a>> This is the excellent foppery of the world that when we are</span> -<span id="cb460-17"><a href="#cb460-17" aria-hidden="true" tabindex="-1"></a>> sick in fortune---often the surfeit of our own behavior---we</span> -<span id="cb460-18"><a href="#cb460-18" aria-hidden="true" tabindex="-1"></a>> make guilty of our disasters the sun, the moon, and the</span> -<span id="cb460-19"><a href="#cb460-19" aria-hidden="true" tabindex="-1"></a>> stars [...]</span> -<span id="cb460-20"><a href="#cb460-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb460-21"><a href="#cb460-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb464"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb464-1"><a href="#cb464-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb464-2"><a href="#cb464-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="co">%</span></span> +<span id="cb464-3"><a href="#cb464-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">\begingroup</span></span> +<span id="cb464-4"><a href="#cb464-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">\vskip\parindent</span></span> +<span id="cb464-5"><a href="#cb464-5" aria-hidden="true" tabindex="-1"></a> <span class="fu">\leftskip</span>=2<span class="fu">\parindent</span></span> +<span id="cb464-6"><a href="#cb464-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\parindent</span>=0pt</span> +<span id="cb464-7"><a href="#cb464-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb464-8"><a href="#cb464-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="co">%</span></span> +<span id="cb464-9"><a href="#cb464-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb464-10"><a href="#cb464-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\vskip\parindent</span></span> +<span id="cb464-11"><a href="#cb464-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\endgroup</span></span> +<span id="cb464-12"><a href="#cb464-12" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb464-13"><a href="#cb464-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb464-14"><a href="#cb464-14" aria-hidden="true" tabindex="-1"></a>A quote from William Shakespeare's King Lear:</span> +<span id="cb464-15"><a href="#cb464-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb464-16"><a href="#cb464-16" aria-hidden="true" tabindex="-1"></a>> This is the excellent foppery of the world that when we are</span> +<span id="cb464-17"><a href="#cb464-17" aria-hidden="true" tabindex="-1"></a>> sick in fortune---often the surfeit of our own behavior---we</span> +<span id="cb464-18"><a href="#cb464-18" aria-hidden="true" tabindex="-1"></a>> make guilty of our disasters the sun, the moon, and the</span> +<span id="cb464-19"><a href="#cb464-19" aria-hidden="true" tabindex="-1"></a>> stars [...]</span> +<span id="cb464-20"><a href="#cb464-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb464-21"><a href="#cb464-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb461"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb461-1"><a href="#cb461-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb465"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb465-1"><a href="#cb465-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8380,32 +8451,32 @@ fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p> </blockquote> </blockquote> -<h5 class="unnumbered" id="latex-example-58"><span +<h5 class="unnumbered" id="latex-example-59"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb462"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb462-1"><a href="#cb462-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb462-2"><a href="#cb462-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb462-3"><a href="#cb462-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb462-4"><a href="#cb462-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb462-5"><a href="#cb462-5" aria-hidden="true" tabindex="-1"></a> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span> -<span id="cb462-6"><a href="#cb462-6" aria-hidden="true" tabindex="-1"></a> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span> -<span id="cb462-7"><a href="#cb462-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb462-8"><a href="#cb462-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb462-9"><a href="#cb462-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb462-10"><a href="#cb462-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb462-11"><a href="#cb462-11" aria-hidden="true" tabindex="-1"></a>A quote from William Shakespeare's King Lear:</span> -<span id="cb462-12"><a href="#cb462-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb462-13"><a href="#cb462-13" aria-hidden="true" tabindex="-1"></a>> This is the excellent foppery of the world that when we are</span> -<span id="cb462-14"><a href="#cb462-14" aria-hidden="true" tabindex="-1"></a>> sick in fortune---often the surfeit of our own behavior---we</span> -<span id="cb462-15"><a href="#cb462-15" aria-hidden="true" tabindex="-1"></a>> make guilty of our disasters the sun, the moon, and the</span> -<span id="cb462-16"><a href="#cb462-16" aria-hidden="true" tabindex="-1"></a>> stars [...]</span> -<span id="cb462-17"><a href="#cb462-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb462-18"><a href="#cb462-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb466"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb466-1"><a href="#cb466-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb466-2"><a href="#cb466-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb466-3"><a href="#cb466-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb466-4"><a href="#cb466-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb466-5"><a href="#cb466-5" aria-hidden="true" tabindex="-1"></a> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span> +<span id="cb466-6"><a href="#cb466-6" aria-hidden="true" tabindex="-1"></a> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span> +<span id="cb466-7"><a href="#cb466-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb466-8"><a href="#cb466-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb466-9"><a href="#cb466-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb466-10"><a href="#cb466-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb466-11"><a href="#cb466-11" aria-hidden="true" tabindex="-1"></a>A quote from William Shakespeare's King Lear:</span> +<span id="cb466-12"><a href="#cb466-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb466-13"><a href="#cb466-13" aria-hidden="true" tabindex="-1"></a>> This is the excellent foppery of the world that when we are</span> +<span id="cb466-14"><a href="#cb466-14" aria-hidden="true" tabindex="-1"></a>> sick in fortune---often the surfeit of our own behavior---we</span> +<span id="cb466-15"><a href="#cb466-15" aria-hidden="true" tabindex="-1"></a>> make guilty of our disasters the sun, the moon, and the</span> +<span id="cb466-16"><a href="#cb466-16" aria-hidden="true" tabindex="-1"></a>> stars [...]</span> +<span id="cb466-17"><a href="#cb466-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb466-18"><a href="#cb466-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb463"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb463-1"><a href="#cb463-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb467"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb467-1"><a href="#cb467-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8420,23 +8491,23 @@ disasters the sun, the moon, and the stars […]</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb464"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb464-1"><a href="#cb464-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb464-2"><a href="#cb464-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="fu">\startquotation</span>}</span> -<span id="cb464-3"><a href="#cb464-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="fu">\stopquotation</span>}</span> -<span id="cb464-4"><a href="#cb464-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb464-5"><a href="#cb464-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb464-6"><a href="#cb464-6" aria-hidden="true" tabindex="-1"></a>A quote from William Shakespeare's King Lear:</span> -<span id="cb464-7"><a href="#cb464-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb464-8"><a href="#cb464-8" aria-hidden="true" tabindex="-1"></a>> This is the excellent foppery of the world that when we are</span> -<span id="cb464-9"><a href="#cb464-9" aria-hidden="true" tabindex="-1"></a>> sick in fortune---often the surfeit of our own behavior---we</span> -<span id="cb464-10"><a href="#cb464-10" aria-hidden="true" tabindex="-1"></a>> make guilty of our disasters the sun, the moon, and the</span> -<span id="cb464-11"><a href="#cb464-11" aria-hidden="true" tabindex="-1"></a>> stars [...]</span> -<span id="cb464-12"><a href="#cb464-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb464-13"><a href="#cb464-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb468"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb468-1"><a href="#cb468-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb468-2"><a href="#cb468-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="fu">\startquotation</span>}</span> +<span id="cb468-3"><a href="#cb468-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="fu">\stopquotation</span>}</span> +<span id="cb468-4"><a href="#cb468-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb468-5"><a href="#cb468-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb468-6"><a href="#cb468-6" aria-hidden="true" tabindex="-1"></a>A quote from William Shakespeare's King Lear:</span> +<span id="cb468-7"><a href="#cb468-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb468-8"><a href="#cb468-8" aria-hidden="true" tabindex="-1"></a>> This is the excellent foppery of the world that when we are</span> +<span id="cb468-9"><a href="#cb468-9" aria-hidden="true" tabindex="-1"></a>> sick in fortune---often the surfeit of our own behavior---we</span> +<span id="cb468-10"><a href="#cb468-10" aria-hidden="true" tabindex="-1"></a>> make guilty of our disasters the sun, the moon, and the</span> +<span id="cb468-11"><a href="#cb468-11" aria-hidden="true" tabindex="-1"></a>> stars [...]</span> +<span id="cb468-12"><a href="#cb468-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb468-13"><a href="#cb468-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb465"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb465-1"><a href="#cb465-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb469"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb469-1"><a href="#cb469-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8457,83 +8528,83 @@ fenced code block. This macro will only be produced, when the <strong><code>fencedCode</code></strong> option is enabled. The macro receives two arguments that correspond to the filename of a file contaning the code block contents and to the code fence infostring.</p> -<h5 class="unnumbered" id="latex-example-59"><span +<h5 class="unnumbered" id="latex-example-60"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb466"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb466-1"><a href="#cb466-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb466-2"><a href="#cb466-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span> -<span id="cb466-3"><a href="#cb466-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</span> -<span id="cb466-4"><a href="#cb466-4" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> -<span id="cb466-5"><a href="#cb466-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb466-6"><a href="#cb466-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb466-7"><a href="#cb466-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {</span> -<span id="cb466-8"><a href="#cb466-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb466-9"><a href="#cb466-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb466-10"><a href="#cb466-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb466-11"><a href="#cb466-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb466-12"><a href="#cb466-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb466-13"><a href="#cb466-13" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb466-14"><a href="#cb466-14" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb466-15"><a href="#cb466-15" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> -<span id="cb466-16"><a href="#cb466-16" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb466-17"><a href="#cb466-17" aria-hidden="true" tabindex="-1"></a> inputVerbatim = {</span> -<span id="cb466-18"><a href="#cb466-18" aria-hidden="true" tabindex="-1"></a> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></span> -<span id="cb466-19"><a href="#cb466-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></span> -<span id="cb466-20"><a href="#cb466-20" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb466-21"><a href="#cb466-21" aria-hidden="true" tabindex="-1"></a> inputFencedCode = {</span> -<span id="cb466-22"><a href="#cb466-22" aria-hidden="true" tabindex="-1"></a> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></span> -<span id="cb466-23"><a href="#cb466-23" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb466-24"><a href="#cb466-24" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb466-25"><a href="#cb466-25" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb466-26"><a href="#cb466-26" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb466-27"><a href="#cb466-27" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb466-28"><a href="#cb466-28" aria-hidden="true" tabindex="-1"></a>The following code</span> -<span id="cb466-29"><a href="#cb466-29" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb466-30"><a href="#cb466-30" aria-hidden="true" tabindex="-1"></a> def foo(bar):</span> -<span id="cb466-31"><a href="#cb466-31" aria-hidden="true" tabindex="-1"></a> if len(bar) <= 1:</span> -<span id="cb466-32"><a href="#cb466-32" aria-hidden="true" tabindex="-1"></a> return bar[0]</span> -<span id="cb466-33"><a href="#cb466-33" aria-hidden="true" tabindex="-1"></a> elif len(bar) == 2:</span> -<span id="cb466-34"><a href="#cb466-34" aria-hidden="true" tabindex="-1"></a> return sorted(bar)</span> -<span id="cb466-35"><a href="#cb466-35" aria-hidden="true" tabindex="-1"></a> else:</span> -<span id="cb466-36"><a href="#cb466-36" aria-hidden="true" tabindex="-1"></a> baz = len(bar) // 2</span> -<span id="cb466-37"><a href="#cb466-37" aria-hidden="true" tabindex="-1"></a> return foo(bar[baz:], bar[:baz])</span> -<span id="cb466-38"><a href="#cb466-38" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb466-39"><a href="#cb466-39" aria-hidden="true" tabindex="-1"></a>The following code</span> -<span id="cb466-40"><a href="#cb466-40" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb466-41"><a href="#cb466-41" aria-hidden="true" tabindex="-1"></a>~~~ Python</span> -<span id="cb466-42"><a href="#cb466-42" aria-hidden="true" tabindex="-1"></a>>>> foo([4, 2, 1, 3])</span> -<span id="cb466-43"><a href="#cb466-43" aria-hidden="true" tabindex="-1"></a>[1, 2, 3, 4]</span> -<span id="cb466-44"><a href="#cb466-44" aria-hidden="true" tabindex="-1"></a>~~~~~~~~~~</span> -<span id="cb466-45"><a href="#cb466-45" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb466-46"><a href="#cb466-46" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb470"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb470-1"><a href="#cb470-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb470-2"><a href="#cb470-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span> +<span id="cb470-3"><a href="#cb470-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</span> +<span id="cb470-4"><a href="#cb470-4" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> +<span id="cb470-5"><a href="#cb470-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb470-6"><a href="#cb470-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb470-7"><a href="#cb470-7" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {</span> +<span id="cb470-8"><a href="#cb470-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb470-9"><a href="#cb470-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb470-10"><a href="#cb470-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb470-11"><a href="#cb470-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> +<span id="cb470-12"><a href="#cb470-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb470-13"><a href="#cb470-13" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb470-14"><a href="#cb470-14" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb470-15"><a href="#cb470-15" aria-hidden="true" tabindex="-1"></a> }<span class="co">%</span></span> +<span id="cb470-16"><a href="#cb470-16" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb470-17"><a href="#cb470-17" aria-hidden="true" tabindex="-1"></a> inputVerbatim = {</span> +<span id="cb470-18"><a href="#cb470-18" aria-hidden="true" tabindex="-1"></a> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></span> +<span id="cb470-19"><a href="#cb470-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></span> +<span id="cb470-20"><a href="#cb470-20" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb470-21"><a href="#cb470-21" aria-hidden="true" tabindex="-1"></a> inputFencedCode = {</span> +<span id="cb470-22"><a href="#cb470-22" aria-hidden="true" tabindex="-1"></a> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></span> +<span id="cb470-23"><a href="#cb470-23" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb470-24"><a href="#cb470-24" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb470-25"><a href="#cb470-25" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb470-26"><a href="#cb470-26" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb470-27"><a href="#cb470-27" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb470-28"><a href="#cb470-28" aria-hidden="true" tabindex="-1"></a>The following code</span> +<span id="cb470-29"><a href="#cb470-29" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb470-30"><a href="#cb470-30" aria-hidden="true" tabindex="-1"></a> def foo(bar):</span> +<span id="cb470-31"><a href="#cb470-31" aria-hidden="true" tabindex="-1"></a> if len(bar) <= 1:</span> +<span id="cb470-32"><a href="#cb470-32" aria-hidden="true" tabindex="-1"></a> return bar[0]</span> +<span id="cb470-33"><a href="#cb470-33" aria-hidden="true" tabindex="-1"></a> elif len(bar) == 2:</span> +<span id="cb470-34"><a href="#cb470-34" aria-hidden="true" tabindex="-1"></a> return sorted(bar)</span> +<span id="cb470-35"><a href="#cb470-35" aria-hidden="true" tabindex="-1"></a> else:</span> +<span id="cb470-36"><a href="#cb470-36" aria-hidden="true" tabindex="-1"></a> baz = len(bar) // 2</span> +<span id="cb470-37"><a href="#cb470-37" aria-hidden="true" tabindex="-1"></a> return foo(bar[baz:], bar[:baz])</span> +<span id="cb470-38"><a href="#cb470-38" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb470-39"><a href="#cb470-39" aria-hidden="true" tabindex="-1"></a>The following code</span> +<span id="cb470-40"><a href="#cb470-40" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb470-41"><a href="#cb470-41" aria-hidden="true" tabindex="-1"></a>~~~ Python</span> +<span id="cb470-42"><a href="#cb470-42" aria-hidden="true" tabindex="-1"></a>>>> foo([4, 2, 1, 3])</span> +<span id="cb470-43"><a href="#cb470-43" aria-hidden="true" tabindex="-1"></a>[1, 2, 3, 4]</span> +<span id="cb470-44"><a href="#cb470-44" aria-hidden="true" tabindex="-1"></a>~~~~~~~~~~</span> +<span id="cb470-45"><a href="#cb470-45" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb470-46"><a href="#cb470-46" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb467"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb467-1"><a href="#cb467-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb471"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb471-1"><a href="#cb471-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text except for the filename, which may differ:</p> <blockquote> <p>The following code is contained in file <code>./_markdown_document/882453149edcf288976647f6fe147ada.verbatim</code>:</p> -<div class="sourceCode" id="cb468"><pre -class="sourceCode py"><code class="sourceCode python"><span id="cb468-1"><a href="#cb468-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> foo(bar):</span> -<span id="cb468-2"><a href="#cb468-2" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op"><=</span> <span class="dv">1</span>:</span> -<span id="cb468-3"><a href="#cb468-3" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> bar[:<span class="dv">1</span>]</span> -<span id="cb468-4"><a href="#cb468-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</span> -<span id="cb468-5"><a href="#cb468-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</span> -<span id="cb468-6"><a href="#cb468-6" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span> -<span id="cb468-7"><a href="#cb468-7" aria-hidden="true" tabindex="-1"></a> baz <span class="op">=</span> bar[<span class="bu">len</span>(bar) <span class="op">//</span> <span class="dv">2</span>]</span> -<span id="cb468-8"><a href="#cb468-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> (</span> -<span id="cb468-9"><a href="#cb468-9" aria-hidden="true" tabindex="-1"></a> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op"><</span> baz]) <span class="op">+</span> [baz] <span class="op">+</span></span> -<span id="cb468-10"><a href="#cb468-10" aria-hidden="true" tabindex="-1"></a> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">></span> baz])</span> -<span id="cb468-11"><a href="#cb468-11" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div> +<div class="sourceCode" id="cb472"><pre +class="sourceCode py"><code class="sourceCode python"><span id="cb472-1"><a href="#cb472-1" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> foo(bar):</span> +<span id="cb472-2"><a href="#cb472-2" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op"><=</span> <span class="dv">1</span>:</span> +<span id="cb472-3"><a href="#cb472-3" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> bar[:<span class="dv">1</span>]</span> +<span id="cb472-4"><a href="#cb472-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</span> +<span id="cb472-5"><a href="#cb472-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</span> +<span id="cb472-6"><a href="#cb472-6" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span> +<span id="cb472-7"><a href="#cb472-7" aria-hidden="true" tabindex="-1"></a> baz <span class="op">=</span> bar[<span class="bu">len</span>(bar) <span class="op">//</span> <span class="dv">2</span>]</span> +<span id="cb472-8"><a href="#cb472-8" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> (</span> +<span id="cb472-9"><a href="#cb472-9" aria-hidden="true" tabindex="-1"></a> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op"><</span> baz]) <span class="op">+</span> [baz] <span class="op">+</span></span> +<span id="cb472-10"><a href="#cb472-10" aria-hidden="true" tabindex="-1"></a> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">></span> baz])</span> +<span id="cb472-11"><a href="#cb472-11" aria-hidden="true" tabindex="-1"></a> )</span></code></pre></div> <p>The following code in Python contained in file <code>./_markdown_document/cf2a96e2120cef5b1fae5fea36fcc27b.verbatim</code>:</p> -<div class="sourceCode" id="cb469"><pre -class="sourceCode py"><code class="sourceCode python"><span id="cb469-1"><a href="#cb469-1" aria-hidden="true" tabindex="-1"></a><span class="op">>>></span> foo([<span class="dv">4</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>])</span> -<span id="cb469-2"><a href="#cb469-2" aria-hidden="true" tabindex="-1"></a>[<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>]</span></code></pre></div> +<div class="sourceCode" id="cb473"><pre +class="sourceCode py"><code class="sourceCode python"><span id="cb473-1"><a href="#cb473-1" aria-hidden="true" tabindex="-1"></a><span class="op">>>></span> foo([<span class="dv">4</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>])</span> +<span id="cb473-2"><a href="#cb473-2" aria-hidden="true" tabindex="-1"></a>[<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>]</span></code></pre></div> </blockquote> <h4 data-number="2.3.1.18" id="yamlmetadatarenderers"><span class="header-section-number">2.3.1.18</span> YAML Metadata @@ -8598,55 +8669,55 @@ rules.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb470"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb470-1"><a href="#cb470-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb470-2"><a href="#cb470-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> -<span id="cb470-3"><a href="#cb470-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span> -<span id="cb470-4"><a href="#cb470-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span> -<span id="cb470-5"><a href="#cb470-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb470-6"><a href="#cb470-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb470-7"><a href="#cb470-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb470-8"><a href="#cb470-8" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb470-9"><a href="#cb470-9" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> -<span id="cb470-10"><a href="#cb470-10" aria-hidden="true" tabindex="-1"></a>age: 99</span> -<span id="cb470-11"><a href="#cb470-11" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb470-12"><a href="#cb470-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb470-13"><a href="#cb470-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb474"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb474-1"><a href="#cb474-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb474-2"><a href="#cb474-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> +<span id="cb474-3"><a href="#cb474-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span> +<span id="cb474-4"><a href="#cb474-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span> +<span id="cb474-5"><a href="#cb474-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> +<span id="cb474-6"><a href="#cb474-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> +<span id="cb474-7"><a href="#cb474-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb474-8"><a href="#cb474-8" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb474-9"><a href="#cb474-9" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb474-10"><a href="#cb474-10" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb474-11"><a href="#cb474-11" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb474-12"><a href="#cb474-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb474-13"><a href="#cb474-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb471"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb471-1"><a href="#cb471-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb475"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb475-1"><a href="#cb475-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Jane Doe is 99 years old.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-60"><span +<h5 class="unnumbered" id="latex-example-61"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb472"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb472-1"><a href="#cb472-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb472-2"><a href="#cb472-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb472-3"><a href="#cb472-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb472-4"><a href="#cb472-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb472-5"><a href="#cb472-5" aria-hidden="true" tabindex="-1"></a> jekyllDataString = {<span class="fu">\gdef\name</span>{#2}},</span> -<span id="cb472-6"><a href="#cb472-6" aria-hidden="true" tabindex="-1"></a> jekyllDataNumber = {<span class="fu">\gdef\age</span>{#2}},</span> -<span id="cb472-7"><a href="#cb472-7" aria-hidden="true" tabindex="-1"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> -<span id="cb472-8"><a href="#cb472-8" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb472-9"><a href="#cb472-9" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb472-10"><a href="#cb472-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb472-11"><a href="#cb472-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb472-12"><a href="#cb472-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb472-13"><a href="#cb472-13" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb472-14"><a href="#cb472-14" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> -<span id="cb472-15"><a href="#cb472-15" aria-hidden="true" tabindex="-1"></a>age: 99</span> -<span id="cb472-16"><a href="#cb472-16" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb472-17"><a href="#cb472-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb472-18"><a href="#cb472-18" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb472-19"><a href="#cb472-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb476"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb476-1"><a href="#cb476-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb476-2"><a href="#cb476-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> +<span id="cb476-3"><a href="#cb476-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb476-4"><a href="#cb476-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb476-5"><a href="#cb476-5" aria-hidden="true" tabindex="-1"></a> jekyllDataString = {<span class="fu">\gdef\name</span>{#2}},</span> +<span id="cb476-6"><a href="#cb476-6" aria-hidden="true" tabindex="-1"></a> jekyllDataNumber = {<span class="fu">\gdef\age</span>{#2}},</span> +<span id="cb476-7"><a href="#cb476-7" aria-hidden="true" tabindex="-1"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> +<span id="cb476-8"><a href="#cb476-8" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb476-9"><a href="#cb476-9" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb476-10"><a href="#cb476-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb476-11"><a href="#cb476-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb476-12"><a href="#cb476-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb476-13"><a href="#cb476-13" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb476-14"><a href="#cb476-14" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb476-15"><a href="#cb476-15" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb476-16"><a href="#cb476-16" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb476-17"><a href="#cb476-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb476-18"><a href="#cb476-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb476-19"><a href="#cb476-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb473"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb473-1"><a href="#cb473-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb477"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb477-1"><a href="#cb477-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8656,26 +8727,26 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb474"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb474-1"><a href="#cb474-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb474-2"><a href="#cb474-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> -<span id="cb474-3"><a href="#cb474-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span> -<span id="cb474-4"><a href="#cb474-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span> -<span id="cb474-5"><a href="#cb474-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb474-6"><a href="#cb474-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb474-7"><a href="#cb474-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb474-8"><a href="#cb474-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb474-9"><a href="#cb474-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb474-10"><a href="#cb474-10" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb474-11"><a href="#cb474-11" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> -<span id="cb474-12"><a href="#cb474-12" aria-hidden="true" tabindex="-1"></a>age: 99</span> -<span id="cb474-13"><a href="#cb474-13" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb474-14"><a href="#cb474-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb474-15"><a href="#cb474-15" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb474-16"><a href="#cb474-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb478"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb478-1"><a href="#cb478-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb478-2"><a href="#cb478-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> +<span id="cb478-3"><a href="#cb478-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span> +<span id="cb478-4"><a href="#cb478-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span> +<span id="cb478-5"><a href="#cb478-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> +<span id="cb478-6"><a href="#cb478-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> +<span id="cb478-7"><a href="#cb478-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb478-8"><a href="#cb478-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb478-9"><a href="#cb478-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb478-10"><a href="#cb478-10" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb478-11"><a href="#cb478-11" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb478-12"><a href="#cb478-12" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb478-13"><a href="#cb478-13" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb478-14"><a href="#cb478-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb478-15"><a href="#cb478-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb478-16"><a href="#cb478-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb475"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb475-1"><a href="#cb475-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb479"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb479-1"><a href="#cb479-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8705,61 +8776,61 @@ the heading text.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb476"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb476-1"><a href="#cb476-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb476-2"><a href="#cb476-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb476-3"><a href="#cb476-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span> -<span id="cb476-4"><a href="#cb476-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span> -<span id="cb476-5"><a href="#cb476-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span> -<span id="cb476-6"><a href="#cb476-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span> -<span id="cb476-7"><a href="#cb476-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span> -<span id="cb476-8"><a href="#cb476-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span> -<span id="cb476-9"><a href="#cb476-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb476-10"><a href="#cb476-10" aria-hidden="true" tabindex="-1"></a>######</span> -<span id="cb476-11"><a href="#cb476-11" aria-hidden="true" tabindex="-1"></a>#####</span> -<span id="cb476-12"><a href="#cb476-12" aria-hidden="true" tabindex="-1"></a>#####</span> -<span id="cb476-13"><a href="#cb476-13" aria-hidden="true" tabindex="-1"></a>###</span> -<span id="cb476-14"><a href="#cb476-14" aria-hidden="true" tabindex="-1"></a>######</span> -<span id="cb476-15"><a href="#cb476-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb476-16"><a href="#cb476-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb480"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb480-1"><a href="#cb480-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb480-2"><a href="#cb480-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> +<span id="cb480-3"><a href="#cb480-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span> +<span id="cb480-4"><a href="#cb480-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span> +<span id="cb480-5"><a href="#cb480-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span> +<span id="cb480-6"><a href="#cb480-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span> +<span id="cb480-7"><a href="#cb480-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span> +<span id="cb480-8"><a href="#cb480-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span> +<span id="cb480-9"><a href="#cb480-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb480-10"><a href="#cb480-10" aria-hidden="true" tabindex="-1"></a>######</span> +<span id="cb480-11"><a href="#cb480-11" aria-hidden="true" tabindex="-1"></a>#####</span> +<span id="cb480-12"><a href="#cb480-12" aria-hidden="true" tabindex="-1"></a>#####</span> +<span id="cb480-13"><a href="#cb480-13" aria-hidden="true" tabindex="-1"></a>###</span> +<span id="cb480-14"><a href="#cb480-14" aria-hidden="true" tabindex="-1"></a>######</span> +<span id="cb480-15"><a href="#cb480-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb480-16"><a href="#cb480-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb477"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb477-1"><a href="#cb477-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb481"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb481-1"><a href="#cb481-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>65536</p> </blockquote> -<h5 class="unnumbered" id="latex-example-61"><span +<h5 class="unnumbered" id="latex-example-62"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb478"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb478-1"><a href="#cb478-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb478-2"><a href="#cb478-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb478-3"><a href="#cb478-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb478-4"><a href="#cb478-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb478-5"><a href="#cb478-5" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {},</span> -<span id="cb478-6"><a href="#cb478-6" aria-hidden="true" tabindex="-1"></a> headingOne = 1,</span> -<span id="cb478-7"><a href="#cb478-7" aria-hidden="true" tabindex="-1"></a> headingTwo = 2,</span> -<span id="cb478-8"><a href="#cb478-8" aria-hidden="true" tabindex="-1"></a> headingThree = 3,</span> -<span id="cb478-9"><a href="#cb478-9" aria-hidden="true" tabindex="-1"></a> headingFour = 4,</span> -<span id="cb478-10"><a href="#cb478-10" aria-hidden="true" tabindex="-1"></a> headingFive = 5,</span> -<span id="cb478-11"><a href="#cb478-11" aria-hidden="true" tabindex="-1"></a> headingSix = 6,</span> -<span id="cb478-12"><a href="#cb478-12" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb478-13"><a href="#cb478-13" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb478-14"><a href="#cb478-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb478-15"><a href="#cb478-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb478-16"><a href="#cb478-16" aria-hidden="true" tabindex="-1"></a>######</span> -<span id="cb478-17"><a href="#cb478-17" aria-hidden="true" tabindex="-1"></a>#####</span> -<span id="cb478-18"><a href="#cb478-18" aria-hidden="true" tabindex="-1"></a>#####</span> -<span id="cb478-19"><a href="#cb478-19" aria-hidden="true" tabindex="-1"></a>###</span> -<span id="cb478-20"><a href="#cb478-20" aria-hidden="true" tabindex="-1"></a>######</span> -<span id="cb478-21"><a href="#cb478-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb478-22"><a href="#cb478-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb482"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb482-1"><a href="#cb482-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb482-2"><a href="#cb482-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb482-3"><a href="#cb482-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb482-4"><a href="#cb482-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb482-5"><a href="#cb482-5" aria-hidden="true" tabindex="-1"></a> interblockSeparator = {},</span> +<span id="cb482-6"><a href="#cb482-6" aria-hidden="true" tabindex="-1"></a> headingOne = 1,</span> +<span id="cb482-7"><a href="#cb482-7" aria-hidden="true" tabindex="-1"></a> headingTwo = 2,</span> +<span id="cb482-8"><a href="#cb482-8" aria-hidden="true" tabindex="-1"></a> headingThree = 3,</span> +<span id="cb482-9"><a href="#cb482-9" aria-hidden="true" tabindex="-1"></a> headingFour = 4,</span> +<span id="cb482-10"><a href="#cb482-10" aria-hidden="true" tabindex="-1"></a> headingFive = 5,</span> +<span id="cb482-11"><a href="#cb482-11" aria-hidden="true" tabindex="-1"></a> headingSix = 6,</span> +<span id="cb482-12"><a href="#cb482-12" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb482-13"><a href="#cb482-13" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb482-14"><a href="#cb482-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb482-15"><a href="#cb482-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb482-16"><a href="#cb482-16" aria-hidden="true" tabindex="-1"></a>######</span> +<span id="cb482-17"><a href="#cb482-17" aria-hidden="true" tabindex="-1"></a>#####</span> +<span id="cb482-18"><a href="#cb482-18" aria-hidden="true" tabindex="-1"></a>#####</span> +<span id="cb482-19"><a href="#cb482-19" aria-hidden="true" tabindex="-1"></a>###</span> +<span id="cb482-20"><a href="#cb482-20" aria-hidden="true" tabindex="-1"></a>######</span> +<span id="cb482-21"><a href="#cb482-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb482-22"><a href="#cb482-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb479"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb479-1"><a href="#cb479-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb483"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb483-1"><a href="#cb483-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8769,55 +8840,55 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb480"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb480-1"><a href="#cb480-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb480-2"><a href="#cb480-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb480-3"><a href="#cb480-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span> -<span id="cb480-4"><a href="#cb480-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span> -<span id="cb480-5"><a href="#cb480-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span> -<span id="cb480-6"><a href="#cb480-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span> -<span id="cb480-7"><a href="#cb480-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span> -<span id="cb480-8"><a href="#cb480-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span> -<span id="cb480-9"><a href="#cb480-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb480-10"><a href="#cb480-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb480-11"><a href="#cb480-11" aria-hidden="true" tabindex="-1"></a>######</span> -<span id="cb480-12"><a href="#cb480-12" aria-hidden="true" tabindex="-1"></a>#####</span> -<span id="cb480-13"><a href="#cb480-13" aria-hidden="true" tabindex="-1"></a>#####</span> -<span id="cb480-14"><a href="#cb480-14" aria-hidden="true" tabindex="-1"></a>###</span> -<span id="cb480-15"><a href="#cb480-15" aria-hidden="true" tabindex="-1"></a>######</span> -<span id="cb480-16"><a href="#cb480-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb480-17"><a href="#cb480-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb484"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb484-1"><a href="#cb484-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb484-2"><a href="#cb484-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> +<span id="cb484-3"><a href="#cb484-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span> +<span id="cb484-4"><a href="#cb484-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span> +<span id="cb484-5"><a href="#cb484-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span> +<span id="cb484-6"><a href="#cb484-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span> +<span id="cb484-7"><a href="#cb484-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span> +<span id="cb484-8"><a href="#cb484-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span> +<span id="cb484-9"><a href="#cb484-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb484-10"><a href="#cb484-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb484-11"><a href="#cb484-11" aria-hidden="true" tabindex="-1"></a>######</span> +<span id="cb484-12"><a href="#cb484-12" aria-hidden="true" tabindex="-1"></a>#####</span> +<span id="cb484-13"><a href="#cb484-13" aria-hidden="true" tabindex="-1"></a>#####</span> +<span id="cb484-14"><a href="#cb484-14" aria-hidden="true" tabindex="-1"></a>###</span> +<span id="cb484-15"><a href="#cb484-15" aria-hidden="true" tabindex="-1"></a>######</span> +<span id="cb484-16"><a href="#cb484-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb484-17"><a href="#cb484-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb481"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb481-1"><a href="#cb481-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb485"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb485-1"><a href="#cb485-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>65536</p> </blockquote> -<h4 data-number="2.3.1.20" id="horizontal-rule-renderer"><span -class="header-section-number">2.3.1.20</span> Horizontal Rule +<h4 data-number="2.3.1.20" id="thematic-break-renderer"><span +class="header-section-number">2.3.1.20</span> Thematic Break Renderer</h4> -<p>The <code>\markdownRendererHorizontalRule</code> macro represents a -horizontal rule. The macro receives no arguments.</p> +<p>The <code>\markdownRendererThematicBreak</code> macro represents a +thematic break. The macro receives no arguments.</p> <h5 class="unnumbered" id="plain-tex-example-32">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb482"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb482-1"><a href="#cb482-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb482-2"><a href="#cb482-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHorizontalRule</span>{<span class="fu">\vfil\break</span>}</span> -<span id="cb482-3"><a href="#cb482-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb482-4"><a href="#cb482-4" aria-hidden="true" tabindex="-1"></a>This is the first page.</span> -<span id="cb482-5"><a href="#cb482-5" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb482-6"><a href="#cb482-6" aria-hidden="true" tabindex="-1"></a>***</span> -<span id="cb482-7"><a href="#cb482-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb482-8"><a href="#cb482-8" aria-hidden="true" tabindex="-1"></a>This is the second page.</span> -<span id="cb482-9"><a href="#cb482-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb482-10"><a href="#cb482-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb486"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb486-1"><a href="#cb486-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb486-2"><a href="#cb486-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererThematicBreak</span>{<span class="fu">\vfil\break</span>}</span> +<span id="cb486-3"><a href="#cb486-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb486-4"><a href="#cb486-4" aria-hidden="true" tabindex="-1"></a>This is the first page.</span> +<span id="cb486-5"><a href="#cb486-5" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb486-6"><a href="#cb486-6" aria-hidden="true" tabindex="-1"></a>***</span> +<span id="cb486-7"><a href="#cb486-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb486-8"><a href="#cb486-8" aria-hidden="true" tabindex="-1"></a>This is the second page.</span> +<span id="cb486-9"><a href="#cb486-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb486-10"><a href="#cb486-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb483"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb483-1"><a href="#cb483-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb487"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb487-1"><a href="#cb487-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8825,30 +8896,30 @@ contain the following text:</p> <hr /> <p>This is the second page.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-62"><span +<h5 class="unnumbered" id="latex-example-63"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb484"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb484-1"><a href="#cb484-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb484-2"><a href="#cb484-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb484-3"><a href="#cb484-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb484-4"><a href="#cb484-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb484-5"><a href="#cb484-5" aria-hidden="true" tabindex="-1"></a> horizontalRule = <span class="fu">\newpage</span>,</span> -<span id="cb484-6"><a href="#cb484-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb484-7"><a href="#cb484-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb484-8"><a href="#cb484-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb484-9"><a href="#cb484-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb484-10"><a href="#cb484-10" aria-hidden="true" tabindex="-1"></a>This is the first page.</span> -<span id="cb484-11"><a href="#cb484-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb484-12"><a href="#cb484-12" aria-hidden="true" tabindex="-1"></a>***</span> -<span id="cb484-13"><a href="#cb484-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb484-14"><a href="#cb484-14" aria-hidden="true" tabindex="-1"></a>This is the second page.</span> -<span id="cb484-15"><a href="#cb484-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb484-16"><a href="#cb484-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb488"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb488-1"><a href="#cb488-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb488-2"><a href="#cb488-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb488-3"><a href="#cb488-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb488-4"><a href="#cb488-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb488-5"><a href="#cb488-5" aria-hidden="true" tabindex="-1"></a> thematicBreak = <span class="fu">\newpage</span>,</span> +<span id="cb488-6"><a href="#cb488-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb488-7"><a href="#cb488-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb488-8"><a href="#cb488-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb488-9"><a href="#cb488-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb488-10"><a href="#cb488-10" aria-hidden="true" tabindex="-1"></a>This is the first page.</span> +<span id="cb488-11"><a href="#cb488-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb488-12"><a href="#cb488-12" aria-hidden="true" tabindex="-1"></a>***</span> +<span id="cb488-13"><a href="#cb488-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb488-14"><a href="#cb488-14" aria-hidden="true" tabindex="-1"></a>This is the second page.</span> +<span id="cb488-15"><a href="#cb488-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb488-16"><a href="#cb488-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb485"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb485-1"><a href="#cb485-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb489"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb489-1"><a href="#cb489-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8860,21 +8931,21 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb486"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb486-1"><a href="#cb486-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb486-2"><a href="#cb486-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHorizontalRule</span>{<span class="fu">\page</span>[yes]}</span> -<span id="cb486-3"><a href="#cb486-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb486-4"><a href="#cb486-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb486-5"><a href="#cb486-5" aria-hidden="true" tabindex="-1"></a>This is the first page.</span> -<span id="cb486-6"><a href="#cb486-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb486-7"><a href="#cb486-7" aria-hidden="true" tabindex="-1"></a>***</span> -<span id="cb486-8"><a href="#cb486-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb486-9"><a href="#cb486-9" aria-hidden="true" tabindex="-1"></a>This is the second page.</span> -<span id="cb486-10"><a href="#cb486-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb486-11"><a href="#cb486-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb490"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb490-1"><a href="#cb490-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb490-2"><a href="#cb490-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererThematicBreak</span>{<span class="fu">\page</span>[yes]}</span> +<span id="cb490-3"><a href="#cb490-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb490-4"><a href="#cb490-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb490-5"><a href="#cb490-5" aria-hidden="true" tabindex="-1"></a>This is the first page.</span> +<span id="cb490-6"><a href="#cb490-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb490-7"><a href="#cb490-7" aria-hidden="true" tabindex="-1"></a>***</span> +<span id="cb490-8"><a href="#cb490-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb490-9"><a href="#cb490-9" aria-hidden="true" tabindex="-1"></a>This is the second page.</span> +<span id="cb490-10"><a href="#cb490-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb490-11"><a href="#cb490-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb487"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb487-1"><a href="#cb487-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb491"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb491-1"><a href="#cb491-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -8882,92 +8953,92 @@ contain the following text:</p> <hr /> <p>This is the second page.</p> </blockquote> -<h4 data-number="2.3.1.21" id="footnote-renderer"><span -class="header-section-number">2.3.1.21</span> Footnote Renderer</h4> -<p>The <code>\markdownRendererFootnote</code> macro represents a -footnote. This macro will only be produced, when the -<strong><code>footnotes</code></strong> option is enabled. The macro -receives a single argument that corresponds to the footnote text.</p> +<h4 data-number="2.3.1.21" id="note-renderer"><span +class="header-section-number">2.3.1.21</span> Note Renderer</h4> +<p>The <code>\markdownRendererNote</code> macro represents a note. This +macro will only be produced, when the +<strong><code>notes</code></strong> option is enabled. The macro +receives a single argument that corresponds to the note text.</p> <h5 class="unnumbered" id="plain-tex-example-33">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb488"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb488-1"><a href="#cb488-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb488-2"><a href="#cb488-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFootnotes</span>{true}</span> -<span id="cb488-3"><a href="#cb488-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererFootnote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span> -<span id="cb488-4"><a href="#cb488-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb488-5"><a href="#cb488-5" aria-hidden="true" tabindex="-1"></a>This is some text[^1] and this is some other text[^2].</span> -<span id="cb488-6"><a href="#cb488-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb488-7"><a href="#cb488-7" aria-hidden="true" tabindex="-1"></a> [^1]: this is a footnote</span> -<span id="cb488-8"><a href="#cb488-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb488-9"><a href="#cb488-9" aria-hidden="true" tabindex="-1"></a> [^2]: this is some other footnote</span> -<span id="cb488-10"><a href="#cb488-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb488-11"><a href="#cb488-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb492"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb492-1"><a href="#cb492-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb492-2"><a href="#cb492-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionNotes</span>{true}</span> +<span id="cb492-3"><a href="#cb492-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererNote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span> +<span id="cb492-4"><a href="#cb492-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb492-5"><a href="#cb492-5" aria-hidden="true" tabindex="-1"></a>This is some text[^1] and this is some other text[^2].</span> +<span id="cb492-6"><a href="#cb492-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb492-7"><a href="#cb492-7" aria-hidden="true" tabindex="-1"></a> [^1]: this is a note</span> +<span id="cb492-8"><a href="#cb492-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb492-9"><a href="#cb492-9" aria-hidden="true" tabindex="-1"></a> [^2]: this is some other note</span> +<span id="cb492-10"><a href="#cb492-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb492-11"><a href="#cb492-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb489"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb489-1"><a href="#cb489-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb493"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb493-1"><a href="#cb493-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>This is some text (and this is a footnote) and this is some other -text (and this is some other footnote).</p> +<p>This is some text (and this is a note) and this is some other text +(and this is some other note).</p> </blockquote> -<h5 class="unnumbered" id="latex-example-63"><span +<h5 class="unnumbered" id="latex-example-64"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb490"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb490-1"><a href="#cb490-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb490-2"><a href="#cb490-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</span> -<span id="cb490-3"><a href="#cb490-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb490-4"><a href="#cb490-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb490-5"><a href="#cb490-5" aria-hidden="true" tabindex="-1"></a> footnote = { (and <span class="fu">\MakeLowercase</span>{#1})},</span> -<span id="cb490-6"><a href="#cb490-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb490-7"><a href="#cb490-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb490-8"><a href="#cb490-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb490-9"><a href="#cb490-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb490-10"><a href="#cb490-10" aria-hidden="true" tabindex="-1"></a>This is some text[^1] and this is some other text[^2].</span> -<span id="cb490-11"><a href="#cb490-11" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb490-12"><a href="#cb490-12" aria-hidden="true" tabindex="-1"></a> [^1]: this is a footnote</span> -<span id="cb490-13"><a href="#cb490-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb490-14"><a href="#cb490-14" aria-hidden="true" tabindex="-1"></a> [^2]: this is some other footnote</span> -<span id="cb490-15"><a href="#cb490-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb490-16"><a href="#cb490-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb494"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb494-1"><a href="#cb494-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb494-2"><a href="#cb494-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[notes]{<span class="ex">markdown</span>}</span> +<span id="cb494-3"><a href="#cb494-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb494-4"><a href="#cb494-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb494-5"><a href="#cb494-5" aria-hidden="true" tabindex="-1"></a> note = { (and <span class="fu">\MakeLowercase</span>{#1})},</span> +<span id="cb494-6"><a href="#cb494-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb494-7"><a href="#cb494-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb494-8"><a href="#cb494-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb494-9"><a href="#cb494-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb494-10"><a href="#cb494-10" aria-hidden="true" tabindex="-1"></a>This is some text[^1] and this is some other text[^2].</span> +<span id="cb494-11"><a href="#cb494-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb494-12"><a href="#cb494-12" aria-hidden="true" tabindex="-1"></a> [^1]: this is a note</span> +<span id="cb494-13"><a href="#cb494-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb494-14"><a href="#cb494-14" aria-hidden="true" tabindex="-1"></a> [^2]: this is some other note</span> +<span id="cb494-15"><a href="#cb494-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb494-16"><a href="#cb494-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb491"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb491-1"><a href="#cb491-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb495"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb495-1"><a href="#cb495-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>This is some text (and this is a footnote) and this is some other -text (and this is some other footnote).</p> +<p>This is some text (and this is a note) and this is some other text +(and this is some other note).</p> </blockquote> <h5 class="unnumbered" id="context-example-48">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb492"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb492-1"><a href="#cb492-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb492-2"><a href="#cb492-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[footnotes = yes]</span> -<span id="cb492-3"><a href="#cb492-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererFootnote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span> -<span id="cb492-4"><a href="#cb492-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb492-5"><a href="#cb492-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb492-6"><a href="#cb492-6" aria-hidden="true" tabindex="-1"></a>This is some text[^1] and this is some other text[^2].</span> -<span id="cb492-7"><a href="#cb492-7" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb492-8"><a href="#cb492-8" aria-hidden="true" tabindex="-1"></a> [^1]: this is a footnote</span> -<span id="cb492-9"><a href="#cb492-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb492-10"><a href="#cb492-10" aria-hidden="true" tabindex="-1"></a> [^2]: this is some other footnote</span> -<span id="cb492-11"><a href="#cb492-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb492-12"><a href="#cb492-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb496"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb496-1"><a href="#cb496-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb496-2"><a href="#cb496-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[notes = yes]</span> +<span id="cb496-3"><a href="#cb496-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererNote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span> +<span id="cb496-4"><a href="#cb496-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb496-5"><a href="#cb496-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb496-6"><a href="#cb496-6" aria-hidden="true" tabindex="-1"></a>This is some text[^1] and this is some other text[^2].</span> +<span id="cb496-7"><a href="#cb496-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb496-8"><a href="#cb496-8" aria-hidden="true" tabindex="-1"></a> [^1]: this is a note</span> +<span id="cb496-9"><a href="#cb496-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb496-10"><a href="#cb496-10" aria-hidden="true" tabindex="-1"></a> [^2]: this is some other note</span> +<span id="cb496-11"><a href="#cb496-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb496-12"><a href="#cb496-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb493"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb493-1"><a href="#cb493-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb497"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb497-1"><a href="#cb497-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>This is some text (and this is a footnote) and this is some other -text (and this is some other footnote).</p> +<p>This is some text (and this is a note) and this is some other text +(and this is some other note).</p> </blockquote> <h4 data-number="2.3.1.22" id="parenthesized-citations-renderer"><span class="header-section-number">2.3.1.22</span> Parenthesized Citations @@ -8981,54 +9052,54 @@ citations</em>⟩<code>}</code> followed by ⟨<em>suppress author</em>⟩ repeated ⟨<em>number of citations</em>⟩ times. The ⟨<em>suppress author</em>⟩ parameter is either the token <code>-</code>, when the author’s name is to be suppressed, or <code>+</code> otherwise.</p> -<h5 class="unnumbered" id="latex-example-64"><span +<h5 class="unnumbered" id="latex-example-65"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb494"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb494-1"><a href="#cb494-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb494-2"><a href="#cb494-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> -<span id="cb494-3"><a href="#cb494-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsCounter</span></span> -<span id="cb494-4"><a href="#cb494-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsTotal</span></span> -<span id="cb494-5"><a href="#cb494-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatletter</span></span> -<span id="cb494-6"><a href="#cb494-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb494-7"><a href="#cb494-7" aria-hidden="true" tabindex="-1"></a> a parenthesized citation <span class="fu">\emph</span>{#4}</span> -<span id="cb494-8"><a href="#cb494-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb494-9"><a href="#cb494-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span> -<span id="cb494-10"><a href="#cb494-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb494-11"><a href="#cb494-11" aria-hidden="true" tabindex="-1"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb494-12"><a href="#cb494-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb494-13"><a href="#cb494-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb494-14"><a href="#cb494-14" aria-hidden="true" tabindex="-1"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span> -<span id="cb494-15"><a href="#cb494-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb494-16"><a href="#cb494-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb494-17"><a href="#cb494-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb494-18"><a href="#cb494-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb494-19"><a href="#cb494-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\citationsCounter</span>><span class="fu">\citationsTotal\relax</span></span> -<span id="cb494-20"><a href="#cb494-20" aria-hidden="true" tabindex="-1"></a> .<span class="co">%</span></span> -<span id="cb494-21"><a href="#cb494-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\@gobble</span></span> -<span id="cb494-22"><a href="#cb494-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb494-23"><a href="#cb494-23" aria-hidden="true" tabindex="-1"></a> , and</span> -<span id="cb494-24"><a href="#cb494-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\citations</span>}</span> -<span id="cb494-25"><a href="#cb494-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatother</span></span> -<span id="cb494-26"><a href="#cb494-26" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb494-27"><a href="#cb494-27" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb494-28"><a href="#cb494-28" aria-hidden="true" tabindex="-1"></a> cite = {<span class="co">%</span></span> -<span id="cb494-29"><a href="#cb494-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span> -<span id="cb494-30"><a href="#cb494-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span> -<span id="cb494-31"><a href="#cb494-31" aria-hidden="true" tabindex="-1"></a> This is</span> -<span id="cb494-32"><a href="#cb494-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\citations</span></span> -<span id="cb494-33"><a href="#cb494-33" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb494-34"><a href="#cb494-34" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb494-35"><a href="#cb494-35" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb494-36"><a href="#cb494-36" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb494-37"><a href="#cb494-37" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb494-38"><a href="#cb494-38" aria-hidden="true" tabindex="-1"></a>[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</span> -<span id="cb494-39"><a href="#cb494-39" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb494-40"><a href="#cb494-40" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb498"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb498-1"><a href="#cb498-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb498-2"><a href="#cb498-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> +<span id="cb498-3"><a href="#cb498-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsCounter</span></span> +<span id="cb498-4"><a href="#cb498-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsTotal</span></span> +<span id="cb498-5"><a href="#cb498-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatletter</span></span> +<span id="cb498-6"><a href="#cb498-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb498-7"><a href="#cb498-7" aria-hidden="true" tabindex="-1"></a> a parenthesized citation <span class="fu">\emph</span>{#4}</span> +<span id="cb498-8"><a href="#cb498-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span> +<span id="cb498-9"><a href="#cb498-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span> +<span id="cb498-10"><a href="#cb498-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> +<span id="cb498-11"><a href="#cb498-11" aria-hidden="true" tabindex="-1"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> +<span id="cb498-12"><a href="#cb498-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb498-13"><a href="#cb498-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb498-14"><a href="#cb498-14" aria-hidden="true" tabindex="-1"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span> +<span id="cb498-15"><a href="#cb498-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> +<span id="cb498-16"><a href="#cb498-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> +<span id="cb498-17"><a href="#cb498-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb498-18"><a href="#cb498-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb498-19"><a href="#cb498-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\citationsCounter</span>><span class="fu">\citationsTotal\relax</span></span> +<span id="cb498-20"><a href="#cb498-20" aria-hidden="true" tabindex="-1"></a> .<span class="co">%</span></span> +<span id="cb498-21"><a href="#cb498-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\@gobble</span></span> +<span id="cb498-22"><a href="#cb498-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb498-23"><a href="#cb498-23" aria-hidden="true" tabindex="-1"></a> , and</span> +<span id="cb498-24"><a href="#cb498-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\citations</span>}</span> +<span id="cb498-25"><a href="#cb498-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatother</span></span> +<span id="cb498-26"><a href="#cb498-26" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb498-27"><a href="#cb498-27" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb498-28"><a href="#cb498-28" aria-hidden="true" tabindex="-1"></a> cite = {<span class="co">%</span></span> +<span id="cb498-29"><a href="#cb498-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span> +<span id="cb498-30"><a href="#cb498-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span> +<span id="cb498-31"><a href="#cb498-31" aria-hidden="true" tabindex="-1"></a> This is</span> +<span id="cb498-32"><a href="#cb498-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\citations</span></span> +<span id="cb498-33"><a href="#cb498-33" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb498-34"><a href="#cb498-34" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb498-35"><a href="#cb498-35" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb498-36"><a href="#cb498-36" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb498-37"><a href="#cb498-37" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb498-38"><a href="#cb498-38" aria-hidden="true" tabindex="-1"></a>[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</span> +<span id="cb498-39"><a href="#cb498-39" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb498-40"><a href="#cb498-40" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb495"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb495-1"><a href="#cb495-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb499"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb499-1"><a href="#cb499-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9044,54 +9115,54 @@ of one or more text citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is enabled. The macro receives parameters in the same format as the <code>\markdownRendererCite</code> macro.</p> -<h5 class="unnumbered" id="latex-example-65"><span +<h5 class="unnumbered" id="latex-example-66"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb496"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb496-1"><a href="#cb496-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb496-2"><a href="#cb496-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> -<span id="cb496-3"><a href="#cb496-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsCounter</span></span> -<span id="cb496-4"><a href="#cb496-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsTotal</span></span> -<span id="cb496-5"><a href="#cb496-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatletter</span></span> -<span id="cb496-6"><a href="#cb496-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb496-7"><a href="#cb496-7" aria-hidden="true" tabindex="-1"></a> a text citation <span class="fu">\emph</span>{#4}</span> -<span id="cb496-8"><a href="#cb496-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb496-9"><a href="#cb496-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span> -<span id="cb496-10"><a href="#cb496-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb496-11"><a href="#cb496-11" aria-hidden="true" tabindex="-1"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb496-12"><a href="#cb496-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb496-13"><a href="#cb496-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb496-14"><a href="#cb496-14" aria-hidden="true" tabindex="-1"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span> -<span id="cb496-15"><a href="#cb496-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb496-16"><a href="#cb496-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb496-17"><a href="#cb496-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb496-18"><a href="#cb496-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb496-19"><a href="#cb496-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\citationsCounter</span>><span class="fu">\citationsTotal\relax</span></span> -<span id="cb496-20"><a href="#cb496-20" aria-hidden="true" tabindex="-1"></a> .<span class="co">%</span></span> -<span id="cb496-21"><a href="#cb496-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\@gobble</span></span> -<span id="cb496-22"><a href="#cb496-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb496-23"><a href="#cb496-23" aria-hidden="true" tabindex="-1"></a> , and</span> -<span id="cb496-24"><a href="#cb496-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\citations</span>}</span> -<span id="cb496-25"><a href="#cb496-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatother</span></span> -<span id="cb496-26"><a href="#cb496-26" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb496-27"><a href="#cb496-27" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb496-28"><a href="#cb496-28" aria-hidden="true" tabindex="-1"></a> textCite = {<span class="co">%</span></span> -<span id="cb496-29"><a href="#cb496-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span> -<span id="cb496-30"><a href="#cb496-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span> -<span id="cb496-31"><a href="#cb496-31" aria-hidden="true" tabindex="-1"></a> This is</span> -<span id="cb496-32"><a href="#cb496-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\citations</span></span> -<span id="cb496-33"><a href="#cb496-33" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb496-34"><a href="#cb496-34" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb496-35"><a href="#cb496-35" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb496-36"><a href="#cb496-36" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb496-37"><a href="#cb496-37" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb496-38"><a href="#cb496-38" aria-hidden="true" tabindex="-1"></a>@abrahams90 [pp. 12; also @eijkhout91]</span> -<span id="cb496-39"><a href="#cb496-39" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb496-40"><a href="#cb496-40" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb500"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb500-1"><a href="#cb500-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb500-2"><a href="#cb500-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> +<span id="cb500-3"><a href="#cb500-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsCounter</span></span> +<span id="cb500-4"><a href="#cb500-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\citationsTotal</span></span> +<span id="cb500-5"><a href="#cb500-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatletter</span></span> +<span id="cb500-6"><a href="#cb500-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span> +<span id="cb500-7"><a href="#cb500-7" aria-hidden="true" tabindex="-1"></a> a text citation <span class="fu">\emph</span>{#4}</span> +<span id="cb500-8"><a href="#cb500-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span> +<span id="cb500-9"><a href="#cb500-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span> +<span id="cb500-10"><a href="#cb500-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> +<span id="cb500-11"><a href="#cb500-11" aria-hidden="true" tabindex="-1"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> +<span id="cb500-12"><a href="#cb500-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb500-13"><a href="#cb500-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb500-14"><a href="#cb500-14" aria-hidden="true" tabindex="-1"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span> +<span id="cb500-15"><a href="#cb500-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> +<span id="cb500-16"><a href="#cb500-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> +<span id="cb500-17"><a href="#cb500-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb500-18"><a href="#cb500-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb500-19"><a href="#cb500-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\citationsCounter</span>><span class="fu">\citationsTotal\relax</span></span> +<span id="cb500-20"><a href="#cb500-20" aria-hidden="true" tabindex="-1"></a> .<span class="co">%</span></span> +<span id="cb500-21"><a href="#cb500-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\@gobble</span></span> +<span id="cb500-22"><a href="#cb500-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb500-23"><a href="#cb500-23" aria-hidden="true" tabindex="-1"></a> , and</span> +<span id="cb500-24"><a href="#cb500-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\citations</span>}</span> +<span id="cb500-25"><a href="#cb500-25" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatother</span></span> +<span id="cb500-26"><a href="#cb500-26" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb500-27"><a href="#cb500-27" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb500-28"><a href="#cb500-28" aria-hidden="true" tabindex="-1"></a> textCite = {<span class="co">%</span></span> +<span id="cb500-29"><a href="#cb500-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span> +<span id="cb500-30"><a href="#cb500-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span> +<span id="cb500-31"><a href="#cb500-31" aria-hidden="true" tabindex="-1"></a> This is</span> +<span id="cb500-32"><a href="#cb500-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\citations</span></span> +<span id="cb500-33"><a href="#cb500-33" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb500-34"><a href="#cb500-34" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb500-35"><a href="#cb500-35" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb500-36"><a href="#cb500-36" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb500-37"><a href="#cb500-37" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb500-38"><a href="#cb500-38" aria-hidden="true" tabindex="-1"></a>@abrahams90 [pp. 12; also @eijkhout91]</span> +<span id="cb500-39"><a href="#cb500-39" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb500-40"><a href="#cb500-40" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb497"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb497-1"><a href="#cb497-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb501"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb501-1"><a href="#cb501-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9121,71 +9192,71 @@ one of the following:</p> <li><code>c</code> – The corresponding column is centered.</li> <li><code>r</code> – The corresponding column is right-aligned.</li> </ul> -<h5 class="unnumbered" id="latex-example-66"><span +<h5 class="unnumbered" id="latex-example-67"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb498"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb498-1"><a href="#cb498-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb498-2"><a href="#cb498-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span> -<span id="cb498-3"><a href="#cb498-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\rowCounter</span></span> -<span id="cb498-4"><a href="#cb498-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\columnCounter</span></span> -<span id="cb498-5"><a href="#cb498-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatletter</span></span> -<span id="cb498-6"><a href="#cb498-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\processRow</span>#1{<span class="co">%</span></span> -<span id="cb498-7"><a href="#cb498-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\columnCounter</span>=1<span class="co">%</span></span> -<span id="cb498-8"><a href="#cb498-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span> -<span id="cb498-9"><a href="#cb498-9" aria-hidden="true" tabindex="-1"></a> As for the alignment,</span> -<span id="cb498-10"><a href="#cb498-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb498-11"><a href="#cb498-11" aria-hidden="true" tabindex="-1"></a> In row <span class="fu">\the\rowCounter</span>,</span> -<span id="cb498-12"><a href="#cb498-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb498-13"><a href="#cb498-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\processColumn</span>#1</span> -<span id="cb498-14"><a href="#cb498-14" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\rowCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb498-15"><a href="#cb498-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\rowCounter</span>><span class="fu">\rowTotal\relax</span></span> -<span id="cb498-16"><a href="#cb498-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\@gobble</span></span> -<span id="cb498-17"><a href="#cb498-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\processRow</span>}<span class="co">%</span></span> -<span id="cb498-18"><a href="#cb498-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\processColumn</span>#1{<span class="co">%</span></span> -<span id="cb498-19"><a href="#cb498-19" aria-hidden="true" tabindex="-1"></a> column number <span class="fu">\the\columnCounter</span>{}</span> -<span id="cb498-20"><a href="#cb498-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span> -<span id="cb498-21"><a href="#cb498-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1d{}has default alignment<span class="fu">\fi</span></span> -<span id="cb498-22"><a href="#cb498-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1l{}is left-aligned<span class="fu">\fi</span></span> -<span id="cb498-23"><a href="#cb498-23" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1c{}is centered<span class="fu">\fi</span></span> -<span id="cb498-24"><a href="#cb498-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1r{}is right-aligned<span class="fu">\fi</span></span> -<span id="cb498-25"><a href="#cb498-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> -<span id="cb498-26"><a href="#cb498-26" aria-hidden="true" tabindex="-1"></a> says <span class="fu">\emph</span>{#1}<span class="co">%</span></span> -<span id="cb498-27"><a href="#cb498-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> -<span id="cb498-28"><a href="#cb498-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\columnCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb498-29"><a href="#cb498-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\columnCounter</span><<span class="fu">\columnTotal\relax</span>, <span class="fu">\fi</span></span> -<span id="cb498-30"><a href="#cb498-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\columnCounter</span>=<span class="fu">\columnTotal\relax</span>, and <span class="fu">\fi</span></span> -<span id="cb498-31"><a href="#cb498-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\columnCounter</span>><span class="fu">\columnTotal\relax</span></span> -<span id="cb498-32"><a href="#cb498-32" aria-hidden="true" tabindex="-1"></a> .<span class="fu">\expandafter\@gobble</span></span> -<span id="cb498-33"><a href="#cb498-33" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\processColumn</span>}<span class="co">%</span></span> -<span id="cb498-34"><a href="#cb498-34" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatother</span></span> -<span id="cb498-35"><a href="#cb498-35" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb498-36"><a href="#cb498-36" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb498-37"><a href="#cb498-37" aria-hidden="true" tabindex="-1"></a> table = {<span class="co">%</span></span> -<span id="cb498-38"><a href="#cb498-38" aria-hidden="true" tabindex="-1"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</span> -<span id="cb498-39"><a href="#cb498-39" aria-hidden="true" tabindex="-1"></a> and #2 rows long.</span> -<span id="cb498-40"><a href="#cb498-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\rowCounter</span>=0<span class="co">%</span></span> -<span id="cb498-41"><a href="#cb498-41" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\rowTotal</span>{#2}<span class="co">%</span></span> -<span id="cb498-42"><a href="#cb498-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\columnTotal</span>{#3}<span class="co">%</span></span> -<span id="cb498-43"><a href="#cb498-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\processRow</span></span> -<span id="cb498-44"><a href="#cb498-44" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb498-45"><a href="#cb498-45" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb498-46"><a href="#cb498-46" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb498-47"><a href="#cb498-47" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb498-48"><a href="#cb498-48" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb498-49"><a href="#cb498-49" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> -<span id="cb498-50"><a href="#cb498-50" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> -<span id="cb498-51"><a href="#cb498-51" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb498-52"><a href="#cb498-52" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb498-53"><a href="#cb498-53" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb498-54"><a href="#cb498-54" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb498-55"><a href="#cb498-55" aria-hidden="true" tabindex="-1"></a> : Demonstration of pipe table syntax</span> -<span id="cb498-56"><a href="#cb498-56" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb498-57"><a href="#cb498-57" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb502"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb502-1"><a href="#cb502-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb502-2"><a href="#cb502-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span> +<span id="cb502-3"><a href="#cb502-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\rowCounter</span></span> +<span id="cb502-4"><a href="#cb502-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\newcount\columnCounter</span></span> +<span id="cb502-5"><a href="#cb502-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatletter</span></span> +<span id="cb502-6"><a href="#cb502-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\processRow</span>#1{<span class="co">%</span></span> +<span id="cb502-7"><a href="#cb502-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\columnCounter</span>=1<span class="co">%</span></span> +<span id="cb502-8"><a href="#cb502-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span> +<span id="cb502-9"><a href="#cb502-9" aria-hidden="true" tabindex="-1"></a> As for the alignment,</span> +<span id="cb502-10"><a href="#cb502-10" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb502-11"><a href="#cb502-11" aria-hidden="true" tabindex="-1"></a> In row <span class="fu">\the\rowCounter</span>,</span> +<span id="cb502-12"><a href="#cb502-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb502-13"><a href="#cb502-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\processColumn</span>#1</span> +<span id="cb502-14"><a href="#cb502-14" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\rowCounter</span> by 1<span class="fu">\relax</span></span> +<span id="cb502-15"><a href="#cb502-15" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\rowCounter</span>><span class="fu">\rowTotal\relax</span></span> +<span id="cb502-16"><a href="#cb502-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\expandafter\@gobble</span></span> +<span id="cb502-17"><a href="#cb502-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\processRow</span>}<span class="co">%</span></span> +<span id="cb502-18"><a href="#cb502-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\processColumn</span>#1{<span class="co">%</span></span> +<span id="cb502-19"><a href="#cb502-19" aria-hidden="true" tabindex="-1"></a> column number <span class="fu">\the\columnCounter</span>{}</span> +<span id="cb502-20"><a href="#cb502-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span> +<span id="cb502-21"><a href="#cb502-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1d{}has default alignment<span class="fu">\fi</span></span> +<span id="cb502-22"><a href="#cb502-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1l{}is left-aligned<span class="fu">\fi</span></span> +<span id="cb502-23"><a href="#cb502-23" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1c{}is centered<span class="fu">\fi</span></span> +<span id="cb502-24"><a href="#cb502-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">\if</span>#1r{}is right-aligned<span class="fu">\fi</span></span> +<span id="cb502-25"><a href="#cb502-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">\else</span></span> +<span id="cb502-26"><a href="#cb502-26" aria-hidden="true" tabindex="-1"></a> says <span class="fu">\emph</span>{#1}<span class="co">%</span></span> +<span id="cb502-27"><a href="#cb502-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi</span></span> +<span id="cb502-28"><a href="#cb502-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">\advance\columnCounter</span> by 1<span class="fu">\relax</span></span> +<span id="cb502-29"><a href="#cb502-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\columnCounter</span><<span class="fu">\columnTotal\relax</span>, <span class="fu">\fi</span></span> +<span id="cb502-30"><a href="#cb502-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\columnCounter</span>=<span class="fu">\columnTotal\relax</span>, and <span class="fu">\fi</span></span> +<span id="cb502-31"><a href="#cb502-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">\ifnum\columnCounter</span>><span class="fu">\columnTotal\relax</span></span> +<span id="cb502-32"><a href="#cb502-32" aria-hidden="true" tabindex="-1"></a> .<span class="fu">\expandafter\@gobble</span></span> +<span id="cb502-33"><a href="#cb502-33" aria-hidden="true" tabindex="-1"></a> <span class="fu">\fi\processColumn</span>}<span class="co">%</span></span> +<span id="cb502-34"><a href="#cb502-34" aria-hidden="true" tabindex="-1"></a><span class="fu">\makeatother</span></span> +<span id="cb502-35"><a href="#cb502-35" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb502-36"><a href="#cb502-36" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb502-37"><a href="#cb502-37" aria-hidden="true" tabindex="-1"></a> table = {<span class="co">%</span></span> +<span id="cb502-38"><a href="#cb502-38" aria-hidden="true" tabindex="-1"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</span> +<span id="cb502-39"><a href="#cb502-39" aria-hidden="true" tabindex="-1"></a> and #2 rows long.</span> +<span id="cb502-40"><a href="#cb502-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\rowCounter</span>=0<span class="co">%</span></span> +<span id="cb502-41"><a href="#cb502-41" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\rowTotal</span>{#2}<span class="co">%</span></span> +<span id="cb502-42"><a href="#cb502-42" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\columnTotal</span>{#3}<span class="co">%</span></span> +<span id="cb502-43"><a href="#cb502-43" aria-hidden="true" tabindex="-1"></a> <span class="fu">\processRow</span></span> +<span id="cb502-44"><a href="#cb502-44" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb502-45"><a href="#cb502-45" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb502-46"><a href="#cb502-46" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb502-47"><a href="#cb502-47" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb502-48"><a href="#cb502-48" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb502-49"><a href="#cb502-49" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb502-50"><a href="#cb502-50" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb502-51"><a href="#cb502-51" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb502-52"><a href="#cb502-52" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb502-53"><a href="#cb502-53" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> +<span id="cb502-54"><a href="#cb502-54" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb502-55"><a href="#cb502-55" aria-hidden="true" tabindex="-1"></a> : Demonstration of pipe table syntax</span> +<span id="cb502-56"><a href="#cb502-56" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb502-57"><a href="#cb502-57" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb499"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb499-1"><a href="#cb499-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb503"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb503-1"><a href="#cb503-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9215,40 +9286,40 @@ contents of the <abbr>HTML</abbr> comment.</p> <code>\markdownRendererBlockHtmlCommentEnd</code> macros represent the beginning and the end of a block <abbr>HTML</abbr> comment. The macros receive no arguments.</p> -<h5 class="unnumbered" id="latex-example-67"><span +<h5 class="unnumbered" id="latex-example-68"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb500"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb500-1"><a href="#cb500-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb500-2"><a href="#cb500-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span> -<span id="cb500-3"><a href="#cb500-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span> -<span id="cb500-4"><a href="#cb500-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb500-5"><a href="#cb500-5" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb500-6"><a href="#cb500-6" aria-hidden="true" tabindex="-1"></a> inlineHtmlComment = {<span class="fu">\marginnote</span>{#1}},</span> -<span id="cb500-7"><a href="#cb500-7" aria-hidden="true" tabindex="-1"></a> blockHtmlCommentBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span> -<span id="cb500-8"><a href="#cb500-8" aria-hidden="true" tabindex="-1"></a> blockHtmlCommentEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span> -<span id="cb500-9"><a href="#cb500-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb500-10"><a href="#cb500-10" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb500-11"><a href="#cb500-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb500-12"><a href="#cb500-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb500-13"><a href="#cb500-13" aria-hidden="true" tabindex="-1"></a>A useful use of inline HTML comments are side notes.</span> -<span id="cb500-14"><a href="#cb500-14" aria-hidden="true" tabindex="-1"></a><!-- Side notes are displayed in the horizontal margins next to the relevant</span> -<span id="cb500-15"><a href="#cb500-15" aria-hidden="true" tabindex="-1"></a>passages, which makes them *easier for the reader to find* than footnotes. --></span> -<span id="cb500-16"><a href="#cb500-16" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb500-17"><a href="#cb500-17" aria-hidden="true" tabindex="-1"></a>We can render block HTML comments as blockquotes:</span> -<span id="cb500-18"><a href="#cb500-18" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb500-19"><a href="#cb500-19" aria-hidden="true" tabindex="-1"></a><!--</span> -<span id="cb500-20"><a href="#cb500-20" aria-hidden="true" tabindex="-1"></a>Here is a block HTML comment with a code example that a programmer might understand:</span> -<span id="cb500-21"><a href="#cb500-21" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb500-22"><a href="#cb500-22" aria-hidden="true" tabindex="-1"></a> foo = bar + baz - 42</span> -<span id="cb500-23"><a href="#cb500-23" aria-hidden="true" tabindex="-1"></a>--></span> -<span id="cb500-24"><a href="#cb500-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb500-25"><a href="#cb500-25" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb501"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb501-1"><a href="#cb501-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb501-2"><a href="#cb501-2" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb504"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb504-1"><a href="#cb504-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb504-2"><a href="#cb504-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span> +<span id="cb504-3"><a href="#cb504-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span> +<span id="cb504-4"><a href="#cb504-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb504-5"><a href="#cb504-5" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb504-6"><a href="#cb504-6" aria-hidden="true" tabindex="-1"></a> inlineHtmlComment = {<span class="fu">\marginnote</span>{#1}},</span> +<span id="cb504-7"><a href="#cb504-7" aria-hidden="true" tabindex="-1"></a> blockHtmlCommentBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span> +<span id="cb504-8"><a href="#cb504-8" aria-hidden="true" tabindex="-1"></a> blockHtmlCommentEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span> +<span id="cb504-9"><a href="#cb504-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb504-10"><a href="#cb504-10" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb504-11"><a href="#cb504-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb504-12"><a href="#cb504-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb504-13"><a href="#cb504-13" aria-hidden="true" tabindex="-1"></a>A useful use of inline HTML comments are side notes.</span> +<span id="cb504-14"><a href="#cb504-14" aria-hidden="true" tabindex="-1"></a><!-- Side notes are displayed in the horizontal margins next to the relevant</span> +<span id="cb504-15"><a href="#cb504-15" aria-hidden="true" tabindex="-1"></a>passages, which makes them *easier for the reader to find* than notes. --></span> +<span id="cb504-16"><a href="#cb504-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb504-17"><a href="#cb504-17" aria-hidden="true" tabindex="-1"></a>We can render block HTML comments as blockquotes:</span> +<span id="cb504-18"><a href="#cb504-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb504-19"><a href="#cb504-19" aria-hidden="true" tabindex="-1"></a><!--</span> +<span id="cb504-20"><a href="#cb504-20" aria-hidden="true" tabindex="-1"></a>Here is a block HTML comment with a code example that a programmer might understand:</span> +<span id="cb504-21"><a href="#cb504-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb504-22"><a href="#cb504-22" aria-hidden="true" tabindex="-1"></a> foo = bar + baz - 42</span> +<span id="cb504-23"><a href="#cb504-23" aria-hidden="true" tabindex="-1"></a>--></span> +<span id="cb504-24"><a href="#cb504-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb504-25"><a href="#cb504-25" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb505"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb505-1"><a href="#cb505-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb505-2"><a href="#cb505-2" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following body text:</p> <blockquote> @@ -9264,7 +9335,7 @@ might understand:</p> <blockquote> <p>Side notes are displayed in the horizontal margins next to the relevant passages, which makes them <em>easier for the reader to -find</em> than footnotes.</p> +find</em> than notes.</p> </blockquote> <h4 data-number="2.3.1.26" id="html-tag-and-element-renderers"><span class="header-section-number">2.3.1.26</span> HTML Tag and Element @@ -9279,32 +9350,32 @@ represents a block <abbr>HTML</abbr> element. This macro will only be produced, when the <strong><code>html</code></strong> option is enabled. The macro receives a single argument that filename of a file containing the contents of the <abbr>HTML</abbr> element.</p> -<h5 class="unnumbered" id="latex-example-68"><span +<h5 class="unnumbered" id="latex-example-69"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb503"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb503-1"><a href="#cb503-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb503-2"><a href="#cb503-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span> -<span id="cb503-3"><a href="#cb503-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span> -<span id="cb503-4"><a href="#cb503-4" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span> -<span id="cb503-5"><a href="#cb503-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb503-6"><a href="#cb503-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb503-7"><a href="#cb503-7" aria-hidden="true" tabindex="-1"></a> inlineHtmlTag = {<span class="fu">\textbf</span>{#1}},</span> -<span id="cb503-8"><a href="#cb503-8" aria-hidden="true" tabindex="-1"></a> inputBlockHtmlElement = {<span class="fu">\verbatiminput</span>{#1}},</span> -<span id="cb503-9"><a href="#cb503-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb503-10"><a href="#cb503-10" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb503-11"><a href="#cb503-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb503-12"><a href="#cb503-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb503-13"><a href="#cb503-13" aria-hidden="true" tabindex="-1"></a><b>_Hello,_ world!</b><br/></span> -<span id="cb503-14"><a href="#cb503-14" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb503-15"><a href="#cb503-15" aria-hidden="true" tabindex="-1"></a><div>_Hello,_ world!</div></span> -<span id="cb503-16"><a href="#cb503-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb503-17"><a href="#cb503-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb507"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb507-1"><a href="#cb507-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb507-2"><a href="#cb507-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span> +<span id="cb507-3"><a href="#cb507-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span> +<span id="cb507-4"><a href="#cb507-4" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span> +<span id="cb507-5"><a href="#cb507-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb507-6"><a href="#cb507-6" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb507-7"><a href="#cb507-7" aria-hidden="true" tabindex="-1"></a> inlineHtmlTag = {<span class="fu">\textbf</span>{#1}},</span> +<span id="cb507-8"><a href="#cb507-8" aria-hidden="true" tabindex="-1"></a> inputBlockHtmlElement = {<span class="fu">\verbatiminput</span>{#1}},</span> +<span id="cb507-9"><a href="#cb507-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb507-10"><a href="#cb507-10" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb507-11"><a href="#cb507-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb507-12"><a href="#cb507-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb507-13"><a href="#cb507-13" aria-hidden="true" tabindex="-1"></a><b>_Hello,_ world!</b><br/></span> +<span id="cb507-14"><a href="#cb507-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb507-15"><a href="#cb507-15" aria-hidden="true" tabindex="-1"></a><div>_Hello,_ world!</div></span> +<span id="cb507-16"><a href="#cb507-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb507-17"><a href="#cb507-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb504"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb504-1"><a href="#cb504-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb504-2"><a href="#cb504-2" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb508"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb508-1"><a href="#cb508-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb508-2"><a href="#cb508-2" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following body text:</p> <blockquote> @@ -9333,46 +9404,46 @@ attribute in the form ⟨<em>key</em>⟩<code>=</code>⟨<em>value</em>⟩ that is neither an identifier nor a class name. The macro receives two attributes that correspond to the ⟨<em>key</em>⟩ and the ⟨<em>value</em>⟩, respectively.</p> -<h5 class="unnumbered" id="latex-example-69"><span +<h5 class="unnumbered" id="latex-example-70"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb506"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb506-1"><a href="#cb506-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb506-2"><a href="#cb506-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes, underscores=false]{<span class="ex">markdown</span>}</span> -<span id="cb506-3"><a href="#cb506-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb506-4"><a href="#cb506-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb506-5"><a href="#cb506-5" aria-hidden="true" tabindex="-1"></a> attributeIdentifier = {<span class="co">%</span></span> -<span id="cb506-6"><a href="#cb506-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb506-7"><a href="#cb506-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(Identifier: #1)}</span> -<span id="cb506-8"><a href="#cb506-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb506-9"><a href="#cb506-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb506-10"><a href="#cb506-10" aria-hidden="true" tabindex="-1"></a> attributeClassName = {<span class="co">%</span></span> -<span id="cb506-11"><a href="#cb506-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb506-12"><a href="#cb506-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(Class name: #1)}</span> -<span id="cb506-13"><a href="#cb506-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb506-14"><a href="#cb506-14" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb506-15"><a href="#cb506-15" aria-hidden="true" tabindex="-1"></a> attributeKeyValue = {<span class="co">%</span></span> -<span id="cb506-16"><a href="#cb506-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb506-17"><a href="#cb506-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(Key: #1, Value: #2)}</span> -<span id="cb506-18"><a href="#cb506-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb506-19"><a href="#cb506-19" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb506-20"><a href="#cb506-20" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb506-21"><a href="#cb506-21" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb506-22"><a href="#cb506-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb506-23"><a href="#cb506-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb506-24"><a href="#cb506-24" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb506-25"><a href="#cb506-25" aria-hidden="true" tabindex="-1"></a># First top-level heading {jane=doe}</span> -<span id="cb506-26"><a href="#cb506-26" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb506-27"><a href="#cb506-27" aria-hidden="true" tabindex="-1"></a>## A subheading {#identifier}</span> -<span id="cb506-28"><a href="#cb506-28" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb506-29"><a href="#cb506-29" aria-hidden="true" tabindex="-1"></a># Second top-level heading {.class_name}</span> -<span id="cb506-30"><a href="#cb506-30" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb506-31"><a href="#cb506-31" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb506-32"><a href="#cb506-32" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb510"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb510-1"><a href="#cb510-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb510-2"><a href="#cb510-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes, underscores=false]{<span class="ex">markdown</span>}</span> +<span id="cb510-3"><a href="#cb510-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb510-4"><a href="#cb510-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb510-5"><a href="#cb510-5" aria-hidden="true" tabindex="-1"></a> attributeIdentifier = {<span class="co">%</span></span> +<span id="cb510-6"><a href="#cb510-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb510-7"><a href="#cb510-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(Identifier: #1)}</span> +<span id="cb510-8"><a href="#cb510-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb510-9"><a href="#cb510-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb510-10"><a href="#cb510-10" aria-hidden="true" tabindex="-1"></a> attributeClassName = {<span class="co">%</span></span> +<span id="cb510-11"><a href="#cb510-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb510-12"><a href="#cb510-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(Class name: #1)}</span> +<span id="cb510-13"><a href="#cb510-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb510-14"><a href="#cb510-14" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb510-15"><a href="#cb510-15" aria-hidden="true" tabindex="-1"></a> attributeKeyValue = {<span class="co">%</span></span> +<span id="cb510-16"><a href="#cb510-16" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb510-17"><a href="#cb510-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(Key: #1, Value: #2)}</span> +<span id="cb510-18"><a href="#cb510-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb510-19"><a href="#cb510-19" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb510-20"><a href="#cb510-20" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb510-21"><a href="#cb510-21" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb510-22"><a href="#cb510-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb510-23"><a href="#cb510-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb510-24"><a href="#cb510-24" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb510-25"><a href="#cb510-25" aria-hidden="true" tabindex="-1"></a># First top-level heading {jane=doe}</span> +<span id="cb510-26"><a href="#cb510-26" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb510-27"><a href="#cb510-27" aria-hidden="true" tabindex="-1"></a>## A subheading {#identifier}</span> +<span id="cb510-28"><a href="#cb510-28" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb510-29"><a href="#cb510-29" aria-hidden="true" tabindex="-1"></a># Second top-level heading {.class_name}</span> +<span id="cb510-30"><a href="#cb510-30" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb510-31"><a href="#cb510-31" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb510-32"><a href="#cb510-32" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb507"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb507-1"><a href="#cb507-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb511"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb511-1"><a href="#cb511-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9392,41 +9463,41 @@ Renderers</h4> <code>\markdownRendererHeaderAttributeContextEnd</code> macros represent the beginning and the end of a section in which the attributes of a heading apply. The macros receive no arguments.</p> -<h5 class="unnumbered" id="latex-example-70"><span +<h5 class="unnumbered" id="latex-example-71"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb508"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb508-1"><a href="#cb508-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb508-2"><a href="#cb508-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span> -<span id="cb508-3"><a href="#cb508-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb508-4"><a href="#cb508-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb508-5"><a href="#cb508-5" aria-hidden="true" tabindex="-1"></a> headerAttributeContextBegin = {<span class="co">%</span></span> -<span id="cb508-6"><a href="#cb508-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb508-7"><a href="#cb508-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a header attribute context)}</span> -<span id="cb508-8"><a href="#cb508-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb508-9"><a href="#cb508-9" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb508-10"><a href="#cb508-10" aria-hidden="true" tabindex="-1"></a> headerAttributeContextBegin = {<span class="co">%</span></span> -<span id="cb508-11"><a href="#cb508-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb508-12"><a href="#cb508-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a header attribute context)}</span> -<span id="cb508-13"><a href="#cb508-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> -<span id="cb508-14"><a href="#cb508-14" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb508-15"><a href="#cb508-15" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb508-16"><a href="#cb508-16" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb508-17"><a href="#cb508-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb508-18"><a href="#cb508-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb508-19"><a href="#cb508-19" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb508-20"><a href="#cb508-20" aria-hidden="true" tabindex="-1"></a># First top-level heading</span> -<span id="cb508-21"><a href="#cb508-21" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb508-22"><a href="#cb508-22" aria-hidden="true" tabindex="-1"></a>## A subheading {#identifier}</span> -<span id="cb508-23"><a href="#cb508-23" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb508-24"><a href="#cb508-24" aria-hidden="true" tabindex="-1"></a># Second top-level heading {.class_name}</span> -<span id="cb508-25"><a href="#cb508-25" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb508-26"><a href="#cb508-26" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb508-27"><a href="#cb508-27" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb509"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb509-1"><a href="#cb509-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb512"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb512-1"><a href="#cb512-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb512-2"><a href="#cb512-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span> +<span id="cb512-3"><a href="#cb512-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb512-4"><a href="#cb512-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb512-5"><a href="#cb512-5" aria-hidden="true" tabindex="-1"></a> headerAttributeContextBegin = {<span class="co">%</span></span> +<span id="cb512-6"><a href="#cb512-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb512-7"><a href="#cb512-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The beginning of a header attribute context)}</span> +<span id="cb512-8"><a href="#cb512-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb512-9"><a href="#cb512-9" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb512-10"><a href="#cb512-10" aria-hidden="true" tabindex="-1"></a> headerAttributeContextBegin = {<span class="co">%</span></span> +<span id="cb512-11"><a href="#cb512-11" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb512-12"><a href="#cb512-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\emph</span>{(The end of a header attribute context)}</span> +<span id="cb512-13"><a href="#cb512-13" aria-hidden="true" tabindex="-1"></a> <span class="fu">\par</span></span> +<span id="cb512-14"><a href="#cb512-14" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb512-15"><a href="#cb512-15" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb512-16"><a href="#cb512-16" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb512-17"><a href="#cb512-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb512-18"><a href="#cb512-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb512-19"><a href="#cb512-19" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb512-20"><a href="#cb512-20" aria-hidden="true" tabindex="-1"></a># First top-level heading</span> +<span id="cb512-21"><a href="#cb512-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb512-22"><a href="#cb512-22" aria-hidden="true" tabindex="-1"></a>## A subheading {#identifier}</span> +<span id="cb512-23"><a href="#cb512-23" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb512-24"><a href="#cb512-24" aria-hidden="true" tabindex="-1"></a># Second top-level heading {.class_name}</span> +<span id="cb512-25"><a href="#cb512-25" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb512-26"><a href="#cb512-26" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb512-27"><a href="#cb512-27" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb513"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb513-1"><a href="#cb513-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9450,44 +9521,44 @@ enabled.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb510"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb510-1"><a href="#cb510-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb510-2"><a href="#cb510-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStrikeThrough</span>{true}</span> -<span id="cb510-3"><a href="#cb510-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> soulutf8.sty</span> -<span id="cb510-4"><a href="#cb510-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\st</span>{#1}}</span> -<span id="cb510-5"><a href="#cb510-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb510-6"><a href="#cb510-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb510-7"><a href="#cb510-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb510-8"><a href="#cb510-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb514"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb514-1"><a href="#cb514-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb514-2"><a href="#cb514-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionStrikeThrough</span>{true}</span> +<span id="cb514-3"><a href="#cb514-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> soulutf8.sty</span> +<span id="cb514-4"><a href="#cb514-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\st</span>{#1}}</span> +<span id="cb514-5"><a href="#cb514-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb514-6"><a href="#cb514-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> +<span id="cb514-7"><a href="#cb514-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb514-8"><a href="#cb514-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb511"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb511-1"><a href="#cb511-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb515"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb515-1"><a href="#cb515-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>This is <del>a lunar roving vehicle</del> strike-through text.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-71"><span +<h5 class="unnumbered" id="latex-example-72"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb512"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb512-1"><a href="#cb512-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb512-2"><a href="#cb512-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[strikeThrough]{<span class="ex">markdown</span>}</span> -<span id="cb512-3"><a href="#cb512-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">soulutf8</span>}</span> -<span id="cb512-4"><a href="#cb512-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb512-5"><a href="#cb512-5" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb512-6"><a href="#cb512-6" aria-hidden="true" tabindex="-1"></a> strikeThrough = {<span class="fu">\st</span>{#1}},</span> -<span id="cb512-7"><a href="#cb512-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb512-8"><a href="#cb512-8" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb512-9"><a href="#cb512-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb512-10"><a href="#cb512-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb512-11"><a href="#cb512-11" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb512-12"><a href="#cb512-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb512-13"><a href="#cb512-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb516"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb516-1"><a href="#cb516-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb516-2"><a href="#cb516-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[strikeThrough]{<span class="ex">markdown</span>}</span> +<span id="cb516-3"><a href="#cb516-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">soulutf8</span>}</span> +<span id="cb516-4"><a href="#cb516-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb516-5"><a href="#cb516-5" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb516-6"><a href="#cb516-6" aria-hidden="true" tabindex="-1"></a> strikeThrough = {<span class="fu">\st</span>{#1}},</span> +<span id="cb516-7"><a href="#cb516-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb516-8"><a href="#cb516-8" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb516-9"><a href="#cb516-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb516-10"><a href="#cb516-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb516-11"><a href="#cb516-11" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> +<span id="cb516-12"><a href="#cb516-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb516-13"><a href="#cb516-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb513"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb513-1"><a href="#cb513-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb517"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb517-1"><a href="#cb517-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9497,18 +9568,18 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb514"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb514-1"><a href="#cb514-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb514-2"><a href="#cb514-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[strikeThrough = yes]</span> -<span id="cb514-3"><a href="#cb514-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\overstrikes</span>{#1}}</span> -<span id="cb514-4"><a href="#cb514-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb514-5"><a href="#cb514-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb514-6"><a href="#cb514-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb514-7"><a href="#cb514-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb514-8"><a href="#cb514-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb518"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb518-1"><a href="#cb518-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb518-2"><a href="#cb518-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[strikeThrough = yes]</span> +<span id="cb518-3"><a href="#cb518-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\overstrikes</span>{#1}}</span> +<span id="cb518-4"><a href="#cb518-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb518-5"><a href="#cb518-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb518-6"><a href="#cb518-6" aria-hidden="true" tabindex="-1"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> +<span id="cb518-7"><a href="#cb518-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb518-8"><a href="#cb518-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb515"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb515-1"><a href="#cb515-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb519"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb519-1"><a href="#cb519-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9525,42 +9596,42 @@ enabled.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb516"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb516-1"><a href="#cb516-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb516-2"><a href="#cb516-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSuperscripts</span>{true}</span> -<span id="cb516-3"><a href="#cb516-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSuperscript</span>#1{ taken to the power of #1}</span> -<span id="cb516-4"><a href="#cb516-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb516-5"><a href="#cb516-5" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> -<span id="cb516-6"><a href="#cb516-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb516-7"><a href="#cb516-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb520"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb520-1"><a href="#cb520-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb520-2"><a href="#cb520-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSuperscripts</span>{true}</span> +<span id="cb520-3"><a href="#cb520-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSuperscript</span>#1{ taken to the power of #1}</span> +<span id="cb520-4"><a href="#cb520-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb520-5"><a href="#cb520-5" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> +<span id="cb520-6"><a href="#cb520-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb520-7"><a href="#cb520-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb517"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb517-1"><a href="#cb517-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb521"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb521-1"><a href="#cb521-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>2 taken to the power of 10 is 1024.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-72"><span +<h5 class="unnumbered" id="latex-example-73"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb518"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb518-1"><a href="#cb518-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb518-2"><a href="#cb518-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[superscripts]{<span class="ex">markdown</span>}</span> -<span id="cb518-3"><a href="#cb518-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb518-4"><a href="#cb518-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb518-5"><a href="#cb518-5" aria-hidden="true" tabindex="-1"></a> superscript = { taken to the power of #1},</span> -<span id="cb518-6"><a href="#cb518-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb518-7"><a href="#cb518-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb518-8"><a href="#cb518-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb518-9"><a href="#cb518-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb518-10"><a href="#cb518-10" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> -<span id="cb518-11"><a href="#cb518-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb518-12"><a href="#cb518-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb522"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb522-1"><a href="#cb522-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb522-2"><a href="#cb522-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[superscripts]{<span class="ex">markdown</span>}</span> +<span id="cb522-3"><a href="#cb522-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb522-4"><a href="#cb522-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb522-5"><a href="#cb522-5" aria-hidden="true" tabindex="-1"></a> superscript = { taken to the power of #1},</span> +<span id="cb522-6"><a href="#cb522-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb522-7"><a href="#cb522-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb522-8"><a href="#cb522-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb522-9"><a href="#cb522-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb522-10"><a href="#cb522-10" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> +<span id="cb522-11"><a href="#cb522-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb522-12"><a href="#cb522-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb519"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb519-1"><a href="#cb519-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb523"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb523-1"><a href="#cb523-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9570,18 +9641,18 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb520"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb520-1"><a href="#cb520-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb520-2"><a href="#cb520-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[superscripts = yes]</span> -<span id="cb520-3"><a href="#cb520-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSuperscript</span>#1{ taken to the power of #1}</span> -<span id="cb520-4"><a href="#cb520-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb520-5"><a href="#cb520-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb520-6"><a href="#cb520-6" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> -<span id="cb520-7"><a href="#cb520-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb520-8"><a href="#cb520-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb524"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb524-1"><a href="#cb524-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb524-2"><a href="#cb524-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[superscripts = yes]</span> +<span id="cb524-3"><a href="#cb524-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSuperscript</span>#1{ taken to the power of #1}</span> +<span id="cb524-4"><a href="#cb524-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb524-5"><a href="#cb524-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb524-6"><a href="#cb524-6" aria-hidden="true" tabindex="-1"></a>2^10^ is 1024.</span> +<span id="cb524-7"><a href="#cb524-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb524-8"><a href="#cb524-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb521"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb521-1"><a href="#cb521-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb525"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb525-1"><a href="#cb525-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9598,67 +9669,125 @@ enabled.</p> class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb522"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb522-1"><a href="#cb522-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb522-2"><a href="#cb522-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSubscripts</span>{true}</span> -<span id="cb522-3"><a href="#cb522-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSubscript</span>#1{ (#1 moles) and }</span> -<span id="cb522-4"><a href="#cb522-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb522-5"><a href="#cb522-5" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> -<span id="cb522-6"><a href="#cb522-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb522-7"><a href="#cb522-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb526"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb526-1"><a href="#cb526-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb526-2"><a href="#cb526-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionSubscripts</span>{true}</span> +<span id="cb526-3"><a href="#cb526-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSubscript</span>#1{ (#1 moles) and }</span> +<span id="cb526-4"><a href="#cb526-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb526-5"><a href="#cb526-5" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> +<span id="cb526-6"><a href="#cb526-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb526-7"><a href="#cb526-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb523"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb523-1"><a href="#cb523-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb527"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb527-1"><a href="#cb527-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>H (2 moles) and O is liquid.</p> +<p>H (2 moles) and O is a liquid.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-73"><span +<h5 class="unnumbered" id="latex-example-74"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb524"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb524-1"><a href="#cb524-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb524-2"><a href="#cb524-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[subscripts]{<span class="ex">markdown</span>}</span> -<span id="cb524-3"><a href="#cb524-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb524-4"><a href="#cb524-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb524-5"><a href="#cb524-5" aria-hidden="true" tabindex="-1"></a> subscript = { (#1 moles) and },</span> -<span id="cb524-6"><a href="#cb524-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb524-7"><a href="#cb524-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb524-8"><a href="#cb524-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb524-9"><a href="#cb524-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb524-10"><a href="#cb524-10" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> -<span id="cb524-11"><a href="#cb524-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb524-12"><a href="#cb524-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb528"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb528-1"><a href="#cb528-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb528-2"><a href="#cb528-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[subscripts]{<span class="ex">markdown</span>}</span> +<span id="cb528-3"><a href="#cb528-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb528-4"><a href="#cb528-4" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb528-5"><a href="#cb528-5" aria-hidden="true" tabindex="-1"></a> subscript = { (#1 moles) and },</span> +<span id="cb528-6"><a href="#cb528-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb528-7"><a href="#cb528-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb528-8"><a href="#cb528-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb528-9"><a href="#cb528-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb528-10"><a href="#cb528-10" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> +<span id="cb528-11"><a href="#cb528-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb528-12"><a href="#cb528-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb525"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb525-1"><a href="#cb525-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb529"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb529-1"><a href="#cb529-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>H (2 moles) and O is liquid.</p> +<p>H (2 moles) and O is a liquid.</p> </blockquote> <h5 class="unnumbered" id="context-example-51">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb526"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb526-1"><a href="#cb526-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb526-2"><a href="#cb526-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[subscripts = yes]</span> -<span id="cb526-3"><a href="#cb526-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSubscript</span>#1{ (#1 moles) and }</span> -<span id="cb526-4"><a href="#cb526-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb526-5"><a href="#cb526-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb526-6"><a href="#cb526-6" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> -<span id="cb526-7"><a href="#cb526-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb526-8"><a href="#cb526-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb530"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb530-1"><a href="#cb530-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb530-2"><a href="#cb530-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[subscripts = yes]</span> +<span id="cb530-3"><a href="#cb530-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererSubscript</span>#1{ (#1 moles) and }</span> +<span id="cb530-4"><a href="#cb530-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb530-5"><a href="#cb530-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb530-6"><a href="#cb530-6" aria-hidden="true" tabindex="-1"></a>H~2~O is a liquid.</span> +<span id="cb530-7"><a href="#cb530-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb530-8"><a href="#cb530-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb527"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb527-1"><a href="#cb527-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb531"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb531-1"><a href="#cb531-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> -<p>H (2 moles) and O is liquid.</p> +<p>H (2 moles) and O is a liquid.</p> +</blockquote> +<h4 data-number="2.3.1.32" id="raw-content-renderers"><span +class="header-section-number">2.3.1.32</span> Raw Content Renderers</h4> +<p>The <code>\markdownRendererInputRawInline</code> macro represents an +inline raw span. The macro receives two arguments: the filename of a +file contaning the inline raw span contents and the raw attribute that +designates the format of the inline raw span. This macro will only be +produced, when the <strong><code>rawAttribute</code></strong> option is +enabled.</p> +<p>The <code>\markdownRendererInputRawBlock</code> macro represents a +raw block. The macro receives two arguments: the filename of a file +contaning the raw block and the raw attribute that designates the format +of the raw block. This macro will only be produced, when the +<strong><code>rawAttribute</code></strong> and +<strong><code>fencedCode</code></strong> options are enabled.</p> +<h5 class="unnumbered" id="latex-example-75"><span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb532"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb532-1"><a href="#cb532-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb532-2"><a href="#cb532-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[rawAttribute, fencedCode]{<span class="ex">markdown</span>}</span> +<span id="cb532-3"><a href="#cb532-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">expl3</span>}</span> +<span id="cb532-4"><a href="#cb532-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> +<span id="cb532-5"><a href="#cb532-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\cs</span>_new:Nn</span> +<span id="cb532-6"><a href="#cb532-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">\display</span>_raw_content:nn</span> +<span id="cb532-7"><a href="#cb532-7" aria-hidden="true" tabindex="-1"></a> {</span> +<span id="cb532-8"><a href="#cb532-8" aria-hidden="true" tabindex="-1"></a> <span class="co">% If the raw attribute is TeX, execute the content as a TeX document.</span></span> +<span id="cb532-9"><a href="#cb532-9" aria-hidden="true" tabindex="-1"></a> <span class="fu">\str</span>_if_eq:nnTF</span> +<span id="cb532-10"><a href="#cb532-10" aria-hidden="true" tabindex="-1"></a> { #2 }</span> +<span id="cb532-11"><a href="#cb532-11" aria-hidden="true" tabindex="-1"></a> { tex }</span> +<span id="cb532-12"><a href="#cb532-12" aria-hidden="true" tabindex="-1"></a> { <span class="fu">\markdownEscape</span> { #1 } }</span> +<span id="cb532-13"><a href="#cb532-13" aria-hidden="true" tabindex="-1"></a> <span class="co">% Otherwise, ignore the content.</span></span> +<span id="cb532-14"><a href="#cb532-14" aria-hidden="true" tabindex="-1"></a> { }</span> +<span id="cb532-15"><a href="#cb532-15" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb532-16"><a href="#cb532-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb532-17"><a href="#cb532-17" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb532-18"><a href="#cb532-18" aria-hidden="true" tabindex="-1"></a> rawInline = { <span class="fu">\display</span>_raw_content:nn { #1 } { #2 } },</span> +<span id="cb532-19"><a href="#cb532-19" aria-hidden="true" tabindex="-1"></a> rawBlock = { <span class="fu">\display</span>_raw_content:nn { #1 } { #2 } }</span> +<span id="cb532-20"><a href="#cb532-20" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb532-21"><a href="#cb532-21" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb532-22"><a href="#cb532-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> +<span id="cb532-23"><a href="#cb532-23" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb532-24"><a href="#cb532-24" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb532-25"><a href="#cb532-25" aria-hidden="true" tabindex="-1"></a>`<span class="ss">$H_2 O$</span>`{=tex} is a liquid.</span> +<span id="cb532-26"><a href="#cb532-26" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb532-27"><a href="#cb532-27" aria-hidden="true" tabindex="-1"></a>``` {=html}</span> +<span id="cb532-28"><a href="#cb532-28" aria-hidden="true" tabindex="-1"></a><p>Here is some HTML content that will be ignored.</p></span> +<span id="cb532-29"><a href="#cb532-29" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb532-30"><a href="#cb532-30" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb532-31"><a href="#cb532-31" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb533"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb533-1"><a href="#cb533-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>H<sub>2</sub>O is a liquid.</p> </blockquote> <h3 data-number="2.3.2" id="texrendererprototypes"><span class="header-section-number">2.3.2</span> Token Renderer @@ -9670,59 +9799,59 @@ class="tex">T<sub>e</sub>X</span> macros, further referred to as class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb528"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb528-1"><a href="#cb528-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb528-2"><a href="#cb528-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span> -<span id="cb528-3"><a href="#cb528-3" aria-hidden="true" tabindex="-1"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span> -<span id="cb528-4"><a href="#cb528-4" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb528-5"><a href="#cb528-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb528-6"><a href="#cb528-6" aria-hidden="true" tabindex="-1"></a>~</span> -<span id="cb528-7"><a href="#cb528-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb528-8"><a href="#cb528-8" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb528-9"><a href="#cb528-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span> -<span id="cb528-10"><a href="#cb528-10" aria-hidden="true" tabindex="-1"></a> User-defined token renderers take precedence.<span class="co">%</span></span> -<span id="cb528-11"><a href="#cb528-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb528-12"><a href="#cb528-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb528-13"><a href="#cb528-13" aria-hidden="true" tabindex="-1"></a>~</span> -<span id="cb528-14"><a href="#cb528-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb528-15"><a href="#cb528-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb534"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb534-1"><a href="#cb534-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb534-2"><a href="#cb534-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span> +<span id="cb534-3"><a href="#cb534-3" aria-hidden="true" tabindex="-1"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span> +<span id="cb534-4"><a href="#cb534-4" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb534-5"><a href="#cb534-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb534-6"><a href="#cb534-6" aria-hidden="true" tabindex="-1"></a>~</span> +<span id="cb534-7"><a href="#cb534-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb534-8"><a href="#cb534-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb534-9"><a href="#cb534-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span> +<span id="cb534-10"><a href="#cb534-10" aria-hidden="true" tabindex="-1"></a> User-defined token renderers take precedence.<span class="co">%</span></span> +<span id="cb534-11"><a href="#cb534-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb534-12"><a href="#cb534-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb534-13"><a href="#cb534-13" aria-hidden="true" tabindex="-1"></a>~</span> +<span id="cb534-14"><a href="#cb534-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb534-15"><a href="#cb534-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb529"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb529-1"><a href="#cb529-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb535"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb535-1"><a href="#cb535-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Packages can specify token renderer prototypes.</p> <p>User-defined token renderers take precedence.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-74"><span +<h5 class="unnumbered" id="latex-example-76"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb530"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb530-1"><a href="#cb530-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb530-2"><a href="#cb530-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb530-3"><a href="#cb530-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb530-4"><a href="#cb530-4" aria-hidden="true" tabindex="-1"></a> rendererPrototypes = {</span> -<span id="cb530-5"><a href="#cb530-5" aria-hidden="true" tabindex="-1"></a> tilde = {Packages can specify token renderer prototypes.},</span> -<span id="cb530-6"><a href="#cb530-6" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb530-7"><a href="#cb530-7" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb530-8"><a href="#cb530-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb530-9"><a href="#cb530-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb530-10"><a href="#cb530-10" aria-hidden="true" tabindex="-1"></a>~</span> -<span id="cb530-11"><a href="#cb530-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb530-12"><a href="#cb530-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb530-13"><a href="#cb530-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb530-14"><a href="#cb530-14" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb530-15"><a href="#cb530-15" aria-hidden="true" tabindex="-1"></a> tilde = {User-defined token renderers take precedence.},</span> -<span id="cb530-16"><a href="#cb530-16" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb530-17"><a href="#cb530-17" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb530-18"><a href="#cb530-18" aria-hidden="true" tabindex="-1"></a>~</span> -<span id="cb530-19"><a href="#cb530-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb530-20"><a href="#cb530-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb536"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb536-1"><a href="#cb536-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb536-2"><a href="#cb536-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb536-3"><a href="#cb536-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb536-4"><a href="#cb536-4" aria-hidden="true" tabindex="-1"></a> rendererPrototypes = {</span> +<span id="cb536-5"><a href="#cb536-5" aria-hidden="true" tabindex="-1"></a> tilde = {Packages can specify token renderer prototypes.},</span> +<span id="cb536-6"><a href="#cb536-6" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb536-7"><a href="#cb536-7" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb536-8"><a href="#cb536-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb536-9"><a href="#cb536-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb536-10"><a href="#cb536-10" aria-hidden="true" tabindex="-1"></a>~</span> +<span id="cb536-11"><a href="#cb536-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb536-12"><a href="#cb536-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb536-13"><a href="#cb536-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> +<span id="cb536-14"><a href="#cb536-14" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb536-15"><a href="#cb536-15" aria-hidden="true" tabindex="-1"></a> tilde = {User-defined token renderers take precedence.},</span> +<span id="cb536-16"><a href="#cb536-16" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb536-17"><a href="#cb536-17" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb536-18"><a href="#cb536-18" aria-hidden="true" tabindex="-1"></a>~</span> +<span id="cb536-19"><a href="#cb536-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb536-20"><a href="#cb536-20" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb531"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb531-1"><a href="#cb531-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb537"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb537-1"><a href="#cb537-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9733,26 +9862,26 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb532"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb532-1"><a href="#cb532-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb532-2"><a href="#cb532-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span> -<span id="cb532-3"><a href="#cb532-3" aria-hidden="true" tabindex="-1"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span> -<span id="cb532-4"><a href="#cb532-4" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb532-5"><a href="#cb532-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb532-6"><a href="#cb532-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb532-7"><a href="#cb532-7" aria-hidden="true" tabindex="-1"></a>~</span> -<span id="cb532-8"><a href="#cb532-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb532-9"><a href="#cb532-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb532-10"><a href="#cb532-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span> -<span id="cb532-11"><a href="#cb532-11" aria-hidden="true" tabindex="-1"></a> User-defined token renderers take precedence.<span class="co">%</span></span> -<span id="cb532-12"><a href="#cb532-12" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb532-13"><a href="#cb532-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb532-14"><a href="#cb532-14" aria-hidden="true" tabindex="-1"></a>~</span> -<span id="cb532-15"><a href="#cb532-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb532-16"><a href="#cb532-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb538"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb538-1"><a href="#cb538-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb538-2"><a href="#cb538-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span> +<span id="cb538-3"><a href="#cb538-3" aria-hidden="true" tabindex="-1"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span> +<span id="cb538-4"><a href="#cb538-4" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb538-5"><a href="#cb538-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb538-6"><a href="#cb538-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb538-7"><a href="#cb538-7" aria-hidden="true" tabindex="-1"></a>~</span> +<span id="cb538-8"><a href="#cb538-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb538-9"><a href="#cb538-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb538-10"><a href="#cb538-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span> +<span id="cb538-11"><a href="#cb538-11" aria-hidden="true" tabindex="-1"></a> User-defined token renderers take precedence.<span class="co">%</span></span> +<span id="cb538-12"><a href="#cb538-12" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb538-13"><a href="#cb538-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb538-14"><a href="#cb538-14" aria-hidden="true" tabindex="-1"></a>~</span> +<span id="cb538-15"><a href="#cb538-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb538-16"><a href="#cb538-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb533"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb533-1"><a href="#cb533-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb539"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb539-1"><a href="#cb539-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9765,68 +9894,68 @@ Prototypes</h4> <p>By default, the renderer prototypes for YAML metadata provide a high-level interface that can be programmed using the <code>markdown/jekyllData</code> key–values from the l3keys module of -the 3 kernel.</p> +the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>3 kernel.</p> <h5 class="unnumbered" id="plain-tex-example-38">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb534"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb534-1"><a href="#cb534-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> -<span id="cb534-2"><a href="#cb534-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> -<span id="cb534-3"><a href="#cb534-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> -<span id="cb534-4"><a href="#cb534-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\keys</span>_define:nn</span> -<span id="cb534-5"><a href="#cb534-5" aria-hidden="true" tabindex="-1"></a> { markdown/jekyllData }</span> -<span id="cb534-6"><a href="#cb534-6" aria-hidden="true" tabindex="-1"></a> {</span> -<span id="cb534-7"><a href="#cb534-7" aria-hidden="true" tabindex="-1"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> -<span id="cb534-8"><a href="#cb534-8" aria-hidden="true" tabindex="-1"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> -<span id="cb534-9"><a href="#cb534-9" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb534-10"><a href="#cb534-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> -<span id="cb534-11"><a href="#cb534-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb534-12"><a href="#cb534-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb534-13"><a href="#cb534-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> -<span id="cb534-14"><a href="#cb534-14" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb534-15"><a href="#cb534-15" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> -<span id="cb534-16"><a href="#cb534-16" aria-hidden="true" tabindex="-1"></a>age: 99</span> -<span id="cb534-17"><a href="#cb534-17" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb534-18"><a href="#cb534-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> -<span id="cb534-19"><a href="#cb534-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb535"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb535-1"><a href="#cb535-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb540"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb540-1"><a href="#cb540-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb540-2"><a href="#cb540-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> +<span id="cb540-3"><a href="#cb540-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> +<span id="cb540-4"><a href="#cb540-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\keys</span>_define:nn</span> +<span id="cb540-5"><a href="#cb540-5" aria-hidden="true" tabindex="-1"></a> { markdown/jekyllData }</span> +<span id="cb540-6"><a href="#cb540-6" aria-hidden="true" tabindex="-1"></a> {</span> +<span id="cb540-7"><a href="#cb540-7" aria-hidden="true" tabindex="-1"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> +<span id="cb540-8"><a href="#cb540-8" aria-hidden="true" tabindex="-1"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> +<span id="cb540-9"><a href="#cb540-9" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb540-10"><a href="#cb540-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> +<span id="cb540-11"><a href="#cb540-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> +<span id="cb540-12"><a href="#cb540-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> +<span id="cb540-13"><a href="#cb540-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb540-14"><a href="#cb540-14" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb540-15"><a href="#cb540-15" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb540-16"><a href="#cb540-16" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb540-17"><a href="#cb540-17" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb540-18"><a href="#cb540-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb540-19"><a href="#cb540-19" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb541"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb541-1"><a href="#cb541-1" aria-hidden="true" tabindex="-1"></a><span class="ex">luatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> <p>Jane Doe is 99 years old.</p> </blockquote> -<h5 class="unnumbered" id="latex-example-75"><span +<h5 class="unnumbered" id="latex-example-77"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb536"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb536-1"><a href="#cb536-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb536-2"><a href="#cb536-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb536-3"><a href="#cb536-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb536-4"><a href="#cb536-4" aria-hidden="true" tabindex="-1"></a> jekyllDataRenderers = {</span> -<span id="cb536-5"><a href="#cb536-5" aria-hidden="true" tabindex="-1"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> -<span id="cb536-6"><a href="#cb536-6" aria-hidden="true" tabindex="-1"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> -<span id="cb536-7"><a href="#cb536-7" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb536-8"><a href="#cb536-8" aria-hidden="true" tabindex="-1"></a> renderers = {</span> -<span id="cb536-9"><a href="#cb536-9" aria-hidden="true" tabindex="-1"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> -<span id="cb536-10"><a href="#cb536-10" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb536-11"><a href="#cb536-11" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb536-12"><a href="#cb536-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb536-13"><a href="#cb536-13" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb536-14"><a href="#cb536-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb536-15"><a href="#cb536-15" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb536-16"><a href="#cb536-16" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> -<span id="cb536-17"><a href="#cb536-17" aria-hidden="true" tabindex="-1"></a>age: 99</span> -<span id="cb536-18"><a href="#cb536-18" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb536-19"><a href="#cb536-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb536-20"><a href="#cb536-20" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb536-21"><a href="#cb536-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb537"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb537-1"><a href="#cb537-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb542"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb542-1"><a href="#cb542-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb542-2"><a href="#cb542-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> +<span id="cb542-3"><a href="#cb542-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb542-4"><a href="#cb542-4" aria-hidden="true" tabindex="-1"></a> jekyllDataRenderers = {</span> +<span id="cb542-5"><a href="#cb542-5" aria-hidden="true" tabindex="-1"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> +<span id="cb542-6"><a href="#cb542-6" aria-hidden="true" tabindex="-1"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> +<span id="cb542-7"><a href="#cb542-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb542-8"><a href="#cb542-8" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb542-9"><a href="#cb542-9" aria-hidden="true" tabindex="-1"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> +<span id="cb542-10"><a href="#cb542-10" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb542-11"><a href="#cb542-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb542-12"><a href="#cb542-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb542-13"><a href="#cb542-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb542-14"><a href="#cb542-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb542-15"><a href="#cb542-15" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb542-16"><a href="#cb542-16" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb542-17"><a href="#cb542-17" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb542-18"><a href="#cb542-18" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb542-19"><a href="#cb542-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb542-20"><a href="#cb542-20" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb542-21"><a href="#cb542-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb543"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb543-1"><a href="#cb543-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9836,32 +9965,32 @@ contain the following text:</p> class="tex">T<sub>e</sub>X</span>t Example</h5> <p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb538"><pre -class="sourceCode tex"><code class="sourceCode latex"><span id="cb538-1"><a href="#cb538-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb538-2"><a href="#cb538-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> -<span id="cb538-3"><a href="#cb538-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> -<span id="cb538-4"><a href="#cb538-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\keys</span>_define:nn</span> -<span id="cb538-5"><a href="#cb538-5" aria-hidden="true" tabindex="-1"></a> { markdown/jekyllData }</span> -<span id="cb538-6"><a href="#cb538-6" aria-hidden="true" tabindex="-1"></a> {</span> -<span id="cb538-7"><a href="#cb538-7" aria-hidden="true" tabindex="-1"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> -<span id="cb538-8"><a href="#cb538-8" aria-hidden="true" tabindex="-1"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> -<span id="cb538-9"><a href="#cb538-9" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb538-10"><a href="#cb538-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> -<span id="cb538-11"><a href="#cb538-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb538-12"><a href="#cb538-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb538-13"><a href="#cb538-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> -<span id="cb538-14"><a href="#cb538-14" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb538-15"><a href="#cb538-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> -<span id="cb538-16"><a href="#cb538-16" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb538-17"><a href="#cb538-17" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> -<span id="cb538-18"><a href="#cb538-18" aria-hidden="true" tabindex="-1"></a>age: 99</span> -<span id="cb538-19"><a href="#cb538-19" aria-hidden="true" tabindex="-1"></a>---</span> -<span id="cb538-20"><a href="#cb538-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb538-21"><a href="#cb538-21" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb538-22"><a href="#cb538-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb539"><pre -class="sourceCode sh"><code class="sourceCode bash"><span id="cb539-1"><a href="#cb539-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb544"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb544-1"><a href="#cb544-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb544-2"><a href="#cb544-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> +<span id="cb544-3"><a href="#cb544-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> +<span id="cb544-4"><a href="#cb544-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\keys</span>_define:nn</span> +<span id="cb544-5"><a href="#cb544-5" aria-hidden="true" tabindex="-1"></a> { markdown/jekyllData }</span> +<span id="cb544-6"><a href="#cb544-6" aria-hidden="true" tabindex="-1"></a> {</span> +<span id="cb544-7"><a href="#cb544-7" aria-hidden="true" tabindex="-1"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> +<span id="cb544-8"><a href="#cb544-8" aria-hidden="true" tabindex="-1"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> +<span id="cb544-9"><a href="#cb544-9" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb544-10"><a href="#cb544-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> +<span id="cb544-11"><a href="#cb544-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> +<span id="cb544-12"><a href="#cb544-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> +<span id="cb544-13"><a href="#cb544-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb544-14"><a href="#cb544-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb544-15"><a href="#cb544-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb544-16"><a href="#cb544-16" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb544-17"><a href="#cb544-17" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb544-18"><a href="#cb544-18" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb544-19"><a href="#cb544-19" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb544-20"><a href="#cb544-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb544-21"><a href="#cb544-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb544-22"><a href="#cb544-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb545"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb545-1"><a href="#cb545-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> document.tex</span></code></pre></div> <p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> <blockquote> @@ -9871,23 +10000,23 @@ contain the following text:</p> role="doc-endnotes"> <hr /> <ol> -<li id="fn1" role="doc-endnote"><p>Here is the footnote.<a -href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li> +<li id="fn1" role="doc-endnote"><p>Here is the note.<a href="#fnref1" +class="footnote-back" role="doc-backlink">↩︎</a></p></li> <li id="fn2" role="doc-endnote"><p>Here’s one with multiple blocks.</p> <p>Subsequent paragraphs are indented to show that they belong to the -previous footnote.</p> +previous note.</p> <pre><code>{ some.code }</code></pre> <p>The whole paragraph can be indented, or just the first line. In this -way, multi-paragraph footnotes work like multi-paragraph list items.<a +way, multi-paragraph notes work like multi-paragraph list items.<a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li> -<li id="fn3" role="doc-endnote"><p>Here is the footnote.<a -href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li> +<li id="fn3" role="doc-endnote"><p>Here is the note.<a href="#fnref3" +class="footnote-back" role="doc-backlink">↩︎</a></p></li> <li id="fn4" role="doc-endnote"><p>Here’s one with multiple blocks.</p> <p>Subsequent paragraphs are indented to show that they belong to the -previous footnote.</p> +previous note.</p> <pre><code>{ some.code }</code></pre> <p>The whole paragraph can be indented, or just the first line. In this -way, multi-paragraph footnotes work like multi-paragraph list items.<a +way, multi-paragraph notes work like multi-paragraph list items.<a href="#fnref4" class="footnote-back" role="doc-backlink">↩︎</a></p></li> <li id="fn5" role="doc-endnote"><p>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to type the @@ -9897,6 +10026,10 @@ role="doc-backlink">↩︎</a></p></li> since you don’t have to pick an identifier and move down to type the note.<a href="#fnref6" class="footnote-back" role="doc-backlink">↩︎</a></p></li> +<li id="fn7" role="doc-endnote"><p>Filenames other than +<code>markdown-languages.json</code> may be specified using the +<code>contentBlocksLanguageMap</code> Lua option.<a href="#fnref7" +class="footnote-back" role="doc-backlink">↩︎</a></p></li> </ol> </section> </body> diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf Binary files differindex 8d6d35f4b9..fc5af6e745 100644 --- a/macros/generic/markdown/markdown.pdf +++ b/macros/generic/markdown/markdown.pdf diff --git a/macros/latex/contrib/href-ul/README.md b/macros/latex/contrib/href-ul/README.md index c508666cf1..8ad680d582 100644 --- a/macros/latex/contrib/href-ul/README.md +++ b/macros/latex/contrib/href-ul/README.md @@ -18,11 +18,10 @@ Go to \href{https://www.google.com}{Google}! \end{document} ``` -The full example and all commands are available in the -[`href-ul.tex`](https://github.com/yegor256/href/blob/master/href-ul.tex) file. +Otherwise, you can download [`to-be-determined.sty`](https://raw.githubusercontent.com/yegor256/href-ul/gh-pages/href-ul/href-ul.sty) and add to your project. -If you want to contribute yourself, make a fork, then create a branch, -then run `make` in the root directory. +If you want to contribute yourself, make a fork, then create a branch, +then run `l3build ctan` in the root directory. It should compile everything without errors. If not, submit an issue and wait. -Otherwise, make your changes and then run `make` again. If the build is +Otherwise, make your changes and then run `l3build ctan` again. If the build is still clean, submit a pull request. diff --git a/macros/latex/contrib/href-ul/href-ul.dtx b/macros/latex/contrib/href-ul/href-ul.dtx index 41d4a9d0b5..82aa5e6f70 100644 --- a/macros/latex/contrib/href-ul/href-ul.dtx +++ b/macros/latex/contrib/href-ul/href-ul.dtx @@ -50,14 +50,16 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{href-ul} %<*package> -[03.10.2022 0.2.0 Underlined Hyperlinks] +[31.10.20220 0.3.0 Underlined Hyperlinks] %</package> %<*driver> \documentclass{ltxdoc} \usepackage[tt=false, type1=true]{libertine} \usepackage{microtype} +\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}} \usepackage{href-ul} \usepackage{xcolor} +\usepackage[dtx]{docshots} \PageIndex \EnableCrossrefs \CodelineIndex @@ -78,40 +80,48 @@ % % \section{Introduction} % -% This package helps you make your hyperlinks underlined: +% This package helps you make your hyperlinks underlined, using |\href| command: % -% \begin{multicols}{2} -% \setlength{\parskip}{0pt} -% \raggedcolumns -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{article} -\usepackage{href-ul} -\begin{document} -Go to - \href{https://google.com}{Google}! -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi -% -% \columnbreak -% -% Go to \href{https://google.com}{Google}! -% \end{multicols} +% \begin{docshot} +% \documentclass{article} +% \pagestyle{empty} +% \usepackage{href-ul} +% \begin{document} +% Go to +% \href{https://google.com}{Google}! +% \end{document} +% \end{docshot} -% Changing the {\color{red}\href{https://github.com/yegor256/href-ul}{color}} of the text also changes the color of the line. +% Changing the color of the text also changes the color of the line: +% \begin{docshot} +% \documentclass{article} +% \pagestyle{empty} +% \usepackage{href-ul} +% \usepackage{xcolor} +% \begin{document} +% Go to {\color{red} +% \href{https://google.com}{Google}}! +% \end{document} +% \end{docshot} -% Changing the {\Large\href{https://github.com/yegor256/href-ul}{size}} of the text doesn't change the height of the line. +% Changing the size of the text doesn't change the height of the line: +% \begin{docshot} +% \documentclass{article} +% \pagestyle{empty} +% \usepackage{href-ul} +% \begin{document} +% You can always find \\ anything in +% {\Large \href{https://google.com}{Google}}, +% but \\ it's better to learn +% something \\ from a school too! +% \end{document} +% \end{docshot} % \StopEventually{} % \section{Implementation} - % \changes{v0.2.0}{2021/06/11}{Initial version} +% \changes{v0.3.0}{2022/10/31}{We started using "docshots" package for better rendering of examples.} % First, we include two packages: % \begin{macrocode} diff --git a/macros/latex/contrib/href-ul/href-ul.ins b/macros/latex/contrib/href-ul/href-ul.ins index 582fd9ba13..abfcb368ff 100644 --- a/macros/latex/contrib/href-ul/href-ul.ins +++ b/macros/latex/contrib/href-ul/href-ul.ins @@ -48,8 +48,8 @@ SOFTWARE. \endpreamble \generate{\file{href-ul.sty}{\from{href-ul.dtx}{package}}} \obeyspaces -\Msg{*** To finish the installation you have to move the ".sty"} -\Msg{*** file into a directory searched by TeX. To produce the} -\Msg{*** documentation run the file ".dtx" through LaTeX. If any} -\Msg{*** questions, submit a new GitHub issue.} +\Msg{To finish the installation you have to move the ".sty"} +\Msg{file into a directory searched by TeX. To produce the} +\Msg{documentation run the file ".dtx" through LaTeX. If any} +\Msg{questions, submit a new GitHub issue.} \endbatchfile diff --git a/macros/latex/contrib/href-ul/href-ul.pdf b/macros/latex/contrib/href-ul/href-ul.pdf Binary files differindex 37a3867c0e..46b31bf10a 100644 --- a/macros/latex/contrib/href-ul/href-ul.pdf +++ b/macros/latex/contrib/href-ul/href-ul.pdf diff --git a/macros/latex/contrib/jeuxcartes/README.md b/macros/latex/contrib/jeuxcartes/README.md index ec61e08005..fcdb4e5269 100644 --- a/macros/latex/contrib/jeuxcartes/README.md +++ b/macros/latex/contrib/jeuxcartes/README.md @@ -1,10 +1,10 @@ -JeuxCartes is a package with playing cards.
---------------------------------------------------
-JeuxCartes est un package avec des cartes à jouer.
---------------------------------------------------
-Author : Cédric Pierquet
-email : cpierquet@outlook.fr
-Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
-Poker cards Image's Licence : LGPL-2.1 license, https://github.com/htdebeer/SVG-cards
-Tarot cards Image's Licence : Public Domain, https://freesvg.org/
+JeuxCartes is a package with playing cards. +-------------------------------------------------- +JeuxCartes est un package avec des cartes à jouer. +-------------------------------------------------- +Author : Cédric Pierquet +email : cpierquet@outlook.fr +Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt +Poker cards Image's Licence : LGPL-2.1 license, https://github.com/htdebeer/SVG-cards +Tarot cards Image's Licence : Public Domain, https://freesvg.org/ Uno cards Image's Licence : Public Domain, https://alexder.itch.io/uno-card-game-asset-pack
\ No newline at end of file diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf Binary files differindex 13458c708b..6fa57050f6 100644 --- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf +++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex index 07e617d605..f8996ca22f 100644 --- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex +++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex @@ -52,8 +52,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\TPversion{0.1.3} -\def\TPdate{28 Octobre 2022} +\def\TPversion{0.1.4} +\def\TPdate{30 Octobre 2022} \usepackage[most]{tcolorbox} \usepackage[outputdir=build]{minted} @@ -182,6 +182,8 @@ Une commande pour des cartes en version \og miniatures \fg{} (individuelle, main \part{Historique} +{\small \bverb|v0.1.4|~:~~~~Réduction de la taille des images \texttt{png} + {\small \bverb|v0.1.3|~:~~~~Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami {\small \bverb| |~:~~~~Amélioration de la qualité des cartes de Tarot (sans augmenter la taille) @@ -236,7 +238,15 @@ On peut citer par exemple : \end{codeinfo} \begin{codeattention} -Les images utiles sont proposés en format \texttt{png}, donc une solution de compilation adaptée au format \textsf{png} est nécessaire. +Les images utiles sont proposés en format \textsf{png}, donc une solution de compilation adaptée au format png est nécessaire. + +\smallskip + +Si vous souhaites les fichiers \texttt{eps} pour une compilation via le compilateur historique \LaTeX{} n'hésitez pas à me demander ! + +\smallskip + +La présente documentation a été, après compilation, compressée pour obtenir une taille plus petite, donc le rendu réel des cartes est peut-être légèrement dégradé sur ce document ! \end{codeattention} \subsection{Chargement du package} diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10C.png Binary files differindex 892c6dddad..225d52f7d8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10K.png Binary files differindex 5958537954..587bb5b0c1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10P.png Binary files differindex 3e3634ff1f..8be9be1f1d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10T.png Binary files differindex 56373396fb..372112897d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-10T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2C.png Binary files differindex 85da80ad46..114987498c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2K.png Binary files differindex a4291738b9..b104e80a3f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2P.png Binary files differindex 2a86f7f882..d6d4323f15 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2T.png Binary files differindex d91e3128d6..7d8bee8df5 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-2T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3C.png Binary files differindex 9ad0e7d867..7c102d088c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3K.png Binary files differindex 6b76266176..f659a7dbeb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3P.png Binary files differindex 441b94841a..66a57af108 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3T.png Binary files differindex 91db23cf10..7cbcd5b6c8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-3T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4C.png Binary files differindex 065bed3c20..a6dd1164e4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4K.png Binary files differindex 191f2b7a3b..10fd13b27c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4P.png Binary files differindex d9017dcd16..2b5a04a401 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4T.png Binary files differindex b228c4ff40..a2a1290252 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-4T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5C.png Binary files differindex 94512e9a1e..84f74715d8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5K.png Binary files differindex 6d5c75df63..d89d425e18 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5P.png Binary files differindex 21ca8a6e0d..3bf6e1e69a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5T.png Binary files differindex a9bb90420e..66ee5461bf 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-5T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6C.png Binary files differindex 661a06089a..c01573d0e7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6K.png Binary files differindex 64d103c7e0..1010fa89b6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6P.png Binary files differindex 92b08a9a25..0db9f5794d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6T.png Binary files differindex df3bb06883..c9be2b4b7e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-6T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7C.png Binary files differindex c1f7f545de..d0a9a7ec2a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7K.png Binary files differindex 06d7b9ae55..39f29bfd70 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7P.png Binary files differindex 64d39928ac..8e69971e2e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7T.png Binary files differindex e5cc018d6b..a182bc7d64 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-7T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8C.png Binary files differindex 629d5871b4..91522be1c1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8K.png Binary files differindex d359845c8b..676eba9fd1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8P.png Binary files differindex 0a558ef8ff..e5a8eba842 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8T.png Binary files differindex b3c188d083..dc39682ec5 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-8T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9C.png Binary files differindex 57133d0da0..94ff8cf9b2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9K.png Binary files differindex d3302849e0..3574612203 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9P.png Binary files differindex 14ed071191..eb3d49c715 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9T.png Binary files differindex f968b75c91..863501e3e7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-9T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AC.png Binary files differindex e170e28829..23963dcd67 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AK.png Binary files differindex 113658515b..f552edb915 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AP.png Binary files differindex f2776afc73..f99b6628b2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AT.png Binary files differindex e67aea360e..5a7b9ff773 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DC.png Binary files differindex b2cda1bb91..30087085fb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DK.png Binary files differindex 0349478e2f..6e018dd5b8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DP.png Binary files differindex dad39014e6..127f76da47 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DT.png Binary files differindex acb7edccec..7cd400e5ad 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosArgent.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosArgent.png Binary files differindex 704650c9aa..57e8ec08cb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosArgent.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosArgent.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBase.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBase.png Binary files differindex d83171a057..f6fea02820 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBase.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBase.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleu.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleu.png Binary files differindex ac9df234ff..e070e37b0a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleu.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleu.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuFonce.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuFonce.png Binary files differindex 444b0e12f1..3a232d0a7e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuFonce.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuFonce.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuVert.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuVert.png Binary files differindex 3ef30f9281..a8a8e5c36a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuVert.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosBleuVert.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosCyan.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosCyan.png Binary files differindex 657f6db7b2..b93c5970eb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosCyan.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosCyan.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosFuchsia.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosFuchsia.png Binary files differindex a3bb52b234..46a4df907c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosFuchsia.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosFuchsia.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosGris.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosGris.png Binary files differindex 2de572d885..5f5f3d31a7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosGris.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosGris.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosJaune.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosJaune.png Binary files differindex ff91edf68d..aff2a4e634 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosJaune.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosJaune.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosMarron.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosMarron.png Binary files differindex d642a7ffc3..734ae4f781 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosMarron.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosMarron.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNavy.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNavy.png Binary files differindex 02b28c1c79..4eab4cc57f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNavy.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNavy.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNoir.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNoir.png Binary files differindex 92372eee35..85c82db2d3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNoir.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosNoir.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosOlive.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosOlive.png Binary files differindex 448f2cf417..d51b5b6eea 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosOlive.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosOlive.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosRouge.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosRouge.png Binary files differindex b61e4340db..0fbf902e56 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosRouge.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosRouge.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVert.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVert.png Binary files differindex 94c21d3e7a..e973b05c00 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVert.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVert.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVertCitron.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVertCitron.png Binary files differindex 99d9fc0556..6a3b4d0814 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVertCitron.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosVertCitron.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosViolet.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosViolet.png Binary files differindex 5045c055e7..9f7da91076 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosViolet.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-DosViolet.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JN.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JN.png Binary files differindex 1e287ce6e9..92a84bd01a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JN.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JN.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JR.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JR.png Binary files differindex ef264d8db2..b006a6e7c6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JR.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-JR.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RC.png Binary files differindex 436762e578..bc154f95e7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RK.png Binary files differindex 7eaffc9b0e..6c74d68864 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RP.png Binary files differindex f6b6d41cc9..c1e61ce44f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RT.png Binary files differindex 20692723c2..4efaa20032 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-RT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VC.png Binary files differindex 3656753196..7371ad63f2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VK.png Binary files differindex 8130833bc3..e5aac4c254 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VP.png Binary files differindex f7002e27b9..837803dacd 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VT.png Binary files differindex cda911b2fc..74f1e89c83 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Poker-VT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png Binary files differindex ba302956ad..263c5e5d6a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png Binary files differindex 9264e77c42..49341a6648 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png Binary files differindex 0450435639..e80287409d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png Binary files differindex 4968d1649d..3b1d474fd1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png Binary files differindex 8526467433..06e70395a4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-10T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png Binary files differindex b3b8133321..449b26a884 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-11AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png Binary files differindex 2838f0a478..623786465c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-12AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png Binary files differindex 2193b662d9..2eb1e2befe 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-13AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png Binary files differindex c1e6efb90d..2cf2c5b7c4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-14AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png Binary files differindex 2e5600fa0a..e766ee1b5c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-15AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png Binary files differindex 3505b53c99..202391ae6c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-16AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png Binary files differindex 08d0b4fb07..b22f2221c9 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-17AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png Binary files differindex b43d654a3a..d1a52e1cd4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-18AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png Binary files differindex 2bd5350cbb..061e60ef8d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-19AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png Binary files differindex b74bb13177..b30480006d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-1AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png Binary files differindex 9360e74717..d62e0dec1a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-20AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png Binary files differindex 02561017d4..05e2d2d503 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-21AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png Binary files differindex 78a9ca74d1..add9ce08d4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png Binary files differindex 97b9c47962..9b71d61cab 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png Binary files differindex 39c83a2d32..b44fd4530b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png Binary files differindex 3a6b4b329e..6cb4709827 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png Binary files differindex fc57bcf13c..6744cdb436 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-2T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png Binary files differindex 5fa6cbd4cb..17132de55d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png Binary files differindex 21c4a45ba6..1711dd622f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png Binary files differindex 5f7d0adbdd..dc0eacac5f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png Binary files differindex b4ce45275c..18be8ce6c3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png Binary files differindex 517cd6d297..36016d3211 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-3T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png Binary files differindex 29c7c0bfe2..5646f283b6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png Binary files differindex e3465aa897..66cc63d1e3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png Binary files differindex c0aed66137..c68481a770 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png Binary files differindex 0292f4364c..5c9a055d0e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png Binary files differindex 66c1d14703..ea3d925d50 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-4T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png Binary files differindex ce0482b6ab..f849b95cfa 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png Binary files differindex 64b85578a8..38d41cc659 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png Binary files differindex 045c01969a..b9ac2eb5b8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png Binary files differindex a7a3c0f224..05eaac7e66 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png Binary files differindex 79dfb5fd76..c1fa868eaa 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-5T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png Binary files differindex eeeae64113..91aae771fb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png Binary files differindex aeecd1f277..ee4b5880c8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png Binary files differindex 1206bdbdd3..5fd750fd1e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png Binary files differindex 6e1d4f2ab2..ebd381011e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png Binary files differindex d2548554ce..09b0ffaa54 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-6T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png Binary files differindex 03cd40b414..c027f960f9 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png Binary files differindex 2f255dc627..b6fe1760e9 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png Binary files differindex 7ef37eaba1..59a1c1497b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png Binary files differindex d698af1992..a78b62e11c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png Binary files differindex 19a998cbaf..ebeadd13eb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-7T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png Binary files differindex 6cdff476df..1a1ffbeab6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png Binary files differindex d31fc5c7c3..f882641016 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png Binary files differindex f5545b20ef..133db1e848 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png Binary files differindex f342067f6b..f1e0f302a7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png Binary files differindex 3c0c19850d..028f615ef7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-8T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png Binary files differindex 63786f8e83..003070263a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png Binary files differindex 4e783343c0..fcbd8d4403 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9C.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png Binary files differindex 9ac4038970..c1c45bd2de 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9K.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png Binary files differindex 20a33a224d..fb39a0f4e3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9P.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png Binary files differindex 6d1952986e..7604c2eb72 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-9T.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png Binary files differindex b7da50fc3a..b9ea60eac8 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png Binary files differindex 657811d3ed..297b47e3f7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png Binary files differindex fa81068f40..11d24e1462 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png Binary files differindex 7c8e4c8fb8..83e9a7886f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-AT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png Binary files differindex fb9c5c2b4c..4b8a5ab8b0 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png Binary files differindex f091530e3a..a7180a886d 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png Binary files differindex d41eaee49b..896bb1ce94 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png Binary files differindex 319c8cedfb..2a25682b59 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-CT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png Binary files differindex a7bc94d96a..ffaa59a9a6 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png Binary files differindex 01b22f76e7..2b45609dac 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png Binary files differindex 46fc995edc..10d3944277 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png Binary files differindex 9e9e390649..a5251c2ba2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-DT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png Binary files differindex e4a2879a8c..658654351b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Dos.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png Binary files differindex aeac134872..a6bbd83d84 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-Exc.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png Binary files differindex 9ff480cae2..b5aadf9971 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png Binary files differindex 8beccf96b6..d8624cf873 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png Binary files differindex 8f08aaa8a8..3776078340 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png Binary files differindex 0be50e9f55..223a4a0ddc 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-RT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png Binary files differindex a88eccda7d..bcfded8d9a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VC.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png Binary files differindex 20ae0918bc..4d38495392 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VK.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png Binary files differindex 0f7d4cb104..f6baefc406 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VP.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png Binary files differindex c1d2eb779a..35662572d1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Tarot-VT.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png Binary files differindex 05114490eb..b373a83b48 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png Binary files differindex f63aa68b1a..08fbaeed8b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png Binary files differindex 3d8f05694b..906ad084cc 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png Binary files differindex bbe8dd3f76..9481bbc6e7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-0V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png Binary files differindex 098d378a31..da0b5cc9c3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png Binary files differindex cff7c99e76..4409bb63f2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png Binary files differindex 8a65ad1afe..2c3804d0ec 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png Binary files differindex d61972f03f..e1cf8721ef 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-1V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png Binary files differindex ebc489c405..fe440dc60e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png Binary files differindex b79a3df08f..11c1c37ac1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png Binary files differindex 03580a3a18..9a92d86567 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png Binary files differindex 4b27640c31..e207137673 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-2V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png Binary files differindex 55c431c5d6..94ae7dcac4 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png Binary files differindex cc3265aa7e..cd8785c8f5 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png Binary files differindex 1349bedbc7..ac6491f124 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png Binary files differindex ba94e7ac2f..1a6f355ad2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-3V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png Binary files differindex 6097938af6..96d7e471d3 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png Binary files differindex fb8d19f44b..e7dcdc3c9b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png Binary files differindex fea17c7b5b..2f45fef9da 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png Binary files differindex b8747e1b8e..aed7b9ab0a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-4V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png Binary files differindex ef9452d2a3..d35172e5f7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png Binary files differindex 5efda76b2d..f4ed7bc980 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png Binary files differindex 5d049fba70..3d629b0630 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png Binary files differindex fd7ae1198b..00ad7ebd24 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-5V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png Binary files differindex dff139e926..9fb450b155 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png Binary files differindex 14253e13d7..9f99e1449b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png Binary files differindex be16264dba..320b88eb25 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png Binary files differindex 1ab72d0001..32ab1d682a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-6V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png Binary files differindex 2bb2077e0c..bee096cbcb 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png Binary files differindex d9baae1f9f..cb496078dd 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png Binary files differindex 697ae9b95c..1a6c243744 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png Binary files differindex 3df2c4822e..53eeb4739a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-7V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png Binary files differindex 2ad5440780..a6a3e80d8e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png Binary files differindex 9ae59a01a7..d37f2597a2 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png Binary files differindex fb410389ab..872ea934c5 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png Binary files differindex 412cb7a8f6..d44578250e 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-8V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png Binary files differindex f303c104a1..29778627d0 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png Binary files differindex db8fa3d2b9..9361c66b9b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png Binary files differindex 489c8aaab1..c34ba84405 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png Binary files differindex 1c3f7380d9..9492739ef1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-9V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png Binary files differindex c3a02a5a97..4a05041597 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSB.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png Binary files differindex 541cffa530..354d6c15be 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSJ.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png Binary files differindex e215095337..2c14ff75ec 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSR.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png Binary files differindex 1792f42e63..f86745be65 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-CSV.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png Binary files differindex 62451d6c4a..1692b23908 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-Dos.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png Binary files differindex 54f6070d30..61e006bcde 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2B.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png Binary files differindex 730cd6a886..b8f7630f9c 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2J.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png Binary files differindex 180c597c57..9f4a0b6431 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2R.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png Binary files differindex 0a9fa5b96b..1a8c84d01b 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P2V.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png Binary files differindex dc30b311ac..ef30b2e1e1 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-P4.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png Binary files differindex 1077bd10dc..bd4ed6346a 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTJ.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png Binary files differindex c79f71ab6a..2e3ca55828 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTR.png diff --git a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png Binary files differindex 8f71738c1d..2a6f5a368f 100644 --- a/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png +++ b/macros/latex/contrib/jeuxcartes/tex/CaJ-Uno-PTV.png diff --git a/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png Binary files differindex 6ff22574f7..1dd2e34f35 100644 --- a/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png +++ b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-Coul.png diff --git a/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png Binary files differindex d5822926cd..b4655c7dc7 100644 --- a/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png +++ b/macros/latex/contrib/jeuxcartes/tex/Caj-Uno-PTB.png diff --git a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty index 26c2741e4b..39a3595ce5 100644 --- a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty +++ b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty @@ -1,428 +1,429 @@ -% Author : C. Pierquet
-% licence : Released under the LaTeX Project Public License v1.3c
-% or later, see http://www.latex-project.org/lppl.txtf
-% Poker cards Image's Licence : LGPL-2.1 license https://github.com/htdebeer/SVG-cards
-% Tarot cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards
-% Uno cards Image's Licence : CC1.0 https://alexder.itch.io/uno-card-game-asset-pack
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{JeuxCartes}[2022/10/28 v0.1.3 Jeux de cartes]
-% 0.1.3 Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami
-% Amélioration de la qualité des cartes de Tarot (sans augmenter la taille)
-% 0.1.2 Modification du nom (et de la source) des images de Tarot (CC0)
-% 0.1.1 Ajout de commandes pour des mini-cartes
-% 0.1 Version initiale
-
-%------Packages utiles
-\RequirePackage{graphicx}
-\RequirePackage[table,svgnames]{xcolor}
-\RequirePackage{tikz}
-\RequirePackage{pgffor}
-\RequirePackage{xfp}
-\RequirePackage{listofitems}
-\RequirePackage{xstring}
-\RequirePackage{xparse}
-\RequirePackage{simplekv}
-\RequirePackage{xinttools}
-\RequirePackage{randomlist}
-\RequirePackage{pifont}
-%librairies tikz
-\usetikzlibrary{calc,scopes}
-%images venant de https://github.com/htdebeer/SVG-cards
-%images venant de https://freesvg.org/deck-of-french-tarot-playing-cards
-%images venant de https://alexder.itch.io/uno-card-game-asset-pack
-
-%------Commande en ligne (includegraphics) via raisebox/rotatebox ou tikz
-\defKV[AffCarteJeu]{%
- Hauteur=\def\AffCarteJeuHauteur{#1},%
- DecalageX=\def\AffCarteJeuDecalageX{#1},%
- DecalageY=\def\AffCarteJeuDecalageY{#1},%
- Rotation=\def\AffCarteJeuRotation{#1},%
- AlignementV=\def\AffCarteJeuAlignementV{#1},%
- TypeJeu=\def\AffCarteJeuType{#1}
-}
-\setKVdefault[AffCarteJeu]{%
- Hauteur=4.25,%
- Tikz=false,%pour placer la commande dans un environnement tikz ou en raisebox,
- TikzAutonome=true,%pour déjà mettre l'image dans du tikz
- DecalageX=0,%
- DecalageY=0,%
- Rotation=0,%
- AlignementV=0.5,%
- TypeJeu=Poker
-}
-
-\NewDocumentCommand\AffCarteJeu{ O{} m }{%1=options,2=cartenommée
- \useKVdefault[AffCarteJeu]%
- \setKV[AffCarteJeu]{#1}%
- %cas poker
- \IfStrEq{\AffCarteJeuType}{Poker}%poker
- {\def\CartePrefixe{CaJ-Poker-}}{}%
- %cas tarot
- \IfStrEq{\AffCarteJeuType}{Tarot}%tarot
- {\def\CartePrefixe{CaJ-Tarot-}}{}%
- %cas tarot
- \IfStrEq{\AffCarteJeuType}{Uno}%tarot
- {\def\CartePrefixe{CaJ-Uno-}}{}%
- %transformation valign en tikz
- \def\OptionTikzCBB{current bounding box.center}%
- \IfStrEq{\AffCarteJeuAlignementV}{0}%
- {\def\OptionTikzCBB{current bounding box.south}}{}%
- \IfStrEq{\AffCarteJeuAlignementV}{1}%
- {\def\OptionTikzCBB{current bounding box.north}}{}%
- %affichage
- \ifboolKV[AffCarteJeu]{Tikz}%
- {%
- \ifboolKV[AffCarteJeu]{TikzAutonome}%
- {%
- {\tikz[baseline=(\OptionTikzCBB)] \draw (\AffCarteJeuDecalageX,\AffCarteJeuDecalageY) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;}%
- }%
- {%
- \begin{scope}[shift={(\AffCarteJeuDecalageX,\AffCarteJeuDecalageY)}]%
- \draw (0,0) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;%
- \end{scope}%
- }%
- }%
- {%
- \rotatebox[origin=c]{\AffCarteJeuRotation}{\raisebox{-\AffCarteJeuAlignementV\height}{\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}}}%
- }%
-}
-
-%------commande main simple (cartes côte à côte)
-\defKV[AffMainSimpleCartes]{%
- Hauteur=\def\MainSimpleHauteur{#1},%
- TypeJeu=\def\MainSimpleJeuType{#1}
-}
-\setKVdefault[AffMainSimpleCartes]{%
- Hauteur=4.25,%
- TypeJeu=Poker
-}
-
-\NewDocumentCommand\AffCartesJeu{ O{} m }{%1=options,2=listecartes
- \useKVdefault[AffMainSimpleCartes]%
- \setKV[AffMainSimpleCartes]{#1}%
- %calculs et traitement des variables
- \setsepchar{§}%
- \readlist*\ListeCartesMain{#2}%
- \def\NbCartesMain{\ListeCartesMainlen}%nbcartes
- %main côte à côte
- \foreach \i in {1,2,...,\ListeCartesMainlen}{%
- \itemtomacro\ListeCartesMain[\i]\CarteMain%
- \AffCarteJeu[TypeJeu=\MainSimpleJeuType,Hauteur=\MainSimpleHauteur]{\CarteMain}%
- }%
-}
-
-%------commande main cartes
-\defKV[AffMainCartes]{%
- Hauteur=\def\MainHauteur{#1},%
- EspH=\def\MainDecalH{#1},%
- EspV=\def\MainDecalV{#1},%
- Rotation=\def\MainRotation{#1},%
- TypeJeu=\def\MainJeuType{#1},%
- AlignementV=\def\MainAlignementV{#1}
-}
-\setKVdefault[AffMainCartes]{%
- Hauteur=4.25,%
- EspH=1,%
- EspV=0,%
- Rotation=10,%
- Eventail=false,%
- TypeJeu=Poker,%
- AlignementV=0.5
-}
-
-\NewDocumentCommand\MainCartesJeu{ O{} m }{%1=options,2=listecartes
- \useKVdefault[AffMainCartes]%
- \setKV[AffMainCartes]{#1}%
- %calculs et traitement des variables
- \ignoreemptyitems%
- \setsepchar{§}%
- \readlist*\ListeCartesMain{#2}%
- \def\NbCartesMain{\ListeCartesMainlen}%nbcartes
- \IfStrEq{\MainJeuType}{Poker}%poker
- {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Poker-}}{}%
- \IfStrEq{\MainJeuType}{Tarot}%tarot
- {\def\HauteurGenerique{5.5}\def\CarteMainPrefixe{CaJ-Tarot-}}{}%
- \IfStrEq{\MainJeuType}{Uno}%uno
- {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Uno-}}{}%
- %echelle globale
- \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}%
- %transformation valign en tikz
- \def\OptionTikzCBB{current bounding box.center}%
- \IfStrEq{\MainAlignementV}{0}%
- {\def\OptionTikzCBB{current bounding box.south}}{}%
- \IfStrEq{\MainAlignementV}{1}%
- {\def\OptionTikzCBB{current bounding box.north}}{}%
- %environnement tikzpicture
- \begin{tikzpicture}[baseline=(\OptionTikzCBB)]%
- \foreach \i in {1,2,...,\ListeCartesMainlen}{%
- \itemtomacro\ListeCartesMain[\i]\CarteMain%
- \ifboolKV[AffMainCartes]{Eventail}%
- {%
- \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
- \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
- \def\DecAngleMain{\fpeval{0.5*\NbCartesMain*\MainRotation}}%
- \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMain}%
- }%
- {%
- \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
- \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
- \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMain}%
- }%
- }%finpour
- \end{tikzpicture}%
-}
-
-%------commande main aléatoire
-\defKV[AffMainAleaCartes]{%
- Hauteur=\def\MainHauteur{#1},%
- EspH=\def\MainDecalH{#1},%
- EspV=\def\MainDecalV{#1},%
- Rotation=\def\MainRotation{#1},%
- TypeJeu=\def\MainJeuType{#1},%
- AlignementV=\def\MainAlignementV{#1}
-}
-\setKVdefault[AffMainAleaCartes]{%
- Hauteur=4.25,%
- EspH=1,%
- EspV=0,%
- Rotation=10,%
- Eventail=false,%
- TypeJeu=Poker,%
- AlignementV=0.5
-}
-
-\xdef\CartesJeuPoker{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK}%
-\xdef\CartesJeuBelote{7P,8P,9P,10P,VP,DP,RP,AP,7T,8T,9T,10T,VT,DT,RT,AT,7C,8C,9C,10C,VC,DC,RC,AC,7K,8K,9K,10K,VK,DK,RK,AK}%
-\xdef\CartesJeuBataille{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}%
-\xdef\CartesJeuRami{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR,2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}%
-\xdef\CartesJeuTarot{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,CP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,CT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,CC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,CK,DK,RK,AK,1AT,2AT,3AT,4AT,5AT,6AT,7AT,8AT,9AT,10AT,11AT,12AT,13AT,14AT,15AT,16AT,17AT,18AT,19AT,20AT,21AT,Exc}%
-\xdef\CartesJeuUno{0B,1B,1B,2B,2B,3B,3B,4B,4B,5B,5B,6B,6B,7B,7B,8B,8B,9B,9B,PTB,PTB,CSB,CSB,P2B,P2B,0V,1V,1V,2V,2V,3V,3V,4V,4V,5V,5V,6V,6V,7V,7V,8V,8V,9V,9V,PTV,PTV,CSV,CSV,P2V,P2V,0J,1J,1J,2J,2J,3J,3J,4J,4J,5J,5J,6J,6J,7J,7J,8J,8J,9J,9J,PTJ,PTJ,CSJ,CSJ,P2J,P2J,0R,1R,1R,2R,2R,3R,3R,4R,4R,5R,5R,6R,6R,7R,7R,8R,8R,9R,9R,PTR,PTR,CSR,CSR,P2R,P2R,P4,P4,P4,P4,Coul,Coul,Coul,Coul}%
-\NewList{CartesJeuMelange}
-
-\NewDocumentCommand\MainCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes
- \useKVdefault[AffMainAleaCartes]%
- \setKV[AffMainAleaCartes]{#1}%
- %calculs et traitement des variables
- \IfStrEq{\MainJeuType}{Poker}%poker
- {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}%
- \IfStrEq{\MainJeuType}{Uno}%uno
- {\def\HauteurGenerique{8.5}\def\CarteMainType{Uno}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
- \IfStrEq{\MainJeuType}{Bataille}%bataille
- {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}%
- \IfStrEq{\MainJeuType}{Belote}%poker
- {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}%
- \IfStrEq{\MainJeuType}{Rami}%rami
- {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}%
- \IfStrEq{\MainJeuType}{Tarot}%tarot
- {\def\HauteurGenerique{6.375}\def\CarteMainType{Tarot}\xdef\CarteDebutRand{\fpeval{randint(0,78-#2)}}}{}%
- %échelle relative des cartes
- \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}%
- %transformation valign en tikz
- \def\OptionTikzCBB{current bounding box.center}%
- \IfStrEq{\MainAlignementV}{0}%
- {\def\OptionTikzCBB{current bounding box.south}}{}%
- \IfStrEq{\MainAlignementV}{1}%
- {\def\OptionTikzCBB{current bounding box.north}}{}%
- %melange du jeu
- \ClearList{CartesJeuMelange}%
- \IfStrEq{\MainJeuType}{Poker}%si c'est le poker
- {%
- \xintFor* ##1 in {\xintCSVtoList{\CartesJeuPoker}}%
- \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MainJeuType}{Bataille}%si c'est la bataille
- {%
- \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBataille}}%
- \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MainJeuType}{Rami}%si c'est le rami
- {%
- \xintFor* ##1 in {\xintCSVtoList{\CartesJeuRami}}%
- \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MainJeuType}{Uno}%si c'est le uno
- {%
- \xintFor* ##1 in {\xintCSVtoList{\CartesJeuUno}}%
- \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MainJeuType}{Belote}%si c'est le poker
- {%
- \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBelote}}%
- \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MainJeuType}{Tarot}%si c'est le tarot
- {%
- \xintFor* ##1 in {\xintCSVtoList{\CartesJeuTarot}}%
- \do{\InsertRandomItem{CartesJeuMelange}{##1}}%
- }%
- {}%
- %environnement tikzpicture
- \begin{tikzpicture}[baseline=(\OptionTikzCBB)]%
- \foreach \i in {1,2,...,#2}{%
- \GetItem{CartesJeuMelange}{\inteval{\CarteDebutRand+\i-1}}{CarteMainChoisie}%
- %\itemtomacro\ListeCartesMain[\i]\CarteMain%
- \ifboolKV[AffMainAleaCartes]{Eventail}%
- {%
- \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
- \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
- \def\DecAngleMain{\fpeval{0.5*#2*\MainRotation}}%
- \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMainChoisie}%
- }%
- {%
- \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}%
- \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}%
- \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMainChoisie}%
- }%
- }%finpour
- \end{tikzpicture}%
-}
-
-%------commande mini-cartes
-\defKV[AffMiniCartes]{%
- Largeur=\def\MiniCarteLargeur{#1},
- FondAtout=\def\MiniCarteFondAtout{#1}
-}
-\setKVdefault[AffMiniCartes]{%
- Largeur=0.55cm,%
- FondAtout=PeachPuff
-}
-
-\NewDocumentCommand\AffMiniCarteJeu{ O{} m }{%1=options,2=nbcartes
- \useKVdefault[AffMiniCartes]%
- \setKV[AffMiniCartes]{#1}%
- %découpage de l'argument
- \StrCut{#2}{.}\csVal\csCplt%
- %couleur de fond
- \def\csFond{White}%
- \def\csCoul{black}%
- %le cas du 10.11...21
- \IfStrEq{\csVal}{10}{\def\csVal{\scalebox{0.5}[1]{10}}}{}%
- \IfStrEq{\csVal}{11}{\def\csVal{\scalebox{0.5}[1]{11}}}{}%
- \IfStrEq{\csVal}{12}{\def\csVal{\scalebox{0.5}[1]{12}}}{}%
- \IfStrEq{\csVal}{13}{\def\csVal{\scalebox{0.5}[1]{13}}}{}%
- \IfStrEq{\csVal}{14}{\def\csVal{\scalebox{0.5}[1]{14}}}{}%
- \IfStrEq{\csVal}{15}{\def\csVal{\scalebox{0.5}[1]{15}}}{}%
- \IfStrEq{\csVal}{16}{\def\csVal{\scalebox{0.5}[1]{16}}}{}%
- \IfStrEq{\csVal}{17}{\def\csVal{\scalebox{0.5}[1]{17}}}{}%
- \IfStrEq{\csVal}{18}{\def\csVal{\scalebox{0.5}[1]{18}}}{}%
- \IfStrEq{\csVal}{19}{\def\csVal{\scalebox{0.5}[1]{19}}}{}%
- \IfStrEq{\csVal}{20}{\def\csVal{\scalebox{0.5}[1]{20}}}{}%
- \IfStrEq{\csVal}{21}{\def\csVal{\scalebox{0.5}[1]{21}}}{}%
- %le cas du Excuse
- \IfStrEq{#2}{Exc}%
- {\def\csSymb{\ding{168}}\def\csCoul{blue}%
- \def\csVal{\scalebox{0.33}[1]{EXC}}}{}%
- %le cas du Joker
- \IfStrEq{\csVal}{J}%
- {\def\csSymb{\ding{166}}\def\csVal{\scalebox{0.5}[1]{JO}}}{}%
- %si c'est un coeur
- \IfStrEq{\csCplt}{C}%
- {\def\csSymb{\ding{170}}\def\csCoul{red}}{}%
- %si c'est un carreau
- \IfStrEq{\csCplt}{K}%
- {\def\csSymb{\ding{169}}\def\csCoul{red}}{}%
- %si c'est un coeur
- \IfStrEq{\csCplt}{P}%
- {\def\csSymb{\ding{171}}}{}%
- %si c'est un trèfle
- \IfStrEq{\csCplt}{T}%
- {\def\csSymb{\ding{168}}}{}%
- %si c'est un atout 68
- \IfStrEq{\csCplt}{AT}%
- {\def\csFond{\MiniCarteFondAtout}\def\csSymb{\ding{88}}}{}%
- %si c'est un rouge
- \IfStrEq{\csCplt}{R}%
- {\def\csCoul{red}}{}%
- %minicarte
- \tikz[baseline=(char.base)]\node[anchor=north west,line width=0.7pt,draw=Gray,rectangle,rounded corners,inner sep=1.6pt,fill=\csFond,text=\csCoul,font=\ttfamily,minimum width=\MiniCarteLargeur](char){\csVal\scalebox{0.75}[0.75]{\csSymb}};%
-}
-
-%------commande mini-main-cartes
-\defKV[AffMiniMainCartes]{%
- Largeur=\def\MiniMainLargeur{#1},%
- FondAtout=\def\MiniMainFondAtout{#1}
-}
-\setKVdefault[AffMiniMainCartes]{%
- Largeur=0.55cm,%
- FondAtout=PeachPuff
-}
-
-\NewDocumentCommand\MainMiniCartesJeu{ O{} m }{%1=options,2=liste
- \useKVdefault[AffMiniMainCartes]%
- \setKV[AffMiniMainCartes]{#1}%
- \ignoreemptyitems%
- \setsepchar{§}%
- \readlist*\MiniCartesMain{#2}%
- \foreachitem\MiniCarteAffich\in\MiniCartesMain{%
- \AffMiniCarteJeu[FondAtout=\MiniMainFondAtout,Largeur=\MiniMainLargeur]{\MiniCarteAffich}%
- }%
-}
-
-%------commande mini-main aléatoire
-\defKV[MiniMainAleaCartes]{%
- Largeur=\def\MiniMainAleaLargeur{#1},%
- TypeJeu=\def\MiniMainAleaType{#1},%
- FondAtout=\def\MiniMainAleaFondAtout{#1}
-}
-\setKVdefault[MiniMainAleaCartes]{%
- Largeur=0.55cm,%
- TypeJeu=Poker,%
- FondAtout=PeachPuff
-}
-
-\xdef\MiniCartesJeuPoker{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}%
-\xdef\MiniCartesJeuBelote{7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}%
-\xdef\MiniCartesJeuBataille{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}%
-\xdef\MiniCartesJeuTarot{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,C.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,C.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,C.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,C.K,D.K,R.K,A.K,1.AT,2.AT,3.AT,4.AT,5.AT,6.AT,7.AT,8.AT,9.AT,10.AT,11.AT,12.AT,13.AT,14.AT,15.AT,16.AT,17.AT,18.AT,19.AT,20.AT,21.AT,Exc}%
-\xdef\MiniCartesJeuRami{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R,2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}%
-\NewList{MiniCartesJeuMelange}
-
-\NewDocumentCommand\MainMiniCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes
- \useKVdefault[MiniMainAleaCartes]%
- \setKV[MiniMainAleaCartes]{#1}%
- %melange du jeu
- \ClearList{MiniCartesJeuMelange}%
- \IfStrEq{\MiniMainAleaType}{Poker}%si c'est le poker
- {%
- \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuPoker}}%
- \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MiniMainAleaType}{Bataille}%si c'est la bataille
- {%
- \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBataille}}%
- \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MiniMainAleaType}{Belote}%si c'est le belote
- {%
- \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBelote}}%
- \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MiniMainAleaType}{Tarot}%si c'est le tarot
- {%
- \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuTarot}}%
- \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
- }%
- {}%
- \IfStrEq{\MiniMainAleaType}{Rami}%si c'est le rami
- {%
- \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuRami}}%
- \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
- }%
- {}%
- %création de la main
- \foreach \i in {1,2,...,#2}{%
- \GetItem{MiniCartesJeuMelange}{\inteval{\i-1}}{MiniCarteMainChoisie}%
- \AffMiniCarteJeu[FondAtout=\MiniMainAleaFondAtout,Largeur=\MiniMainAleaLargeur]{\MiniCarteMainChoisie}%
- }%finpour
-}
-
+% Author : C. Pierquet +% licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +% Poker cards Image's Licence : LGPL-2.1 license https://github.com/htdebeer/SVG-cards +% Tarot cards Image's Licence : Public Domain https://freesvg.org/deck-of-french-tarot-playing-cards +% Uno cards Image's Licence : CC1.0 https://alexder.itch.io/uno-card-game-asset-pack + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{JeuxCartes}[2022/10/30 v0.1.4 Jeux de cartes] +% 0.1.4 Réduction de la taille des images +% 0.1.3 Ajout de cartes Uno (CC1.0 par AlexDer) + modification des commandes + rami +% Amélioration de la qualité des cartes de Tarot (sans augmenter la taille) +% 0.1.2 Modification du nom (et de la source) des images de Tarot (CC0) +% 0.1.1 Ajout de commandes pour des mini-cartes +% 0.1 Version initiale + +%------Packages utiles +\RequirePackage{graphicx} +\RequirePackage[table,svgnames]{xcolor} +\RequirePackage{tikz} +\RequirePackage{pgffor} +\RequirePackage{xfp} +\RequirePackage{listofitems} +\RequirePackage{xstring} +\RequirePackage{xparse} +\RequirePackage{simplekv} +\RequirePackage{xinttools} +\RequirePackage{randomlist} +\RequirePackage{pifont} +%librairies tikz +\usetikzlibrary{calc,scopes} +%images venant de https://github.com/htdebeer/SVG-cards +%images venant de https://freesvg.org/deck-of-french-tarot-playing-cards +%images venant de https://alexder.itch.io/uno-card-game-asset-pack + +%------Commande en ligne (includegraphics) via raisebox/rotatebox ou tikz +\defKV[AffCarteJeu]{% + Hauteur=\def\AffCarteJeuHauteur{#1},% + DecalageX=\def\AffCarteJeuDecalageX{#1},% + DecalageY=\def\AffCarteJeuDecalageY{#1},% + Rotation=\def\AffCarteJeuRotation{#1},% + AlignementV=\def\AffCarteJeuAlignementV{#1},% + TypeJeu=\def\AffCarteJeuType{#1} +} +\setKVdefault[AffCarteJeu]{% + Hauteur=4.25,% + Tikz=false,%pour placer la commande dans un environnement tikz ou en raisebox, + TikzAutonome=true,%pour déjà mettre l'image dans du tikz + DecalageX=0,% + DecalageY=0,% + Rotation=0,% + AlignementV=0.5,% + TypeJeu=Poker +} + +\NewDocumentCommand\AffCarteJeu{ O{} m }{%1=options,2=cartenommée + \useKVdefault[AffCarteJeu]% + \setKV[AffCarteJeu]{#1}% + %cas poker + \IfStrEq{\AffCarteJeuType}{Poker}%poker + {\def\CartePrefixe{CaJ-Poker-}}{}% + %cas tarot + \IfStrEq{\AffCarteJeuType}{Tarot}%tarot + {\def\CartePrefixe{CaJ-Tarot-}}{}% + %cas tarot + \IfStrEq{\AffCarteJeuType}{Uno}%tarot + {\def\CartePrefixe{CaJ-Uno-}}{}% + %transformation valign en tikz + \def\OptionTikzCBB{current bounding box.center}% + \IfStrEq{\AffCarteJeuAlignementV}{0}% + {\def\OptionTikzCBB{current bounding box.south}}{}% + \IfStrEq{\AffCarteJeuAlignementV}{1}% + {\def\OptionTikzCBB{current bounding box.north}}{}% + %affichage + \ifboolKV[AffCarteJeu]{Tikz}% + {% + \ifboolKV[AffCarteJeu]{TikzAutonome}% + {% + {\tikz[baseline=(\OptionTikzCBB)] \draw (\AffCarteJeuDecalageX,\AffCarteJeuDecalageY) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;}% + }% + {% + \begin{scope}[shift={(\AffCarteJeuDecalageX,\AffCarteJeuDecalageY)}]% + \draw (0,0) node[above right=0pt,inner sep=0pt,outer sep=0pt,rotate=\AffCarteJeuRotation] {\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}} ;% + \end{scope}% + }% + }% + {% + \rotatebox[origin=c]{\AffCarteJeuRotation}{\raisebox{-\AffCarteJeuAlignementV\height}{\includegraphics[height=\AffCarteJeuHauteur cm]{\CartePrefixe#2}}}% + }% +} + +%------commande main simple (cartes côte à côte) +\defKV[AffMainSimpleCartes]{% + Hauteur=\def\MainSimpleHauteur{#1},% + TypeJeu=\def\MainSimpleJeuType{#1} +} +\setKVdefault[AffMainSimpleCartes]{% + Hauteur=4.25,% + TypeJeu=Poker +} + +\NewDocumentCommand\AffCartesJeu{ O{} m }{%1=options,2=listecartes + \useKVdefault[AffMainSimpleCartes]% + \setKV[AffMainSimpleCartes]{#1}% + %calculs et traitement des variables + \setsepchar{§}% + \readlist*\ListeCartesMain{#2}% + \def\NbCartesMain{\ListeCartesMainlen}%nbcartes + %main côte à côte + \foreach \i in {1,2,...,\ListeCartesMainlen}{% + \itemtomacro\ListeCartesMain[\i]\CarteMain% + \AffCarteJeu[TypeJeu=\MainSimpleJeuType,Hauteur=\MainSimpleHauteur]{\CarteMain}% + }% +} + +%------commande main cartes +\defKV[AffMainCartes]{% + Hauteur=\def\MainHauteur{#1},% + EspH=\def\MainDecalH{#1},% + EspV=\def\MainDecalV{#1},% + Rotation=\def\MainRotation{#1},% + TypeJeu=\def\MainJeuType{#1},% + AlignementV=\def\MainAlignementV{#1} +} +\setKVdefault[AffMainCartes]{% + Hauteur=4.25,% + EspH=1,% + EspV=0,% + Rotation=10,% + Eventail=false,% + TypeJeu=Poker,% + AlignementV=0.5 +} + +\NewDocumentCommand\MainCartesJeu{ O{} m }{%1=options,2=listecartes + \useKVdefault[AffMainCartes]% + \setKV[AffMainCartes]{#1}% + %calculs et traitement des variables + \ignoreemptyitems% + \setsepchar{§}% + \readlist*\ListeCartesMain{#2}% + \def\NbCartesMain{\ListeCartesMainlen}%nbcartes + \IfStrEq{\MainJeuType}{Poker}%poker + {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Poker-}}{}% + \IfStrEq{\MainJeuType}{Tarot}%tarot + {\def\HauteurGenerique{5.5}\def\CarteMainPrefixe{CaJ-Tarot-}}{}% + \IfStrEq{\MainJeuType}{Uno}%uno + {\def\HauteurGenerique{8.5}\def\CarteMainPrefixe{CaJ-Uno-}}{}% + %echelle globale + \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}% + %transformation valign en tikz + \def\OptionTikzCBB{current bounding box.center}% + \IfStrEq{\MainAlignementV}{0}% + {\def\OptionTikzCBB{current bounding box.south}}{}% + \IfStrEq{\MainAlignementV}{1}% + {\def\OptionTikzCBB{current bounding box.north}}{}% + %environnement tikzpicture + \begin{tikzpicture}[baseline=(\OptionTikzCBB)]% + \foreach \i in {1,2,...,\ListeCartesMainlen}{% + \itemtomacro\ListeCartesMain[\i]\CarteMain% + \ifboolKV[AffMainCartes]{Eventail}% + {% + \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% + \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% + \def\DecAngleMain{\fpeval{0.5*\NbCartesMain*\MainRotation}}% + \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMain}% + }% + {% + \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% + \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% + \AffCarteJeu[TypeJeu=\MainJeuType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMain}% + }% + }%finpour + \end{tikzpicture}% +} + +%------commande main aléatoire +\defKV[AffMainAleaCartes]{% + Hauteur=\def\MainHauteur{#1},% + EspH=\def\MainDecalH{#1},% + EspV=\def\MainDecalV{#1},% + Rotation=\def\MainRotation{#1},% + TypeJeu=\def\MainJeuType{#1},% + AlignementV=\def\MainAlignementV{#1} +} +\setKVdefault[AffMainAleaCartes]{% + Hauteur=4.25,% + EspH=1,% + EspV=0,% + Rotation=10,% + Eventail=false,% + TypeJeu=Poker,% + AlignementV=0.5 +} + +\xdef\CartesJeuPoker{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK}% +\xdef\CartesJeuBelote{7P,8P,9P,10P,VP,DP,RP,AP,7T,8T,9T,10T,VT,DT,RT,AT,7C,8C,9C,10C,VC,DC,RC,AC,7K,8K,9K,10K,VK,DK,RK,AK}% +\xdef\CartesJeuBataille{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}% +\xdef\CartesJeuRami{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR,2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,DK,RK,AK,JN,JR}% +\xdef\CartesJeuTarot{2P,3P,4P,5P,6P,7P,8P,9P,10P,VP,CP,DP,RP,AP,2T,3T,4T,5T,6T,7T,8T,9T,10T,VT,CT,DT,RT,AT,2C,3C,4C,5C,6C,7C,8C,9C,10C,VC,CC,DC,RC,AC,2K,3K,4K,5K,6K,7K,8K,9K,10K,VK,CK,DK,RK,AK,1AT,2AT,3AT,4AT,5AT,6AT,7AT,8AT,9AT,10AT,11AT,12AT,13AT,14AT,15AT,16AT,17AT,18AT,19AT,20AT,21AT,Exc}% +\xdef\CartesJeuUno{0B,1B,1B,2B,2B,3B,3B,4B,4B,5B,5B,6B,6B,7B,7B,8B,8B,9B,9B,PTB,PTB,CSB,CSB,P2B,P2B,0V,1V,1V,2V,2V,3V,3V,4V,4V,5V,5V,6V,6V,7V,7V,8V,8V,9V,9V,PTV,PTV,CSV,CSV,P2V,P2V,0J,1J,1J,2J,2J,3J,3J,4J,4J,5J,5J,6J,6J,7J,7J,8J,8J,9J,9J,PTJ,PTJ,CSJ,CSJ,P2J,P2J,0R,1R,1R,2R,2R,3R,3R,4R,4R,5R,5R,6R,6R,7R,7R,8R,8R,9R,9R,PTR,PTR,CSR,CSR,P2R,P2R,P4,P4,P4,P4,Coul,Coul,Coul,Coul}% +\NewList{CartesJeuMelange} + +\NewDocumentCommand\MainCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes + \useKVdefault[AffMainAleaCartes]% + \setKV[AffMainAleaCartes]{#1}% + %calculs et traitement des variables + \IfStrEq{\MainJeuType}{Poker}%poker + {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,52-#2)}}}{}% + \IfStrEq{\MainJeuType}{Uno}%uno + {\def\HauteurGenerique{8.5}\def\CarteMainType{Uno}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}% + \IfStrEq{\MainJeuType}{Bataille}%bataille + {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,54-#2)}}}{}% + \IfStrEq{\MainJeuType}{Belote}%poker + {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,32-#2)}}}{}% + \IfStrEq{\MainJeuType}{Rami}%rami + {\def\HauteurGenerique{8.5}\def\CarteMainType{Poker}\xdef\CarteDebutRand{\fpeval{randint(0,108-#2)}}}{}% + \IfStrEq{\MainJeuType}{Tarot}%tarot + {\def\HauteurGenerique{6.375}\def\CarteMainType{Tarot}\xdef\CarteDebutRand{\fpeval{randint(0,78-#2)}}}{}% + %échelle relative des cartes + \def\EchelleCarteDecalage{\fpeval{\MainHauteur/\HauteurGenerique}}% + %transformation valign en tikz + \def\OptionTikzCBB{current bounding box.center}% + \IfStrEq{\MainAlignementV}{0}% + {\def\OptionTikzCBB{current bounding box.south}}{}% + \IfStrEq{\MainAlignementV}{1}% + {\def\OptionTikzCBB{current bounding box.north}}{}% + %melange du jeu + \ClearList{CartesJeuMelange}% + \IfStrEq{\MainJeuType}{Poker}%si c'est le poker + {% + \xintFor* ##1 in {\xintCSVtoList{\CartesJeuPoker}}% + \do{\InsertRandomItem{CartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MainJeuType}{Bataille}%si c'est la bataille + {% + \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBataille}}% + \do{\InsertRandomItem{CartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MainJeuType}{Rami}%si c'est le rami + {% + \xintFor* ##1 in {\xintCSVtoList{\CartesJeuRami}}% + \do{\InsertRandomItem{CartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MainJeuType}{Uno}%si c'est le uno + {% + \xintFor* ##1 in {\xintCSVtoList{\CartesJeuUno}}% + \do{\InsertRandomItem{CartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MainJeuType}{Belote}%si c'est le poker + {% + \xintFor* ##1 in {\xintCSVtoList{\CartesJeuBelote}}% + \do{\InsertRandomItem{CartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MainJeuType}{Tarot}%si c'est le tarot + {% + \xintFor* ##1 in {\xintCSVtoList{\CartesJeuTarot}}% + \do{\InsertRandomItem{CartesJeuMelange}{##1}}% + }% + {}% + %environnement tikzpicture + \begin{tikzpicture}[baseline=(\OptionTikzCBB)]% + \foreach \i in {1,2,...,#2}{% + \GetItem{CartesJeuMelange}{\inteval{\CarteDebutRand+\i-1}}{CarteMainChoisie}% + %\itemtomacro\ListeCartesMain[\i]\CarteMain% + \ifboolKV[AffMainAleaCartes]{Eventail}% + {% + \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% + \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% + \def\DecAngleMain{\fpeval{0.5*#2*\MainRotation}}% + \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageY=\MainOffset,DecalageX=\SecondOffset,Rotation={\DecAngleMain-(\i-1)*\MainRotation}]{\CarteMainChoisie}% + }% + {% + \def\MainOffset{\fpeval{\EchelleCarteDecalage*\MainDecalH*(\i-1)}}% + \def\SecondOffset{\fpeval{\EchelleCarteDecalage*\MainDecalV*(\i-1)}}% + \AffCarteJeu[TypeJeu=\CarteMainType,Tikz,TikzAutonome=false,Hauteur=\MainHauteur,DecalageX=\MainOffset,DecalageY=\SecondOffset]{\CarteMainChoisie}% + }% + }%finpour + \end{tikzpicture}% +} + +%------commande mini-cartes +\defKV[AffMiniCartes]{% + Largeur=\def\MiniCarteLargeur{#1}, + FondAtout=\def\MiniCarteFondAtout{#1} +} +\setKVdefault[AffMiniCartes]{% + Largeur=0.55cm,% + FondAtout=PeachPuff +} + +\NewDocumentCommand\AffMiniCarteJeu{ O{} m }{%1=options,2=nbcartes + \useKVdefault[AffMiniCartes]% + \setKV[AffMiniCartes]{#1}% + %découpage de l'argument + \StrCut{#2}{.}\csVal\csCplt% + %couleur de fond + \def\csFond{White}% + \def\csCoul{black}% + %le cas du 10.11...21 + \IfStrEq{\csVal}{10}{\def\csVal{\scalebox{0.5}[1]{10}}}{}% + \IfStrEq{\csVal}{11}{\def\csVal{\scalebox{0.5}[1]{11}}}{}% + \IfStrEq{\csVal}{12}{\def\csVal{\scalebox{0.5}[1]{12}}}{}% + \IfStrEq{\csVal}{13}{\def\csVal{\scalebox{0.5}[1]{13}}}{}% + \IfStrEq{\csVal}{14}{\def\csVal{\scalebox{0.5}[1]{14}}}{}% + \IfStrEq{\csVal}{15}{\def\csVal{\scalebox{0.5}[1]{15}}}{}% + \IfStrEq{\csVal}{16}{\def\csVal{\scalebox{0.5}[1]{16}}}{}% + \IfStrEq{\csVal}{17}{\def\csVal{\scalebox{0.5}[1]{17}}}{}% + \IfStrEq{\csVal}{18}{\def\csVal{\scalebox{0.5}[1]{18}}}{}% + \IfStrEq{\csVal}{19}{\def\csVal{\scalebox{0.5}[1]{19}}}{}% + \IfStrEq{\csVal}{20}{\def\csVal{\scalebox{0.5}[1]{20}}}{}% + \IfStrEq{\csVal}{21}{\def\csVal{\scalebox{0.5}[1]{21}}}{}% + %le cas du Excuse + \IfStrEq{#2}{Exc}% + {\def\csSymb{\ding{168}}\def\csCoul{blue}% + \def\csVal{\scalebox{0.33}[1]{EXC}}}{}% + %le cas du Joker + \IfStrEq{\csVal}{J}% + {\def\csSymb{\ding{166}}\def\csVal{\scalebox{0.5}[1]{JO}}}{}% + %si c'est un coeur + \IfStrEq{\csCplt}{C}% + {\def\csSymb{\ding{170}}\def\csCoul{red}}{}% + %si c'est un carreau + \IfStrEq{\csCplt}{K}% + {\def\csSymb{\ding{169}}\def\csCoul{red}}{}% + %si c'est un coeur + \IfStrEq{\csCplt}{P}% + {\def\csSymb{\ding{171}}}{}% + %si c'est un trèfle + \IfStrEq{\csCplt}{T}% + {\def\csSymb{\ding{168}}}{}% + %si c'est un atout 68 + \IfStrEq{\csCplt}{AT}% + {\def\csFond{\MiniCarteFondAtout}\def\csSymb{\ding{88}}}{}% + %si c'est un rouge + \IfStrEq{\csCplt}{R}% + {\def\csCoul{red}}{}% + %minicarte + \tikz[baseline=(char.base)]\node[anchor=north west,line width=0.7pt,draw=Gray,rectangle,rounded corners,inner sep=1.6pt,fill=\csFond,text=\csCoul,font=\ttfamily,minimum width=\MiniCarteLargeur](char){\csVal\scalebox{0.75}[0.75]{\csSymb}};% +} + +%------commande mini-main-cartes +\defKV[AffMiniMainCartes]{% + Largeur=\def\MiniMainLargeur{#1},% + FondAtout=\def\MiniMainFondAtout{#1} +} +\setKVdefault[AffMiniMainCartes]{% + Largeur=0.55cm,% + FondAtout=PeachPuff +} + +\NewDocumentCommand\MainMiniCartesJeu{ O{} m }{%1=options,2=liste + \useKVdefault[AffMiniMainCartes]% + \setKV[AffMiniMainCartes]{#1}% + \ignoreemptyitems% + \setsepchar{§}% + \readlist*\MiniCartesMain{#2}% + \foreachitem\MiniCarteAffich\in\MiniCartesMain{% + \AffMiniCarteJeu[FondAtout=\MiniMainFondAtout,Largeur=\MiniMainLargeur]{\MiniCarteAffich}% + }% +} + +%------commande mini-main aléatoire +\defKV[MiniMainAleaCartes]{% + Largeur=\def\MiniMainAleaLargeur{#1},% + TypeJeu=\def\MiniMainAleaType{#1},% + FondAtout=\def\MiniMainAleaFondAtout{#1} +} +\setKVdefault[MiniMainAleaCartes]{% + Largeur=0.55cm,% + TypeJeu=Poker,% + FondAtout=PeachPuff +} + +\xdef\MiniCartesJeuPoker{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}% +\xdef\MiniCartesJeuBelote{7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}% +\xdef\MiniCartesJeuBataille{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}% +\xdef\MiniCartesJeuTarot{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,C.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,C.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,C.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,C.K,D.K,R.K,A.K,1.AT,2.AT,3.AT,4.AT,5.AT,6.AT,7.AT,8.AT,9.AT,10.AT,11.AT,12.AT,13.AT,14.AT,15.AT,16.AT,17.AT,18.AT,19.AT,20.AT,21.AT,Exc}% +\xdef\MiniCartesJeuRami{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R,2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}% +\NewList{MiniCartesJeuMelange} + +\NewDocumentCommand\MainMiniCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes + \useKVdefault[MiniMainAleaCartes]% + \setKV[MiniMainAleaCartes]{#1}% + %melange du jeu + \ClearList{MiniCartesJeuMelange}% + \IfStrEq{\MiniMainAleaType}{Poker}%si c'est le poker + {% + \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuPoker}}% + \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MiniMainAleaType}{Bataille}%si c'est la bataille + {% + \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBataille}}% + \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MiniMainAleaType}{Belote}%si c'est le belote + {% + \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBelote}}% + \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MiniMainAleaType}{Tarot}%si c'est le tarot + {% + \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuTarot}}% + \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% + }% + {}% + \IfStrEq{\MiniMainAleaType}{Rami}%si c'est le rami + {% + \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuRami}}% + \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}% + }% + {}% + %création de la main + \foreach \i in {1,2,...,#2}{% + \GetItem{MiniCartesJeuMelange}{\inteval{\i-1}}{MiniCarteMainChoisie}% + \AffMiniCarteJeu[FondAtout=\MiniMainAleaFondAtout,Largeur=\MiniMainAleaLargeur]{\MiniCarteMainChoisie}% + }%finpour +} + \endinput
\ No newline at end of file diff --git a/macros/latex/contrib/to-be-determined/README.md b/macros/latex/contrib/to-be-determined/README.md index 5f8596eb58..74578626d3 100644 --- a/macros/latex/contrib/to-be-determined/README.md +++ b/macros/latex/contrib/to-be-determined/README.md @@ -19,11 +19,10 @@ The budget is \tbd{99.00 USD}. \end{document} ``` -The full example and all commands are available in the -[`to-be-determined.tex`](https://github.com/yegor256/to-be-determined/blob/master/to-be-determined.tex) file. +Otherwise, you can download [`to-be-determined.sty`](https://raw.githubusercontent.com/yegor256/to-be-determined/gh-pages/to-be-determined/to-be-determined.sty) and add to your project. -If you want to contribute yourself, make a fork, then create a branch, -then run `make` in the root directory. +If you want to contribute yourself, make a fork, then create a branch, +then run `l3build ctan` in the root directory. It should compile everything without errors. If not, submit an issue and wait. -Otherwise, make your changes and then run `make` again. If the build is +Otherwise, make your changes and then run `l3build ctan` again. If the build is still clean, submit a pull request. diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.dtx b/macros/latex/contrib/to-be-determined/to-be-determined.dtx index 030208ef00..9cb2074d9b 100644 --- a/macros/latex/contrib/to-be-determined/to-be-determined.dtx +++ b/macros/latex/contrib/to-be-determined/to-be-determined.dtx @@ -50,14 +50,16 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{to-be-determined} %<*package> -[03.10.2022 0.2.0 Highlighting places requiring future work] +[31.10.20220 0.3.0 Highlighting places requiring future work] %</package> %<*driver> \documentclass{ltxdoc} \usepackage[tt=false, type1=true]{libertine} \usepackage{microtype} +\AddToHook{env/verbatim/begin}{\microtypesetup{protrusion=false}} \usepackage{to-be-determined} \usepackage{href-ul} +\usepackage[dtx]{docshots} \PageIndex \EnableCrossrefs \CodelineIndex @@ -82,46 +84,30 @@ % and make sure it looks nice. Install it from CTAN and then % use like this: -% \begin{multicols}{2} -% \setlength{\parskip}{0pt} -% \raggedcolumns -%\iffalse -%<*verb> -%\fi -\begin{verbatim} -\documentclass{article} -\usepackage{to-be-determined} -\begin{document} -The budget is \tbd{99.00 USD}. -\end{document} -\end{verbatim} -%\iffalse -%</verb> -%\fi -% -% \columnbreak -% +% \begin{docshot} +% \documentclass{article} +% \pagestyle{empty} +% \usepackage{to-be-determined} +% \begin{document} % The budget is \tbd{99.00 USD}. -% -% \end{multicols} +% \end{document} +% \end{docshot} % \section{Package Options} -% \begin{macro}{hide} +% \DescribeMacro{hide} % If you want to hide the content of what's inside |\tbd|, % use |hide| option of the package. They will all be replaced with % \tbd{TBD} placeholders. -% \end{macro} -% \begin{macro}{off} +% \DescribeMacro{off} % If you want them to disappear entirely, use the |off| package option. -% \end{macro} % \StopEventually{} % \section{Implementation} - % \changes{v0.2.0}{2021/07/15}{Initial version} +% \changes{v0.3.0}{2022/10/31}{We started using "docshots" package for rendering examples.} % First, we parse package options: % \begin{macrocode} diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.ins b/macros/latex/contrib/to-be-determined/to-be-determined.ins index c228470fb3..a922989b50 100644 --- a/macros/latex/contrib/to-be-determined/to-be-determined.ins +++ b/macros/latex/contrib/to-be-determined/to-be-determined.ins @@ -48,8 +48,8 @@ SOFTWARE. \endpreamble \generate{\file{to-be-determined.sty}{\from{to-be-determined.dtx}{package}}} \obeyspaces -\Msg{*** To finish the installation you have to move the ".sty"} -\Msg{*** file into a directory searched by TeX. To produce the} -\Msg{*** documentation run the file ".dtx" through LaTeX. If any} -\Msg{*** questions, submit a new GitHub issue.} +\Msg{To finish the installation you have to move the ".sty"} +\Msg{file into a directory searched by TeX. To produce the} +\Msg{documentation run the file ".dtx" through LaTeX. If any} +\Msg{questions, submit a new GitHub issue.} \endbatchfile diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.pdf b/macros/latex/contrib/to-be-determined/to-be-determined.pdf Binary files differindex 83ad44bee3..f330b28d2a 100644 --- a/macros/latex/contrib/to-be-determined/to-be-determined.pdf +++ b/macros/latex/contrib/to-be-determined/to-be-determined.pdf diff --git a/macros/luatex/latex/piton/piton-french.pdf b/macros/luatex/latex/piton/piton-french.pdf Binary files differindex 44eaa5fb0e..2476eb83d4 100644 --- a/macros/luatex/latex/piton/piton-french.pdf +++ b/macros/luatex/latex/piton/piton-french.pdf diff --git a/macros/luatex/latex/piton/piton-french.tex b/macros/luatex/latex/piton/piton-french.tex index a5c5a1407f..10bf4aa934 100644 --- a/macros/luatex/latex/piton/piton-french.tex +++ b/macros/luatex/latex/piton/piton-french.tex @@ -97,8 +97,10 @@ Voici un exemple de code Python composé avec l'environnement |{Piton}| proposé from math import pi def arctan(x,n=10): - '''Compute the value of arctan(x) - n is the number of terms if the sum''' + """Compute the mathematical value of arctan(x) + + n is the number of terms in the sum + """ if x < 0: return -arctan(-x) # appel récursif elif x > 1: @@ -163,39 +165,49 @@ La commande |\PitonOptions| prend en argument une liste de couples \textsl{clé= effectués par cette commande est le groupe TeX courant.\footnote{On rappelle que tout environnement LaTeX est, en particulier, un groupe.} \begin{itemize} -\item La clé |gobble| peut comme valeur un entier positif $n$ : les $n$ premiers caractères de chaque ligne sont -alors retirés (avant formatage du code) dans les environnements |{Piton}|. +\item La clé |gobble| prend comme valeur un entier positif $n$ : les $n$ premiers caractères de chaque ligne sont +alors retirés (avant formatage du code) dans les environnements |{Piton}|. Ces $n$ caractères ne sont pas +nécessairement des espaces. \item Quand la clé |auto-gobble| est activée, l'extension \pkg{piton} détermine la valeur minimale $n$ du nombre d'espaces successifs débutant chaque ligne (non vide) de l'environnment |{Piton}| et applique |gobble| avec cette valeur de~$n$. -\item Quand la clé |env-gobble| est activée, \pkg{piton} applique la clé |gobble| avec une valeur de $n$ égale au -nombre d'espaces sur la ligne précédant le |\end{Piton}| (si cette ligne ne comporte que des espaces). +\item Quand la clé |env-gobble| est activée, \pkg{piton} analyse la dernière ligne de l'environnement, c'est-à-dire +celle qui contient le |\end{Piton}| et détermine si cette ligne ne comporte que des espaces suivis par +|\end{Piton}|. Si c'est le cas, \pkg{piton} calcule le nombre $n$ de ces espaces et applique |gobble| avec cette +valeur de~$n$. Le nom de cette clé vient de \emph{environment gobble}: le nombre d'espaces à retirer ne dépend que +de la position des délimiteurs |\begin{Piton}| et |\end{Piton}| de l'environnement. -\item Avec la clé |line-numbers|, les lignes \emph{non vides} sont numérotées dans les environnements \verb|{Piton}| -et dans les listings produits par la commande |\PitonInputFile|. +\item Avec la clé |line-numbers|, les lignes \emph{non vides} sont numérotées (à gauche) dans les environnements +\verb|{Piton}| et dans les listings produits par la commande |\PitonInputFile|. \item Avec la clé |all-line-numbers|, \emph{toutes} les lignes sont numérotées, y compris les lignes vides. +\item La clé |left-margin| fixe une marge sur la gauche. Cette clé peut être utile, en particulier, en conjonction +avec l'une des clés |line-numbers| et |all-line-numbers| si on ne souhaite pas que les numéros de ligne soient dans +une position en débordement sur la gauche. Voir un exemple à la partie \ref{example-numbering} p.~\pageref{example-numbering}. + \item Avec la clé |resume|, le compteur de lignes n'est pas remis à zéro comme il l'est normalement au début d'un -environnement |{Piton}| ou bien au début d'un listing produit par |\PitonInputFile|. +environnement |{Piton}| ou bien au début d'un listing produit par |\PitonInputFile|. Cela permet de poursuivre la +numérotation d'un environnement à l'autre. \item La clé |splittable| autorise un saut de page dans les environnements |{Piton}| et les listings produits par |\PitonInputFile|. +\smallskip +\colorbox{yellow!50}{\textbf{Nouveau 0.9}}\enskip On peut donner comme valeur à la clé |splittable| un entier +naturel~$n$. Avec une telle valeur, les environnements |{Piton}| et les listings produits par |\PitonInputFile| +sont sécables mais aucune coupure ne pourra avoir lieu entre les $n$~premières lignes, ni entre les $n$~dernières. +La valeur par défaut de la clé |splittable| vaut en fait $1$, qui autorise les sauts de page partout. + \item La clé |background-color| fixe la couleur de fond des environnements |{Piton}| et des listings produits par |\PitonInputFile| (ce fond a une largeur égale à la valeur courante de |\linewidth|). Même avec une couleur de -fond, les sauts de page sont possibles, à partir du moment où la clé |splittable| est utilisée.\footnote{Un - environnement |{Piton}| est sécable même dans un environnement de \pkg{tcolorbox}, à partir du moment où la clé - |breakable| de \pkg{tcolorbox} est utilisée. On précise cela parce que, en revanche, un environnement de - \pkg{tcolorbox} inclus dans un autre environnement de \pkg{tcolorbox} n'est pas sécable, même quand les deux - utilisent la clé |breakable|.} - -\item \colorbox{yellow!50}{\textbf{Nouveau 0.8}}\enskip La clé |left-margin| fixe une marge sur la gauche. Cette -clé peut être utile, en particulier, en conjonction avec l'une des clés |line-numbers| et |all-line-numbers| si on -ne souhaite pas que les numéros de ligne soient dans une position en débordement sur la gauche. -\end{itemize} +fond, les sauts de page sont possibles, à partir du moment où la clé |splittable| est utilisée.\footnote{Avec la + clé |splittable|, un environnement |{Piton}| est sécable même dans un environnement de \pkg{tcolorbox} (à partir + du moment où la clé |breakable| de \pkg{tcolorbox} est utilisée). On précise cela parce que, en revanche, un + environnement de \pkg{tcolorbox} inclus dans un autre environnement de \pkg{tcolorbox} n'est pas sécable, même + quand les deux utilisent la clé |breakable|.}\end{itemize} \bigskip @@ -207,8 +219,10 @@ ne souhaite pas que les numéros de ligne soient dans une position en débordeme from math import pi def arctan(x,n=10): - '''Compute the value of arctan(x) - n is the number of terms if the sum''' + """Compute the mathematical value of arctan(x) + + n is the number of terms in the sum + """ if x < 0: return -arctan(-x) # appel récursif elif x > 1: @@ -229,8 +243,10 @@ ne souhaite pas que les numéros de ligne soient dans une position en débordeme from math import pi def arctan(x,n=10): - '''Compute the value of arctan(x) - n is the number of terms if the sum''' + """Compute the value of arctan(x) + + n is the number of terms in the sum + """ if x < 0: return -arctan(-x) # appel récursif elif x > 1: @@ -343,16 +359,16 @@ String.Short & les chaînes de caractères courtes (entre \texttt{'} ou \texttt{ String.Long & les chaînes de caractères longues (entre \texttt{'''} ou \texttt{"""}) sauf les chaînes de documentation \\ String & cette clé fixe à la fois |String.Short| et |String.Long| \\ -String.Doc & les chaînes de documentation \\ -String.Interpol & les éléments syntaxiques des champs des f-strings (c'est-à-dire les caractères \texttt{\{}, \texttt{\}} et \texttt{:}) \\ +String.Doc & les chaînes de documentation (seulement entre |"""| suivant PEP~257) \\ +String.Interpol & les éléments syntaxiques des champs des f-strings (c'est-à-dire les caractères \texttt{\{}et \texttt{\}}) \\ Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .} \verb+|+ \verb|@| \\ Operator.Word & les opérateurs suivants : |in|, |is|, |and|, |or| et |not| \\ Name.Builtin & la plupart des fonctions prédéfinies par Python \\ Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition}, c'est-à-dire après le mot-clé \verb|def| \\ -Name.Decorator & les décorateurs (instructions débutant par \verb|@| dans les classes) \\ +Name.Decorator & les décorateurs (instructions débutant par \verb|@|) \\ Name.Namespace & le nom des modules (= bibliothèques extérieures) \\ -Name.Class & le nom des classes au moment de leur définition \\ +Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le mot-clé \verb|class| \\ Exception & le nom des exceptions prédéfinies (eg: SyntaxError) \\ Comment & les commentaires commençant par \texttt{\#} \\ Comment.LaTeX & les commentaires commençant par \texttt{\#\#} qui sont composés en LaTeX par \pkg{piton} (et @@ -417,8 +433,8 @@ produit par |\PitonInputFile|, bien que cela paraisse moins pertinent dans ce ca paire |\footnotemark|--|\footnotetext|. \smallskip -Il est aussi possible d'extraire les notes de pieds de page avec l'extension \pkg{footnote} ou bien l'extension -\pkg{footnotehyper}. +Néanmoins, il est également possible d'extraire les notes de pieds de page avec l'extension \pkg{footnote} ou bien +l'extension pkg{footnotehyper}. \smallskip Si \pkg{piton} est chargée avec l'option |footnote| (avec |\usepackage[footnote]{piton}|) l'extension @@ -438,9 +454,15 @@ compatible avec \pkg{hyperref}. \medskip Dans ce document, l'extension \pkg{piton} a été chargée avec l'option |footnotehyper| et c'est pourquoi des notes -peuvent être mises dans les environnements |{Piton}|: cf. première page de ce document. +peuvent être mises dans les environnements |{Piton}| : voir un exemple sur la première page de ce document. +\subsection{Tabulations} +\smallskip +\colorbox{yellow!50}{\textbf{Nouveau 0.9}}\enskip Même s'il est recommandé d'indenter les listings Python avec des +espaces (cf. PEP~8), \pkg{piton} accepte les caractères de tabulations (U+0009) en début de ligne. Chaque caractère +U+0009 est remplacé par $n$ espaces. La valeur initiale de~$n$ est~4 mais on peut la changer avec la clé |tab-size| +de |\PitonOptions|. \section{Exemples} @@ -449,6 +471,10 @@ peuvent être mises dans les environnements |{Piton}|: cf. première page de ce \subsection{Numérotation des lignes} +\label{example-numbering} + +On rappelle que l'on peut demander la numérotation des lignes des listings avec la clé |line-numbers| ou la clé |all-line-numbers|. + Par défaut, les numéros de ligne sont composés par \pkg{piton} en débordement à gauche (en utilisant en interne la commande |\llap| de LaTeX). Si on ne veut pas de débordement, il faut réserver une place à gauche pour les numéros de lignes avec la clé |left-margin|. @@ -723,7 +749,7 @@ On présente ici un réglage de ces styles adapté pour les documents en noir et Name.Builtin = , Name.Function = \bfseries \colorbox{gray!20} , Comment = \color{gray} , - Comment.LaTeX = \color{gray}, + Comment.LaTeX = \normalfont \color{gray}, Keyword = \bfseries , Name.Namespace = , Name.Class = , @@ -746,7 +772,7 @@ On présente ici un réglage de ces styles adapté pour les documents en noir et Name.Builtin = , Name.Function = \bfseries \colorbox{gray!20} , Comment = \color{gray} , - Comment.LaTeX = \color{gray}, + Comment.LaTeX = \normalfont \color{gray}, Keyword = \bfseries , Name.Namespace = , Name.Class = , @@ -755,14 +781,16 @@ On présente ici un réglage de ces styles adapté pour les documents en noir et } -\bigskip +\bigskip \begin{Piton} from math import pi def arctan(x,n=10): - '''Compute the value of arctan(x) - n is the number of terms if the sum''' + """Compute the mathematical value of arctan(x) + + n is the number of terms in the sum + """ if x < 0: return -arctan(-x) # appel récursif elif x > 1: diff --git a/macros/luatex/latex/piton/piton.dtx b/macros/luatex/latex/piton/piton.dtx index 7d7a94fa1d..c381b9eb27 100644 --- a/macros/luatex/latex/piton/piton.dtx +++ b/macros/luatex/latex/piton/piton.dtx @@ -15,8 +15,8 @@ % % \fi % \iffalse -\def\myfileversion{0.8} -\def\myfiledate{2022/10/23} +\def\myfileversion{0.9} +\def\myfiledate{2022/10/31} % % %<*batchfile> @@ -58,6 +58,7 @@ version 2005/12/01 or later. \usepackage{ragged2e} \usepackage[footnotehyper,escape-inside=$$]{piton} % $$ + \def\interitem{\vskip 7mm plus 2 mm minus 3mm} \parindent 0pt \skip\footins = 2\bigskipamount @@ -72,6 +73,9 @@ version 2005/12/01 or later. %</driver> % \fi +% +% \catcode`\" = 11 +% % \title{The package \pkg{piton}\thanks{This document corresponds to the % version~\myfileversion\space of \pkg{piton}, at the date of~\myfiledate.}} % \author{F. Pantigny \\ \texttt{fpantigny@wanadoo.fr}} @@ -84,6 +88,7 @@ version 2005/12/01 or later. % \end{abstract} % % +% % \section{Presentation} % % @@ -105,8 +110,10 @@ version 2005/12/01 or later. % from math import pi % % def arctan(x,n=10): -% '''Compute the value of arctan(x) -% n is the number of terms of the sum''' +% """Compute the mathematical value of arctan(x) +% +% n is the number of terms in the sum +% """ % if x < 0: % return -arctan(-x) # recursive call % elif x > 1: @@ -179,47 +186,62 @@ version 2005/12/01 or later. % \begin{itemize} % \item The key |gobble| takes in as value a positive integer~$n$: the first $n$ % characters are discarded (before the process of highlightning of the code) for -% each line of the environment |{Piton}|. +% each line of the environment |{Piton}|. These characters are not necessarily +% spaces. % -% \item Then the key |auto-gobble| is in force, the extension \pkg{piton} computes -% the minimal value $n$ of the number of consecutives space beginning each (non +% \item When the key |auto-gobble| is in force, the extension \pkg{piton} computes +% the minimal value $n$ of the number of consecutive spaces beginning each (non % empty) line of the environment |{Piton}| and applies |gobble| with that value % of~$n$. % -% \item When the key |env-gobble| is in force, \pkg{piton} applies |gobble| with -% a value of $n$ equal to the number of spaces before |\end{Piton}| on the last -% line (if that line contains only spaces). The name of that key comes from -% \emph{environment gobble}: the effect of gobble is set by the position of the -% commands |\begin{Piton}| and |\end{Piton}| which delimit the current environment. -% -% \item With the key |line-numbers|, the \emph{non empty} lines are numbered in -% the environments |{Piton}| and in the listings resulting from the use of -% |\PitonInputFile|. +% \item When the key |env-gobble| is in force, \pkg{piton} analyzes the last +% line of the environment |{Piton}|, that is to say the line which contains +% |\end{Piton}| and determines whether that line contains only spaces followed +% by the |\end{Piton}|. If we are in that situation, \pkg{piton} computes the +% number~$n$ of spaces on that line and applies |gobble| with that value of~$n$. +% The name of that key comes from \emph{environment gobble}: the effect of +% gobble is set by the position of the commands |\begin{Piton}| and +% |\end{Piton}| which delimit the current environment. +% +% \item With the key |line-numbers|, the \emph{non empty} lines are numbered (on +% the left) in the environments |{Piton}| and in the listings resulting from the +% use of |\PitonInputFile|. % % \item With the key |all-line-numbers|, \emph{all} the lines are numbered, % including the empty ones. % -% \item By default, the counter of lines is set to zero at the beginning of each -% environment |{Piton}| or use of |\PitonInputFile|. With the key |resume|, that -% reinitialisation is not done. +% \item With the key |resume| the counter of lines is not set to zero at the +% beginning of each environment |{Piton}| or use |\PitonInputFile| as it is +% otherwise. That's allows a numbering of the lines accross several +% environments. See an example part \ref{example-numbering} on +% page~\pageref{example-numbering}. +% +% \item The key |left-margin| corresponds to a margin on the left. That key may +% be useful in conjonction with the key |line-numbers| or the key +% |line-all-numbers| if one does not want the numbers in an overlapping position +% on the left. % % \item The key |splittable| allows pages breaks within the environments % |{Piton}| and the listings produced by % |\PitonInputFile|. % +% \smallskip +% \colorbox{yellow!50}{\textbf{New 0.9}}\enskip It's possible to give as value to +% the key |splittable| a positive integer~$n$. With that value, the environments +% |{Piton}| and the listings produced by |\PitonInputFile| are splittable but no +% page break can occur within the first $n$ lines and within the last $n$ lines. +% The default value of the key |splittable| is, in fact, $1$, which allows pages +% breaks everywhere. +% % \item The key |background-color| sets the background color of the environments % |{Piton}| and the listings produced by |\PitonInputFile| (that background has % a width of |\linewidth|). Even with a background color, the pages breaks are -% allowed, as soon as the key |splittable| is in force.\footnote{The -% environments \texttt{\{Piton\}} are breakable, even within a breakable -% environment of \pkg{tcolorbox}. Remind that an environment of \pkg{tcolorbox} -% included in another environment of \pkg{tcolorbox} is \emph{not} breakable, -% even when both environments use the key |breakable| of \pkg{tcolorbox}.} -% -% \item \colorbox{yellow!50}{\textbf{New 0.8}}\enskip The key |left-margin| -% corresponds to a margin on the left. That key may be useful in conjonction -% with the key |line-numbers| or the key |line-all-numbers| if one does not want -% the numbers in an overlapping position on the left. +% allowed, as soon as the key |splittable| is in force.\footnote{With the key +% |splittable|, the environments \texttt{\{Piton\}} are breakable, even within a +% (breakable) environment of \pkg{tcolorbox}. Remind that an environment of +% \pkg{tcolorbox} included in another environment of \pkg{tcolorbox} is +% \emph{not} breakable, even when both environments use the key |breakable| of +% \pkg{tcolorbox}.} % \end{itemize} % % \bigskip @@ -230,10 +252,11 @@ version 2005/12/01 or later. % ~emphase&\PitonOptions{line-numbers,auto-gobble,background-color = gray!15}@ % \begin{Piton} % from math import pi -% % def arctan(x,n=10): -% '''Compute the value of arctan(x) -% n is the number of terms of the sum''' +% """Compute the mathematical value of arctan(x) +% +% n is the number of terms in the sum +% """ % if x < 0: % return -arctan(-x) # recursive call % elif x > 1: @@ -254,8 +277,10 @@ version 2005/12/01 or later. % from math import pi % % def arctan(x,n=10): -% '''Compute the value of arctan(x) -% n is the number of terms of the sum''' +% """Compute the mathematical value of arctan(x) +% +% n is the number of terms in the sum +% """ % if x < 0: % return -arctan(-x) # recursive call % elif x > 1: @@ -323,7 +348,7 @@ version 2005/12/01 or later. % The package \pkg{piton} provides the command |\SetPitonStyle| to customize the % different styles used to format the syntactic elements of the Python listings. % The customizations done by that command are limited to the current TeX -% group.\footnote{We remind that an LaTeX environment is, in particuilar, a TeX group.} +% group.\footnote{We remind that an LaTeX environment is, in particular, a TeX group.} % % \bigskip % The command |\SetPitonStyle| takes in as argument a comma-separated list of @@ -379,25 +404,27 @@ version 2005/12/01 or later. % String.Long & the long strings (between \texttt{'''} or \verb|"""|) except the % documentation strings \\ % String & that keys sets both |String.Short| and |String.Long| \\ -% String.Doc & the documentation strings \\ +% String.Doc & the documentation strings (only between \texttt{"""} following +% PEP~257) \\ % String.Interpol & the syntactic elements of the fields of the f-strings (that -% is to say the characters \texttt{\{}, \texttt{\}} and \texttt{:}) \\ +% is to say the characters \texttt{\{} and \texttt{\}}) \\ % Operator & the following operators : \texttt{!= == << >> - \~{} + / * \% = < > \& .} \verb+|+ \verb|@|\\ % Operator.Word & the following operators : \texttt{in}, \texttt{is}, % \texttt{and}, \texttt{or} and \texttt{not} \\ % Name.Builtin & the predefined functions of Python \\ % Name.Function & the name of the functions defined by the user, at the point of % their definition (that is to say after the keyword |def|) \\ -% Name.Decorator & the decorators (instructions beginning by \verb|@| in the classes) \\ +% Name.Decorator & the decorators (instructions beginning by \verb|@|) \\ % Name.Namespace & the name of the modules (= external libraries) \\ -% Name.Class & the name of the classes at the point of their definition \\ +% Name.Class & the name of the classes at the point of their definition (that is +% to say after the keyword |class|) \\ % Exception & the names of the exceptions (eg: \texttt{SyntaxError}) \\ % Comment & the comments beginning with \verb|#| \\ -% Comment.LaTeX & the comments beginning by \verb|##| which are composed in LaTeX by -% \pkg{piton} (and called merely ``LaTeX comments'' in this document) \\ +% Comment.LaTeX & the comments beginning by \verb|##|, which are composed in LaTeX by +% \pkg{piton} (and simply called ``LaTeX comments'' in this document) \\ % Keyword.Constant & |True|, |False| and |None| \\ % Keyword & the following keywords : -% \ttfamily assert, break, case, continue, del, +% \ttfamily as, assert, break, case, continue, def, del, % elif, else, except, exec, finally, for, from, % global, if, import, lambda, non local, % pass, raise, return, try, while, @@ -458,8 +485,8 @@ version 2005/12/01 or later. % pair |\footnotemark|--|\footnotetext|. % % \smallskip -% It's also possible to extract the footnotes with the help of the package -% \pkg{footnote} or the package \pkg{footnotehyper}. +% However, it's also possible to extract the footnotes with the help of the +% package \pkg{footnote} or the package \pkg{footnotehyper}. % % \smallskip % If \pkg{piton} is loaded with the option |footnote| (with @@ -479,17 +506,30 @@ version 2005/12/01 or later. % in particular: it must be loaded after the package \pkg{xcolor} and it is not % perfectly compatible with \pkg{hyperref}. % -% \medskip -% In this document, the package \pkg{piton} has been loaded with the option -% |footnotehyper|: see the first page of this document for an example of a -% footnote in an environment |{Piton}|. +% \medskip +% In this document, the package \pkg{piton} has been loaded with the +% option |footnotehyper|. For examples of notes, cf. \ref{notes-examples}, +% p.~\pageref{notes-examples}. % +% \subsection{Tabulations} % -% \section{Examples} +% \smallskip +% \colorbox{yellow!50}{\textbf{New 0.9}}\enskip Even though it's recommended to +% indent the Python listings with spaces (see PEP~8), \pkg{piton} accepts the +% characters of tabulation (that is to say the characters U+0009) at the +% beginning of the lines. Each character U+0009 is replaced by $n$~spaces. The +% initial value of $n$ is $4$ but it's possible to change it with the key +% |tab-size| of |\PitonOptions|. % +% \section{Examples} % % \subsection{Line numbering} % +% \label{example-numbering} +% +% We remind that it's possible to have an automatic numbering of the lines in +% the Python listings by using the key |line-numbers| or the key |all-line-numbers|. +% % By default, the numbers of the lines are composed by \pkg{piton} in an % overlapping position on the left (by using internally the command |\llap| of LaTeX). % @@ -625,8 +665,10 @@ version 2005/12/01 or later. % % \subsection{Notes in the listings} % +% \label{notes-examples} +% % In order to be able to extract the notes (which are typeset with the command -% |\footnote|, the extension \pkg{piton} must be loaded with the key |footnote| +% |\footnote|), the extension \pkg{piton} must be loaded with the key |footnote| % or the key |footenotehyper| as explained in the section \ref{footnote} % p.~\pageref{footnote}. In this document, the extension \pkg{piton} has been % loaded with the key |footnotehyper|. @@ -709,7 +751,7 @@ version 2005/12/01 or later. % % % \vspace{1cm} -% If one embed an environment |{Piton}| in an environment |{minipage}| +% If we embed an environment |{Piton}| in an environment |{minipage}| % (typically in order to limit the width of a colored background), it's % necessary to embed the whole environment |{minipage}| in an environment % |{savenotes}| (of \pkg{footnote} or \pkg{footnotehyper}) in order to have the @@ -778,7 +820,7 @@ version 2005/12/01 or later. % Name.Builtin = , % Name.Function = \bfseries \colorbox{gray!20} , % Comment = \color{gray} , -% Comment.LaTeX = \color{gray}, +% Comment.LaTeX = \normalfont \color{gray}, % Keyword = \bfseries , % Name.Namespace = , % Name.Class = , @@ -792,19 +834,19 @@ version 2005/12/01 or later. % % \setmonofont[Scale=0.85]{DejaVu Sans Mono} % -% \PitonOptions{splittable} +% \PitonOptions{splittable} % % \SetPitonStyle % { % Number = , % String = \itshape , % String.Doc = \color{gray} \slshape , -% Operator = , % Operator.Word = \bfseries , +% Operator = , % Name.Builtin = , % Name.Function = \bfseries \colorbox{gray!20} , % Comment = \color{gray} , -% Comment.LaTeX = \color{gray} , +% Comment.LaTeX = \normalfont \color{gray} , % Keyword = \bfseries , % Name.Namespace = , % Name.Class = , @@ -819,8 +861,10 @@ version 2005/12/01 or later. % from math import pi % % def arctan(x,n=10): -% '''Compute the value of arctan(x) -% n is the number of terms if the sum''' +% """Compute the mathematical value of arctan(x) +% +% n is the number of terms in the sum +% """ % if x < 0: % return -arctan(-x) # appel récursif % elif x > 1: @@ -837,12 +881,137 @@ version 2005/12/01 or later. % % % \bigskip -% The previous example has been composed while the key |splittable| (of -% |\PitonOptions|) is in force. That's why a page break may have occurred. % \clearpage % % \section{Implementation} % +% \subsection{Introduction} +% +% The main job of the package \pkg{piton} is to take in as input a Python +% listing and to send back to LaTeX as output that code \emph{with interlaced LaTeX +% instructions of formatting}. +% +% In fact, all that job is done by a \textsc{lpeg} called |SyntaxPython|. That +% \textsc{lpeg}, when matched against the string of a Python listing, +% returns as capture a Lua table containing data to send to LaTeX. +% The only thing to do after will be to apply |tex.tprint| to each element of +% that table.\footnote{Recall that |tex.tprint| takes in as argument a Lua table whose +% first component is a ``catcode table'' and the second element a string. The +% string will be sent to LaTeX with the regime of catcodes specified by the +% catcode table. If no catcode table is provided, the standard catcodes of LaTeX +% will be used.} +% +% \bigskip +% Consider, for example, the following Python code: +% +% \begin{Piton} +% def parity(x): +% return x%2 +% \end{Piton} +% +% The capture returned by the \pkg{lpeg} |SyntaxPython| against that code is the +% Lua table containing the following elements : +% +% \bigskip +% \begin{minipage}{\linewidth} +% \color{gray} +% +% |{ "\\__piton_begin_line:" }|\footnote{Each line of the Python listings will +% be encapsulated in a pair: \texttt{\textbackslash_@@_begin_line:} -- +% \texttt{\textbackslash@@_end_line:}. The token +% \texttt{\textbackslash@@_end_line:} must be explicit because it will be used as +% marker in order to delimit the argument of the command \texttt{\textbackslash +% @@\_begin\_line:}. Both tokens \texttt{\textbackslash_@@_begin_line:} and +% \texttt{\textbackslash@@_end_line:} will be nullified in the command +% \texttt{\textbackslash piton} (since there can't be lines breaks in the +% argument of a command \texttt{\textbackslash piton}).} +% +% \texttt{\{ "\{\textbackslash PitonStyle\{Keyword\}\{" \}}\footnote{The +% lexical elements of Python for which we have a \pkg{piton} style will be +% formatted via the use of the command \texttt{\textbackslash PitonStyle}. +% Such an element is typeset in LaTeX via the syntax \texttt{\{\textbackslash +% PitonStyle\{\textsl{style}\}\{...\}\}} because the instructions inside an \texttt{\textbackslash +% PitonStyle} may be both semi-global declarations like +% \texttt{\textbackslash bfseries} and commands with one argument like +% \texttt{\textbackslash fbox}.} +% +% \texttt{\{ +% luatexbase.catcodetables.CatcodeTableOther\footnote{\texttt{luatexbase.catcodetables.CatcodeTableOther} is a mere number which corresponds to the ``catcode table'' whose all characters have the catcode ``other'' (which means that they will be typeset by LaTeX verbatim).}, "def" \} } +% +% |{ "}}" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, " " }| +% +% |{ "{\PitonStyle{Name.Function}{" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "parity" }| +% +% |{ "}}" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "(" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "x" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, ")" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, ":" }| +% +% |{ "\\__piton_end_line: \\__piton_newline: \\__piton_begin_line:" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, " " }| +% +% |{ "{\PitonStyle{Keyword}{" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "return" }| +% +% |{ "}}" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, " " }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "x" }| +% +% |{ "{\PitonStyle{Operator}{" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "&" }| +% +% |{ "}}" }| +% +% |{ "{\PitonStyle{Number}{" }| +% +% |{ luatexbase.catcodetables.CatcodeTableOther, "2" }| +% +% |{ "}}" }| +% +% |{ "\\__piton_end_line:" }| +% +% \end{minipage} +% +% \bigskip +% We give now the LaTeX code which is sent back by Lua to TeX (we have written +% on several lines for legibility but no character |\r| will be sent to LaTeX). The +% characters which are greyed-out are sent to LaTeX with the catcode ``other'' +% (=12). All the others characters are sent with the regime of catcodes of L3 +% (as set by |\ExplSyntaxOn|) +% +% +% \begingroup +% \def\gbox#1{\colorbox{gray!20}{\strut #1}} +% \setlength{\fboxsep}{1pt} +% +% \begin{Verbatim*}[formatcom = \color{black}] +% \__piton_begin_line:{\PitonStyle{Keyword}{~gbox#def@}} +% ~gbox# @{\PitonStyle{Name.Function}{~gbox#parity@}}~gbox#(x):@\__piton_end_line:\__piton_newline: +% \__piton_begin_line:~gbox# @{\PitonStyle{Keyword}{~gbox#return@}} +% ~gbox# x@{\PitonStyle{Operator}{~gbox#%@}}{\PitonStyle{Number}{~gbox#2@}}\__piton_end_line: +% \end{Verbatim*} +% \endgroup +% +% +% +% +% \subsection{The L3 part of the implementation} +% +% \subsubsection{Declaration of the package} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \RequirePackage{l3keys2e} @@ -1010,9 +1179,23 @@ version 2005/12/01 or later. % |\c_@@_footnote_bool| in order to know if we have to insert an environment % |{savenotes}|. % -% \medskip -% \subsection{Parameters} +% \bigskip +% \subsubsection{Parameters and technical definitions} % +% We will compute (with Lua) the numbers of lines of the Python code and store +% it in the following counter. +% \begin{macrocode} +\int_new:N \l_@@_nb_lines_int +% \end{macrocode} +% +% The following counter will be used to count the lines during the composition. +% It will count all the lines, empty or not empty. It won't be used to print the +% numbers of the lines. +% \begin{macrocode} +\int_new:N \g_@@_line_int +% \end{macrocode} +% +% \medskip % The following token list will contains the (potential) informations to write % on the |aux| (to be used in the next compilation). % \begin{macrocode} @@ -1020,9 +1203,18 @@ version 2005/12/01 or later. % \end{macrocode} % % \medskip -% The following flag corresponds to the key |splittable| of |\PitonOptions|. +% The following counter corresponds to the key |splittable| of |\PitonOptions|. +% If the value of |\l_@@_splittable_int| is equal to $n$, then no line break can +% occur within the first $n$~lines or the last $n$~lines of the listings. % \begin{macrocode} -\bool_new:N \l_@@_splittable_bool +\int_new:N \l_@@_splittable_int +% \end{macrocode} +% +% \medskip +% An initial value of |splittable| equal to 100 is equivalent to say that the +% environments |{Piton}| are unbreakable. +% \begin{macrocode} +\int_set:Nn \l_@@_splittable_int { 100 } % \end{macrocode} % % \medskip @@ -1033,9 +1225,12 @@ version 2005/12/01 or later. % % \medskip % We will compute the maximal width of the lines of an environment |{Piton}| in -% |\l_@@_width_dim|. +% |\g_@@_width_dim|. We need a global variable because when the key |footnote| +% is in force, each line when be composed in an environment |{savenotes}| and +% (when |slim| is in force) we need to exit |\g_@@_width_dim| from that +% environment. % \begin{macrocode} -\dim_new:N \l_@@_width_dim +\dim_new:N \g_@@_width_dim % \end{macrocode} % The value of that dimension as written on the |aux| file will be stored in % |\l_@@_width_on_aux_dim|. @@ -1061,24 +1256,52 @@ version 2005/12/01 or later. % \begin{macrocode} \dim_new:N \l_@@_left_margin_dim % \end{macrocode} -% -% \subsection{The gobbling mechanism} % % \medskip -% The following integer is the number of characters to gobble on the left side -% of the Python listings. Of course, the initial value is $0$. +% The tabulators will be replaced by the content of the following token list. % \begin{macrocode} -\int_new:N \l_@@_gobble_int +\tl_new:N \l_@@_tab_tl % \end{macrocode} % % \medskip % \begin{macrocode} -\cs_new_protected:Npn \@@_define_gobble_syntax:n #1 - { \lua_now:n { define_gobble_syntax(#1) } } +\cs_new_protected:Npn \@@_set_tab_tl:n #1 + { + \tl_clear:N \l_@@_tab_tl + \prg_replicate:nn { #1 } + { \tl_put_right:Nn \l_@@_tab_tl { ~ } } + } +\@@_set_tab_tl:n { 4 } % \end{macrocode} -% +% +% \medskip +% \begin{macrocode} +\cs_new_protected:Npn \@@_newline: + { + \int_gincr:N \g_@@_line_int + \int_compare:nNnT \g_@@_line_int > { \l_@@_splittable_int - 1 } + { + \int_compare:nNnT + { \l_@@_nb_lines_int - \g_@@_line_int } > \l_@@_splittable_int + { + \egroup + \bool_if:NT \c_@@_footnote_bool { \end { savenotes } } + \newline + \bool_if:NT \c_@@_footnote_bool { \begin { savenotes } } + \vtop \bgroup + } + } + } +% \end{macrocode} +% % \medskip -% \subsection{Treatment of a line of code} +% The following integer corresponds to the key |gobble|. +% \begin{macrocode} +\int_new:N \l_@@_gobble_int +% \end{macrocode} +% +% \bigskip +% \subsubsection{Treatment of a line of code} % % In the contents provided by Lua, each line of the Python code will be % surrounded by |\@@_begin_line:| and |\@@_end_line:|. @@ -1086,8 +1309,6 @@ version 2005/12/01 or later. % \begin{macrocode} \cs_set_protected:Npn \@@_begin_line: #1 \@@_end_line: { - \bool_lazy_and:nnT \l_@@_splittable_bool \c_@@_footnote_bool - { \begin { savenotes } } % \end{macrocode} % % Be careful: there is curryfication in the following lines. @@ -1115,11 +1336,11 @@ version 2005/12/01 or later. #1 \hfil } % \end{macrocode} -% We compute in |\l_@@_width_dim| the maximal width of the lines of the +% We compute in |\g_@@_width_dim| the maximal width of the lines of the % environments. % \begin{macrocode} - \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > \l_@@_width_dim - { \dim_set:Nn \l_@@_width_dim { \box_wd:N \l_tmpa_box } } + \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > \g_@@_width_dim + { \dim_gset:Nn \g_@@_width_dim { \box_wd:N \l_tmpa_box } } \box_set_dp:Nn \l_tmpa_box { \box_dp:N \l_tmpa_box + 1.25 pt } \box_set_ht:Nn \l_tmpa_box { \box_ht:N \l_tmpa_box + 1.25 pt } \tl_if_empty:NTF \l_@@_background_color_str @@ -1139,15 +1360,13 @@ version 2005/12/01 or later. \box_use_drop:N \l_tmpa_box } } - \bool_lazy_and:nnT \l_@@_splittable_bool \c_@@_footnote_bool - { \end { savenotes } } \vspace { - 2.5 pt } } % \end{macrocode} % % -% \medskip -% \subsection{PitonOptions} +% \bigskip +% \subsubsection{PitonOptions} % % \medskip % The following parameters correspond to the keys |line-numbers| and @@ -1184,19 +1403,22 @@ version 2005/12/01 or later. all-line-numbers .value_forbidden:n = true , resume .bool_set:N = \l_@@_resume_bool , resume .value_forbidden:n = true , - splittable .bool_set:N = \l_@@_splittable_bool , - splittable .default:n = true , + splittable .int_set:N = \l_@@_splittable_int , + splittable .default:n = 1 , background-color .str_set:N = \l_@@_background_color_str , background-color .value_required:n = true , slim .bool_set:N = \l_@@_slim_bool , slim .default:n = true , left-margin .dim_set:N = \l_@@_left_margin_dim , left-margin .value_required:n = true , + tab-size .code:n = \@@_set_tab_tl:n { #1 } , + tab-size .value_required:n = true , unknown .code:n = \msg_error:nn { piton } { Unknown~key~for~PitonOptions } } % \end{macrocode} % +% % \bigskip % \begin{macrocode} \msg_new:nnn { piton } { Unknown~key~for~PitonOptions } @@ -1204,7 +1426,7 @@ version 2005/12/01 or later. Unknown~key. \\ The~key~'\l_keys_key_str'~is~unknown~for~\token_to_str:N \PitonOptions.~The~ available~keys~are:~all-line-numbers,~auto-gobble,~env-gobble,~gobble,~ - left-margin,~line-numbers,~resume,~slim~and~splittable.\\ + left-margin,~line-numbers,~resume,~slim~splittable~and~tab-size.\\ If~you~go~on,~that~key~will~be~ignored. } % \end{macrocode} @@ -1215,32 +1437,33 @@ version 2005/12/01 or later. \NewDocumentCommand \PitonOptions { } { \keys_set:nn { PitonOptions } } % \end{macrocode} % -% \medskip -% \subsection{The numbers of the lines} +% \bigskip +% \subsubsection{The numbers of the lines} % % \medskip % The following counter will be used to count the lines in the code when the -% user requires the numbers of the lines to be printed. +% user requires the numbers of the lines to be printed (with |line-numbers| or +% |all-line-numbers|). % \begin{macrocode} -\int_new:N \g_@@_line_int +\int_new:N \g_@@_visual_line_int % \end{macrocode} % % % \begin{macrocode} \cs_new_protected:Npn \@@_print_number: { - \int_gincr:N \g_@@_line_int + \int_gincr:N \g_@@_visual_line_int \hbox_overlap_left:n { - { \color { gray } \footnotesize \int_to_arabic:n \g_@@_line_int } + { \color { gray } \footnotesize \int_to_arabic:n \g_@@_visual_line_int } \skip_horizontal:n { 0.4 em } } } % \end{macrocode} % % -% \medskip -% \subsection{The command to write on the aux file} +% \bigskip +% \subsubsection{The command to write on the aux file} % % % \begin{macrocode} @@ -1270,15 +1493,15 @@ version 2005/12/01 or later. \tl_gput_right:Nx \g_@@_aux_tl { \dim_set:Nn \l_@@_width_on_aux_dim - { \dim_use:N \l_@@_width_dim + 0.5 em } + { \dim_eval:n { \g_@@_width_dim + 0.5 em } } } } } } % \end{macrocode} % -% \medskip -% \subsection{The main commands and environments for the final user} +% \bigskip +% \subsubsection{The main commands and environments for the final user} % % \begin{macrocode} \NewDocumentCommand { \piton } { v } @@ -1305,29 +1528,48 @@ version 2005/12/01 or later. } % \end{macrocode} % -% % \bigskip +% Despite its name, |\@@_pre_env:| will be used both in |\PitonInputFile| dans +% in the environments such as |{Piton}|. % \begin{macrocode} -\NewDocumentCommand { \PitonInputFile } { m } +\cs_new:Npn \@@_pre_env: { \int_gincr:N \g_@@_env_int \tl_gclear:N \g_@@_aux_tl \tl_if_exist:cT { c_@@ _ \int_use:N \g_@@_env_int _ tl } { \use:c { c_@@ _ \int_use:N \g_@@_env_int _ tl } } - \bool_if:NF \l_@@_splittable_bool - { \bool_if:NT \c_@@_footnote_bool { \begin { savenotes } } } \dim_compare:nNnT \l_@@_width_on_aux_dim = \c_zero_dim { \dim_set_eq:NN \l_@@_width_on_aux_dim \linewidth } - \bool_if:NF \l_@@_resume_bool { \int_gzero:N \g_@@_line_int } + \bool_if:NF \l_@@_resume_bool { \int_gzero:N \g_@@_visual_line_int } + \dim_gzero:N \g_@@_width_dim + \int_gzero:N \g_@@_line_int + \dim_zero:N \parindent + \dim_zero:N \lineskip + } +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} +\NewDocumentCommand { \PitonInputFile } { m } + { \group_begin: - \dim_set_eq:NN \parindent \c_zero_dim + \@@_pre_env: + \mode_if_vertical:TF \mode_leave_vertical: \newline +% \end{macrocode} +% We count with Lua the number of lines of the argument. The result will be +% stored by Lua in |\l_@@_nb_lines_int|. That information will be used to allow +% or disallow page breaks. +% \begin{macrocode} + \lua_now:n { CountLinesFile(token.scan_argument()) } { #1 } \ttfamily - \lua_now:e { ParseFile(token.scan_argument()) } { #1 } - \@@_width_to_aux: + \bool_if:NT \c_@@_footnote_bool { \begin { savenotes } } + \vtop \bgroup + \lua_now:n { ParseFile(token.scan_argument()) } { #1 } + \egroup + \bool_if:NT \c_@@_footnote_bool { \end { savenotes } } + \@@_width_to_aux: \group_end: \@@_write_aux: - \bool_if:NF \l_@@_splittable_bool - { \bool_if:NT \c_@@_footnote_bool { \end { savenotes } } } } % \end{macrocode} % @@ -1353,42 +1595,26 @@ version 2005/12/01 or later. } { \group_end: - \mode_if_vertical:TF - { \mode_leave_vertical: } - \newline + \mode_if_vertical:TF \mode_leave_vertical: \newline % \end{macrocode} -% Be careful: there is curryfication in the following code. +% We count with Lua the number of lines of the argument. The result will be +% stored by Lua in |\l_@@_nb_lines_int|. That information will be used to allow +% or disallow page breaks. % \begin{macrocode} - \bool_if:NF \l_@@_splittable_bool + \lua_now:n { CountLines(token.scan_argument()) } { ##1 } + \ttfamily + \bool_if:NT \c_@@_footnote_bool { \begin { savenotes } } + \vtop \bgroup + \lua_now:e { - \bool_if:NT \c_@@_footnote_bool { \begin { savenotes } } - \vbox_top:n - } - { - \ttfamily - \dim_zero:N \lineskip - \int_case:nnF \l_@@_gobble_int - { - 0 -% \end{macrocode} -% Be careful: the last argument is provided by curryfication. -% \begin{macrocode} - { \lua_now:n { Parse(token.scan_argument()) } } - { -1 } - { \lua_now:n { AutoGobbleParse(token.scan_argument()) } } - { -2 } - { \lua_now:n { EnvGobbleParse(token.scan_argument()) } } - } - { - \exp_args:NV \@@_define_gobble_syntax:n \l_@@_gobble_int - \lua_now:n { GobbleParse(token.scan_argument()) } - } - { ##1 } - \vspace { 2.5 pt } - \@@_width_to_aux: - } - \bool_if:NF \l_@@_splittable_bool - { \bool_if:NT \c_@@_footnote_bool { \end { savenotes } } } + GobbleParse + ( \int_use:N \l_@@_gobble_int , token.scan_argument() ) + } + { ##1 } + \vspace { 2.5 pt } + \egroup + \bool_if:NT \c_@@_footnote_bool { \end { savenotes } } + \@@_width_to_aux: % \end{macrocode} % The following |\end{#1}| is only for the groups and the stack of % environments of LaTeX. @@ -1407,17 +1633,10 @@ version 2005/12/01 or later. \NewDocumentEnvironment { #1 } { #2 } { #3 - \int_gincr:N \g_@@_env_int - \tl_gclear:N \g_@@_aux_tl - \tl_if_exist:cT { c_@@ _ \int_use:N \g_@@_env_int _ tl } - { \use:c { c_@@ _ \int_use:N \g_@@_env_int _ tl } } - \dim_compare:nNnT \l_@@_width_on_aux_dim = \c_zero_dim - { \dim_set_eq:NN \l_@@_width_on_aux_dim \linewidth } - \bool_if:NF \l_@@_resume_bool { \int_gzero:N \g_@@_line_int } + \@@_pre_env: \group_begin: - \box_clear:N \l_tmpa_box \tl_map_function:nN - { \ \\ \{ \} \$ \& \# \^ \_ \% \~ } + { \ \\ \{ \} \$ \& \# \^ \_ \% \~ \^^I } \char_set_catcode_other:N \use:c { _@@_collect_ #1 :w } } @@ -1443,7 +1662,7 @@ version 2005/12/01 or later. % \end{macrocode} % % \bigskip -% \subsection{The styles} +% \subsubsection{The styles} % % \medskip % The following command is fundamental: it will be used by the Lua code. @@ -1553,8 +1772,8 @@ version 2005/12/01 or later. } % \end{macrocode} % -% -% \subsection{The initial style} +% \bigskip +% \subsubsection{The initial style} % % The initial style is inspired by the style ``manni'' of Pygments. % @@ -1581,12 +1800,15 @@ version 2005/12/01 or later. Name.Type = \color[HTML]{336666} , InitialValues = \@@_piton:n , Dict.Value = \@@_piton:n , - Post.Function = \@@_piton:n , Interpol.Inside = \color{black}\@@_piton:n , + Post.Function = \@@_piton:n , } % \end{macrocode} +% The last style |Post.Function| should be considered as an ``internal style'' +% (not available for the final user). % -% \subsection{Security} +% \bigskip +% \subsubsection{Security} % % \begin{macrocode} \AddToHook { env / piton / begin } @@ -1603,371 +1825,739 @@ version 2005/12/01 or later. % % % \bigskip -% \subsection{The Lua code} +% \subsection{The Lua part of the implementation} % -% \medskip +% \bigskip % \begin{macrocode} \ExplSyntaxOff \RequirePackage{luacode} % \end{macrocode} % -% \vspace{1cm} +% \medskip % \begin{macrocode} \begin{luacode*} -local P, S, V , C , Ct, Cc, Cf = lpeg.P, lpeg.S, lpeg.V, lpeg.C, lpeg.Ct, lpeg.Cc, lpeg.Cf - - ---[[ By convention, a capture which provides as value a table (and not a string), provides, in fact, -a string (the first element of the table) which is a formatting LaTeX instruction (it will be -thrown back to TeX with normal catcodes (ant not ``other'' catcode for everybody).]] - -local function L(string) - return Cc ( { string } ) +% \end{macrocode} +% +% \bigskip +% \subsubsection{Special functions dealing with LPEG} +% +% \medskip +% We will use the Lua library \pkg{lpeg} which is built in LuaTeX. That's why we +% define first aliases for several functions of that library. +% \begin{macrocode} +local P, S, V, C, Ct, Cc, Cf = lpeg.P, lpeg.S, lpeg.V, lpeg.C, lpeg.Ct, lpeg.Cc, lpeg.Cf +% \end{macrocode} +% +% +% \bigskip +% The function |Q| takes in as argument a pattern and returns a \textsc{lpeg} +% \emph{which does a capture} of the pattern. That capture will be sent to LaTeX +% with the catcode ``other'' for all the characters: it's suitable for elements +% of the Python listings that \pkg{piton} will typeset verbatim (thanks to the +% catcode ``other''). That function will be widely used. +% \begin{macrocode} +local function Q(pattern) + return Ct ( Cc ( luatexbase.catcodetables.CatcodeTableOther ) * C ( pattern ) ) end - +% \end{macrocode} +% +% \bigskip +% The function |L| takes in as argument a pattern and returns a \textsc{lpeg} +% \emph{which does a capture} of the pattern. That capture will be sent to LaTeX +% with standard LaTeX catcodes for all the characters: the elements captured +% will be formatted as normal LaTeX codes. It's suitable for the ``comment +% LateX'' in the environments |{Piton}| and the elements beetween +% ``|escape-inside|''. That function won't be much used. +% \begin{macrocode} +local function L(pattern) + return Ct ( C ( pattern ) ) +end +% \end{macrocode} +% +% \bigskip +% The function |Lc| (the c is for \emph{constant}) takes in as argument a string +% and returns a \textsc{lpeg} \emph{with does a constant capture} which returns +% that string. The elements captured will be formatted as L3 code. It will be +% used to send to LaTeX all the formatting LaTeX instructions we have to insert +% in order to do the syntactic highlighting (that's the main job of +% \pkg{piton}). That function will be widely used. +% \begin{macrocode} +local function Lc(string) + return Cc ( { luatexbase.catcodetables.expl , string } ) +end +% \end{macrocode} +% +% \bigskip +% The function |K| function creates a \textsc{lpeg} which will return as capture +% the whole LaTeX code corresponding to a Python chunk (that is to say with the +% LaTeX formatting instructions corresponding to the syntactic nature of that +% Python chunk). The first argument is a pattern (that is to say a \textsc{lpeg} +% without capture) and the second element is a Lua string corresponding to the +% name of a \pkg{piton} style. +% \begin{macrocode} local function K(pattern, style) return - L ( "{\\PitonStyle{" .. style .. "}{" ) - * C(pattern) - * L ( "}}" ) + Lc ( "{\\PitonStyle{" .. style .. "}{" ) + * Q ( pattern ) + * Lc ( "}}" ) end - - ---[[ The text in "escape" (between begin_escape and end_escape) is captured -and put in a table (with only one component). Indeed, we have decided that a capture -which is encapsulated in a table must be transmitted to TeX with the normal TeX catcodes.]] - -local Escape = P(begin_escape) - * Ct ( C ( ( 1 - P(end_escape) ) ^ 1 ) ) - * P(end_escape) - - -lpeg.locale(lpeg) -- mandatory - -local alpha , digit , space , punct = lpeg.alpha , lpeg.digit , lpeg.space , lpeg.punct - --- Remember that à, â, ç, etc. are strings of length 2 (2 bytes) +% \end{macrocode} +% The formatting commands in a given \pkg{piton} style (eg. the style |Keyword|) +% may be semi-global declarations (such as |\bfseries| or |\slshape|) or LaTeX +% macros with an argument (such as |\fbox| or |\colorbox{yellow}|). In order to +% deal with both syntaxes, we have used two pairs of braces: +% |{\PitonStyle{Keyword}{|\texttt{\slshape text to format}|}}|. +% +% \bigskip +% The following \textsc{lpeg} catches the Python chunks which are in LaTeX +% escapes (and that chunks will be considered as normal LaTeX constructions). We +% recall that |begin_espace| and |end_escape| are Lua strings corresponding to +% the key |escape-inside|\footnote{The \pkg{piton} key |escape-inside| is +% available at load-time only.}. Since the elements that will be catched must be +% sent to LaTeX with standard LaTeX catcodes, we put the capture (done by the +% function |C|) in a table (by using |Ct|, which is an alias for |lpeg.Ct|) +% without number of catcode table at the first component of the table. +% \begin{macrocode} +local Escape = + P(begin_escape) + * L ( ( 1 - P(end_escape) ) ^ 1 ) + * P(end_escape) +% \end{macrocode} +% +% \vspace{1cm} +% The following line is mandatory. +% \begin{macrocode} +lpeg.locale(lpeg) +% \end{macrocode} +% +% \bigskip +% \subsubsection{The LPEG SyntaxPython} +% +% \begin{macrocode} +local alpha, digit, space = lpeg.alpha, lpeg.digit, lpeg.space +% \end{macrocode} +% +% Remember that, for \textsc{lpeg}, the Unicode characters such as |à|, |â|, +% |ç|, etc. are in fact strings of length 2 (2 bytes) because \pkg{lpeg} is not +% Unicode-aware. +% \begin{macrocode} local letter = alpha + P "_" - + P "â" + P "à" + P "ç" + P "é" + P "è" + P "ê" + P "ë" + P "ï" + P "î" + P "ô" + P "û" + P "ü" + - P "Â" + P "À" + P "Ç" + P "É" + P "È" + P "Ê" + P "Ë" + P "Ï" + P "Î" + P "Ô" + P "Û" + P "Ü" + + P "â" + P "à" + P "ç" + P "é" + P "è" + P "ê" + P "ë" + P "ï" + P "î" + + P "ô" + P "û" + P "ü" + P "Â" + P "À" + P "Ç" + P "É" + P "È" + P "Ê" + + P "Ë" + P "Ï" + P "Î" + P "Ô" + P "Û" + P "Ü" local alphanum = letter + digit - +% \end{macrocode} +% +% \bigskip +% The following \textsc{lpeg} |identifier| is a mere pattern (that is to say +% more or less a regular expression) which matches the Python identifiers (hence +% the name). +% \begin{macrocode} local identifier = letter * alphanum ^ 0 - -local Identifier = C ( identifier ) - -local Space = C ( ( space - P "\r" ) ^ 1 ) - -local SkipSpace = C ( ( space - P "\r" ) ^ 0 ) - -local Punct = C ( punct ) - - -local EOL = ( P "\r" ) - * - ( - ( space^0 * -1 ) - + - Cc ( - { - luatexbase.catcodetables.expl , - '\\__piton_end_line: \\bool_if:NT \\l__piton_splittable_bool \\newline \\__piton_begin_line:' - } - ) - ) - - +% \end{macrocode} +% +% \medskip +% On the other hand, the \textsc{lpeg} |Identifier| (with a capital) also return +% a \emph{capture}. Since no special LaTeX formatting will be applied to the +% Python identifiers, we use the function~|Q| and not the function~|K|. For +% elements which require formatting, we will usually use our function~|K| +% instead of the function~|C|. See just below for an example of use of the +% function~|K|. +% \begin{macrocode} +local Identifier = Q ( identifier ) +% \end{macrocode} +% +% \bigskip +% By convention, we will use names with an initial capital for \textsc{lpeg} +% which return captures. +% +% +% \bigskip +% Here is the first use of our function~|K|. That function will be used to +% construct \textsc{lpeg} which capture Python chunks for which we have a +% dedicated \pkg{piton} style. For example, for the numbers, \pkg{piton} +% provides a style which is called |Number|. The name of the style is provided +% as a Lua string in the second argument of the function~|K|. By convention, we +% use single quotes for delimiting the Lua strings which are names of +% \pkg{piton} styles (but this is only a convention). +% \begin{macrocode} local Number = - K ( - ( digit^1 * P "." * digit^0 + digit^0 * P "." * digit^1 + digit^1 ) - * ( S "eE" * S "+-" ^ -1 * digit^1 ) ^ -1 - + digit^1 - , 'Number' ) - - -local Word = C ( ( ( 1 - space ) - S "'\"\r[()]" - digit ) ^ 1 ) - + K ( + ( digit^1 * P "." * digit^0 + digit^0 * P "." * digit^1 + digit^1 ) + * ( S "eE" * S "+-" ^ -1 * digit^1 ) ^ -1 + + digit^1 , + 'Number' + ) +% \end{macrocode} +% +% \bigskip +% We recall that |begin_espace| and |end_escape| are Lua strings +% corresponding to the key |escape-inside|\footnote{The \pkg{piton} key +% |escape-inside| is available at load-time only.}. Of course, if the final user +% has not used the key |escape-inside|, these strings are empty. +% \begin{macrocode} if begin_escape ~= '' -then Word = C ( ( ( 1 - space - P(begin_escape) - P(end_escape) ) - S "'\"\r[()]" - digit ) ^ 1 ) +then Word = Q ( ( ( 1 - space - P(begin_escape) - P(end_escape) ) + - S "'\"\r[()]" - digit ) ^ 1 ) +else Word = Q ( ( ( 1 - space ) - S "'\"\r[()]" - digit ) ^ 1 ) end +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} +local Space = Q ( ( space - P "\r" ) ^ 1 ) + +local SkipSpace = Q ( ( space - P "\r" ) ^ 0 ) + +local Punct = Q ( S ".,:;!" ) +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} +local Tab = P "\t" * Lc ( '\\l_@@_tab_tl' ) +% \end{macrocode} +% +% \bigskip +% The following \textsc{lpeg} |EOL| is for the end of lines. +% \begin{macrocode} +local EOL = + P "\r" + * + ( + ( space^0 * -1 ) + + +% \end{macrocode} +% We recall that each line in the Python code we have to parse will be sent +% back to LaTeX between a pair |\@@_begin_line:| -- +% |\@@_end_line:|\footnote{Remember that the \texttt{\textbackslash +% @@\_end\_line:} must be explicit because it will be used as marker in order to +% delimit the argument of the command \texttt{\textbackslash @@\_begin\_line:}}. +% \begin{macrocode} + Lc ( '\\@@_end_line: \\@@_newline: \\@@_begin_line:' ) + ) +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} +local Delim = Q ( S "[()]" ) -local Delim = C ( S "[()]" ) +local Operator = + K ( P "!=" + P "==" + P "<<" + P ">>" + S "-~+/*%=<>&.@|" , 'Operator') +local OperatorWord = + K ( P "in" + P "is" + P "and" + P "or" + P "not" , 'Operator.Word') local Keyword = - K ( P "assert" + P "break" + P "case" + P "continue" + P "del" - + P "elif" + P "else" + P "except" + P "exec" + P "finally" + P "for" + P "from" - + P "global" + P "if" + P "import" + P "lambda" + P "non local" - + P "pass" + P "return" + P "try" + P "while" - + P "with" + P "yield" + P "yield from" , - 'Keyword' ) - + K ( P "True" + P "False" + P "None" , 'Keyword.Constant' ) - + K ( P "as" + P "assert" + P "break" + P "case" + P "class" + P "continue" + + P "def" + P "del" + P "elif" + P "else" + P "except" + P "exec" + + P "finally" + P "for" + P "from" + P "global" + P "if" + P "import" + + P "lambda" + P "non local" + P "pass" + P "return" + P "try" + + P "while" + P "with" + P "yield" + P "yield from" , + 'Keyword' ) + + K ( P "True" + P "False" + P "None" , 'Keyword.Constant' ) local Builtin = - K ( P "__import__" + P "abs" + P "all" + P "any" + P "bin" + P "bool" + P "bytearray" - + P "bytes" + P "chr" + P "classmethod" + P "compile" + P "complex" + P "delattr" - + P "dict" + P "dir" + P "divmod" + P "enumerate" + P "eval" + P "filter" - + P "float" + P "format" + P "frozenset" + P "getattr" + P "globals" + P "hasattr" - + P "hash" + P "hex" + P "id" + P "input" + P "int" + P "isinstance" + P "issubclass" - + P "iter" + P "len" + P "list" + P "locals" + P "map" + P "max" + P "memoryview" + P "min" - + P "next" + P "object" + P "oct" + P "open" + P "ord" + P "pow" + P "print" + P "property" - + P "range" + P "repr" + P "reversed" + P "round" + P "set" + P "setattr" + P "slice" - + P "sorted" + P "staticmethod" + P "str" + P "sum" + P "super" + P "tuple" + P "type" - + P "vars" + P "zip" , - 'Name.Builtin' ) - + K ( P "__import__" + P "abs" + P "all" + P "any" + P "bin" + P "bool" + + P "bytearray" + P "bytes" + P "chr" + P "classmethod" + P "compile" + + P "complex" + P "delattr" + P "dict" + P "dir" + P "divmod" + + P "enumerate" + P "eval" + P "filter" + P "float" + P "format" + + P "frozenset" + P "getattr" + P "globals" + P "hasattr" + P "hash" + + P "hex" + P "id" + P "input" + P "int" + P "isinstance" + P "issubclass" + + P "iter" + P "len" + P "list" + P "locals" + P "map" + P "max" + + P "memoryview" + P "min" + P "next" + P "object" + P "oct" + P "open" + + P "ord" + P "pow" + P "print" + P "property" + P "range" + P "repr" + + P "reversed" + P "round" + P "set" + P "setattr" + P "slice" + P "sorted" + + P "staticmethod" + P "str" + P "sum" + P "super" + P "tuple" + P "type" + + P "vars" + P "zip" , + 'Name.Builtin' ) local Exception = - K ( "ArithmeticError" + P "AssertionError" + P "AttributeError" - + P "BaseException" + P "BufferError" + P "BytesWarning" + P "DeprecationWarning" - + P "EOFError" + P "EnvironmentError" + P "Exception" + P "FloatingPointError" - + P "FutureWarning" + P "GeneratorExit" + P "IOError" + P "ImportError" - + P "ImportWarning" + P "IndentationError" + P "IndexError" + P "KeyError" - + P "KeyboardInterrupt" + P "LookupError" + P "MemoryError" + P "NameError" - + P "NotImplementedError" + P "OSError" + P "OverflowError" - + P "PendingDeprecationWarning" + P "ReferenceError" + P "ResourceWarning" - + P "RuntimeError" + P "RuntimeWarning" + P "StopIteration" - + P "SyntaxError" + P "SyntaxWarning" + P "SystemError" + P "SystemExit" - + P "TabError" + P "TypeError" + P "UnboundLocalError" + P "UnicodeDecodeError" - + P "UnicodeEncodeError" + P "UnicodeError" + P "UnicodeTranslateError" - + P "UnicodeWarning" + P "UserWarning" + P "ValueError" + P "VMSError" - + P "Warning" + P "WindowsError" + P "ZeroDivisionError" - + P "BlockingIOError" + P "ChildProcessError" + P "ConnectionError" - + P "BrokenPipeError" + P "ConnectionAbortedError" + P "ConnectionRefusedError" - + P "ConnectionResetError" + P "FileExistsError" + P "FileNotFoundError" - + P "InterruptedError" + P "IsADirectoryError" + P "NotADirectoryError" - + P "PermissionError" + P "ProcessLookupError" + P "TimeoutError" - + P "StopAsyncIteration" + P "ModuleNotFoundError" + P "RecursionError" , - 'Exception' ) - -local RaiseException = K ( P "raise" , 'Keyword' ) * SkipSpace * Exception * C ( P "(" ) - -local ExceptionInConsole = Exception * C ( ( 1 - P "\r" ) ^ 0 ) * EOL - - -local Namespace = - K ( P "from" , 'Keyword' ) * Space * K ( alphanum^1 , 'Name.Namespace' ) - * ( Space * K ( P "import" , 'Keyword' ) ) ^ -1 - - -local ImportAs = K ( P "import" , 'Keyword' ) - * Space - * K ( identifier , 'Name.Namespace' ) - * ( SkipSpace * C ( P "," ) * SkipSpace * K ( identifier , 'Name.Namespace' ) ) ^ 0 - * ( - Space * K ( P "as" , 'Keyword' ) * Space * K ( identifier , 'Name.Namespace' ) - ) ^ 0 - -local Class = K ( P "class" , 'Keyword' ) - * ( Space * K ( identifier , 'Name.Class' ) ) ^ -1 - + K ( "ArithmeticError" + P "AssertionError" + P "AttributeError" + + P "BaseException" + P "BufferError" + P "BytesWarning" + P "DeprecationWarning" + + P "EOFError" + P "EnvironmentError" + P "Exception" + P "FloatingPointError" + + P "FutureWarning" + P "GeneratorExit" + P "IOError" + P "ImportError" + + P "ImportWarning" + P "IndentationError" + P "IndexError" + P "KeyError" + + P "KeyboardInterrupt" + P "LookupError" + P "MemoryError" + P "NameError" + + P "NotImplementedError" + P "OSError" + P "OverflowError" + + P "PendingDeprecationWarning" + P "ReferenceError" + P "ResourceWarning" + + P "RuntimeError" + P "RuntimeWarning" + P "StopIteration" + + P "SyntaxError" + P "SyntaxWarning" + P "SystemError" + P "SystemExit" + + P "TabError" + P "TypeError" + P "UnboundLocalError" + P "UnicodeDecodeError" + + P "UnicodeEncodeError" + P "UnicodeError" + P "UnicodeTranslateError" + + P "UnicodeWarning" + P "UserWarning" + P "ValueError" + P "VMSError" + + P "Warning" + P "WindowsError" + P "ZeroDivisionError" + + P "BlockingIOError" + P "ChildProcessError" + P "ConnectionError" + + P "BrokenPipeError" + P "ConnectionAbortedError" + P "ConnectionRefusedError" + + P "ConnectionResetError" + P "FileExistsError" + P "FileNotFoundError" + + P "InterruptedError" + P "IsADirectoryError" + P "NotADirectoryError" + + P "PermissionError" + P "ProcessLookupError" + P "TimeoutError" + + P "StopAsyncIteration" + P "ModuleNotFoundError" + P "RecursionError" , + 'Exception' ) + +local RaiseException = K ( P "raise" , 'Keyword' ) * SkipSpace * Exception * Q ( P "(" ) + +local ExceptionInConsole = Exception * Q ( ( 1 - P "\r" ) ^ 0 ) * EOL +% \end{macrocode} +% +% \bigskip +% In Python, a ``decorator'' is a statement whose begins by |@| which patches +% the function defined in the following statement. +% \begin{macrocode} local Decorator = K ( P "@" * letter^1 , 'Name.Decorator' ) - +% \end{macrocode} +% +% \bigskip +% The following \textsc{lpeg} |DefClass| will be used to detect the definition of a +% new class (the name of that new class will be formatted with the \pkg{piton} +% style |Name.Class|). +% +% \smallskip +% Example:\enskip \piton|class myclass:| +% \begin{macrocode} +local DefClass = + K ( P "class" , 'Keyword' ) * Space * K ( identifier , 'Name.Class' ) +% \end{macrocode} +% +% If the word |class| is not followed by a identifier, it will be catched as +% keyword by the \textsc{lpeg} |Keyword| (useful if we want to type a +% list of keywords). +% +% +% \bigskip +% The following \textsc{lpeg} |ImportAs| is used for the lines beginning by |import|. +% % We have to detect the potential keyword |as| because both the name of the +% module and its alias must be formatted with the \pkg{piton} style |Name.Namespace|. +% +% \smallskip +% Example:\enskip \piton|import numpy as np| +% +% \smallskip +% Moreover, after the keyword |import|, it's possible to have a comma-separated +% list of modules (if the keyword |as| is not used). +% +% \smallskip +% Example:\enskip \piton|import math, numpy| +% \begin{macrocode} +local ImportAs = + K ( P "import" , 'Keyword' ) + * Space + * K ( identifier * ( P "." * identifier ) ^ 0 , + 'Name.Namespace' + ) + * ( + ( Space * K ( P "as" , 'Keyword' ) * Space * K ( identifier , 'Name.Namespace' ) ) + + + ( SkipSpace * Q ( P "," ) * SkipSpace * K ( identifier , 'Name.Namespace' ) ) ^ 0 + ) +% \end{macrocode} +% Be careful: there is no commutativity of |+| in the previous expression. +% +% \bigskip +% The \textsc{lpeg} |FromImport| is used for the lines beginning by |from|. We +% need a special treatment because the identifier following the keyword |from| +% must be formatted with the \pkg{piton} style |Name.Namespace| and the +% following keyword |import| must be formatted with the \pkg{piton} style +% |Keyword| and must \emph{not} be catched by the \textsc{lpeg} |ImportAs|. +% +% \smallskip +% Example:\enskip \piton|from math import pi| +% +% \smallskip +% \begin{macrocode} +local FromImport = + K ( P "from" , 'Keyword' ) + * Space * K ( identifier , 'Name.Namespace' ) + * Space * K ( P "import" , 'Keyword' ) +% \end{macrocode} +% +% \bigskip +% \paragraph{The strings of Python} +% +% For the strings in Python, there are four categories of delimiters (without +% counting the prefixes for f-strings and raw strings). We will use, in the +% names of our \textsc{lpeg}, prefixes to distinguish the \textsc{lpeg} dealing +% with that categories of strings, as presented in the following tabular. +% \begin{center} +% \begin{tabular}{ccc} +% \toprule +% & |Single| & |Double| \\ +% \midrule +% |Short| & |'text'| & |"text"| \\ +% |Long| & |'''test'''| & |"""text"""| \\ +% \bottomrule +% \end{tabular} +% \end{center} +% +% +% \bigskip +% First, we define \textsc{lpeg} for the interpolations in the f-strings. Here +% is an example of a f-string with an interpolation and a format +% instruction\footnote{There is no special \pkg{piton} style for the formatting +% instruction (after the comma): the style which will be applied will be the +% style of the encompassing string, that is to say |String.Short| or +% |String.Long|.} in that interpolation: +% +% \piton|f'Total price: {total+1:.2f} €'| +% +% \medskip +% The following \textsc{lpeg} |SingleShortInterpol| (and the three variants) +% will catch the whole interpolation, included the braces, that is to say, in +% the previous example:\enskip |{total+1:.2f}| +% +% \medskip +% \begin{macrocode} local SingleShortInterpol = K ( P "{" , 'String.Interpol') * K ( ( 1 - S "}':" ) ^ 0 , 'Interpol.Inside' ) - * C ( P ":" * (1 - S "}:'") ^ 0 ) ^ -1 + * Q ( P ":" * (1 - S "}:'") ^ 0 ) ^ -1 * K ( P "}" , 'String.Interpol' ) local DoubleShortInterpol = K ( P "{" , 'String.Interpol' ) * K ( ( 1 - S "}\":" ) ^ 0 , 'Interpol.Inside' ) - * ( K ( P ":" , 'String.Interpol' ) * C ( (1 - S "}:\"") ^ 0 ) ) ^ -1 + * ( K ( P ":" , 'String.Interpol' ) * Q ( (1 - S "}:\"") ^ 0 ) ) ^ -1 * K ( P "}" , 'String.Interpol' ) local SingleLongInterpol = K ( P "{" , 'String.Interpol' ) * K ( ( 1 - S "}:\r" - P "'''" ) ^ 0 , 'Interpol.Inside' ) - * C ( P ":" * (1 - S "}:\r" - P "'''" ) ^ 0 ) ^ -1 + * Q ( P ":" * (1 - S "}:\r" - P "'''" ) ^ 0 ) ^ -1 * K ( P "}" , 'String.Interpol' ) local DoubleLongInterpol = K ( P "{" , 'String.Interpol' ) * K ( ( 1 - S "}:\r" - P "\"\"\"" ) ^ 0 , 'Interpol.Inside' ) - * C ( P ":" * (1 - S "}:\r" - P "\"\"\"" ) ^ 0 ) ^ -1 + * Q ( P ":" * (1 - S "}:\r" - P "\"\"\"" ) ^ 0 ) ^ -1 * K ( P "}" , 'String.Interpol' ) +% \end{macrocode} +% +% \bigskip +% Now, we define \textsc{lpeg} for the parts of the strings which are \emph{not} +% in the interpolations. +% \begin{macrocode} +local SingleShortPureString = + Q ( ( P "\\'" + P "{{" + P "}}" + 1 - S "{}'" ) ^ 1 ) -local SingleShortPureString = C ( ( P "\\'" + P "{{" + P "}}" + 1 - S "{}'" ) ^ 1 ) - -local DoubleShortPureString = C ( ( P "\\\"" + P "{{" + P "}}" + 1 - S "{}\"" ) ^ 1 ) - -local SingleLongPureString = C ( ( 1 - P "'''" - S "{}'\r" ) ^ 1 ) +local DoubleShortPureString = + Q ( ( P "\\\"" + P "{{" + P "}}" + 1 - S "{}\"" ) ^ 1 ) -local DoubleLongPureString = C ( ( 1 - P "\"\"\"" - S "{}\"\r" ) ^ 1 ) +local SingleLongPureString = + Q ( ( 1 - P "'''" - S "{}'\r" ) ^ 1 ) +local DoubleLongPureString = + Q ( ( 1 - P "\"\"\"" - S "{}\"\r" ) ^ 1 ) +% \end{macrocode} +% +% \bigskip +% We can now define the \textsc{lpeg} for the four kinds of strings. It's not +% possible to use our function~|K| because of the interpolations which must be +% formatted with another \pkg{piton} style that the rest of the +% string.\footnote{The interpolations are formatted with the \pkg{piton} style +% |Interpol.Inside|. The initial value of that style is \texttt{\textbackslash +% @@\_piton:n} wich means that the interpolations are parsed once again by \pkg{piton}.} +% \begin{macrocode} local SingleShortString = - L ( "{\\PitonStyle{String.Short}{" ) - * ( - C ( P "f'" + P "F'" ) - * ( SingleShortInterpol + SingleShortPureString ) ^ 0 - * C ( P "'" ) - + - C ( ( P "'" + P "r'" + P "R'" ) * ( P "\\'" + 1 - S "'\r" ) ^ 0 * P "'" ) - ) - * L ( "}}" ) + Lc ( "{\\PitonStyle{String.Short}{" ) + * ( +% \end{macrocode} +% First, we deal with the f-strings of Python, which are prefixed by |f| or |F|. +% \begin{macrocode} + Q ( P "f'" + P "F'" ) + * ( SingleShortInterpol + SingleShortPureString ) ^ 0 + * Q ( P "'" ) + + +% \end{macrocode} +% Now, we deal with the standard strings of Python, but also the ``raw strings''. +% \begin{macrocode} + Q ( ( P "'" + P "r'" + P "R'" ) + * ( P "\\'" + 1 - S "'\r" ) ^ 0 * P "'" ) + ) + * Lc ( "}}" ) local DoubleShortString = - L ( "{\\PitonStyle{String.Short}{" ) - * ( - C ( P "f\"" + P "F\"" ) - * ( DoubleShortInterpol + DoubleShortPureString ) ^ 0 - * C ( P "\"" ) - + - C ( ( P "\"" + P "r\"" + P "R\"" ) * ( P "\\\"" + 1 - S "\"\r" ) ^ 0 * P "\"" ) - ) - * L ( "}}" ) + Lc ( "{\\PitonStyle{String.Short}{" ) + * ( + Q ( P "f\"" + P "F\"" ) + * ( DoubleShortInterpol + DoubleShortPureString ) ^ 0 + * Q ( P "\"" ) + + + Q ( ( P "\"" + P "r\"" + P "R\"" ) + * ( P "\\\"" + 1 - S "\"\r" ) ^ 0 * P "\"" ) + ) + * Lc ( "}}" ) local ShortString = SingleShortString + DoubleShortString - - +% \end{macrocode} +% +% \bigskip +% Of course, it's more complicated for ``longs strings'' because, by definition, +% in Python, those strings may be broken by an end on line (which is catched by +% the \textsc{lpeg} |EOL|). +% \begin{macrocode} local SingleLongString = - L "{\\PitonStyle{String.Long}{" - * ( - C ( S "fF" * P "'''" ) - * ( SingleLongInterpol + SingleLongPureString ) ^ 0 - * L "}}" - * ( - EOL - + - L "{\\PitonStyle{String.Long}{" - * ( SingleLongInterpol + SingleLongPureString ) ^ 0 - * L "}}" - * EOL - ) ^ 0 - * L "{\\PitonStyle{String.Long}{" + Lc "{\\PitonStyle{String.Long}{" + * ( + Q ( S "fF" * P "'''" ) + * ( SingleLongInterpol + SingleLongPureString ) ^ 0 + * Lc "}}" + * ( + EOL + + + Lc "{\\PitonStyle{String.Long}{" * ( SingleLongInterpol + SingleLongPureString ) ^ 0 - + - C ( ( S "rR" ) ^ -1 * P "'''" * ( 1 - P "'''" - P "\r" ) ^ 0 ) - * L "}}" - * ( - L "{\\PitonStyle{String.Long}{" - * C ( ( 1 - P "'''" - P "\r" ) ^ 0 ) - * L "}}" - * EOL - ) ^ 0 - * L "{\\PitonStyle{String.Long}{" - * C ( ( 1 - P "'''" - P "\r" ) ^ 0 ) - ) - * C ( P "'''" ) - * L "}}" + * Lc "}}" + * EOL + ) ^ 0 + * Lc "{\\PitonStyle{String.Long}{" + * ( SingleLongInterpol + SingleLongPureString ) ^ 0 + + + Q ( ( S "rR" ) ^ -1 * P "'''" + * ( 1 - P "'''" - P "\r" ) ^ 0 ) + * Lc "}}" + * ( + Lc "{\\PitonStyle{String.Long}{" + * Q ( ( 1 - P "'''" - P "\r" ) ^ 0 ) + * Lc "}}" + * EOL + ) ^ 0 + * Lc "{\\PitonStyle{String.Long}{" + * Q ( ( 1 - P "'''" - P "\r" ) ^ 0 ) + ) + * Q ( P "'''" ) + * Lc "}}" local DoubleLongString = - L "{\\PitonStyle{String.Long}{" - * ( - C ( S "fF" * P "\"\"\"" ) - * ( DoubleLongInterpol + DoubleLongPureString ) ^ 0 - * L "}}" - * ( - EOL - + - L "{\\PitonStyle{String.Long}{" - * ( DoubleLongInterpol + DoubleLongPureString ) ^ 0 - * L "}}" - * EOL - ) ^ 0 - * L "{\\PitonStyle{String.Long}{" + Lc "{\\PitonStyle{String.Long}{" + * ( + Q ( S "fF" * P "\"\"\"" ) + * ( DoubleLongInterpol + DoubleLongPureString ) ^ 0 + * Lc "}}" + * ( + EOL + + + Lc "{\\PitonStyle{String.Long}{" * ( DoubleLongInterpol + DoubleLongPureString ) ^ 0 - + - C ( ( S "rR" ) ^ -1 * P "\"\"\"" * ( 1 - P "\"\"\"" - P "\r" ) ^ 0 ) - * L "}}" - * ( - L "{\\PitonStyle{String.Long}{" - * C ( ( 1 - P "\"\"\"" - P "\r" ) ^ 0 ) - * L "}}" - * EOL - ) ^ 0 - * L "{\\PitonStyle{String.Long}{" - * C ( ( 1 - P "\"\"\"" - P "\r" ) ^ 0 ) - ) - * C ( P "\"\"\"" ) - * L "}}" - - - + * Lc "}}" + * EOL + ) ^ 0 + * Lc "{\\PitonStyle{String.Long}{" + * ( DoubleLongInterpol + DoubleLongPureString ) ^ 0 + + + Q ( ( S "rR" ) ^ -1 * P "\"\"\"" + * ( 1 - P "\"\"\"" - P "\r" ) ^ 0 ) + * Lc "}}" + * ( + Lc "{\\PitonStyle{String.Long}{" + * Q ( ( 1 - P "\"\"\"" - P "\r" ) ^ 0 ) + * Lc "}}" + * EOL + ) ^ 0 + * Lc "{\\PitonStyle{String.Long}{" + * Q ( ( 1 - P "\"\"\"" - P "\r" ) ^ 0 ) + ) + * Q ( P "\"\"\"" ) + * Lc "}}" +% \end{macrocode} +% +% \begin{macrocode} local LongString = SingleLongString + DoubleLongString +% \end{macrocode} +% +% \bigskip +% We have a \textsc{lpeg} for the Python docstrings. That \textsc{lpeg} will +% be used in the \textsc{lpeg} |DefFunction| which deals with the whole preamble +% of a function definition (which begins with |def|). +% \begin{macrocode} +local StringDoc = + K ( P "\"\"\"" , 'String.Doc' ) + * ( K ( (1 - P "\"\"\"" - P "\r" ) ^ 0 , 'String.Doc' ) * EOL * Tab ^0 ) ^ 0 + * K ( ( 1 - P "\"\"\"" - P "\r" ) ^ 0 * P "\"\"\"" , 'String.Doc' ) +% \end{macrocode} +% +% \bigskip +% \paragraph{The comments in the Python listings} +% +% We define different \textsc{lpeg} dealing with comments in the Python +% listings. +% \begin{macrocode} +local CommentMath = + P "$" * K ( ( 1 - S "$\r" ) ^ 1 , 'Comment.Math' ) * P "$" + +local Comment = + Lc ( "{\\PitonStyle{Comment}{" ) + * Q ( P "#" ) + * ( CommentMath + Q ( ( 1 - S "$\r" ) ^ 1 ) ) ^ 0 + * Lc ( "}}" ) + * ( EOL + -1 ) +% \end{macrocode} +% -local Expression = - P { "E" , - E = ( 1 - S "{}()[]\r," ) ^ 0 - * ( - ( P "{" * V "F" * P "}" - + P "(" * V "F" * P ")" - + P "[" * V "F" * P "]" ) * ( 1 - S "{}()[]\r," ) ^ 0 - ) ^ 0 , - F = ( 1 - S "{}()[]\r\"'" ) ^ 0 - * ( ( - P "'" * (P "\\'" + 1 - S"'\r" )^0 * P "'" - + P "\"" * (P "\\\"" + 1 - S"\"\r" )^0 * P "\"" - + P "{" * V "F" * P "}" - + P "(" * V "F" * P ")" - + P "[" * V "F" * P "]" - ) * ( 1 - S "{}()[]\r\"'" ) ^ 0 ) ^ 0 , - } - -local Param = SkipSpace * K ( identifier , '' ) * SkipSpace - * ( K ( P "=" * Expression , 'InitialValues' ) - + K ( P ":" , '' ) * SkipSpace * K ( letter^1 , 'Name.Type' )) - + SkipSpace * K ( alphanum ^ 1 , '' ) * SkipSpace - -local Params = Param * ( K ( P "," , '' ) * Param ) ^ 0 - -local StringDoc = K ( P "\"\"\"" , 'String.Doc' ) - * ( K ( (1 - P "\"\"\"" - P "\r" ) ^ 0 , 'String.Doc' ) * EOL ) ^ 0 - * K ( ( 1 - P "\"\"\"" - P "\r" ) ^ 0 * P "\"\"\"" , 'String.Doc' ) - + K ( P "'''" , 'String.Doc' ) - * ( K ( (1 - P "'''" - P "\r")^0 , 'String.Doc' ) * EOL ) ^ 0 - * K ( ( 1 - P "'''" - P "\r")^0 * P "'''" , 'String.Doc' ) - -local CommentMath = P "$" * K ( ( 1 - S "$\r" ) ^ 1 , 'Comment.Math' ) * P "$" - - -local Comment = L ( "{\\PitonStyle{Comment}{" ) - * C ( P "#" ) * ( CommentMath + C ( ( 1 - S "$\r" ) ^ 1 ) ) ^ 0 - * L ( "}}" ) - * ( EOL + -1 ) - +% \bigskip +% The following \textsc{lpeg} |CommentLaTeX| is for what is called in that +% document the ``LaTeX comments''. Since the elements that will be catched must +% be sent to LaTeX with standard LaTeX catcodes, we put the capture (done by +% the function~|C|) in a table (by using~|Ct|, which is an alias for |lpeg.Ct|). +% \begin{macrocode} local CommentLaTeX = - P "##" - * L "{\\PitonStyle{Comment.LaTeX}{\\ignorespaces" - * Ct ( C ( ( 1 - P "\r" ) ^ 0 ) ) - * L "}}" - * ( EOL + -1 ) - + P "##" + * Lc "{\\PitonStyle{Comment.LaTeX}{\\ignorespaces" + * L ( ( 1 - P "\r" ) ^ 0 ) + * Lc "}}" + * ( EOL + -1 ) +% \end{macrocode} +% +% \bigskip +% \paragraph{DefFunction} +% +% The following \textsc{lpeg} |Expression| will be used for the parameters in +% the \emph{argspec} of a Python function. It's necessary to use a \emph{grammar} +% because that pattern mainly checks the correct nesting of the delimiters +% (and it's known in the theory of formal languages that this can't be done with +% regular expressions \emph{stricto sensu} only). +% \begin{macrocode} +local Expression = + P { "E" , + E = ( 1 - S "{}()[]\r," ) ^ 0 + * ( + ( P "{" * V "F" * P "}" + + P "(" * V "F" * P ")" + + P "[" * V "F" * P "]" ) * ( 1 - S "{}()[]\r," ) ^ 0 + ) ^ 0 , + F = ( 1 - S "{}()[]\r\"'" ) ^ 0 + * ( ( + P "'" * (P "\\'" + 1 - S"'\r" )^0 * P "'" + + P "\"" * (P "\\\"" + 1 - S"\"\r" )^0 * P "\"" + + P "{" * V "F" * P "}" + + P "(" * V "F" * P ")" + + P "[" * V "F" * P "]" + ) * ( 1 - S "{}()[]\r\"'" ) ^ 0 ) ^ 0 , + } +% \end{macrocode} +% +% \bigskip +% We will now define a \textsc{lpeg} |Params| that will catch the list of +% parameters (that is to say the \emph{argspec}) in the definition of a Python +% function. For example, in the line of code +% \begin{center} +% \piton|def MyFunction(a,b,x=10,n:int): return n| +% \end{center} +% the \textsc{lpeg} |Params| will be used to catch the chunk\enskip |a,b,x=10,n:int|. +% +% Or course, a |Params| is simply a comma-separated list of |Param|, and that's +% why we define first the \textsc{lpeg} |Param|. +% +% \medskip +% \begin{macrocode} +local Param = + SkipSpace * Identifier * SkipSpace + * ( + K ( P "=" * Expression , 'InitialValues' ) + + Q ( P ":" ) * SkipSpace * K ( letter^1 , 'Name.Type' ) + ) ^ -1 +% \end{macrocode} +% +% \medskip +% \begin{macrocode} +local Params = ( Param * ( Q "," * Param ) ^ 0 ) ^ -1 +% \end{macrocode} +% +% \bigskip +% The following \textsc{lpeg} |DefFunction| catches a keyword |def| and the +% following name of function \emph{but also everything else until a potential +% docstring}. That's why this definition of \textsc{lpeg} must occur (in the file +% |piton.sty|) after the definition of several other \textsc{lpeg} such as +% |Comment|, |CommentLaTeX|, |Params|, |StringDoc|... +% \begin{macrocode} local DefFunction = - K ( P "def" , 'Keyword' ) - * ( Space - * K ( identifier , 'Name.Function' ) - * ( SkipSpace * K ( P "(" , '' ) * Params * K ( P ")" , '' ) ) ^ -1 - * ( SkipSpace - * K ( ( 1 - S ":\r" )^0 , 'Post.Function' ) - * K ( P ":" , 'Keyword' ) - * SkipSpace - * ( EOL + CommentLaTeX + Comment ) - * SkipSpace - * StringDoc ) ^ -1 - ) ^ -1 - -local ItemDict = ShortString * SkipSpace * C ( P ":" ) * K ( Expression , 'Dict.Value' ) + K ( P "def" , 'Keyword' ) + * Space + * K ( identifier , 'Name.Function' ) + * SkipSpace + * Q ( P "(" ) * Params * Q ( P ")" ) + * SkipSpace +% \end{macrocode} +% Here, we need a \pkg{piton} style |Post.Function| which will be linked to +% |\@@_piton:n| (that means that the capture will be parsed once again by +% \pkg{piton}). We could avoid that kind of trick by using a non-terminal of a +% grammar but we have probably here a better legibility. +% \begin{macrocode} + * K ( ( 1 - S ":\r" )^0 , 'Post.Function' ) + * Q ( P ":" ) + * ( SkipSpace + * ( EOL + CommentLaTeX + Comment ) -- in all cases, that contains an EOL + * Tab ^ 0 + * SkipSpace + * StringDoc ^ 0 -- there may be additionnal docstrings + ) ^ -1 +% \end{macrocode} +% Remark that, in the previous code, |CommentLaTeX| \emph{must} appear +% before |Comment|: there is no commutativity of the addition for the +% \emph{parsing expression grammars} (\textsc{peg}). +% +% \smallskip +% If the word |def| is not followed by a identifier and parenthesis, it will be +% catched as keyword by the \textsc{lpeg} |Keyword| (useful if, for example, the +% final user wants to speak of the keyword \piton{def}). +% +% \bigskip +% \paragraph{The dictionaries of Python} +% +% We have \textsc{lpeg} dealings with dictionaries of Python because, in +% typesettings of explicit Python dictionnaries, one may prefer to have all the +% values formatted in black (in order to see more clearly the keys which are +% usually Python strings). That's why we have a \pkg{piton} style |Dict.Value|. +% +% The initial value of that \pkg{piton} style is |\@@_piton:n|, which means that +% the value of the entry of the dictionary is parsed once again by \pkg{piton} +% (and nothing special is done for the dictionary). In the following example, we +% have set the \pkg{piton} style |Dict.Value| to |\color{black}|: +% +% \medskip +% \begingroup +% \SetPitonStyle{Dict.Value = \color{black}} +% \piton|mydict = { 'name' : 'Paul', 'sex' : 'male', 'age' : 31 } | +% \endgroup +% +% \medskip +% At this time, this mechanism works only for explicit dictionaries on a single line! +% +% \begin{macrocode} +local ItemDict = + ShortString * SkipSpace * Q ( P ":" ) * K ( Expression , 'Dict.Value' ) local ItemOfSet = SkipSpace * ( ItemDict + ShortString ) * SkipSpace -local Set = C ( P "{" ) - * ItemOfSet * ( C ( P "," ) * ItemOfSet ) ^ 0 - * C ( P "}" ) - -local Operator = K ( P "!=" + P "==" + P "<<" + P ">>" + S "-~+/*%=<>&.@|" , 'Operator') +local Set = + Q ( P "{" ) + * ItemOfSet * ( Q ( P "," ) * ItemOfSet ) ^ 0 + * Q ( P "}" ) -local OperatorWord = K ( P "in" + P "is" + P "and" + P "or" + P "not" , 'Operator.Word') - -local SyntaxPython = +% \end{macrocode} +% +% +% \bigskip +% \paragraph{The main LPEG} +% +% |SyntaxPython| is the main \textsc{lpeg} of the package \pkg{piton}. We have +% written an auxiliary \textsc{lpeg} |SyntaxPythonAux| only for legibility. +% \begin{macrocode} +local SyntaxPythonAux = +% \end{macrocode} +% We recall that each line in the Python code to parse will be sent back to +% LaTeX between a pair |\@@_begin_line:| -- |\@@_end_line:|\footnote{Remember +% that the \texttt{\textbackslash @@\_end\_line:} must be explicit because it +% will be used as marker in order to delimit the argument of the command +% \texttt{\textbackslash @@\_begin\_line:}}. +% \begin{macrocode} + Lc ( '\\@@_begin_line:' ) * ( ( space - P "\r" ) ^0 * P "\r" ) ^ -1 * ( ( space^1 * -1 ) + EOL + + Tab + Space + Escape + CommentLaTeX @@ -1976,117 +2566,183 @@ local SyntaxPython = + ExceptionInConsole + Set + Delim - + Class * ( Space + Punct + EOL ) - + Namespace * ( Space + Punct + EOL ) +% \end{macrocode} +% |Operator| must be before |Punct|. +% \begin{macrocode} + + Operator + + ShortString + + Punct + + FromImport + ImportAs + RaiseException - + Keyword * ( Space + Punct + EOL ) + DefFunction - + ShortString - + Decorator * ( Space + Punct + EOL ) - + Operator - + OperatorWord * ( Space + Punct + EOL ) - + Builtin * ( Space + Punct + EOL ) + + DefClass + + Keyword * ( Space + Punct + Delim + EOL + -1) + + Decorator + + OperatorWord + + Builtin * ( Space + Punct + Delim + EOL + -1) + Identifier + Number + Word - ) ^0 * -1 - - -local MinimalSyntax = - P { "S" ; - S = K ( (1 - P "\r" ) ^ 0 , '') + EOL * S - } - - + ) ^0 * -1 * Lc ( '\\@@_end_line:' ) +% \end{macrocode} +% +% We have written a auxiliary \textsc{lpeg} |SyntaxPythonAux| for legibility only. +% \begin{macrocode} +local SyntaxPython = Ct ( SyntaxPythonAux ) +% \end{macrocode} +% +% \bigskip +% \subsubsection{The function Parse} +% +% The function |Parse| is the main function of the package \pkg{piton}. +% It parses its argument and sends back to LaTeX the code with interlaced +% formatting LaTeX instructions. In fact, everything is done by the +% \textsc{lpeg} |SyntaxPython| which returns as capture a Lua table containing +% data to send to LaTeX. +% +% \bigskip +% \begin{macrocode} function Parse(code) - local t = Ct(SyntaxPython) : match(code) - tex.sprint( luatexbase.catcodetables.expl , '\\__piton_begin_line:' ) - if t then else t = Ct(MinimalSyntax) : match(code) end - for i = 1 , #t do - if type(t[i]) == 'string' - then - tex.sprint(luatexbase.catcodetables.CatcodeTableOther, t[i]) - else - tex.tprint(t[i]) - end - end - tex.sprint( luatexbase.catcodetables.expl , '\\__piton_end_line:' ) + local t = SyntaxPython : match ( code ) + for _ , s in ipairs(t) do tex.tprint(s) end end - +% \end{macrocode} +% +% \bigskip +% The function |ParseFile| will be used by the LaTeX command |\PitonInputFile|. +% That function merely reads the whole file (that is to say all its lines) and +% then apply the function~|Parse| to the resulting Lua string. +% \begin{macrocode} function ParseFile(name) s = '' for line in io.lines(name) do s = s .. '\r' .. line end Parse(s) end - - -function define_gobble_syntax(n) - GobbleSyntax = ( 1 - P "\r" ) ^ (-n) * C ( ( 1 - P "\r" ) ^0 ) - * ( C ( P "\r" ) - * ( 1 - P "\r" ) ^ (-n) - * C ( ( 1 - P "\r" ) ^0 ) - ) ^ 0 -end - -function GobbleParse(code) - local t = Ct(GobbleSyntax):match(code) - local new_code = "" - for i = 1 , #t do - new_code = new_code .. t[i] +% \end{macrocode} +% +% \bigskip +% \subsubsection{The preprocessors of the function Parse} +% +% We deal now with preprocessors of the function |Parse| which are needed when +% the ``gobble mechanism'' is used. +% +% +% \bigskip +% The function |gobble| gobbles $n$ characters on the left of the code. It uses +% a \textsc{lpeg} that we have to compute dynamically because if depends on the +% value of~$n$. +% \begin{macrocode} +function gobble(n,code) + function concat(acc,new_value) + return acc .. new_value + end + if n==0 + then return code + else + return Cf ( + Cc ( "" ) * + ( 1 - P "\r" ) ^ (-n) * C ( ( 1 - P "\r" ) ^ 0 ) + * ( C ( P "\r" ) + * ( 1 - P "\r" ) ^ (-n) + * C ( ( 1 - P "\r" ) ^ 0 ) + ) ^ 0 , + concat + ) : match ( code ) end - Parse(new_code) end - +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} +function GobbleParse(n,code) + if n==-1 + then n = AutoGobbleLPEG : match(code) + else if n==-2 + then n = EnvGobbleLPEG : match(code) + end + end + Parse(gobble(n,code)) +end +% \end{macrocode} +% +% +% \bigskip +% The following function |add| will be used in the following \textsc{lpeg} +% |AutoGobbleLPEG| and |EnvGobbleLPEG|. +% \begin{macrocode} function add(acc,new_value) return acc + new_value end - - - - ---[[ The following LPEG returns as capture the minimal number of spaces at -the beginning of the lines of code]] -AutoGobbleSyntax = +% \end{macrocode} +% +% \bigskip +% The following \textsc{lpeg} returns as capture the minimal number of spaces at +% the beginning of the lines of code. The main work is done by two \emph{fold +% captures} (|lpeg.Cf|), one using |add| and the other (encompassing the +% previous one) using |math.min| as folding operator. +% \begin{macrocode} +AutoGobbleLPEG = ( space ^ 0 * P "\r" ) ^ -1 * Cf ( ( +% \end{macrocode} +% We don't take into account the empty lines (with only spaces). +% \begin{macrocode} ( P " " ) ^ 0 * P "\r" + Cf ( Cc(0) * ( P " " * Cc(1) ) ^ 0 , add ) * ( 1 - P " " ) * ( 1 - P "\r" ) ^ 0 * P "\r" ) ^ 0 +% \end{macrocode} +% Now for the last line of the Python code... +% \begin{macrocode} * ( Cf ( Cc(0) * ( P " " * Cc(1) ) ^ 0 , add ) * ( 1 - P " " ) * ( 1 - P "\r" ) ^ 0 ) ^ -1 , math.min ) - -function AutoGobbleParse(code) - local n = AutoGobbleSyntax:match(code) - if n==0 - then Parse(code) - else define_gobble_syntax(n) - GobbleParse(code) - end -end - - ---[[ The following LPEG returns as capture the number of spaces at the last line, -that is to say begin the \end{Piton} ]] - -EnvGobbleSyntax = - ( ( 1 - P "\r" ) ^ 0 * P "\r" ) ^ 0 - * Cf ( Cc(0) * ( P " " * Cc(1) ) ^ 0 , add ) * -1 - -function EnvGobbleParse(code) - local n = EnvGobbleSyntax:match(code) - if n==0 - then Parse(code) - else define_gobble_syntax(n) - GobbleParse(code) - end -end +% \end{macrocode} +% +% \bigskip +% The following \textsc{lpeg} returns as capture the number of spaces at the +% last line, that is to say before the |\end{Piton}| (and usually it's also the +% number of spaces before the corresponding |\begin{Piton}| because that's the +% traditionnal way to indent in LaTeX). The main work is done by a \emph{fold +% capture} (|lpeg.Cf|) using the function |add| as folding operator. +% \begin{macrocode} +EnvGobbleLPEG = + ( ( 1 - P "\r" ) ^ 0 * P "\r" ) ^ 0 + * Cf ( Cc(0) * ( P " " * Cc(1) ) ^ 0 , add ) * -1 +% \end{macrocode} +% +% \bigskip +% \subsubsection{To count the number of lines} +% +% \medskip +% \begin{macrocode} +function CountLines(code) + local count = 0 + for i in code:gmatch("\r") do count = count + 1 end + tex.sprint( + luatexbase.catcodetables.expl , + '\\int_set:Nn \\l_@@_nb_lines_int {' .. count .. '}' ) +end +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} +function CountLinesFile(name) + local count = 0 + for line in io.lines(name) do count = count + 1 end + tex.sprint( + luatexbase.catcodetables.expl , + '\\int_set:Nn \\l_@@_nb_lines_int {' .. count .. '}' ) +end +% \end{macrocode} +% +% \bigskip +% \begin{macrocode} \end{luacode*} % \end{macrocode} % @@ -2107,6 +2763,12 @@ end % % New key |left-margin|. % +% \subsection*{Changes between versions 0.8 and 0.9} +% +% New key |tab-size|. +% +% Integer value for the key |splittable|. +% % \end{document} % % diff --git a/macros/luatex/latex/piton/piton.pdf b/macros/luatex/latex/piton/piton.pdf Binary files differindex f13c17881b..56ce19dc79 100644 --- a/macros/luatex/latex/piton/piton.pdf +++ b/macros/luatex/latex/piton/piton.pdf |