diff options
author | Norbert Preining <norbert@preining.info> | 2022-10-04 03:00:59 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-10-04 03:00:59 +0000 |
commit | 30b3429f0e138c93c5f1ba1d1a6d46728c0943e9 (patch) | |
tree | 6c15cc0a1c291188deaa6f1c37d469d4e4dd27c7 /macros | |
parent | 0ec122c100e39ea118fdb2c4b6223ece8053f439 (diff) |
CTAN sync 202210040300
Diffstat (limited to 'macros')
140 files changed, 18795 insertions, 8133 deletions
diff --git a/macros/generic/markdown/CHANGES.md b/macros/generic/markdown/CHANGES.md index fae1a5a717..077fb63c99 100644 --- a/macros/generic/markdown/CHANGES.md +++ b/macros/generic/markdown/CHANGES.md @@ -1,6 +1,24 @@ # Changes -## 2.17.0 (2022-10-01) +## 2.17.1 (2022-10-03) + +Fixes: + +- Add `debugExtensions` and `debugExtensionsFileName` Lua options for debugging + user-defined syntax extensions. (#191, #192) + - Add a third optional argument to the `reader->insert_pattern()` method and + increment `user_extension_api_version` to `2`. This change is fully + backwards-compatible with the `user_extension_api_version` of `1`. + (658fbbe) + - Fix typos in example code for user-defined syntax extensions. + (7c6de52, d3195f7) + +Documentation: + +- Move `contentBlocksLanguageMap` option to the file and directory names + section of the technical documentation. (dd564f2) + +## 2.17.0 (2022-09-30) Development: diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION index 3b4985a362..5435cd30d6 100644 --- a/macros/generic/markdown/VERSION +++ b/macros/generic/markdown/VERSION @@ -1 +1 @@ -2.17.0-0-g6428569 (2022-09-30) +2.17.1-0-g8ca83f5 (2022-10-03) diff --git a/macros/generic/markdown/examples/context-mkii.tex b/macros/generic/markdown/examples/context-mkii.tex index 13ce98fd60..77809fa16b 100644 --- a/macros/generic/markdown/examples/context-mkii.tex +++ b/macros/generic/markdown/examples/context-mkii.tex @@ -10,6 +10,7 @@ \setupmarkdown [ hashEnumerators = yes, + debugExtensions = yes, definitionLists = yes, smartEllipses = yes, footnotes = yes, diff --git a/macros/generic/markdown/examples/context-mkiv.tex b/macros/generic/markdown/examples/context-mkiv.tex index 415cf2a4dd..8849e7bd66 100644 --- a/macros/generic/markdown/examples/context-mkiv.tex +++ b/macros/generic/markdown/examples/context-mkiv.tex @@ -10,6 +10,7 @@ \setupmarkdown [ hashEnumerators = yes, + debugExtensions = yes, definitionLists = yes, smartEllipses = yes, footnotes = yes, diff --git a/macros/generic/markdown/examples/latex.tex b/macros/generic/markdown/examples/latex.tex index cb2bce39b8..2403caf1e9 100644 --- a/macros/generic/markdown/examples/latex.tex +++ b/macros/generic/markdown/examples/latex.tex @@ -17,6 +17,7 @@ \usepackage{booktabs} \usepackage[ hashEnumerators, + debugExtensions, definitionLists, footnotes, inlineFootnotes, diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx index f419af48a2..2e3e12e15d 100644 --- a/macros/generic/markdown/markdown.dtx +++ b/macros/generic/markdown/markdown.dtx @@ -1653,12 +1653,17 @@ local walkable_syntax = { % \begin{markdown} % % The \luamref{reader->insert_pattern} method inserts a \acro{peg} pattern into -% the grammar of markdown. The method receives two arguments: a selector string -% in the form `"`\meta{left-hand side terminal symbol} \meta{`before`, `after`, -% or `instead of`} \meta{right-hand side terminal symbol}`"` and a \acro{peg} -% pattarn to insert. For example. if we'd like to insert `pattern` into the -% grammar between the `Inline -> Emph` and `Inline -> Link` rules, we would -% call \luamref{reader->insert_pattern} with `"Inline after Emph"` (or `"Inline +% the grammar of markdown. The method receives two mandatory arguments: a +% selector string in the form `"`\meta{left-hand side terminal symbol} +% \meta{`before`, `after`, or `instead of`} \meta{right-hand side terminal +% symbol}`"` and a \acro{peg} pattern to insert, and an optional third argument +% with a name of the \acro{peg} pattern for debugging purposes (see the +% \Opt{debugExtensions} option). The name does not need to be unique and shall +% not be interpreted by the Markdown package; you can treat it as a comment. +% +% For example. if we'd like to insert `pattern` into the grammar between the +% `Inline -> Emph` and `Inline -> Link` rules, we would call +% \luamref{reader->insert_pattern} with `"Inline after Emph"` (or `"Inline % before Link"`) and `pattern` as the arguments. % % The \luamdef{reader->add_special_character} method adds a new character with @@ -2278,6 +2283,219 @@ defaultOptions.cacheDir = "." %</lua,lua-cli> %<*manual-options> +#### Option `contentBlocksLanguageMap` + +`contentBlocksLanguageMap` (default value: `"markdown-languages.json"`) + +% \fi +% \begin{markdown} +% +% \Valitem[markdown-languages.json]{contentBlocksLanguageMap}{filename} +% +: The filename of the \acro{JSON} file that maps filename extensions to + programming language names in the iA\,Writer content blocks when the + \Opt{contentBlocks} option is enabled. +% See Section <#sec:texcontentblockrenderers> for more information. + +% \end{markdown} +% \iffalse + +##### \LaTeX{} Example {.unnumbered} + +Using a text editor, create a text document named `table.csv` with the +following content: +``` csv +Name,Surname,Born +Albert,Einstein,1879 +Marie,Curie,1867 +Thomas,Edison,1847 +``````` +Create also a text document named `language-map.json` with the following +content: +``` js +{ + "tex": "LaTeX" +} +`````` +Create also a text document named `code.tex` with the following content: +``` tex +This is an example code listing in \LaTeX. +``````` +Create also a text document named `part.md` with the following content: +``` md +This is a *transcluded markdown document*. +`````` +Create also a text document named `document.tex` with the following content: +``` tex +\documentclass{article} +\usepackage{minted} +\usepackage[contentBlocks]{markdown} +\markdownSetup{ + contentBlocksLanguageMap = {language-map.json}, +} +\begin{document} +\begin{markdown} +/table.csv (An example table) +/code.tex (An example code listing) +/part.md (A file transclusion example) +\end{markdown} +\end{document} +``````` +Next, invoke LuaTeX from the terminal: +``` sh +lualatex --shell-escape document.tex +`````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> | Name | Surname | Born | +> | ------ | ---------| ---- | +> | Albert | Einstein | 1879 | +> | Marie | Curie | 1867 | +> | Thomas | Edison | 1847 | +> +> Table 1: An example table +> +> ``` tex +> This is an example code listing in \LaTeX. +> ``````` +> +> This is a *transcluded markdown document*. + +##### \Hologo{ConTeXt} Example {.unnumbered} + +Using a text editor, create a text document named `table.csv` with the +following content: +``` csv +Name,Surname,Born +Albert,Einstein,1879 +Marie,Curie,1867 +Thomas,Edison,1847 +``````` +Create also a text document named `language-map.json` with the following +content: +``` js +{ + "tex": "ConTeXt" +} +`````` +Create also a text document named `code.tex` with the following content: +``` tex +This is an example code listing in \ConTeXt. +``````` +Create also a text document named `part.md` with the following content: +``` md +This is a *transcluded markdown document*. +`````` +Create also a text document named `document.tex` with the following content: +``` tex +\usemodule[t][markdown] +\setupmarkdown + [ + contentBlocks = yes, + contentBlocksLanguageMap = language-map.json, + ] +\definetyping [ConTeXt] +\setuptyping [ConTeXt] [option=TEX] +\starttext +\startmarkdown +/table.csv (An example table) +/code.tex (An example code listing) +/part.md (A file transclusion example) +\stopmarkdown +\stoptext +```````` +Next, invoke LuaTeX from the terminal: +``` sh +context document.tex +````` +A PDF document named `document.pdf` should be produced and contain the +following text: + +> | Name | Surname | Born | +> | ------ | ---------| ---- | +> | Albert | Einstein | 1879 | +> | Marie | Curie | 1867 | +> | Thomas | Edison | 1847 | +> +> Table 1: An example table +> +> ``` tex +> This is an example code listing in \ConTeXt. +> ``````` +> +> This is a *transcluded markdown document*. + +%</manual-options> +%<*tex> +% \fi +% \begin{macrocode} +\@@_add_lua_option:nnn + { contentBlocksLanguageMap } + { path } + { markdown-languages.json } +% \end{macrocode} +% \iffalse +%</tex> +%<*lua,lua-cli> +% \fi +% \begin{macrocode} +defaultOptions.contentBlocksLanguageMap = "markdown-languages.json" +% \end{macrocode} +% \par +% \iffalse +%</lua,lua-cli> +%<*manual-options> + +#### Option `debugExtensionsFileName` + +`debugExtensionsFileName` (default value: `"debug-extensions.json"`) + +% \fi +% \begin{markdown} +% +% \Valitem[debug-extensions.json]{debugExtensionsFileName}{filename} +% +: The filename of the \acro{JSON} file that will be produced when the + \Opt{debugExtensions} option is enabled. This file 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. + +% \end{markdown} +% \iffalse +%</manual-options> +%<*tex> +% \fi +% \begin{macrocode} +\@@_add_lua_option:nnn + { debugExtensionsFileName } + { path } + { \markdownOptionOutputDir / \jobname .debug-extensions.json } +% \end{macrocode} +% \iffalse +%</tex> +%<*lua,lua-cli> +% \fi +% \begin{macrocode} +defaultOptions.debugExtensionsFileName = "debug-extensions.json" +% \end{macrocode} +% \par +% \iffalse +%</lua,lua-cli> +%<*manual-options> + #### Option `frozenCacheFileName` `frozenCacheFileName` (default value: `"frozenCache.tex"`) @@ -2513,9 +2731,9 @@ defaultOptions.frozenCacheFileName = "frozenCache.tex" %<*manual-options> % \fi % \begin{markdown} -% +% %### Parser Options -% +% % \end{markdown} % \par % \iffalse @@ -4028,163 +4246,151 @@ defaultOptions.contentBlocks = false %</lua,lua-cli> %<*manual-options> -#### Option `contentBlocksLanguageMap` +#### Option `debugExtensions` -`contentBlocksLanguageMap` (default value: `"markdown-languages.json"`) +`debugExtensions` (default value: `false`) % \fi % \begin{markdown} % -% \Valitem[markdown-languages.json]{contentBlocksLanguageMap}{filename} +% \Optitem[false]{debugExtensions}{\opt{true}, \opt{false}} % -: The filename of the \acro{JSON} file that maps filename extensions to - programming language names in the iA\,Writer content blocks. -% See Section <#sec:texcontentblockrenderers> for more information. +: 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. + +: false + + : Do not produce a \acro{JSON} file with the \acro{peg} grammar of + markdown. % \end{markdown} % \iffalse ##### \LaTeX{} Example {.unnumbered} -Using a text editor, create a text document named `table.csv` with the +Using a text editor, create a text document named `strike-through.lua` with the following content: -``` csv -Name,Surname,Born -Albert,Einstein,1879 -Marie,Curie,1867 -Thomas,Edison,1847 -``````` -Create also a text document named `language-map.json` with the following -content: -``` js -{ - "tex": "LaTeX" +``` lua +local strike_through = { + api_version = 2, + grammar_version = 1, + finalize_grammar = function(reader) + local nonspacechar = lpeg.P(1) - lpeg.S("\t ") + local doubleslashes = lpeg.P("//") + local function between(p, starter, ender) + ender = lpeg.B(nonspacechar) * ender + return (starter * #nonspacechar + * lpeg.Ct(p * (p - ender)^0) * ender) + end + + local read_strike_through = between( + lpeg.V("Inline"), doubleslashes, doubleslashes + ) / function(s) return {"\\st{", s, "}"} end + + reader.insert_pattern("Inline after Emph", read_strike_through, + "StrikeThrough") + reader.add_special_character("/") + end } -`````` -Create also a text document named `code.tex` with the following content: -``` tex -This is an example code listing in \LaTeX. + +return strike_through ``````` -Create also a text document named `part.md` with the following content: -``` md -This is a *transcluded markdown document*. -`````` -Create also a text document named `document.tex` with the following content: +Using a text editor, create also a text document named `document.tex` with the +following content: ``` tex \documentclass{article} -\usepackage{minted} -\usepackage[contentBlocks]{markdown} -\markdownSetup{ - contentBlocksLanguageMap = {language-map.json}, -} +\usepackage{soul} +\usepackage[extension = strike-through.lua, + debugExtensions]{markdown} \begin{document} \begin{markdown} -/table.csv (An example table) -/code.tex (An example code listing) -/part.md (A file transclusion example) +This is //a lunar roving vehicle// strike-through text. \end{markdown} \end{document} ``````` Next, invoke LuaTeX from the terminal: ``` sh -lualatex --shell-escape document.tex +lualatex document.tex `````` A PDF document named `document.pdf` should be produced and contain the following text: -> | Name | Surname | Born | -> | ------ | ---------| ---- | -> | Albert | Einstein | 1879 | -> | Marie | Curie | 1867 | -> | Thomas | Edison | 1847 | -> -> Table 1: An example table -> -> ``` tex -> This is an example code listing in \LaTeX. -> ``````` -> -> This is a *transcluded markdown document*. +> This is ~~a lunar roving vehicle~~ strike-through text. -##### \Hologo{ConTeXt} Example {.unnumbered} +Furthermore, a JSON document named `document.debug-extensions.json` should also +be produced and contain the following text: -Using a text editor, create a text document named `table.csv` with the -following content: -``` csv -Name,Surname,Born -Albert,Einstein,1879 -Marie,Curie,1867 -Thomas,Edison,1847 -``````` -Create also a text document named `language-map.json` with the following -content: -``` js +``` json { - "tex": "ConTeXt" + "Block": [ + "Blockquote", + "Verbatim", + "HorizontalRule", + "BulletList", + "OrderedList", + "Heading", + "DisplayHtml", + "Paragraph", + "Plain" + ], + "Inline": [ + "Str", + "Space", + "Endline", + "UlOrStarLine", + "Strong", + "Emph", + "StrikeThrough (user-defined \"./strike-through.lua\" syntax extension)", + "Link", + "Image", + "Code", + "AutoLinkUrl", + "AutoLinkEmail", + "AutoLinkRelativeReference", + "InlineHtml", + "HtmlEntity", + "EscapedChar", + "Smart", + "Symbol" + ] } -`````` -Create also a text document named `code.tex` with the following content: -``` tex -This is an example code listing in \ConTeXt. -``````` -Create also a text document named `part.md` with the following content: -``` md -This is a *transcluded markdown document*. -`````` -Create also a text document named `document.tex` with the following content: -``` tex -\usemodule[t][markdown] -\setupmarkdown - [ - contentBlocks = yes, - contentBlocksLanguageMap = language-map.json, - ] -\definetyping [ConTeXt] -\setuptyping [ConTeXt] [option=TEX] -\starttext -\startmarkdown -/table.csv (An example table) -/code.tex (An example code listing) -/part.md (A file transclusion example) -\stopmarkdown -\stoptext ```````` -Next, invoke LuaTeX from the terminal: -``` sh -context document.tex -````` -A PDF document named `document.pdf` should be produced and contain the -following text: -> | Name | Surname | Born | -> | ------ | ---------| ---- | -> | Albert | Einstein | 1879 | -> | Marie | Curie | 1867 | -> | Thomas | Edison | 1847 | -> -> Table 1: An example table -> -> ``` tex -> This is an example code listing in \ConTeXt. -> ``````` -> -> This is a *transcluded markdown document*. +This output shows us that our user-defined syntax extension has been correctly +inserted to the grammar of markdown. %</manual-options> %<*tex> % \fi % \begin{macrocode} \@@_add_lua_option:nnn - { contentBlocksLanguageMap } - { path } - { markdown-languages.json } + { debugExtensions } + { boolean } + { false } % \end{macrocode} % \iffalse %</tex> %<*lua,lua-cli> % \fi % \begin{macrocode} -defaultOptions.contentBlocksLanguageMap = "markdown-languages.json" +defaultOptions.debugExtensions = false % \end{macrocode} % \par % \iffalse @@ -4449,7 +4655,7 @@ defaultOptions.eagerCache = true % % ``` lua % local strike_through = { -% api_version = 1, +% api_version = 2, % grammar_version = 1, % finalize_grammar = function(reader) % local nonspacechar = lpeg.P(1) - lpeg.S("\t ") @@ -4461,10 +4667,11 @@ defaultOptions.eagerCache = true % end % % local read_strike_through = between( -% lpeg.V("Inline"), doubletildes, doubletildes +% lpeg.V("Inline"), doubleslashes, doubleslashes % ) / function(s) return {"\\st{", s, "}"} end % -% reader.insert_pattern("Inline after Emph", read_strike_through) +% reader.insert_pattern("Inline after Emph", read_strike_through, +% "StrikeThrough") % reader.add_special_character("/") % end % } @@ -4483,7 +4690,7 @@ defaultOptions.eagerCache = true %<*lua> % \fi % \begin{macrocode} -metadata.user_extension_api_version = 1 +metadata.user_extension_api_version = 2 metadata.grammar_version = 1 % \end{macrocode} % \iffalse @@ -4513,7 +4720,7 @@ Using a text editor, create a text document named `strike-through.lua` with the following content: ``` lua local strike_through = { - api_version = 1, + api_version = 2, grammar_version = 1, finalize_grammar = function(reader) local nonspacechar = lpeg.P(1) - lpeg.S("\t ") @@ -4525,13 +4732,16 @@ local strike_through = { end local read_strike_through = between( - lpeg.V("Inline"), doubletildes, doubletildes + lpeg.V("Inline"), doubleslashes, doubleslashes ) / function(s) return {"\\st{", s, "}"} end - reader.insert_pattern("Inline after Emph", read_strike_through) + reader.insert_pattern("Inline after Emph", read_strike_through, + "StrikeThrough") reader.add_special_character("/") end } + +return strike_through ``````` Using a text editor, create also a text document named `document.tex` with the following content: @@ -17116,6 +17326,20 @@ end % \par % \begin{markdown} % +% The \luamdef{util.encode_json_string} method encodes a string `s` in +% \acro{JSON}. +% +% \end{markdown} +% \begin{macrocode} +function util.encode_json_string(s) + s = s:gsub([[\]], [[\\]]) + s = s:gsub([["]], [[\"]]) + return [["]] .. s .. [["]] +end +% \end{macrocode} +% \par +% \begin{markdown} +% % The \luamdef{util.lookup_files} method looks up files with filename `f` % and returns its path. If the \pkg{kpathsea} library is available, it will % search for files not only in the current working directory but also in the @@ -21495,16 +21719,15 @@ function M.reader.new(writer, options) % \par % \begin{markdown} % -% Define \luamref{reader->insert_pattern} as a function that receives two -% arguments: a selector string in the form `"`\meta{left-hand side terminal -% symbol} \meta{`before`, `after`, or `instead of`} \meta{right-hand side -% terminal symbol}`"` and a \acro{peg} pattarn to insert. The function adds -% the pattern to \luamref{walkable_syntax}`[`*left-hand side terminal -% symbol*`]` before or after *right-hand side terminal symbol*. +% The \luamref{reader->insert_pattern} method adds a pattern to +% \luamref{walkable_syntax}`[`*left-hand side terminal symbol*`]` before, +% instead of, or after a right-hand-side terminal symbol. % % \end{markdown} % \begin{macrocode} - self.insert_pattern = function(selector, pattern) + local current_extension_name = nil + self.insert_pattern = function(selector, pattern, pattern_name) + assert(pattern_name == nil or type(pattern_name) == "string") local _, _, lhs, pos, rhs = selector:find("^(%a+)%s+([%a%s]+%a+)%s+(%a+)$") assert(lhs ~= nil, [[Expected selector in form "LHS (before|after|instead of) RHS", not "]] @@ -21528,10 +21751,19 @@ function M.reader.new(writer, options) assert(index ~= nil, [[Rule ]] .. lhs .. [[ -> ]] .. rhs .. [[ does not exist in markdown grammar]]) + local accountable_pattern + if current_extension_name then + accountable_pattern = { pattern, current_extension_name, pattern_name } + else + assert(type(pattern) == "string", + [[reader->insert_pattern() was called outside an extension with ]] + .. [[a PEG pattern instead of a rule name]]) + accountable_pattern = pattern + end if pos == "instead of" then - rule[index] = pattern + rule[index] = accountable_pattern else - table.insert(rule, index, pattern) + table.insert(rule, index, accountable_pattern) end end % \end{macrocode} @@ -21596,17 +21828,19 @@ function M.reader.new(writer, options) % \par % \begin{markdown} % -% Define \luamref{reader->update_rule} as a function that receives two arguments: -% a left-hand side terminal symbol and a \acro{peg} pattarn. The function -% (re)defines \luamref{walkable_syntax}`[`left-hand side terminal symbol`]` to -% be equal to pattern. +% Define \luamref{reader->update_rule} as a function that receives two +% arguments: a left-hand side terminal symbol and a \acro{peg} pattern. +% The function (re)defines \luamref{walkable_syntax}`[`left-hand side terminal +% symbol`]` to be equal to pattern. % % \end{markdown} % \begin{macrocode} self.update_rule = function(rule_name, pattern) + assert(current_extension_name ~= nil) assert(syntax[rule_name] ~= nil, [[Rule ]] .. rule_name .. [[ -> ... does not exist in markdown grammar]]) - walkable_syntax[rule_name] = { pattern } + local accountable_pattern = { pattern, current_extension_name, rule_name } + walkable_syntax[rule_name] = { accountable_pattern } end % \end{macrocode} % \par @@ -21640,9 +21874,68 @@ function M.reader.new(writer, options) % \end{markdown} % \begin{macrocode} for _, extension in ipairs(extensions) do + current_extension_name = extension.name extension.extend_writer(writer) extension.extend_reader(self) end + current_extension_name = nil +% \end{macrocode} +% \par +% \begin{markdown} +% +% If the \Opt{debugExtensions} option is enabled, serialize +% \luamref{walkable_syntax} to a \acro{JSON} for debugging purposes. +% +% \end{markdown} +% \begin{macrocode} + if options.debugExtensions then + local sorted_lhs = {} + for lhs, _ in pairs(walkable_syntax) do + table.insert(sorted_lhs, lhs) + end + table.sort(sorted_lhs) + + local output_lines = {"{"} + for lhs_index, lhs in ipairs(sorted_lhs) do + local encoded_lhs = util.encode_json_string(lhs) + table.insert(output_lines, [[ ]] ..encoded_lhs .. [[: []]) + local rule = walkable_syntax[lhs] + for rhs_index, rhs in ipairs(rule) do + local human_readable_rhs + if type(rhs) == "string" then + human_readable_rhs = rhs + else + local pattern_name + if rhs[3] then + pattern_name = rhs[3] + else + pattern_name = "Anonymous Pattern" + end + local extension_name = rhs[2] + human_readable_rhs = pattern_name .. [[ (]] .. extension_name .. [[)]] + end + local encoded_rhs = util.encode_json_string(human_readable_rhs) + local output_line = [[ ]] .. encoded_rhs + if rhs_index < #rule then + output_line = output_line .. "," + end + table.insert(output_lines, output_line) + end + local output_line = " ]" + if lhs_index < #sorted_lhs then + output_line = output_line .. "," + end + table.insert(output_lines, output_line) + end + table.insert(output_lines, "}") + + local output = table.concat(output_lines, "\n") + local output_filename = options.debugExtensionsFileName + local output_file = assert(io.open(output_filename, "w"), + [[Could not open file "]] .. output_filename .. [[" for writing]]) + assert(output_file:write(output)) + assert(output_file:close()) + end % \end{macrocode} % \par % \begin{markdown} @@ -21672,10 +21965,24 @@ function M.reader.new(writer, options) syntax[lhs] = parsers.fail for _, rhs in ipairs(rule) do local pattern +% \end{macrocode} +% \begin{markdown} +% +% Although the interface of the \luamref{reader->insert_pattern} method does +% document this (see Section <#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. +% +% \end{markdown} +% \begin{macrocode} if type(rhs) == "string" then pattern = V(rhs) else - pattern = rhs + pattern = rhs[1] + if type(pattern) == "string" then + pattern = V(pattern) + end end syntax[lhs] = syntax[lhs] + pattern end @@ -21684,9 +21991,9 @@ function M.reader.new(writer, options) % \par % \begin{markdown} % -% Finalize the parser by enabling built-in syntax extensions and producing -% special parsers for difficult edge cases such as blocks nested in definition -% lists or inline content nested in link, note, and image labels. +% Finalize the parser by reacting to options and by producing special parsers +% for difficult edge cases such as blocks nested in definition lists or +% inline content nested in link, note, and image labels. % % \end{markdown} % \begin{macrocode} @@ -21877,6 +22184,7 @@ M.extensions.citations = function(citation_nbsps) ["#"] = "\\markdownRendererHash{}", } return { + name = "built-in citations syntax extension", extend_writer = function(self) local options = self.options @@ -22046,7 +22354,8 @@ M.extensions.citations = function(citation_nbsps) local Citations = TextCitations + ParenthesizedCitations - self.insert_pattern("Inline after Emph", Citations) + self.insert_pattern("Inline after Emph", + Citations, "Citations") self.add_special_character("@") self.add_special_character("-") @@ -22101,6 +22410,7 @@ M.extensions.content_blocks = function(language_map) end)() return { + name = "built-in content_blocks syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22211,7 +22521,8 @@ M.extensions.content_blocks = function(language_map) * contentblock_tail / writer.contentblock - self.insert_pattern("Block before Blockquote", ContentBlock) + self.insert_pattern("Block before Blockquote", + ContentBlock, "ContentBlock") end } end @@ -22228,6 +22539,7 @@ end % \begin{macrocode} M.extensions.definition_lists = function(tight_lists) return { + name = "built-in definition_lists syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22309,7 +22621,8 @@ M.extensions.definition_lists = function(tight_lists) * -DefinitionListItemLoose * Cc(true)) ) / writer.definitionlist - self.insert_pattern("Block after Heading", DefinitionList) + self.insert_pattern("Block after Heading", + DefinitionList, "DefinitionList") end } end @@ -22327,6 +22640,7 @@ end % \begin{macrocode} M.extensions.fenced_code = function(blank_before_code_fence) return { + name = "built-in fenced_code syntax extension", extend_writer = function(self) local options = self.options @@ -22411,7 +22725,7 @@ M.extensions.fenced_code = function(blank_before_code_fence) end self.insert_pattern("Block after Verbatim", - FencedCode) + FencedCode, "FencedCode") local fencestart if blank_before_code_fence then @@ -22444,6 +22758,7 @@ end M.extensions.footnotes = function(footnotes, inline_footnotes) assert(footnotes or inline_footnotes) return { + name = "built-in footnotes syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22467,7 +22782,8 @@ M.extensions.footnotes = function(footnotes, inline_footnotes) * (parsers.tag / self.parser_functions.parse_inlines_no_inline_note) / writer.note - self.insert_pattern("Inline after Emph", InlineNote) + self.insert_pattern("Inline after Emph", + InlineNote, "InlineNote") end if footnotes then local function strip_first_char(s) @@ -22509,7 +22825,8 @@ M.extensions.footnotes = function(footnotes, inline_footnotes) local Blank = NoteBlock + parsers.Blank self.update_rule("Blank", Blank) - self.insert_pattern("Inline after Emph", NoteRef) + self.insert_pattern("Inline after Emph", + NoteRef, "NoteRef") end self.add_special_character("^") @@ -22528,6 +22845,7 @@ end % \begin{macrocode} M.extensions.header_attributes = function() return { + name = "built-in header_attributes syntax extension", extend_writer = function() end, extend_reader = function(self) local parsers = self.parsers @@ -22595,6 +22913,7 @@ end % \begin{macrocode} M.extensions.jekyll_data = function(expect_jekyll_data) return { + name = "built-in jekyll_data syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22728,7 +23047,8 @@ M.extensions.jekyll_data = function(expect_jekyll_data) * JekyllData * (P("---") + P("..."))^-1 - self.insert_pattern("Block before Blockquote", UnexpectedJekyllData) + self.insert_pattern("Block before Blockquote", + UnexpectedJekyllData, "UnexpectedJekyllData") if expect_jekyll_data then self.update_rule("ExpectedJekyllData", ExpectedJekyllData) end @@ -22803,6 +23123,7 @@ M.extensions.pipe_tables = function(table_captions) end return { + name = "built-in pipe_tables syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22892,7 +23213,8 @@ M.extensions.pipe_tables = function(table_captions) * table_caption^-1 / writer.table - self.insert_pattern("Block after Blockquote", PipeTable) + self.insert_pattern("Block after Blockquote", + PipeTable, "PipeTable") end } end @@ -22908,6 +23230,7 @@ end % \begin{macrocode} M.extensions.strike_through = function() return { + name = "built-in strike_through syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22930,7 +23253,8 @@ M.extensions.strike_through = function() parsers.doubletildes) ) / writer.strike_through - self.insert_pattern("Inline after Emph", StrikeThrough) + self.insert_pattern("Inline after Emph", + StrikeThrough, "StrikeThrough") self.add_special_character("~") end @@ -22948,6 +23272,7 @@ end % \begin{macrocode} M.extensions.superscripts = function() return { + name = "built-in superscripts syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -22969,7 +23294,8 @@ M.extensions.superscripts = function() parsers.between(parsers.Str, parsers.circumflex, parsers.circumflex) ) / writer.superscript - self.insert_pattern("Inline after Emph", Superscript) + self.insert_pattern("Inline after Emph", + Superscript, "Superscript") self.add_special_character("^") end @@ -22987,6 +23313,7 @@ end % \begin{macrocode} M.extensions.subscripts = function() return { + name = "built-in subscripts syntax extension", extend_writer = function(self) % \end{macrocode} % \par @@ -23008,7 +23335,8 @@ M.extensions.subscripts = function() parsers.between(parsers.Str, parsers.tilde, parsers.tilde) ) / writer.subscript - self.insert_pattern("Inline after Emph", Subscript) + self.insert_pattern("Inline after Emph", + Subscript, "Subscript") self.add_special_character("~") end @@ -23026,6 +23354,7 @@ end % \begin{macrocode} M.extensions.fancy_lists = function() return { + name = "built-in fancy_lists syntax extension", extend_writer = function(self) local options = self.options @@ -23358,7 +23687,8 @@ function M.new(options) .. [[" specifies field "api_version" of type "]] .. type(user_extension.api_version) .. [[" but "number" was expected]]) - assert(user_extension.api_version == metadata.user_extension_api_version, + assert(user_extension.api_version > 0 + and user_extension.api_version <= metadata.user_extension_api_version, [[User-defined syntax extension "]] .. pathname .. [[" uses syntax extension API version "]] .. user_extension.api_version .. [[ but markdown.lua ]] @@ -23399,6 +23729,7 @@ function M.new(options) % \end{markdown} % \begin{macrocode} local extension = { + name = [[user-defined "]] .. pathname .. [[" syntax extension]], extend_reader = user_extension.finalize_grammar, extend_writer = function() end, } diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html index 834e756529..edd58f157d 100644 --- a/macros/generic/markdown/markdown.html +++ b/macros/generic/markdown/markdown.html @@ -16,6 +16,7 @@ pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } + .sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @@ -50,7 +51,7 @@ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ code span.at { color: #7d9029; } /* Attribute */ code span.bn { color: #40a070; } /* BaseN */ - code span.bu { } /* BuiltIn */ + code span.bu { color: #008000; } /* BuiltIn */ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ code span.ch { color: #4070a0; } /* Char */ code span.cn { color: #880000; } /* Constant */ @@ -63,7 +64,7 @@ code span.ex { } /* Extension */ code span.fl { color: #40a070; } /* Float */ code span.fu { color: #06287e; } /* Function */ - code span.im { } /* Import */ + code span.im { color: #008000; font-weight: bold; } /* Import */ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ code span.kw { color: #007020; font-weight: bold; } /* Keyword */ code span.op { color: #666666; } /* Operator */ @@ -75,6 +76,7 @@ code span.va { color: #19177c; } /* Variable */ code span.vs { color: #4070a0; } /* VerbatimString */ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ + .display.math{display: block; text-align: center; margin: 0.5rem auto;} </style> <link rel="stylesheet" href="markdown.css" /> </head> @@ -82,76 +84,156 @@ <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.0-0-g6428569 2022-09-30</p> +<p class="date">2.17.1-0-g8ca83f5 2022-10-03</p> </header> <nav id="TOC" role="doc-toc"> <ul> -<li><a href="#introduction"><span class="toc-section-number">1</span> Introduction</a> +<li><a href="#introduction"><span class="toc-section-number">1</span> +Introduction</a> <ul> -<li><a href="#requirements"><span class="toc-section-number">1.1</span> Requirements</a></li> -<li><a href="#installation"><span class="toc-section-number">1.2</span> Installation</a> +<li><a href="#requirements"><span class="toc-section-number">1.1</span> +Requirements</a></li> +<li><a href="#installation"><span class="toc-section-number">1.2</span> +Installation</a> <ul> -<li><a href="#local-installation"><span class="toc-section-number">1.2.1</span> Local Installation</a></li> -<li><a href="#portable-installation"><span class="toc-section-number">1.2.2</span> Portable Installation</a></li> +<li><a href="#local-installation"><span +class="toc-section-number">1.2.1</span> Local Installation</a></li> +<li><a href="#portable-installation"><span +class="toc-section-number">1.2.2</span> Portable Installation</a></li> </ul></li> -<li><a href="#first-document"><span class="toc-section-number">1.3</span> First Document</a> +<li><a href="#first-document"><span +class="toc-section-number">1.3</span> First Document</a> <ul> -<li><a href="#using-lua"><span class="toc-section-number">1.3.1</span> Using Lua</a></li> -<li><a href="#using-plain-tex"><span class="toc-section-number">1.3.2</span> Using Plain <span class="tex">T<sub>e</sub>X</span></a></li> -<li><a href="#using-latex"><span class="toc-section-number">1.3.3</span> Using <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li> -<li><a href="#using-context"><span class="toc-section-number">1.3.4</span> Using Con<span class="tex">T<sub>e</sub>X</span>t</a></li> +<li><a href="#using-lua"><span class="toc-section-number">1.3.1</span> +Using Lua</a></li> +<li><a href="#using-plain-tex"><span +class="toc-section-number">1.3.2</span> Using Plain <span +class="tex">T<sub>e</sub>X</span></a></li> +<li><a href="#using-latex"><span class="toc-section-number">1.3.3</span> +Using <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li> +<li><a href="#using-context"><span +class="toc-section-number">1.3.4</span> Using Con<span +class="tex">T<sub>e</sub>X</span>t</a></li> </ul></li> </ul></li> -<li><a href="#examples"><span class="toc-section-number">2</span> Examples</a> +<li><a href="#examples"><span class="toc-section-number">2</span> +Examples</a> <ul> -<li><a href="#interfaces"><span class="toc-section-number">2.1</span> Interfaces</a> +<li><a href="#interfaces"><span class="toc-section-number">2.1</span> +Interfaces</a> <ul> -<li><a href="#lua"><span class="toc-section-number">2.1.1</span> Lua</a></li> -<li><a href="#plain-tex"><span class="toc-section-number">2.1.2</span> Plain <span class="tex">T<sub>e</sub>X</span></a></li> -<li><a href="#latex"><span class="toc-section-number">2.1.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li> -<li><a href="#context"><span class="toc-section-number">2.1.4</span> Con<span class="tex">T<sub>e</sub>X</span>t</a></li> +<li><a href="#lua"><span class="toc-section-number">2.1.1</span> +Lua</a></li> +<li><a href="#plain-tex"><span class="toc-section-number">2.1.2</span> +Plain <span class="tex">T<sub>e</sub>X</span></a></li> +<li><a href="#latex"><span class="toc-section-number">2.1.3</span> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li> +<li><a href="#context"><span class="toc-section-number">2.1.4</span> +Con<span class="tex">T<sub>e</sub>X</span>t</a></li> </ul></li> -<li><a href="#options"><span class="toc-section-number">2.2</span> Options</a> +<li><a href="#options"><span class="toc-section-number">2.2</span> +Options</a> <ul> -<li><a href="#lua-1"><span class="toc-section-number">2.2.1</span> Lua</a></li> -<li><a href="#plain-tex-1"><span class="toc-section-number">2.2.2</span> Plain <span class="tex">T<sub>e</sub>X</span></a></li> -<li><a href="#latex-1"><span class="toc-section-number">2.2.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li> +<li><a href="#lua-1"><span class="toc-section-number">2.2.1</span> +Lua</a></li> +<li><a href="#plain-tex-1"><span class="toc-section-number">2.2.2</span> +Plain <span class="tex">T<sub>e</sub>X</span></a></li> +<li><a href="#latex-1"><span class="toc-section-number">2.2.3</span> +<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li> </ul></li> -<li><a href="#markdown-tokens"><span class="toc-section-number">2.3</span> Markdown Tokens</a> +<li><a href="#markdown-tokens"><span +class="toc-section-number">2.3</span> Markdown Tokens</a> <ul> -<li><a href="#texrenderersuser"><span class="toc-section-number">2.3.1</span> Token Renderers</a></li> -<li><a href="#texrendererprototypes"><span class="toc-section-number">2.3.2</span> Token Renderer Prototypes</a></li> +<li><a href="#texrenderersuser"><span +class="toc-section-number">2.3.1</span> Token Renderers</a></li> +<li><a href="#texrendererprototypes"><span +class="toc-section-number">2.3.2</span> Token Renderer +Prototypes</a></li> </ul></li> </ul></li> </ul> </nav> <p><link href="https://afeld.github.io/emoji-css/emoji.css" rel="stylesheet" /></p> -<h1 data-number="1" id="introduction"><span class="header-section-number">1</span> Introduction</h1> -<p>The <a href="https://ctan.org/pkg/markdown" title="CTAN: Package markdown">Markdown package</a> converts <a href="https://daringfireball.net/projects/markdown/basics" title="Daring Fireball: Markdown Basics">markdown</a> markup to <span class="tex">T<sub>e</sub>X</span> commands. The functionality is provided both as a Lua module and as plain <span class="tex">T<sub>e</sub>X</span>, <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, and Con<span class="tex">T<sub>e</sub>X</span>t macro packages that can be used to directly typeset <span class="tex">T<sub>e</sub>X</span> documents containing markdown markup. Unlike other convertors, the Markdown package does not require any external programs, and makes it easy to redefine how each and every markdown element is rendered. Creative abuse of the markdown syntax is encouraged. <i class="em em-wink"></i></p> -<p>This document is a user manual for the <a href="https://ctan.org/pkg/markdown" title="CTAN: Package markdown">Markdown package</a>. It provides tutorials and code examples. For an in-depth description of the package requirements, interfaces, and implementation, please refer to the <a href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for <span class="tex">T<sub>e</sub>X</span>">technical documentation</a>.</p> -<h2 data-number="1.1" id="requirements"><span class="header-section-number">1.1</span> Requirements</h2> -<p>The package requires either <a href="https://hub.docker.com/r/witiko/markdown/tags" title="witiko/markdown - Docker Image">our official Docker image</a>, which contains the latest development version of the Markdown package, or a <span class="tex">T<sub>e</sub>X</span> distribution: <a href="https://www.tug.org/texlive/" title="TeX Live - TeX Users Group"><span class="tex">T<sub>e</sub>X</span> Live</a> ≥ 2020 is known to work with the current version of the Markdown package and so are recent versions of <a href="https://miktex.org/" title="Home - MiKTeXorg">Mik<span class="tex">T<sub>e</sub>X</span></a>. If you are using an older, incomplete, or atypical <span class="tex">T<sub>e</sub>X</span> distribution, please consult the <a href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for <span class="tex">T<sub>e</sub>X</span>">technical documentation</a> for a detailed list of requirements.</p> -<h2 data-number="1.2" id="installation"><span class="header-section-number">1.2</span> Installation</h2> -<p>If Markdown is not included in your <span class="tex">T<sub>e</sub>X</span> distribution, you will need to install it.</p> +<h1 data-number="1" id="introduction"><span +class="header-section-number">1</span> Introduction</h1> +<p>The <a href="https://ctan.org/pkg/markdown" +title="CTAN: Package markdown">Markdown package</a> converts <a +href="https://daringfireball.net/projects/markdown/basics" +title="Daring Fireball: Markdown Basics">markdown</a> markup to <span +class="tex">T<sub>e</sub>X</span> commands. The functionality is +provided both as a Lua module and as plain <span +class="tex">T<sub>e</sub>X</span>, <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, and Con<span +class="tex">T<sub>e</sub>X</span>t macro packages that can be used to +directly typeset <span class="tex">T<sub>e</sub>X</span> documents +containing markdown markup. Unlike other convertors, the Markdown +package does not require any external programs, and makes it easy to +redefine how each and every markdown element is rendered. Creative abuse +of the markdown syntax is encouraged. <i class="em em-wink"></i></p> +<p>This document is a user manual for the <a +href="https://ctan.org/pkg/markdown" +title="CTAN: Package markdown">Markdown package</a>. It provides +tutorials and code examples. For an in-depth description of the package +requirements, interfaces, and implementation, please refer to the <a +href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" +title="A Markdown Interpreter for <span class="tex">T<sub>e</sub>X</span>">technical +documentation</a>.</p> +<h2 data-number="1.1" id="requirements"><span +class="header-section-number">1.1</span> Requirements</h2> +<p>The package requires either <a +href="https://hub.docker.com/r/witiko/markdown/tags" +title="witiko/markdown - Docker Image">our official Docker image</a>, +which contains the latest development version of the Markdown package, +or a <span class="tex">T<sub>e</sub>X</span> distribution: <a +href="https://www.tug.org/texlive/" +title="TeX Live - TeX Users Group"><span +class="tex">T<sub>e</sub>X</span> Live</a> ≥ 2020 is known to work with +the current version of the Markdown package and so are recent versions +of <a href="https://miktex.org/" title="Home - MiKTeXorg">Mik<span +class="tex">T<sub>e</sub>X</span></a>. If you are using an older, +incomplete, or atypical <span class="tex">T<sub>e</sub>X</span> +distribution, please consult the <a +href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" +title="A Markdown Interpreter for <span class="tex">T<sub>e</sub>X</span>">technical +documentation</a> for a detailed list of requirements.</p> +<h2 data-number="1.2" id="installation"><span +class="header-section-number">1.2</span> Installation</h2> +<p>If Markdown is not included in your <span +class="tex">T<sub>e</sub>X</span> distribution, you will need to install +it.</p> <p>First, download the package from the repository using Git:</p> -<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span></code></pre></div> -<p>Next, enter the directory named <code>markdown</code> and run the <code>make base</code> command using GNU Make:</p> -<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a><span class="bu">cd</span> markdown</span> -<span id="cb2-2"><a href="#cb2-2" aria-hidden="true"></a><span class="fu">make</span> base</span></code></pre></div> +<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span></code></pre></div> +<p>Next, enter the directory named <code>markdown</code> and run the +<code>make base</code> command using GNU Make:</p> +<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> markdown</span> +<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> base</span></code></pre></div> <p>This should produce the following files:</p> <ul> <li><code>markdown.lua</code>, the Lua module,</li> -<li><code>libraries/markdown-tinyyaml.lua</code>, an external library for reading <abbr>yaml</abbr>,</li> +<li><code>libraries/markdown-tinyyaml.lua</code>, an external library +for reading <abbr>yaml</abbr>,</li> <li><code>markdown-cli.lua</code>, the Lua command-line interface,</li> -<li><code>markdown.tex</code>, the plain <span class="tex">T<sub>e</sub>X</span> macro package,</li> -<li><code>markdown.sty</code>, the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package,</li> -<li><code>markdownthemewitiko_dot.sty</code>, the <code>witiko/dot</code> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme,</li> -<li><code>markdownthemewitiko_graphicx_http.sty</code>, the <code>witiko/graphicx/http</code> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme,</li> -<li><code>markdownthemewitiko_tilde.sty</code>, the <code>witiko/tilde</code> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme, and</li> -<li><code>t-markdown.tex</code>, the Con<span class="tex">T<sub>e</sub>X</span>t module.</li> +<li><code>markdown.tex</code>, the plain <span +class="tex">T<sub>e</sub>X</span> macro package,</li> +<li><code>markdown.sty</code>, the <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package,</li> +<li><code>markdownthemewitiko_dot.sty</code>, the +<code>witiko/dot</code> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme,</li> +<li><code>markdownthemewitiko_graphicx_http.sty</code>, the +<code>witiko/graphicx/http</code> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme,</li> +<li><code>markdownthemewitiko_tilde.sty</code>, the +<code>witiko/tilde</code> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme, and</li> +<li><code>t-markdown.tex</code>, the Con<span +class="tex">T<sub>e</sub>X</span>t module.</li> </ul> -<h3 data-number="1.2.1" id="local-installation"><span class="header-section-number">1.2.1</span> Local Installation</h3> -<p>To perform a local installation, place the above files into your <span class="tex">T<sub>e</sub>X</span> directory structure. This is generally where the individual files should be placed:</p> +<h3 data-number="1.2.1" id="local-installation"><span +class="header-section-number">1.2.1</span> Local Installation</h3> +<p>To perform a local installation, place the above files into your +<span class="tex">T<sub>e</sub>X</span> directory structure. This is +generally where the individual files should be placed:</p> <ul> <li><code>⟨TEXMF⟩/tex/luatex/markdown/markdown.lua</code></li> <li><code>⟨TEXMF⟩/tex/luatex/markdown/markdown-tinyyaml.lua</code></li> @@ -163,484 +245,1038 @@ <li><code>⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_tilde.sty</code></li> <li><code>⟨TEXMF⟩/tex/context/third/markdown/t-markdown.tex</code></li> </ul> -<p>where <code>⟨TEXMF⟩</code> corresponds to a root of your <span class="tex">T<sub>e</sub>X</span> distribution, such as <code>/usr/share/texmf</code> and <code>~/texmf</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf</code> on Windows systems. When in doubt, consult the manual of your <span class="tex">T<sub>e</sub>X</span> distribution.</p> -<h3 data-number="1.2.2" id="portable-installation"><span class="header-section-number">1.2.2</span> Portable Installation</h3> -<p>Alternatively, you can also store the above files in the same folder as your <span class="tex">T<sub>e</sub>X</span> document and distribute them together. This way your document can be portably typeset on legacy <span class="tex">T<sub>e</sub>X</span> distributions.</p> -<p>Since Markdown version 2.10.0, the file <code>markdown.tex</code> must be placed in a directory named <code>markdown</code> due to <a href="https://github.com/witiko/markdown/issues/74" title="Does not compile if user names own document markdown.tex">issue #74</a>.</p> -<h2 data-number="1.3" id="first-document"><span class="header-section-number">1.3</span> First Document</h2> -<p>In this section, we will take the necessary steps to typeset our first markdown document in <span class="tex">T<sub>e</sub>X</span>. This will serve as our first hands-on experience with the package and also as a reassurance that the package has been correctly installed.</p> -<p>If you are using <a href="https://hub.docker.com/r/witiko/markdown/tags" title="witiko/markdown - Docker Image">our official Docker image</a>, you need to prefix all commands in this section with <code>docker run --rm -v "$PWD"/workdir:/workdir -w /workdir witiko/markdown</code>. For example, instead of <code>luatex document.tex</code>, you would execute the following command:</p> -<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a><span class="ex">docker</span> run --rm -v <span class="st">"</span><span class="va">$PWD</span><span class="st">"</span>/workdir:/workdir -w /workdir witiko/markdown <span class="kw">\</span></span> -<span id="cb3-2"><a href="#cb3-2" aria-hidden="true"></a> <span class="ex">luatex</span> document.tex</span></code></pre></div> -<h3 data-number="1.3.1" id="using-lua"><span class="header-section-number">1.3.1</span> Using Lua</h3> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb4"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb4-2"><a href="#cb4-2" aria-hidden="true"></a><span class="fu">\input</span> hello</span> -<span id="cb4-3"><a href="#cb4-3" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<h4 data-number="1.3.1.1" id="using-the-lua-module"><span class="header-section-number">1.3.1.1</span> Using the Lua Module</h4> -<p>Using a text editor, create a text document named <code>hello.lua</code> with the following content:</p> -<div class="sourceCode" id="cb5"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true"></a><span class="co">#!/usr/bin/env texlua</span></span> -<span id="cb5-2"><a href="#cb5-2" aria-hidden="true"></a><span class="kw">local</span> ran_ok<span class="op">,</span> kpse <span class="op">=</span> <span class="fu">pcall</span><span class="op">(</span><span class="fu">require</span><span class="op">,</span> <span class="st">"kpse"</span><span class="op">)</span></span> -<span id="cb5-3"><a href="#cb5-3" aria-hidden="true"></a><span class="cf">if</span> ran_ok <span class="cf">then</span> kpse<span class="op">.</span>set_program_name<span class="op">(</span><span class="st">"luatex"</span><span class="op">)</span> <span class="cf">end</span></span> -<span id="cb5-4"><a href="#cb5-4" aria-hidden="true"></a><span class="kw">local</span> markdown <span class="op">=</span> <span class="fu">require</span><span class="op">(</span><span class="st">"markdown"</span><span class="op">)</span></span> -<span id="cb5-5"><a href="#cb5-5" aria-hidden="true"></a><span class="kw">local</span> convert <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">()</span></span> -<span id="cb5-6"><a href="#cb5-6" aria-hidden="true"></a><span class="fu">print</span><span class="op">(</span>convert<span class="op">(</span><span class="st">"Hello *world*!"</span><span class="op">))</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true"></a><span class="ex">texlua</span> hello.lua <span class="op">></span> hello.tex</span> -<span id="cb6-2"><a href="#cb6-2" aria-hidden="true"></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>!” Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true"></a><span class="ex">texlua</span> hello.lua <span class="op">></span> hello.tex</span> -<span id="cb7-2"><a href="#cb7-2" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> -<h4 data-number="1.3.1.2" id="using-the-lua-command-line-interface"><span class="header-section-number">1.3.1.2</span> Using the Lua Command-Line Interface</h4> -<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p> -<div class="sourceCode" id="cb8"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- hello.md hello.tex</span> -<span id="cb9-2"><a href="#cb9-2" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- hello.md hello.tex</span> -<span id="cb10-2"><a href="#cb10-2" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> -<h3 data-number="1.3.2" id="using-plain-tex"><span class="header-section-number">1.3.2</span> Using Plain <span class="tex">T<sub>e</sub>X</span></h3> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb11"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb11-2"><a href="#cb11-2" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb11-3"><a href="#cb11-3" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb11-4"><a href="#cb11-4" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb11-5"><a href="#cb11-5" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true"></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>!” Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true"></a><span class="ex">pdftex</span> --shell-escape document.tex</span></code></pre></div> -<h3 data-number="1.3.3" id="using-latex"><span class="header-section-number">1.3.3</span> Using <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb14"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb14-2"><a href="#cb14-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb14-3"><a href="#cb14-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb14-4"><a href="#cb14-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb14-5"><a href="#cb14-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb14-6"><a href="#cb14-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb14-7"><a href="#cb14-7" aria-hidden="true"></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="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true"></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>!” Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true"></a><span class="ex">pdflatex</span> --shell-escape document.tex</span></code></pre></div> +<p>where <code>⟨TEXMF⟩</code> corresponds to a root of your <span +class="tex">T<sub>e</sub>X</span> distribution, such as +<code>/usr/share/texmf</code> and <code>~/texmf</code> on UN*X systems +or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf</code> on +Windows systems. When in doubt, consult the manual of your <span +class="tex">T<sub>e</sub>X</span> distribution.</p> +<h3 data-number="1.2.2" id="portable-installation"><span +class="header-section-number">1.2.2</span> Portable Installation</h3> +<p>Alternatively, you can also store the above files in the same folder +as your <span class="tex">T<sub>e</sub>X</span> document and distribute +them together. This way your document can be portably typeset on legacy +<span class="tex">T<sub>e</sub>X</span> distributions.</p> +<p>Since Markdown version 2.10.0, the file <code>markdown.tex</code> +must be placed in a directory named <code>markdown</code> due to <a +href="https://github.com/witiko/markdown/issues/74" +title="Does not compile if user names own document markdown.tex">issue +#74</a>.</p> +<h2 data-number="1.3" id="first-document"><span +class="header-section-number">1.3</span> First Document</h2> +<p>In this section, we will take the necessary steps to typeset our +first markdown document in <span class="tex">T<sub>e</sub>X</span>. This +will serve as our first hands-on experience with the package and also as +a reassurance that the package has been correctly installed.</p> +<p>If you are using <a +href="https://hub.docker.com/r/witiko/markdown/tags" +title="witiko/markdown - Docker Image">our official Docker image</a>, +you need to prefix all commands in this section with +<code>docker run --rm -v "$PWD"/workdir:/workdir -w /workdir witiko/markdown</code>. +For example, instead of <code>luatex document.tex</code>, you would +execute the following command:</p> +<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">docker</span> run <span class="at">--rm</span> <span class="at">-v</span> <span class="st">"</span><span class="va">$PWD</span><span class="st">"</span>/workdir:/workdir <span class="at">-w</span> /workdir witiko/markdown <span class="dt">\</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> luatex document.tex</span></code></pre></div> +<h3 data-number="1.3.1" id="using-lua"><span +class="header-section-number">1.3.1</span> Using Lua</h3> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb4"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> hello</span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<h4 data-number="1.3.1.1" id="using-the-lua-module"><span +class="header-section-number">1.3.1.1</span> Using the Lua Module</h4> +<p>Using a text editor, create a text document named +<code>hello.lua</code> with the following content:</p> +<div class="sourceCode" id="cb5"><pre +class="sourceCode lua"><code class="sourceCode lua"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="co">#!/usr/bin/env texlua</span></span> +<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> ran_ok<span class="op">,</span> kpse <span class="op">=</span> <span class="fu">pcall</span><span class="op">(</span><span class="fu">require</span><span class="op">,</span> <span class="st">"kpse"</span><span class="op">)</span></span> +<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> ran_ok <span class="cf">then</span> kpse<span class="op">.</span>set_program_name<span class="op">(</span><span class="st">"luatex"</span><span class="op">)</span> <span class="cf">end</span></span> +<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> markdown <span class="op">=</span> <span class="fu">require</span><span class="op">(</span><span class="st">"markdown"</span><span class="op">)</span></span> +<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> convert <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">()</span></span> +<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a><span class="fu">print</span><span class="op">(</span>convert<span class="op">(</span><span class="st">"Hello *world*!"</span><span class="op">))</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> hello.lua <span class="op">></span> hello.tex</span> +<span id="cb6-2"><a href="#cb6-2" 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>!” Invoking pdfTeX should have the +same effect:</p> +<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> hello.lua <span class="op">></span> hello.tex</span> +<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> +<h4 data-number="1.3.1.2" +id="using-the-lua-command-line-interface"><span +class="header-section-number">1.3.1.2</span> Using the Lua Command-Line +Interface</h4> +<p>Using a text editor, create a text document named +<code>hello.md</code> with the following content:</p> +<div class="sourceCode" id="cb8"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> hello.md hello.tex</span> +<span id="cb9-2"><a href="#cb9-2" 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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the +same effect:</p> +<div class="sourceCode" id="cb10"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> hello.md hello.tex</span> +<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> +<h3 data-number="1.3.2" id="using-plain-tex"><span +class="header-section-number">1.3.2</span> Using Plain <span +class="tex">T<sub>e</sub>X</span></h3> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb11"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb11-2"><a href="#cb11-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb11-3"><a href="#cb11-3" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb11-4"><a href="#cb11-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb11-5"><a href="#cb11-5" 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="cb12"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-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>!” Invoking pdfTeX should have the +same effect:</p> +<div class="sourceCode" id="cb13"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> <span class="at">--shell-escape</span> document.tex</span></code></pre></div> +<h3 data-number="1.3.3" id="using-latex"><span +class="header-section-number">1.3.3</span> Using <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb14"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb14-7"><a href="#cb14-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="cb15"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-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>!” Invoking pdfTeX should have the +same effect:</p> +<div class="sourceCode" id="cb16"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdflatex</span> <span class="at">--shell-escape</span> document.tex</span></code></pre></div> <hr /> -<p>As the next step, try typesetting the example documents distributed along with the Markdown package:</p> -<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span> -<span id="cb17-2"><a href="#cb17-2" aria-hidden="true"></a><span class="bu">cd</span> markdown/examples</span> -<span id="cb17-3"><a href="#cb17-3" aria-hidden="true"></a><span class="ex">lualatex</span> latex.tex</span></code></pre></div> -<p>A PDF document named <code>latex.pdf</code> should be produced. Open the text documents <code>latex.tex</code> and <code>example.md</code> in a text editor to see how the example documents are structured. Try changing the documents and typesetting them as follows:</p> -<div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true"></a><span class="ex">lualatex</span> latex.tex</span></code></pre></div> +<p>As the next step, try typesetting the example documents distributed +along with the Markdown package:</p> +<div class="sourceCode" id="cb17"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span> +<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> markdown/examples</span> +<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> latex.tex</span></code></pre></div> +<p>A PDF document named <code>latex.pdf</code> should be produced. Open +the text documents <code>latex.tex</code> and <code>example.md</code> in +a text editor to see how the example documents are structured. Try +changing the documents and typesetting them as follows:</p> +<div class="sourceCode" id="cb18"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> latex.tex</span></code></pre></div> <p>to see the effect of your changes.</p> -<h3 data-number="1.3.4" id="using-context"><span class="header-section-number">1.3.4</span> Using Con<span class="tex">T<sub>e</sub>X</span>t</h3> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb19"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb19-2"><a href="#cb19-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb19-3"><a href="#cb19-3" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb19-4"><a href="#cb19-4" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb19-5"><a href="#cb19-5" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb19-6"><a href="#cb19-6" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true"></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>!” Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--shell-escape document.tex</span></code></pre></div> +<h3 data-number="1.3.4" id="using-context"><span +class="header-section-number">1.3.4</span> Using Con<span +class="tex">T<sub>e</sub>X</span>t</h3> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb19"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb19-5"><a href="#cb19-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb19-6"><a href="#cb19-6" 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="cb20"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-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>!” Invoking pdfTeX should have the +same effect:</p> +<div class="sourceCode" id="cb21"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texexec</span> <span class="at">--passon</span><span class="op">=</span>--shell-escape document.tex</span></code></pre></div> <hr /> -<p>As the next step, try typesetting the example documents distributed along with the Markdown package:</p> -<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span> -<span id="cb22-2"><a href="#cb22-2" aria-hidden="true"></a><span class="bu">cd</span> markdown/examples</span> -<span id="cb22-3"><a href="#cb22-3" aria-hidden="true"></a><span class="ex">context</span> context.tex</span></code></pre></div> -<p>A PDF document named <code>context.pdf</code> should be produced. Open the text documents <code>context.tex</code> and <code>example.md</code> in a text editor to see how the example documents are structured. Try changing the documents and typesetting them as follows:</p> -<div class="sourceCode" id="cb23"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true"></a><span class="ex">context</span> context.tex</span></code></pre></div> +<p>As the next step, try typesetting the example documents distributed +along with the Markdown package:</p> +<div class="sourceCode" id="cb22"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span> +<span id="cb22-2"><a href="#cb22-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> markdown/examples</span> +<span id="cb22-3"><a href="#cb22-3" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> context.tex</span></code></pre></div> +<p>A PDF document named <code>context.pdf</code> should be produced. +Open the text documents <code>context.tex</code> and +<code>example.md</code> in a text editor to see how the example +documents are structured. Try changing the documents and typesetting +them as follows:</p> +<div class="sourceCode" id="cb23"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="ex">context</span> context.tex</span></code></pre></div> <p>to see the effect of your changes.</p> -<h1 data-number="2" id="examples"><span class="header-section-number">2</span> Examples</h1> -<p>In this section, I will describe the individual parts of the Markdown package. Each part will be shown by example, leaving the implementation details to the <a href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for <span class="tex">T<sub>e</sub>X</span>">technical documentation</a>.</p> -<h2 data-number="2.1" id="interfaces"><span class="header-section-number">2.1</span> Interfaces</h2> -<p>In this section, I will describe the individual interfaces exposed by the Markdown package starting with the low-level Lua interfaces and all the way up to the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span class="tex">T<sub>e</sub>X</span>t interfaces intended for the ordinary user.</p> -<h3 data-number="2.1.1" id="lua"><span class="header-section-number">2.1.1</span> Lua</h3> -<p>The Lua programming language is what drives the conversion from markdown to <span class="tex">T<sub>e</sub>X</span> in the Markdown package. Based on the <a href="https://github.com/jgm/lunamark" title="Lua library for conversion between markup formats">Lunamark</a> Lua library by John MacFarlane, the Lua implementation is largely independent on <span class="tex">T<sub>e</sub>X</span>, and can be used separately from typesetting a document. Lua provides two interfaces: a Lua module and a command-line interface (CLI).</p> -<h4 data-number="2.1.1.1" id="lua-module"><span class="header-section-number">2.1.1.1</span> Lua Module</h4> -<p>A Lua module is a software library that can be used from in other programs. The <code>markdown</code> Lua module makes it possible to convert markdown to <span class="tex">T<sub>e</sub>X</span> from within Lua<span class="tex">T<sub>e</sub>X</span> documents and Lua scripts.</p> -<p>The <code>markdown</code> Lua module exposes the <code>new(</code>⟨<em>options</em>⟩<code>)</code> method, which creates a converter function from markdown to <span class="tex">T<sub>e</sub>X</span>. The properties of the converter function are specified by the Lua table <code>options</code>. The parameter is optional; when unspecified, the behaviour will be the same as if ⟨<em>options</em>⟩ were an empty table.</p> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb24"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb24-2"><a href="#cb24-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb24-3"><a href="#cb24-3" aria-hidden="true"></a><span class="fu">\input</span> example</span> -<span id="cb24-4"><a href="#cb24-4" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Using a text editor, create a text document named <code>example.lua</code> with the following content:</p> -<div class="sourceCode" id="cb25"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true"></a><span class="co">#!/usr/bin/env texlua</span></span> -<span id="cb25-2"><a href="#cb25-2" aria-hidden="true"></a><span class="kw">local</span> ran_ok<span class="op">,</span> kpse <span class="op">=</span> <span class="fu">pcall</span><span class="op">(</span><span class="fu">require</span><span class="op">,</span> <span class="st">"kpse"</span><span class="op">)</span></span> -<span id="cb25-3"><a href="#cb25-3" aria-hidden="true"></a><span class="cf">if</span> ran_ok <span class="cf">then</span> kpse<span class="op">.</span>set_program_name<span class="op">(</span><span class="st">"luatex"</span><span class="op">)</span> <span class="cf">end</span></span> -<span id="cb25-4"><a href="#cb25-4" aria-hidden="true"></a><span class="kw">local</span> markdown <span class="op">=</span> <span class="fu">require</span><span class="op">(</span><span class="st">"markdown"</span><span class="op">)</span></span> -<span id="cb25-5"><a href="#cb25-5" aria-hidden="true"></a><span class="kw">local</span> input<span class="op">,</span> convert_safe<span class="op">,</span> convert_unsafe<span class="op">,</span> paragraph</span> -<span id="cb25-6"><a href="#cb25-6" aria-hidden="true"></a></span> -<span id="cb25-7"><a href="#cb25-7" aria-hidden="true"></a>input <span class="op">=</span> <span class="vs">[[$\sqrt{-1}$ *equals* $i$.]]</span></span> -<span id="cb25-8"><a href="#cb25-8" aria-hidden="true"></a>convert_safe <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">()</span></span> -<span id="cb25-9"><a href="#cb25-9" aria-hidden="true"></a>convert_unsafe <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">({</span>hybrid <span class="op">=</span> <span class="kw">true</span><span class="op">})</span></span> -<span id="cb25-10"><a href="#cb25-10" aria-hidden="true"></a>paragraph <span class="op">=</span> <span class="vs">[[\par]]</span></span> -<span id="cb25-11"><a href="#cb25-11" aria-hidden="true"></a></span> -<span id="cb25-12"><a href="#cb25-12" aria-hidden="true"></a><span class="fu">print</span><span class="op">(</span></span> -<span id="cb25-13"><a href="#cb25-13" aria-hidden="true"></a> convert_safe<span class="op">(</span>input<span class="op">)</span> <span class="op">..</span> paragraph <span class="op">..</span></span> -<span id="cb25-14"><a href="#cb25-14" aria-hidden="true"></a> convert_unsafe<span class="op">(</span>input<span class="op">)</span></span> -<span id="cb25-15"><a href="#cb25-15" aria-hidden="true"></a><span class="op">)</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true"></a><span class="ex">texlua</span> example.lua <span class="op">></span> example.tex</span> -<span id="cb26-2"><a href="#cb26-2" aria-hidden="true"></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> +<h1 data-number="2" id="examples"><span +class="header-section-number">2</span> Examples</h1> +<p>In this section, I will describe the individual parts of the Markdown +package. Each part will be shown by example, leaving the implementation +details to the <a +href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" +title="A Markdown Interpreter for <span class="tex">T<sub>e</sub>X</span>">technical +documentation</a>.</p> +<h2 data-number="2.1" id="interfaces"><span +class="header-section-number">2.1</span> Interfaces</h2> +<p>In this section, I will describe the individual interfaces exposed by +the Markdown package starting with the low-level Lua interfaces and all +the way up to the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> +and Con<span class="tex">T<sub>e</sub>X</span>t interfaces intended for +the ordinary user.</p> +<h3 data-number="2.1.1" id="lua"><span +class="header-section-number">2.1.1</span> Lua</h3> +<p>The Lua programming language is what drives the conversion from +markdown to <span class="tex">T<sub>e</sub>X</span> in the Markdown +package. Based on the <a href="https://github.com/jgm/lunamark" +title="Lua library for conversion between markup formats">Lunamark</a> +Lua library by John MacFarlane, the Lua implementation is largely +independent on <span class="tex">T<sub>e</sub>X</span>, and can be used +separately from typesetting a document. Lua provides two interfaces: a +Lua module and a command-line interface (CLI).</p> +<h4 data-number="2.1.1.1" id="lua-module"><span +class="header-section-number">2.1.1.1</span> Lua Module</h4> +<p>A Lua module is a software library that can be used from in other +programs. The <code>markdown</code> Lua module makes it possible to +convert markdown to <span class="tex">T<sub>e</sub>X</span> from within +Lua<span class="tex">T<sub>e</sub>X</span> documents and Lua +scripts.</p> +<p>The <code>markdown</code> Lua module exposes the +<code>new(</code>⟨<em>options</em>⟩<code>)</code> method, which creates +a converter function from markdown to <span +class="tex">T<sub>e</sub>X</span>. The properties of the converter +function are specified by the Lua table <code>options</code>. The +parameter is optional; when unspecified, the behaviour will be the same +as if ⟨<em>options</em>⟩ were an empty table.</p> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb24"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb24-3"><a href="#cb24-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> example</span> +<span id="cb24-4"><a href="#cb24-4" 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.lua</code> with the following content:</p> +<div class="sourceCode" id="cb25"><pre +class="sourceCode lua"><code class="sourceCode lua"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="co">#!/usr/bin/env texlua</span></span> +<span id="cb25-2"><a href="#cb25-2" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> ran_ok<span class="op">,</span> kpse <span class="op">=</span> <span class="fu">pcall</span><span class="op">(</span><span class="fu">require</span><span class="op">,</span> <span class="st">"kpse"</span><span class="op">)</span></span> +<span id="cb25-3"><a href="#cb25-3" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> ran_ok <span class="cf">then</span> kpse<span class="op">.</span>set_program_name<span class="op">(</span><span class="st">"luatex"</span><span class="op">)</span> <span class="cf">end</span></span> +<span id="cb25-4"><a href="#cb25-4" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> markdown <span class="op">=</span> <span class="fu">require</span><span class="op">(</span><span class="st">"markdown"</span><span class="op">)</span></span> +<span id="cb25-5"><a href="#cb25-5" aria-hidden="true" tabindex="-1"></a><span class="kw">local</span> input<span class="op">,</span> convert_safe<span class="op">,</span> convert_unsafe<span class="op">,</span> paragraph</span> +<span id="cb25-6"><a href="#cb25-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb25-7"><a href="#cb25-7" aria-hidden="true" tabindex="-1"></a>input <span class="op">=</span> <span class="vs">[[$\sqrt{-1}$ *equals* $i$.]]</span></span> +<span id="cb25-8"><a href="#cb25-8" aria-hidden="true" tabindex="-1"></a>convert_safe <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">()</span></span> +<span id="cb25-9"><a href="#cb25-9" aria-hidden="true" tabindex="-1"></a>convert_unsafe <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">({</span>hybrid <span class="op">=</span> <span class="kw">true</span><span class="op">})</span></span> +<span id="cb25-10"><a href="#cb25-10" aria-hidden="true" tabindex="-1"></a>paragraph <span class="op">=</span> <span class="vs">[[\par]]</span></span> +<span id="cb25-11"><a href="#cb25-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb25-12"><a href="#cb25-12" aria-hidden="true" tabindex="-1"></a><span class="fu">print</span><span class="op">(</span></span> +<span id="cb25-13"><a href="#cb25-13" aria-hidden="true" tabindex="-1"></a> convert_safe<span class="op">(</span>input<span class="op">)</span> <span class="op">..</span> paragraph <span class="op">..</span></span> +<span id="cb25-14"><a href="#cb25-14" aria-hidden="true" tabindex="-1"></a> convert_unsafe<span class="op">(</span>input<span class="op">)</span></span> +<span id="cb25-15"><a href="#cb25-15" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb26"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> example.lua <span class="op">></span> example.tex</span> +<span id="cb26-2"><a href="#cb26-2" 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>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb27"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true"></a><span class="ex">texlua</span> example.lua <span class="op">></span> example.tex</span> -<span id="cb27-2"><a href="#cb27-2" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> +<div class="sourceCode" id="cb27"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> example.lua <span class="op">></span> example.tex</span> +<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> <hr /> -<p>Rather than use the <code>texlua</code> interpreter, we can also access the <code>markdown</code> Lua module directly from our document. Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb28"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb28-2"><a href="#cb28-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb28-3"><a href="#cb28-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb28-4"><a href="#cb28-4" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb28-5"><a href="#cb28-5" aria-hidden="true"></a> local input, convert_safe, convert_unsafe, paragraph</span> -<span id="cb28-6"><a href="#cb28-6" aria-hidden="true"></a></span> -<span id="cb28-7"><a href="#cb28-7" aria-hidden="true"></a> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</span> -<span id="cb28-8"><a href="#cb28-8" aria-hidden="true"></a> convert_safe = markdown.new()</span> -<span id="cb28-9"><a href="#cb28-9" aria-hidden="true"></a> convert_unsafe = markdown.new({hybrid = true})</span> -<span id="cb28-10"><a href="#cb28-10" aria-hidden="true"></a> paragraph = [[<span class="fu">\par</span>]]</span> -<span id="cb28-11"><a href="#cb28-11" aria-hidden="true"></a></span> -<span id="cb28-12"><a href="#cb28-12" aria-hidden="true"></a> tex.sprint(</span> -<span id="cb28-13"><a href="#cb28-13" aria-hidden="true"></a> convert_safe(input) .. paragraph ..</span> -<span id="cb28-14"><a href="#cb28-14" aria-hidden="true"></a> convert_unsafe(input)</span> -<span id="cb28-15"><a href="#cb28-15" aria-hidden="true"></a> )</span> -<span id="cb28-16"><a href="#cb28-16" aria-hidden="true"></a>}</span> -<span id="cb28-17"><a href="#cb28-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb29"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true"></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> +<p>Rather than use the <code>texlua</code> interpreter, we can also +access the <code>markdown</code> Lua module directly from our document. +Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb28"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb28-3"><a href="#cb28-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb28-4"><a href="#cb28-4" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb28-5"><a href="#cb28-5" aria-hidden="true" tabindex="-1"></a> local input, convert_safe, convert_unsafe, paragraph</span> +<span id="cb28-6"><a href="#cb28-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb28-7"><a href="#cb28-7" aria-hidden="true" tabindex="-1"></a> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</span> +<span id="cb28-8"><a href="#cb28-8" aria-hidden="true" tabindex="-1"></a> convert_safe = markdown.new()</span> +<span id="cb28-9"><a href="#cb28-9" aria-hidden="true" tabindex="-1"></a> convert_unsafe = markdown.new({hybrid = true})</span> +<span id="cb28-10"><a href="#cb28-10" aria-hidden="true" tabindex="-1"></a> paragraph = [[<span class="fu">\par</span>]]</span> +<span id="cb28-11"><a href="#cb28-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb28-12"><a href="#cb28-12" aria-hidden="true" tabindex="-1"></a> tex.sprint(</span> +<span id="cb28-13"><a href="#cb28-13" aria-hidden="true" tabindex="-1"></a> convert_safe(input) .. paragraph ..</span> +<span id="cb28-14"><a href="#cb28-14" aria-hidden="true" tabindex="-1"></a> convert_unsafe(input)</span> +<span id="cb28-15"><a href="#cb28-15" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb28-16"><a href="#cb28-16" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb28-17"><a href="#cb28-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="cb29"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-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>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> -<p>In this case, we cannot use pdfTeX, because pdfTeX does not define the <code>\directlua</code> <span class="tex">T<sub>e</sub>X</span> command.</p> -<h4 data-number="2.1.1.2" id="lua-command-line-interface"><span class="header-section-number">2.1.1.2</span> Lua Command-Line Interface</h4> -<p>The Lua command-line interface (CLI) of the Markdown package makes the functionality of the Lua module accessible from the command line. This makes it possible to convert documents from markdown to <span class="tex">T<sub>e</sub>X</span> manually without any knowledge of the Lua programming language.</p> -<p>The Lua command-line interface accepts the same options as the <code>markdown</code> Lua module, but now the options are specified as command-line parameters.</p> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb30"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb30-2"><a href="#cb30-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb30-3"><a href="#cb30-3" aria-hidden="true"></a><span class="fu">\input</span> safe</span> -<span id="cb30-4"><a href="#cb30-4" aria-hidden="true"></a></span> -<span id="cb30-5"><a href="#cb30-5" aria-hidden="true"></a><span class="fu">\begingroup</span></span> -<span id="cb30-6"><a href="#cb30-6" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> -<span id="cb30-7"><a href="#cb30-7" aria-hidden="true"></a><span class="fu">\input</span> unsafe</span> -<span id="cb30-8"><a href="#cb30-8" aria-hidden="true"></a><span class="fu">\endgroup</span></span> -<span id="cb30-9"><a href="#cb30-9" aria-hidden="true"></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:</p> -<div class="sourceCode" id="cb31"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true"></a>$\sqrt{-1}$ *equals* $i$.</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- example.md safe.tex</span> -<span id="cb32-2"><a href="#cb32-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- example.md unsafe.tex</span> -<span id="cb32-3"><a href="#cb32-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<p>In this case, we cannot use pdfTeX, because pdfTeX does not define +the <code>\directlua</code> <span class="tex">T<sub>e</sub>X</span> +command.</p> +<h4 data-number="2.1.1.2" id="lua-command-line-interface"><span +class="header-section-number">2.1.1.2</span> Lua Command-Line +Interface</h4> +<p>The Lua command-line interface (CLI) of the Markdown package makes +the functionality of the Lua module accessible from the command line. +This makes it possible to convert documents from markdown to <span +class="tex">T<sub>e</sub>X</span> manually without any knowledge of the +Lua programming language.</p> +<p>The Lua command-line interface accepts the same options as the +<code>markdown</code> Lua module, but now the options are specified as +command-line parameters.</p> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb30"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb30-2"><a href="#cb30-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb30-3"><a href="#cb30-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> safe</span> +<span id="cb30-4"><a href="#cb30-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb30-5"><a href="#cb30-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\begingroup</span></span> +<span id="cb30-6"><a href="#cb30-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> +<span id="cb30-7"><a href="#cb30-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> unsafe</span> +<span id="cb30-8"><a href="#cb30-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\endgroup</span></span> +<span id="cb30-9"><a href="#cb30-9" 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:</p> +<div class="sourceCode" id="cb31"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a>$\sqrt{-1}$ *equals* $i$.</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb32"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> example.md safe.tex</span> +<span id="cb32-2"><a href="#cb32-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true <span class="at">--</span> example.md unsafe.tex</span> +<span id="cb32-3"><a href="#cb32-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- example.md safe.tex</span> -<span id="cb33-2"><a href="#cb33-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- example.md unsafe.tex</span> -<span id="cb33-3"><a href="#cb33-3" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> -<h3 data-number="2.1.2" id="plain-tex"><span class="header-section-number">2.1.2</span> Plain <span class="tex">T<sub>e</sub>X</span></h3> -<p>The plain <span class="tex">T<sub>e</sub>X</span> interface provides <span class="tex">T<sub>e</sub>X</span> commands that typeset markdown documents by using the Lua interface behind the scenes. Unlike the Lua interface, the plain TeX interface does not provide low-level tools for converting markdown to <span class="tex">T<sub>e</sub>X</span>. Instead, its goal is to provide high-level typesetting capabilities.</p> -<p>The plain <span class="tex">T<sub>e</sub>X</span> interface accepts the same options as the <code>markdown</code> Lua module, in addition to its own options, but now the options are specified as <span class="tex">T<sub>e</sub>X</span> commands.</p> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb34"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb34-2"><a href="#cb34-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb34-3"><a href="#cb34-3" aria-hidden="true"></a></span> -<span id="cb34-4"><a href="#cb34-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb34-5"><a href="#cb34-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb34-6"><a href="#cb34-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb34-7"><a href="#cb34-7" aria-hidden="true"></a></span> -<span id="cb34-8"><a href="#cb34-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> -<span id="cb34-9"><a href="#cb34-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb34-10"><a href="#cb34-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb34-11"><a href="#cb34-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb34-12"><a href="#cb34-12" aria-hidden="true"></a></span> -<span id="cb34-13"><a href="#cb34-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb33"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> example.md safe.tex</span> +<span id="cb33-2"><a href="#cb33-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true <span class="at">--</span> example.md unsafe.tex</span> +<span id="cb33-3"><a href="#cb33-3" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div> +<h3 data-number="2.1.2" id="plain-tex"><span +class="header-section-number">2.1.2</span> Plain <span +class="tex">T<sub>e</sub>X</span></h3> +<p>The plain <span class="tex">T<sub>e</sub>X</span> interface provides +<span class="tex">T<sub>e</sub>X</span> commands that typeset markdown +documents by using the Lua interface behind the scenes. Unlike the Lua +interface, the plain TeX interface does not provide low-level tools for +converting markdown to <span class="tex">T<sub>e</sub>X</span>. Instead, +its goal is to provide high-level typesetting capabilities.</p> +<p>The plain <span class="tex">T<sub>e</sub>X</span> interface accepts +the same options as the <code>markdown</code> Lua module, in addition to +its own options, but now the options are specified as <span +class="tex">T<sub>e</sub>X</span> commands.</p> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb34"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb34-2"><a href="#cb34-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb34-3"><a href="#cb34-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb34-4"><a href="#cb34-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb34-5"><a href="#cb34-5" 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="cb34-6"><a href="#cb34-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb34-7"><a href="#cb34-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb34-8"><a href="#cb34-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> +<span id="cb34-9"><a href="#cb34-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb34-10"><a href="#cb34-10" 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="cb34-11"><a href="#cb34-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb34-12"><a href="#cb34-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb34-13"><a href="#cb34-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="cb35"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-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>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb36"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true"></a><span class="ex">pdftex</span> --shell-escape document.tex</span></code></pre></div> -<h3 data-number="2.1.3" id="latex"><span class="header-section-number">2.1.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3> -<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface provides the same level of functionality as the plain <span class="tex">T<sub>e</sub>X</span> interface by using the plain <span class="tex">T<sub>e</sub>X</span> interface behind the scenes. Unlike the plain <span class="tex">T<sub>e</sub>X</span> interface, the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface uses familiar <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> idioms, such as package options and environments.</p> -<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface accepts the same options as the plain <span class="tex">T<sub>e</sub>X</span> interface, but now the options are specified as ⟨<em>key</em>⟩<span class="math inline"> = </span>⟨<em>value</em>⟩ pairs and they are passed either as package options, in the <code>\markdownSetup</code> command, or as parameters for the <code>markdown*</code> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> environment.</p> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb37"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb37-2"><a href="#cb37-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb37-3"><a href="#cb37-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb37-4"><a href="#cb37-4" aria-hidden="true"></a></span> -<span id="cb37-5"><a href="#cb37-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb37-6"><a href="#cb37-6" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb37-7"><a href="#cb37-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb37-8"><a href="#cb37-8" aria-hidden="true"></a></span> -<span id="cb37-9"><a href="#cb37-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> -<span id="cb37-10"><a href="#cb37-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb37-11"><a href="#cb37-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb37-12"><a href="#cb37-12" aria-hidden="true"></a></span> -<span id="cb37-13"><a href="#cb37-13" aria-hidden="true"></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="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb36"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> <span class="at">--shell-escape</span> document.tex</span></code></pre></div> +<h3 data-number="2.1.3" id="latex"><span +class="header-section-number">2.1.3</span> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3> +<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface +provides the same level of functionality as the plain <span +class="tex">T<sub>e</sub>X</span> interface by using the plain <span +class="tex">T<sub>e</sub>X</span> interface behind the scenes. Unlike +the plain <span class="tex">T<sub>e</sub>X</span> interface, the <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface uses familiar +<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> idioms, such as +package options and environments.</p> +<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface +accepts the same options as the plain <span +class="tex">T<sub>e</sub>X</span> interface, but now the options are +specified as ⟨<em>key</em>⟩<span +class="math inline"> = </span>⟨<em>value</em>⟩ pairs and they are passed +either as package options, in the <code>\markdownSetup</code> command, +or as parameters for the <code>markdown*</code> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> environment.</p> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb37"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb37-2"><a href="#cb37-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb37-3"><a href="#cb37-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb37-4"><a href="#cb37-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb37-5"><a href="#cb37-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb37-6"><a href="#cb37-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="cb37-7"><a href="#cb37-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb37-8"><a href="#cb37-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb37-9"><a href="#cb37-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> +<span id="cb37-10"><a href="#cb37-10" 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="cb37-11"><a href="#cb37-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb37-12"><a href="#cb37-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb37-13"><a href="#cb37-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="cb38"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-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>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb39"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true"></a><span class="ex">pdflatex</span> --shell-escape document.tex</span></code></pre></div> -<h3 data-number="2.1.4" id="context"><span class="header-section-number">2.1.4</span> Con<span class="tex">T<sub>e</sub>X</span>t</h3> -<p>The Con<span class="tex">T<sub>e</sub>X</span>t interface provides the same level of functionality as the plain <span class="tex">T<sub>e</sub>X</span> interface by using the plain <span class="tex">T<sub>e</sub>X</span> interface behind the scenes. Unlike the plain <span class="tex">T<sub>e</sub>X</span> interface, the Con<span class="tex">T<sub>e</sub>X</span>t interface uses familiar Con<span class="tex">T<sub>e</sub>X</span>t idioms as syntactic sugar.</p> -<p>The Con<span class="tex">T<sub>e</sub>X</span>t interface accepts the same options as the plain <span class="tex">T<sub>e</sub>X</span> interface.</p> -<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb40"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb40-2"><a href="#cb40-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb40-3"><a href="#cb40-3" aria-hidden="true"></a></span> -<span id="cb40-4"><a href="#cb40-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb40-5"><a href="#cb40-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb40-6"><a href="#cb40-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb40-7"><a href="#cb40-7" aria-hidden="true"></a></span> -<span id="cb40-8"><a href="#cb40-8" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> -<span id="cb40-9"><a href="#cb40-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb40-10"><a href="#cb40-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb40-11"><a href="#cb40-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb40-12"><a href="#cb40-12" aria-hidden="true"></a></span> -<span id="cb40-13"><a href="#cb40-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb39"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdflatex</span> <span class="at">--shell-escape</span> document.tex</span></code></pre></div> +<h3 data-number="2.1.4" id="context"><span +class="header-section-number">2.1.4</span> Con<span +class="tex">T<sub>e</sub>X</span>t</h3> +<p>The Con<span class="tex">T<sub>e</sub>X</span>t interface provides +the same level of functionality as the plain <span +class="tex">T<sub>e</sub>X</span> interface by using the plain <span +class="tex">T<sub>e</sub>X</span> interface behind the scenes. Unlike +the plain <span class="tex">T<sub>e</sub>X</span> interface, the +Con<span class="tex">T<sub>e</sub>X</span>t interface uses familiar +Con<span class="tex">T<sub>e</sub>X</span>t idioms as syntactic +sugar.</p> +<p>The Con<span class="tex">T<sub>e</sub>X</span>t interface accepts the +same options as the plain <span class="tex">T<sub>e</sub>X</span> +interface.</p> +<p>Using a text editor, create a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb40"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb40-2"><a href="#cb40-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb40-3"><a href="#cb40-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb40-4"><a href="#cb40-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb40-5"><a href="#cb40-5" 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="cb40-6"><a href="#cb40-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb40-7"><a href="#cb40-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb40-8"><a href="#cb40-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> +<span id="cb40-9"><a href="#cb40-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb40-10"><a href="#cb40-10" 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="cb40-11"><a href="#cb40-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb40-12"><a href="#cb40-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb40-13"><a href="#cb40-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="cb41"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-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>$\sqrt{-1}$ <em>equals</em> $i$.</p> <p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p> </blockquote> <p>Invoking pdfTeX should have the same effect:</p> -<div class="sourceCode" id="cb42"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--shell-escape document.tex</span></code></pre></div> -<h2 data-number="2.2" id="options"><span class="header-section-number">2.2</span> Options</h2> -<p>In this section, I will describe all the options recognized by the Markdown package.</p> -<h3 data-number="2.2.1" id="lua-1"><span class="header-section-number">2.2.1</span> Lua</h3> -<p>Lua options control the conversion from markdown to <span class="tex">T<sub>e</sub>X</span>. They are supported by all interfaces of the Markdown package starting with the low-level Lua interfaces and all the way up to the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span class="tex">T<sub>e</sub>X</span>t interfaces.</p> -<h4 data-number="2.2.1.1" id="option-cachedir"><span class="header-section-number">2.2.1.1</span> Option <code>cacheDir</code></h4> +<div class="sourceCode" id="cb42"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texexec</span> <span class="at">--passon</span><span class="op">=</span>--shell-escape document.tex</span></code></pre></div> +<h2 data-number="2.2" id="options"><span +class="header-section-number">2.2</span> Options</h2> +<p>In this section, I will describe all the options recognized by the +Markdown package.</p> +<h3 data-number="2.2.1" id="lua-1"><span +class="header-section-number">2.2.1</span> Lua</h3> +<p>Lua options control the conversion from markdown to <span +class="tex">T<sub>e</sub>X</span>. They are supported by all interfaces +of the Markdown package starting with the low-level Lua interfaces and +all the way up to the <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span +class="tex">T<sub>e</sub>X</span>t interfaces.</p> +<h4 data-number="2.2.1.1" id="option-cachedir"><span +class="header-section-number">2.2.1.1</span> Option +<code>cacheDir</code></h4> <dl> <dt><code>cacheDir</code> (default value: <code>"."</code>)</dt> -<dd><p>A path to the directory containing auxiliary cache files. If the last segment of the path does not exist, it will be created by the Lua command-line and plain <span class="tex">T<sub>e</sub>X</span> implementations. The Lua implementation expects that the entire path already exists.</p> -<p>When iteratively writing and typesetting a markdown document, the cache files are going to accumulate over time. You are advised to clean the cache directory every now and then, or to set it to a temporary filesystem (such as <code>/tmp</code> on UN*X systems), which gets periodically emptied.</p> +<dd> +<p>A path to the directory containing auxiliary cache files. If the last +segment of the path does not exist, it will be created by the Lua +command-line and plain <span class="tex">T<sub>e</sub>X</span> +implementations. The Lua implementation expects that the entire path +already exists.</p> +<p>When iteratively writing and typesetting a markdown document, the +cache files are going to accumulate over time. You are advised to clean +the cache directory every now and then, or to set it to a temporary +filesystem (such as <code>/tmp</code> on UN*X systems), which gets +periodically emptied.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example">Lua Module 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="cb43"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb43-2"><a href="#cb43-2" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb43-3"><a href="#cb43-3" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb43-4"><a href="#cb43-4" aria-hidden="true"></a> local convert = markdown.new({cacheDir = "cache"})</span> -<span id="cb43-5"><a href="#cb43-5" aria-hidden="true"></a> local input = "Hello *world*!"</span> -<span id="cb43-6"><a href="#cb43-6" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb43-7"><a href="#cb43-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Create an empty directory named <code>cache</code> next to our text document. Then, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb44"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-1" aria-hidden="true"></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>!” Several cache files of the Markdown package will also be produced in the <code>cache</code> directory as we requested using the <code>cacheDir</code> option.</p> -<h5 class="unnumbered" data-number="" id="lua-cli-example">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="cb45"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb45-2"><a href="#cb45-2" aria-hidden="true"></a><span class="fu">\input</span> hello</span> -<span id="cb45-3"><a href="#cb45-3" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p> -<div class="sourceCode" id="cb46"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb47"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ cacheDir=cache -- hello.md hello.tex</span> -<span id="cb47-2"><a href="#cb47-2" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example">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="cb48"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb48-2"><a href="#cb48-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionCacheDir</span>{cache}</span> -<span id="cb48-3"><a href="#cb48-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb48-4"><a href="#cb48-4" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb48-5"><a href="#cb48-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb48-6"><a href="#cb48-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb49"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true"></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>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p> -<h5 class="unnumbered" data-number="" id="latex-example"><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="cb50"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb50-2"><a href="#cb50-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[cacheDir=cache]{<span class="ex">markdown</span>}</span> -<span id="cb50-3"><a href="#cb50-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb50-4"><a href="#cb50-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb50-5"><a href="#cb50-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb50-6"><a href="#cb50-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb50-7"><a href="#cb50-7" aria-hidden="true"></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="cb51"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true"></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>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p> -<h5 class="unnumbered" data-number="" id="context-example">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="cb52"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb52-1"><a href="#cb52-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb52-2"><a href="#cb52-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[cacheDir = cache]</span> -<span id="cb52-3"><a href="#cb52-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb52-4"><a href="#cb52-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb52-5"><a href="#cb52-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb52-6"><a href="#cb52-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb52-7"><a href="#cb52-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb53"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true"></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>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p> -<h4 data-number="2.2.1.2" id="option-frozencachefilename"><span class="header-section-number">2.2.1.2</span> Option <code>frozenCacheFileName</code></h4> +<h5 class="unnumbered" id="lua-module-example">Lua Module 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="cb43"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb43-2"><a href="#cb43-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb43-3"><a href="#cb43-3" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb43-4"><a href="#cb43-4" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new({cacheDir = "cache"})</span> +<span id="cb43-5"><a href="#cb43-5" aria-hidden="true" tabindex="-1"></a> local input = "Hello *world*!"</span> +<span id="cb43-6"><a href="#cb43-6" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb43-7"><a href="#cb43-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> +<p>Create an empty directory named <code>cache</code> next to our text +document. Then, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb44"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-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>!” Several cache files of the +Markdown package will also be produced in the <code>cache</code> +directory as we requested using the <code>cacheDir</code> option.</p> +<h5 class="unnumbered" id="lua-cli-example">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="cb45"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb45-2"><a href="#cb45-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> hello</span> +<span id="cb45-3"><a href="#cb45-3" 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>hello.md</code> with the following content:</p> +<div class="sourceCode" id="cb46"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb47"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ cacheDir=cache <span class="at">--</span> hello.md hello.tex</span> +<span id="cb47-2"><a href="#cb47-2" 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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the text “Hello <em>world</em>!” A directory named +<code>cache</code> containing several cache files of the Markdown +package will also be produced as we requested using the +<code>cacheDir</code> option.</p> +<h5 class="unnumbered" id="plain-tex-example">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="cb48"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb48-2"><a href="#cb48-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionCacheDir</span>{cache}</span> +<span id="cb48-3"><a href="#cb48-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb48-4"><a href="#cb48-4" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb48-5"><a href="#cb48-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb48-6"><a href="#cb48-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="cb49"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-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>!” A directory named +<code>cache</code> containing several cache files of the Markdown +package will also be produced as we requested using the +<code>cacheDir</code> option.</p> +<h5 class="unnumbered" id="latex-example"><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="cb50"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb50-2"><a href="#cb50-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[cacheDir=cache]{<span class="ex">markdown</span>}</span> +<span id="cb50-3"><a href="#cb50-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb50-4"><a href="#cb50-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb50-5"><a href="#cb50-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb50-6"><a href="#cb50-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb50-7"><a href="#cb50-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="cb51"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-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>!” A directory named +<code>cache</code> containing several cache files of the Markdown +package will also be produced as we requested using the +<code>cacheDir</code> option.</p> +<h5 class="unnumbered" id="context-example">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="cb52"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb52-1"><a href="#cb52-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb52-2"><a href="#cb52-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[cacheDir = cache]</span> +<span id="cb52-3"><a href="#cb52-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb52-4"><a href="#cb52-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb52-5"><a href="#cb52-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb52-6"><a href="#cb52-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb52-7"><a href="#cb52-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="cb53"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-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>!” A directory named +<code>cache</code> containing several cache files of the Markdown +package will also be produced as we requested using the +<code>cacheDir</code> option.</p> +<h4 data-number="2.2.1.2" id="option-contentblockslanguagemap"><span +class="header-section-number">2.2.1.2</span> Option +<code>contentBlocksLanguageMap</code></h4> <dl> -<dt><code>frozenCacheFileName</code> (default value: <code>"frozenCache.tex"</code>)</dt> -<dd><p>A path to an output file (frozen cache) that will be created when the <strong><code>finalizeCache</code></strong> option is enabled and will contain a mapping between an enumeration of markdown documents and their auxiliary cache files.</p> -<p>The frozen cache makes it possible to later typeset a plain <span class="tex">T<sub>e</sub>X</span> document that contains markdown documents without invoking Lua using the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected.</p> +<dt><code>contentBlocksLanguageMap</code> (default value: +<code>"markdown-languages.json"</code>)</dt> +<dd> +<p>The filename of the <abbr>JSON</abbr> file that maps filename +extensions to programming language names in the iA Writer content blocks +when the <strong><code>contentBlocks</code></strong> option is +enabled.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-1">Lua Module 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="cb54"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb54-2"><a href="#cb54-2" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb54-3"><a href="#cb54-3" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb54-4"><a href="#cb54-4" aria-hidden="true"></a> local convert = markdown.new({finalizeCache = true, frozenCacheFileName = "cache.tex"})</span> -<span id="cb54-5"><a href="#cb54-5" aria-hidden="true"></a> local input = "Hello *world*!"</span> -<span id="cb54-6"><a href="#cb54-6" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb54-7"><a href="#cb54-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="latex-example-1"><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>table.csv</code> with the following content:</p> +<pre class="csv"><code>Name,Surname,Born +Albert,Einstein,1879 +Marie,Curie,1867 +Thomas,Edison,1847</code></pre> +<p>Create also a text document named <code>language-map.json</code> with +the following content:</p> +<div class="sourceCode" id="cb55"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb55-2"><a href="#cb55-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"LaTeX"</span></span> +<span id="cb55-3"><a href="#cb55-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<p>Create also a text document named <code>code.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb56"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> +<p>Create also a text document named <code>part.md</code> with the +following content:</p> +<div class="sourceCode" id="cb57"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb57-1"><a href="#cb57-1" aria-hidden="true" tabindex="-1"></a>This is a *transcluded markdown document*.</span></code></pre></div> +<p>Create also a text document named <code>document.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb58"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb58-1"><a href="#cb58-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb58-2"><a href="#cb58-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> +<span id="cb58-3"><a href="#cb58-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> +<span id="cb58-4"><a href="#cb58-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb58-5"><a href="#cb58-5" aria-hidden="true" tabindex="-1"></a> contentBlocksLanguageMap = {language-map.json},</span> +<span id="cb58-6"><a href="#cb58-6" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb58-7"><a href="#cb58-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb58-8"><a href="#cb58-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb58-9"><a href="#cb58-9" aria-hidden="true" tabindex="-1"></a>/table.csv (An example table)</span> +<span id="cb58-10"><a href="#cb58-10" aria-hidden="true" tabindex="-1"></a>/code.tex (An example code listing)</span> +<span id="cb58-11"><a href="#cb58-11" aria-hidden="true" tabindex="-1"></a>/part.md (A file transclusion example)</span> +<span id="cb58-12"><a href="#cb58-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb58-13"><a href="#cb58-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="cb59"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb59-1"><a href="#cb59-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 text:</p> +<blockquote> +<table> +<thead> +<tr class="header"> +<th>Name</th> +<th>Surname</th> +<th>Born</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td>Albert</td> +<td>Einstein</td> +<td>1879</td> +</tr> +<tr class="even"> +<td>Marie</td> +<td>Curie</td> +<td>1867</td> +</tr> +<tr class="odd"> +<td>Thomas</td> +<td>Edison</td> +<td>1847</td> +</tr> +</tbody> +</table> +<p>Table 1: An example table</p> +<div class="sourceCode" id="cb60"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb60-1"><a href="#cb60-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> +<p>This is a <em>transcluded markdown document</em>.</p> +</blockquote> +<h5 class="unnumbered" id="context-example-1">Con<span +class="tex">T<sub>e</sub>X</span>t Example</h5> +<p>Using a text editor, create a text document named +<code>table.csv</code> with the following content:</p> +<pre class="csv"><code>Name,Surname,Born +Albert,Einstein,1879 +Marie,Curie,1867 +Thomas,Edison,1847</code></pre> +<p>Create also a text document named <code>language-map.json</code> with +the following content:</p> +<div class="sourceCode" id="cb62"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb62-1"><a href="#cb62-1" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb62-2"><a href="#cb62-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"ConTeXt"</span></span> +<span id="cb62-3"><a href="#cb62-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<p>Create also a text document named <code>code.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb63"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb63-1"><a href="#cb63-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> +<p>Create also a text document named <code>part.md</code> with the +following content:</p> +<div class="sourceCode" id="cb64"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb64-1"><a href="#cb64-1" aria-hidden="true" tabindex="-1"></a>This is a *transcluded markdown document*.</span></code></pre></div> +<p>Create also a text document named <code>document.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb65"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb65-1"><a href="#cb65-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb65-2"><a href="#cb65-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> +<span id="cb65-3"><a href="#cb65-3" aria-hidden="true" tabindex="-1"></a> [</span> +<span id="cb65-4"><a href="#cb65-4" aria-hidden="true" tabindex="-1"></a> contentBlocks = yes,</span> +<span id="cb65-5"><a href="#cb65-5" aria-hidden="true" tabindex="-1"></a> contentBlocksLanguageMap = language-map.json,</span> +<span id="cb65-6"><a href="#cb65-6" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb65-7"><a href="#cb65-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\definetyping</span> [ConTeXt]</span> +<span id="cb65-8"><a href="#cb65-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</span> +<span id="cb65-9"><a href="#cb65-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb65-10"><a href="#cb65-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb65-11"><a href="#cb65-11" aria-hidden="true" tabindex="-1"></a>/table.csv (An example table)</span> +<span id="cb65-12"><a href="#cb65-12" aria-hidden="true" tabindex="-1"></a>/code.tex (An example code listing)</span> +<span id="cb65-13"><a href="#cb65-13" aria-hidden="true" tabindex="-1"></a>/part.md (A file transclusion example)</span> +<span id="cb65-14"><a href="#cb65-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb65-15"><a href="#cb65-15" 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="cb66"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb66-1"><a href="#cb66-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> +<table> +<thead> +<tr class="header"> +<th>Name</th> +<th>Surname</th> +<th>Born</th> +</tr> +</thead> +<tbody> +<tr class="odd"> +<td>Albert</td> +<td>Einstein</td> +<td>1879</td> +</tr> +<tr class="even"> +<td>Marie</td> +<td>Curie</td> +<td>1867</td> +</tr> +<tr class="odd"> +<td>Thomas</td> +<td>Edison</td> +<td>1847</td> +</tr> +</tbody> +</table> +<p>Table 1: An example table</p> +<div class="sourceCode" id="cb67"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb67-1"><a href="#cb67-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> +<p>This is a <em>transcluded markdown document</em>.</p> +</blockquote> +<h4 data-number="2.2.1.3" id="option-debugextensionsfilename"><span +class="header-section-number">2.2.1.3</span> Option +<code>debugExtensionsFileName</code></h4> +<dl> +<dt><code>debugExtensionsFileName</code> (default value: +<code>"debug-extensions.json"</code>)</dt> +<dd> +<p>The filename of the <abbr>JSON</abbr> file that will be produced when +the <strong><code>debugExtensions</code></strong> option is enabled. +This file will contain the extensible subset of the <abbr>peg</abbr> +grammar of markdown after built-in syntax extensions (see options +<strong><code>citations</code></strong>, +<strong><code>contentBlocks</code></strong>, +<strong><code>definitionLists</code></strong>, etc.) and user-defined +syntax extensions (see option <strong><code>extensions</code></strong>) +have been applied.</p> +</dd> +</dl> +<h4 data-number="2.2.1.4" id="option-frozencachefilename"><span +class="header-section-number">2.2.1.4</span> Option +<code>frozenCacheFileName</code></h4> +<dl> +<dt><code>frozenCacheFileName</code> (default value: +<code>"frozenCache.tex"</code>)</dt> +<dd> +<p>A path to an output file (frozen cache) that will be created when the +<strong><code>finalizeCache</code></strong> option is enabled and will +contain a mapping between an enumeration of markdown documents and their +auxiliary cache files.</p> +<p>The frozen cache makes it possible to later typeset a plain <span +class="tex">T<sub>e</sub>X</span> document that contains markdown +documents without invoking Lua using the +<code>\markdownOptionFrozenCache</code> plain <span +class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span +class="tex">T<sub>e</sub>X</span> document becomes more portable, but +further changes in the order and the content of markdown documents will +not be reflected.</p> +</dd> +</dl> +<h5 class="unnumbered" id="lua-module-example-1">Lua Module 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="cb68"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb68-1"><a href="#cb68-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb68-2"><a href="#cb68-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb68-3"><a href="#cb68-3" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb68-4"><a href="#cb68-4" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new({finalizeCache = true, frozenCacheFileName = "cache.tex"})</span> +<span id="cb68-5"><a href="#cb68-5" aria-hidden="true" tabindex="-1"></a> local input = "Hello *world*!"</span> +<span id="cb68-6"><a href="#cb68-6" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb68-7"><a href="#cb68-7" 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="cb55"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true"></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>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p> -<h5 class="unnumbered" data-number="" id="lua-cli-example-1">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="cb56"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb56-2"><a href="#cb56-2" aria-hidden="true"></a><span class="fu">\input</span> hello</span> -<span id="cb56-3"><a href="#cb56-3" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p> -<div class="sourceCode" id="cb57"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb57-1"><a href="#cb57-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb58"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb58-1"><a href="#cb58-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ finalizeCache=true frozenCacheFileName=cache.tex -- hello.md hello.tex</span> -<span id="cb58-2"><a href="#cb58-2" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-1">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="cb59"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb59-1"><a href="#cb59-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb59-2"><a href="#cb59-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span> -<span id="cb59-3"><a href="#cb59-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span> -<span id="cb59-4"><a href="#cb59-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb59-5"><a href="#cb59-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb59-6"><a href="#cb59-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb59-7"><a href="#cb59-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb60"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb60-1"><a href="#cb60-1" aria-hidden="true"></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>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p> -<p>Next, create a new text document <code>frozen-document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb61"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb61-1"><a href="#cb61-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb61-2"><a href="#cb61-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span> -<span id="cb61-3"><a href="#cb61-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span> -<span id="cb61-4"><a href="#cb61-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb61-5"><a href="#cb61-5" aria-hidden="true"></a>Hi *world*!</span> -<span id="cb61-6"><a href="#cb61-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb61-7"><a href="#cb61-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb69"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb69-1"><a href="#cb69-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>!” A frozen cache will also be +produced in the <code>cache.tex</code> output file as we requested using +the <code>finalizeCache</code> and <code>frozenCacheFileName</code> +options.</p> +<h5 class="unnumbered" id="lua-cli-example-1">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="cb70"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb70-2"><a href="#cb70-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> hello</span> +<span id="cb70-3"><a href="#cb70-3" 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>hello.md</code> with the following content:</p> +<div class="sourceCode" id="cb71"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb72"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ finalizeCache=true frozenCacheFileName=cache.tex <span class="at">--</span> hello.md hello.tex</span> +<span id="cb72-2"><a href="#cb72-2" 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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the text “Hello <em>world</em>!” A frozen cache will also be +produced in the <code>cache.tex</code> output file as we requested using +the <code>finalizeCache</code> and <code>frozenCacheFileName</code> +options.</p> +<h5 class="unnumbered" id="plain-tex-example-1">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="cb73"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb73-2"><a href="#cb73-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span> +<span id="cb73-3"><a href="#cb73-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span> +<span id="cb73-4"><a href="#cb73-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb73-5"><a href="#cb73-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb73-6"><a href="#cb73-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb73-7"><a href="#cb73-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="cb74"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb74-1"><a href="#cb74-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>!” A frozen cache will also be +produced in the <code>cache.tex</code> output file as we requested using +the <code>finalizeCache</code> and <code>frozenCacheFileName</code> +options.</p> +<p>Next, create a new text document <code>frozen-document.tex</code> +with the following content:</p> +<div class="sourceCode" id="cb75"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb75-2"><a href="#cb75-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span> +<span id="cb75-3"><a href="#cb75-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span> +<span id="cb75-4"><a href="#cb75-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb75-5"><a href="#cb75-5" aria-hidden="true" tabindex="-1"></a>Hi *world*!</span> +<span id="cb75-6"><a href="#cb75-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb75-7"><a href="#cb75-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Last, invoke pdfTeX without shell access from the terminal:</p> -<div class="sourceCode" id="cb62"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb62-1"><a href="#cb62-1" aria-hidden="true"></a><span class="ex">pdftex</span> -no-shell-escape frozen-document.tex</span></code></pre></div> -<p>A PDF document named <code>frozen-document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset 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> -<h5 class="unnumbered" data-number="" id="latex-example-1"><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="cb63"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb63-1"><a href="#cb63-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</span> -<span id="cb63-2"><a href="#cb63-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</span> -<span id="cb63-3"><a href="#cb63-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb63-4"><a href="#cb63-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb63-5"><a href="#cb63-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb63-6"><a href="#cb63-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb63-7"><a href="#cb63-7" aria-hidden="true"></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="cb64"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb64-1"><a href="#cb64-1" aria-hidden="true"></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>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizecache</code> and <code>frozenCacheFileName</code> options.</p> -<p>Next, create a new text document <code>frozen-document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb65"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb65-1"><a href="#cb65-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</span> -<span id="cb65-2"><a href="#cb65-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</span> -<span id="cb65-3"><a href="#cb65-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb65-4"><a href="#cb65-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb65-5"><a href="#cb65-5" aria-hidden="true"></a>Hi *world*!</span> -<span id="cb65-6"><a href="#cb65-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb65-7"><a href="#cb65-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb76"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> <span class="at">-no-shell-escape</span> frozen-document.tex</span></code></pre></div> +<p>A PDF document named <code>frozen-document.pdf</code> should be +produced and contain the text “Hello <em>world</em>!” Since we used the +contents of the frozen cache using the +<code>\markdownOptionFrozenCache</code> option, we were able to typeset +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> +<h5 class="unnumbered" id="latex-example-2"><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="cb77"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</span> +<span id="cb77-2"><a href="#cb77-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</span> +<span id="cb77-3"><a href="#cb77-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb77-4"><a href="#cb77-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb77-5"><a href="#cb77-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb77-6"><a href="#cb77-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb77-7"><a href="#cb77-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="cb78"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb78-1"><a href="#cb78-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>!” A frozen cache will also be +produced in the <code>cache.tex</code> output file as we requested using +the <code>finalizecache</code> and <code>frozenCacheFileName</code> +options.</p> +<p>Next, create a new text document <code>frozen-document.tex</code> +with the following content:</p> +<div class="sourceCode" id="cb79"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</span> +<span id="cb79-2"><a href="#cb79-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</span> +<span id="cb79-3"><a href="#cb79-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb79-4"><a href="#cb79-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb79-5"><a href="#cb79-5" aria-hidden="true" tabindex="-1"></a>Hi *world*!</span> +<span id="cb79-6"><a href="#cb79-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb79-7"><a href="#cb79-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Last, invoke pdfTeX without shell access from the terminal:</p> -<div class="sourceCode" id="cb66"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb66-1"><a href="#cb66-1" aria-hidden="true"></a><span class="ex">pdflatex</span> -no-shell-escape frozen-document.tex</span></code></pre></div> -<p>A PDF document named <code>frozen-document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>frozencache</code> option, we were able to typeset 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> -<h5 class="unnumbered" data-number="" id="context-example-1">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="cb67"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb67-1"><a href="#cb67-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb67-2"><a href="#cb67-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb67-3"><a href="#cb67-3" aria-hidden="true"></a> [</span> -<span id="cb67-4"><a href="#cb67-4" aria-hidden="true"></a> finalizeCache = yes,</span> -<span id="cb67-5"><a href="#cb67-5" aria-hidden="true"></a> frozenCacheFileName = cache.tex,</span> -<span id="cb67-6"><a href="#cb67-6" aria-hidden="true"></a> ]</span> -<span id="cb67-7"><a href="#cb67-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb67-8"><a href="#cb67-8" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb67-9"><a href="#cb67-9" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb67-10"><a href="#cb67-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb67-11"><a href="#cb67-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb68"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb68-1"><a href="#cb68-1" aria-hidden="true"></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>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p> -<p>Next, create a new text document <code>frozen-document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb69"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb69-1"><a href="#cb69-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb69-2"><a href="#cb69-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb69-3"><a href="#cb69-3" aria-hidden="true"></a> [</span> -<span id="cb69-4"><a href="#cb69-4" aria-hidden="true"></a> frozenCache = yes,</span> -<span id="cb69-5"><a href="#cb69-5" aria-hidden="true"></a> frozenCacheFileName = cache.tex,</span> -<span id="cb69-6"><a href="#cb69-6" aria-hidden="true"></a> ]</span> -<span id="cb69-7"><a href="#cb69-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb69-8"><a href="#cb69-8" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb69-9"><a href="#cb69-9" aria-hidden="true"></a>Hi *world*!</span> -<span id="cb69-10"><a href="#cb69-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb69-11"><a href="#cb69-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb80"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdflatex</span> <span class="at">-no-shell-escape</span> frozen-document.tex</span></code></pre></div> +<p>A PDF document named <code>frozen-document.pdf</code> should be +produced and contain the text “Hello <em>world</em>!” Since we used the +contents of the frozen cache using the <code>frozencache</code> option, +we were able to typeset 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> +<h5 class="unnumbered" id="context-example-2">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="cb81"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb81-2"><a href="#cb81-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> +<span id="cb81-3"><a href="#cb81-3" aria-hidden="true" tabindex="-1"></a> [</span> +<span id="cb81-4"><a href="#cb81-4" aria-hidden="true" tabindex="-1"></a> finalizeCache = yes,</span> +<span id="cb81-5"><a href="#cb81-5" aria-hidden="true" tabindex="-1"></a> frozenCacheFileName = cache.tex,</span> +<span id="cb81-6"><a href="#cb81-6" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb81-7"><a href="#cb81-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb81-8"><a href="#cb81-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb81-9"><a href="#cb81-9" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb81-10"><a href="#cb81-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb81-11"><a href="#cb81-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="cb82"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb82-1"><a href="#cb82-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>!” A frozen cache will also be +produced in the <code>cache.tex</code> output file as we requested using +the <code>finalizeCache</code> and <code>frozenCacheFileName</code> +options.</p> +<p>Next, create a new text document <code>frozen-document.tex</code> +with the following content:</p> +<div class="sourceCode" id="cb83"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb83-2"><a href="#cb83-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span></span> +<span id="cb83-3"><a href="#cb83-3" aria-hidden="true" tabindex="-1"></a> [</span> +<span id="cb83-4"><a href="#cb83-4" aria-hidden="true" tabindex="-1"></a> frozenCache = yes,</span> +<span id="cb83-5"><a href="#cb83-5" aria-hidden="true" tabindex="-1"></a> frozenCacheFileName = cache.tex,</span> +<span id="cb83-6"><a href="#cb83-6" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb83-7"><a href="#cb83-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb83-8"><a href="#cb83-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb83-9"><a href="#cb83-9" aria-hidden="true" tabindex="-1"></a>Hi *world*!</span> +<span id="cb83-10"><a href="#cb83-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb83-11"><a href="#cb83-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Last, invoke pdfTeX without shell access from the terminal:</p> -<div class="sourceCode" id="cb70"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--no-shell-escape frozen-document.tex</span></code></pre></div> -<p>A PDF document named <code>frozen-document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset 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.3" id="option-blankbeforeblockquote"><span class="header-section-number">2.2.1.3</span> Option <code>blankBeforeBlockquote</code></h4> +<div class="sourceCode" id="cb84"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb84-1"><a href="#cb84-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texexec</span> <span class="at">--passon</span><span class="op">=</span>--no-shell-escape frozen-document.tex</span></code></pre></div> +<p>A PDF document named <code>frozen-document.pdf</code> should be +produced and contain the text “Hello <em>world</em>!” Since we used the +contents of the frozen cache using the +<code>\markdownOptionFrozenCache</code> option, we were able to typeset +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.5" id="option-blankbeforeblockquote"><span +class="header-section-number">2.2.1.5</span> Option +<code>blankBeforeBlockquote</code></h4> +<dl> +<dt><code>blankBeforeBlockquote</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>blankBeforeBlockquote</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Require a blank line between a paragraph and the following blockquote.</p> +<dd> +<p>Require a blank line between a paragraph and the following +blockquote.</p> </dd> <dt>false</dt> -<dd><p>Do not require a blank line between a paragraph and the following blockquote.</p> +<dd> +<p>Do not require a blank line between a paragraph and the following +blockquote.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-2">Lua Module 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="cb71"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb71-2"><a href="#cb71-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb71-3"><a href="#cb71-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb71-4"><a href="#cb71-4" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb71-5"><a href="#cb71-5" aria-hidden="true"></a> local newline = [[^^J^^J]]</span> -<span id="cb71-6"><a href="#cb71-6" aria-hidden="true"></a> local convert, input</span> -<span id="cb71-7"><a href="#cb71-7" aria-hidden="true"></a></span> -<span id="cb71-8"><a href="#cb71-8" aria-hidden="true"></a> convert = markdown.new()</span> -<span id="cb71-9"><a href="#cb71-9" aria-hidden="true"></a> input = "A paragraph." .. newline ..</span> -<span id="cb71-10"><a href="#cb71-10" aria-hidden="true"></a> "> A quote." .. newline</span> -<span id="cb71-11"><a href="#cb71-11" aria-hidden="true"></a> tex.sprint(convert(input))</span> -<span id="cb71-12"><a href="#cb71-12" aria-hidden="true"></a></span> -<span id="cb71-13"><a href="#cb71-13" aria-hidden="true"></a> convert = markdown.new({blankBeforeBlockquote = true})</span> -<span id="cb71-14"><a href="#cb71-14" aria-hidden="true"></a> input = "A paragraph." .. newline ..</span> -<span id="cb71-15"><a href="#cb71-15" aria-hidden="true"></a> "> Not a quote." .. newline</span> -<span id="cb71-16"><a href="#cb71-16" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb71-17"><a href="#cb71-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-2">Lua Module 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="cb85"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb85-2"><a href="#cb85-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb85-3"><a href="#cb85-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb85-4"><a href="#cb85-4" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb85-5"><a href="#cb85-5" aria-hidden="true" tabindex="-1"></a> local newline = [[^^J^^J]]</span> +<span id="cb85-6"><a href="#cb85-6" aria-hidden="true" tabindex="-1"></a> local convert, input</span> +<span id="cb85-7"><a href="#cb85-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb85-8"><a href="#cb85-8" aria-hidden="true" tabindex="-1"></a> convert = markdown.new()</span> +<span id="cb85-9"><a href="#cb85-9" aria-hidden="true" tabindex="-1"></a> input = "A paragraph." .. newline ..</span> +<span id="cb85-10"><a href="#cb85-10" aria-hidden="true" tabindex="-1"></a> "> A quote." .. newline</span> +<span id="cb85-11"><a href="#cb85-11" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input))</span> +<span id="cb85-12"><a href="#cb85-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb85-13"><a href="#cb85-13" aria-hidden="true" tabindex="-1"></a> convert = markdown.new({blankBeforeBlockquote = true})</span> +<span id="cb85-14"><a href="#cb85-14" aria-hidden="true" tabindex="-1"></a> input = "A paragraph." .. newline ..</span> +<span id="cb85-15"><a href="#cb85-15" aria-hidden="true" tabindex="-1"></a> "> Not a quote." .. newline</span> +<span id="cb85-16"><a href="#cb85-16" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb85-17"><a href="#cb85-17" 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="cb72"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb86"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb86-1"><a href="#cb86-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>A paragraph.</p> <blockquote> @@ -648,22 +1284,36 @@ </blockquote> <p>A paragraph > Not a quote.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="lua-cli-example-2">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="cb73"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb73-2"><a href="#cb73-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb73-3"><a href="#cb73-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb73-4"><a href="#cb73-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb73-5"><a href="#cb73-5" aria-hidden="true"></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="cb74"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true"></a>A paragraph.</span> -<span id="cb74-2"><a href="#cb74-2" aria-hidden="true"></a><span class="at">> A quote?</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb75"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span> -<span id="cb75-2"><a href="#cb75-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeBlockquote=true -- content.md optiontrue.tex</span> -<span id="cb75-3"><a href="#cb75-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="lua-cli-example-2">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="cb87"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb87-2"><a href="#cb87-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb87-3"><a href="#cb87-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb87-4"><a href="#cb87-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb87-5"><a href="#cb87-5" 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="cb88"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb88-1"><a href="#cb88-1" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb88-2"><a href="#cb88-2" aria-hidden="true" tabindex="-1"></a><span class="at">> A quote?</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb89"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb89-1"><a href="#cb89-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="cb89-2"><a href="#cb89-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeBlockquote=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb89-3"><a href="#cb89-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>A paragraph.</p> <blockquote> @@ -671,25 +1321,30 @@ </blockquote> <p>A paragraph. > A quote?</p> </blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-2">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="cb76"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb76-2"><a href="#cb76-2" aria-hidden="true"></a></span> -<span id="cb76-3"><a href="#cb76-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb76-4"><a href="#cb76-4" aria-hidden="true"></a>A paragraph.</span> -<span id="cb76-5"><a href="#cb76-5" aria-hidden="true"></a>> A quote.</span> -<span id="cb76-6"><a href="#cb76-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb76-7"><a href="#cb76-7" aria-hidden="true"></a></span> -<span id="cb76-8"><a href="#cb76-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeBlockquote</span>{true}</span> -<span id="cb76-9"><a href="#cb76-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb76-10"><a href="#cb76-10" aria-hidden="true"></a>A paragraph.</span> -<span id="cb76-11"><a href="#cb76-11" aria-hidden="true"></a>> Not a quote.</span> -<span id="cb76-12"><a href="#cb76-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb76-13"><a href="#cb76-13" aria-hidden="true"></a></span> -<span id="cb76-14"><a href="#cb76-14" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb77"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-2">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="cb90"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb90-1"><a href="#cb90-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb90-2"><a href="#cb90-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb90-3"><a href="#cb90-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb90-4"><a href="#cb90-4" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb90-5"><a href="#cb90-5" aria-hidden="true" tabindex="-1"></a>> A quote.</span> +<span id="cb90-6"><a href="#cb90-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb90-7"><a href="#cb90-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb90-8"><a href="#cb90-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionBlankBeforeBlockquote</span>{true}</span> +<span id="cb90-9"><a href="#cb90-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb90-10"><a href="#cb90-10" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb90-11"><a href="#cb90-11" aria-hidden="true" tabindex="-1"></a>> Not a quote.</span> +<span id="cb90-12"><a href="#cb90-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb90-13"><a href="#cb90-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb90-14"><a href="#cb90-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="cb91"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb91-1"><a href="#cb91-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>A paragraph.</p> <blockquote> @@ -697,26 +1352,31 @@ </blockquote> <p>A paragraph > Not a quote.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="latex-example-2"><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="cb78"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb78-1"><a href="#cb78-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb78-2"><a href="#cb78-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb78-3"><a href="#cb78-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb78-4"><a href="#cb78-4" aria-hidden="true"></a></span> -<span id="cb78-5"><a href="#cb78-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb78-6"><a href="#cb78-6" aria-hidden="true"></a>A paragraph.</span> -<span id="cb78-7"><a href="#cb78-7" aria-hidden="true"></a>> A quote.</span> -<span id="cb78-8"><a href="#cb78-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb78-9"><a href="#cb78-9" aria-hidden="true"></a></span> -<span id="cb78-10"><a href="#cb78-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeBlockquote}</span> -<span id="cb78-11"><a href="#cb78-11" aria-hidden="true"></a>A paragraph.</span> -<span id="cb78-12"><a href="#cb78-12" aria-hidden="true"></a>> Not a quote.</span> -<span id="cb78-13"><a href="#cb78-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb78-14"><a href="#cb78-14" aria-hidden="true"></a></span> -<span id="cb78-15"><a href="#cb78-15" aria-hidden="true"></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="cb79"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-3"><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="cb92"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb92-2"><a href="#cb92-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb92-3"><a href="#cb92-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb92-4"><a href="#cb92-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb92-5"><a href="#cb92-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb92-6"><a href="#cb92-6" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb92-7"><a href="#cb92-7" aria-hidden="true" tabindex="-1"></a>> A quote.</span> +<span id="cb92-8"><a href="#cb92-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb92-9"><a href="#cb92-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb92-10"><a href="#cb92-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeBlockquote}</span> +<span id="cb92-11"><a href="#cb92-11" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb92-12"><a href="#cb92-12" aria-hidden="true" tabindex="-1"></a>> Not a quote.</span> +<span id="cb92-13"><a href="#cb92-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb92-14"><a href="#cb92-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb92-15"><a href="#cb92-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="cb93"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb93-1"><a href="#cb93-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>A paragraph.</p> <blockquote> @@ -724,26 +1384,31 @@ </blockquote> <p>A paragraph > Not a quote.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-2">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="cb80"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb80-2"><a href="#cb80-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb80-3"><a href="#cb80-3" aria-hidden="true"></a></span> -<span id="cb80-4"><a href="#cb80-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb80-5"><a href="#cb80-5" aria-hidden="true"></a>A paragraph.</span> -<span id="cb80-6"><a href="#cb80-6" aria-hidden="true"></a>> A quote.</span> -<span id="cb80-7"><a href="#cb80-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb80-8"><a href="#cb80-8" aria-hidden="true"></a></span> -<span id="cb80-9"><a href="#cb80-9" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[blankBeforeBlockquote = yes]</span> -<span id="cb80-10"><a href="#cb80-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb80-11"><a href="#cb80-11" aria-hidden="true"></a>A paragraph.</span> -<span id="cb80-12"><a href="#cb80-12" aria-hidden="true"></a>> Not a quote.</span> -<span id="cb80-13"><a href="#cb80-13" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb80-14"><a href="#cb80-14" aria-hidden="true"></a></span> -<span id="cb80-15"><a href="#cb80-15" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb81"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-3">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="cb94"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb94-1"><a href="#cb94-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb94-2"><a href="#cb94-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb94-3"><a href="#cb94-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb94-4"><a href="#cb94-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb94-5"><a href="#cb94-5" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb94-6"><a href="#cb94-6" aria-hidden="true" tabindex="-1"></a>> A quote.</span> +<span id="cb94-7"><a href="#cb94-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb94-8"><a href="#cb94-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb94-9"><a href="#cb94-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[blankBeforeBlockquote = yes]</span> +<span id="cb94-10"><a href="#cb94-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb94-11"><a href="#cb94-11" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb94-12"><a href="#cb94-12" aria-hidden="true" tabindex="-1"></a>> Not a quote.</span> +<span id="cb94-13"><a href="#cb94-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb94-14"><a href="#cb94-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb94-15"><a href="#cb94-15" 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="cb95"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb95-1"><a href="#cb95-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>A paragraph.</p> <blockquote> @@ -751,343 +1416,435 @@ </blockquote> <p>A paragraph > Not a quote.</p> </blockquote> -<h4 data-number="2.2.1.4" id="option-blankbeforecodefence"><span class="header-section-number">2.2.1.4</span> Option <code>blankBeforeCodeFence</code></h4> +<h4 data-number="2.2.1.6" id="option-blankbeforecodefence"><span +class="header-section-number">2.2.1.6</span> Option +<code>blankBeforeCodeFence</code></h4> +<dl> +<dt><code>blankBeforeCodeFence</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>blankBeforeCodeFence</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Require a blank line between a paragraph and the following fenced code block.</p> +<dd> +<p>Require a blank line between a paragraph and the following fenced +code block.</p> </dd> <dt>false</dt> -<dd><p>Do not require a blank line between a paragraph and the following fenced code block.</p> +<dd> +<p>Do not require a blank line between a paragraph and the following +fenced code block.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-3">Lua Module 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="cb82"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb82-1"><a href="#cb82-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb82-2"><a href="#cb82-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb82-3"><a href="#cb82-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb82-4"><a href="#cb82-4" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb82-5"><a href="#cb82-5" aria-hidden="true"></a> local newline = [[^^J^^J]]</span> -<span id="cb82-6"><a href="#cb82-6" aria-hidden="true"></a> local convert, input</span> -<span id="cb82-7"><a href="#cb82-7" aria-hidden="true"></a></span> -<span id="cb82-8"><a href="#cb82-8" aria-hidden="true"></a> convert = markdown.new({fencedCode = true})</span> -<span id="cb82-9"><a href="#cb82-9" aria-hidden="true"></a> input = "A paragraph." .. newline ..</span> -<span id="cb82-10"><a href="#cb82-10" aria-hidden="true"></a> "```" .. newline ..</span> -<span id="cb82-11"><a href="#cb82-11" aria-hidden="true"></a> "A code fence." .. newline ..</span> -<span id="cb82-12"><a href="#cb82-12" aria-hidden="true"></a> "```" .. newline</span> -<span id="cb82-13"><a href="#cb82-13" aria-hidden="true"></a> tex.sprint(convert(input))</span> -<span id="cb82-14"><a href="#cb82-14" aria-hidden="true"></a></span> -<span id="cb82-15"><a href="#cb82-15" aria-hidden="true"></a> convert = markdown.new({</span> -<span id="cb82-16"><a href="#cb82-16" aria-hidden="true"></a> fencedCode = true, blankBeforeCodeFence = true})</span> -<span id="cb82-17"><a href="#cb82-17" aria-hidden="true"></a> input = "A paragraph." .. newline ..</span> -<span id="cb82-18"><a href="#cb82-18" aria-hidden="true"></a> "```" .. newline ..</span> -<span id="cb82-19"><a href="#cb82-19" aria-hidden="true"></a> "Not a code fence." .. newline ..</span> -<span id="cb82-20"><a href="#cb82-20" aria-hidden="true"></a> "```" .. newline</span> -<span id="cb82-21"><a href="#cb82-21" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb82-22"><a href="#cb82-22" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-3">Lua Module 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="cb96"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb96-1"><a href="#cb96-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb96-2"><a href="#cb96-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb96-3"><a href="#cb96-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb96-4"><a href="#cb96-4" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb96-5"><a href="#cb96-5" aria-hidden="true" tabindex="-1"></a> local newline = [[^^J^^J]]</span> +<span id="cb96-6"><a href="#cb96-6" aria-hidden="true" tabindex="-1"></a> local convert, input</span> +<span id="cb96-7"><a href="#cb96-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb96-8"><a href="#cb96-8" aria-hidden="true" tabindex="-1"></a> convert = markdown.new({fencedCode = true})</span> +<span id="cb96-9"><a href="#cb96-9" aria-hidden="true" tabindex="-1"></a> input = "A paragraph." .. newline ..</span> +<span id="cb96-10"><a href="#cb96-10" aria-hidden="true" tabindex="-1"></a> "```" .. newline ..</span> +<span id="cb96-11"><a href="#cb96-11" aria-hidden="true" tabindex="-1"></a> "A code fence." .. newline ..</span> +<span id="cb96-12"><a href="#cb96-12" aria-hidden="true" tabindex="-1"></a> "```" .. newline</span> +<span id="cb96-13"><a href="#cb96-13" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input))</span> +<span id="cb96-14"><a href="#cb96-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb96-15"><a href="#cb96-15" aria-hidden="true" tabindex="-1"></a> convert = markdown.new({</span> +<span id="cb96-16"><a href="#cb96-16" aria-hidden="true" tabindex="-1"></a> fencedCode = true, blankBeforeCodeFence = true})</span> +<span id="cb96-17"><a href="#cb96-17" aria-hidden="true" tabindex="-1"></a> input = "A paragraph." .. newline ..</span> +<span id="cb96-18"><a href="#cb96-18" aria-hidden="true" tabindex="-1"></a> "```" .. newline ..</span> +<span id="cb96-19"><a href="#cb96-19" aria-hidden="true" tabindex="-1"></a> "Not a code fence." .. newline ..</span> +<span id="cb96-20"><a href="#cb96-20" aria-hidden="true" tabindex="-1"></a> "```" .. newline</span> +<span id="cb96-21"><a href="#cb96-21" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb96-22"><a href="#cb96-22" 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="cb83"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb97"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb97-1"><a href="#cb97-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>A paragraph.</p> <pre><code>A code fence.</code></pre> <p>A paragraph. <code>Not a code fence.</code></p> </blockquote> -<h5 class="unnumbered" data-number="" id="lua-cli-example-3">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="cb85"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb85-2"><a href="#cb85-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb85-3"><a href="#cb85-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb85-4"><a href="#cb85-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb85-5"><a href="#cb85-5" aria-hidden="true"></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="cb86"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb86-1"><a href="#cb86-1" aria-hidden="true"></a>A paragraph.</span> -<span id="cb86-2"><a href="#cb86-2" aria-hidden="true"></a><span class="in">```</span></span> -<span id="cb86-3"><a href="#cb86-3" aria-hidden="true"></a><span class="in">A code fence?</span></span> -<span id="cb86-4"><a href="#cb86-4" aria-hidden="true"></a><span class="in">```</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb87"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true -- content.md optionfalse.tex</span> -<span id="cb87-2"><a href="#cb87-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true blankBeforeCodeFence=true -- content.md optiontrue.tex</span> -<span id="cb87-3"><a href="#cb87-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="lua-cli-example-3">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="cb99"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb99-1"><a href="#cb99-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb99-2"><a href="#cb99-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb99-3"><a href="#cb99-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb99-4"><a href="#cb99-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb99-5"><a href="#cb99-5" 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="cb100"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb100-1"><a href="#cb100-1" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb100-2"><a href="#cb100-2" aria-hidden="true" tabindex="-1"></a><span class="in">```</span></span> +<span id="cb100-3"><a href="#cb100-3" aria-hidden="true" tabindex="-1"></a><span class="in">A code fence?</span></span> +<span id="cb100-4"><a href="#cb100-4" aria-hidden="true" tabindex="-1"></a><span class="in">```</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb101"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb101-1"><a href="#cb101-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true <span class="at">--</span> content.md optionfalse.tex</span> +<span id="cb101-2"><a href="#cb101-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true blankBeforeCodeFence=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb101-3"><a href="#cb101-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>A paragraph.</p> <pre><code>A code fence?</code></pre> <p>A paragraph. <code>A code fence?</code></p> </blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-3">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="cb89"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb89-1"><a href="#cb89-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb89-2"><a href="#cb89-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFencedCode</span>{true}</span> -<span id="cb89-3"><a href="#cb89-3" aria-hidden="true"></a></span> -<span id="cb89-4"><a href="#cb89-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb89-5"><a href="#cb89-5" aria-hidden="true"></a>A paragraph.</span> -<span id="cb89-6"><a href="#cb89-6" aria-hidden="true"></a>```</span> -<span id="cb89-7"><a href="#cb89-7" aria-hidden="true"></a>A code fence.</span> -<span id="cb89-8"><a href="#cb89-8" aria-hidden="true"></a>```</span> -<span id="cb89-9"><a href="#cb89-9" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb89-10"><a href="#cb89-10" aria-hidden="true"></a></span> -<span id="cb89-11"><a href="#cb89-11" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeCodeFence</span>{true}</span> -<span id="cb89-12"><a href="#cb89-12" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb89-13"><a href="#cb89-13" aria-hidden="true"></a>A paragraph.</span> -<span id="cb89-14"><a href="#cb89-14" aria-hidden="true"></a>```</span> -<span id="cb89-15"><a href="#cb89-15" aria-hidden="true"></a>Not a code fence.</span> -<span id="cb89-16"><a href="#cb89-16" aria-hidden="true"></a>```</span> -<span id="cb89-17"><a href="#cb89-17" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb89-18"><a href="#cb89-18" aria-hidden="true"></a></span> -<span id="cb89-19"><a href="#cb89-19" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb90"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb90-1"><a href="#cb90-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-3">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="cb103"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb103-2"><a href="#cb103-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFencedCode</span>{true}</span> +<span id="cb103-3"><a href="#cb103-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb103-4"><a href="#cb103-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb103-5"><a href="#cb103-5" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb103-6"><a href="#cb103-6" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb103-7"><a href="#cb103-7" aria-hidden="true" tabindex="-1"></a>A code fence.</span> +<span id="cb103-8"><a href="#cb103-8" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb103-9"><a href="#cb103-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb103-10"><a href="#cb103-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb103-11"><a href="#cb103-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionBlankBeforeCodeFence</span>{true}</span> +<span id="cb103-12"><a href="#cb103-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb103-13"><a href="#cb103-13" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb103-14"><a href="#cb103-14" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb103-15"><a href="#cb103-15" aria-hidden="true" tabindex="-1"></a>Not a code fence.</span> +<span id="cb103-16"><a href="#cb103-16" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb103-17"><a href="#cb103-17" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb103-18"><a href="#cb103-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb103-19"><a href="#cb103-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="cb104"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-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>A paragraph.</p> <pre><code>A code fence.</code></pre> <p>A paragraph. <code>Not a code fence.</code></p> </blockquote> -<h5 class="unnumbered" data-number="" id="latex-example-3"><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="cb92"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb92-2"><a href="#cb92-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> -<span id="cb92-3"><a href="#cb92-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb92-4"><a href="#cb92-4" aria-hidden="true"></a></span> -<span id="cb92-5"><a href="#cb92-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb92-6"><a href="#cb92-6" aria-hidden="true"></a>A paragraph.</span> -<span id="cb92-7"><a href="#cb92-7" aria-hidden="true"></a>```</span> -<span id="cb92-8"><a href="#cb92-8" aria-hidden="true"></a>A code fence.</span> -<span id="cb92-9"><a href="#cb92-9" aria-hidden="true"></a>```</span> -<span id="cb92-10"><a href="#cb92-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb92-11"><a href="#cb92-11" aria-hidden="true"></a></span> -<span id="cb92-12"><a href="#cb92-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeCodeFence}</span> -<span id="cb92-13"><a href="#cb92-13" aria-hidden="true"></a>A paragraph.</span> -<span id="cb92-14"><a href="#cb92-14" aria-hidden="true"></a>```</span> -<span id="cb92-15"><a href="#cb92-15" aria-hidden="true"></a>Not a code fence.</span> -<span id="cb92-16"><a href="#cb92-16" aria-hidden="true"></a>```</span> -<span id="cb92-17"><a href="#cb92-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb92-18"><a href="#cb92-18" aria-hidden="true"></a></span> -<span id="cb92-19"><a href="#cb92-19" aria-hidden="true"></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="cb93"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb93-1"><a href="#cb93-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-4"><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="cb106"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb106-2"><a href="#cb106-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> +<span id="cb106-3"><a href="#cb106-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb106-4"><a href="#cb106-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb106-5"><a href="#cb106-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb106-6"><a href="#cb106-6" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb106-7"><a href="#cb106-7" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb106-8"><a href="#cb106-8" aria-hidden="true" tabindex="-1"></a>A code fence.</span> +<span id="cb106-9"><a href="#cb106-9" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb106-10"><a href="#cb106-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb106-11"><a href="#cb106-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb106-12"><a href="#cb106-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeCodeFence}</span> +<span id="cb106-13"><a href="#cb106-13" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb106-14"><a href="#cb106-14" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb106-15"><a href="#cb106-15" aria-hidden="true" tabindex="-1"></a>Not a code fence.</span> +<span id="cb106-16"><a href="#cb106-16" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb106-17"><a href="#cb106-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb106-18"><a href="#cb106-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb106-19"><a href="#cb106-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="cb107"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-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>A paragraph.</p> <pre><code>A code fence.</code></pre> <p>A paragraph. <code>Not a code fence.</code></p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-3">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="cb95"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb95-1"><a href="#cb95-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb95-2"><a href="#cb95-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[fencedCode = yes]</span> -<span id="cb95-3"><a href="#cb95-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb95-4"><a href="#cb95-4" aria-hidden="true"></a></span> -<span id="cb95-5"><a href="#cb95-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb95-6"><a href="#cb95-6" aria-hidden="true"></a>A paragraph.</span> -<span id="cb95-7"><a href="#cb95-7" aria-hidden="true"></a>```</span> -<span id="cb95-8"><a href="#cb95-8" aria-hidden="true"></a>A code fence.</span> -<span id="cb95-9"><a href="#cb95-9" aria-hidden="true"></a>```</span> -<span id="cb95-10"><a href="#cb95-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb95-11"><a href="#cb95-11" aria-hidden="true"></a></span> -<span id="cb95-12"><a href="#cb95-12" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[blankBeforeCodeFence = yes]</span> -<span id="cb95-13"><a href="#cb95-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb95-14"><a href="#cb95-14" aria-hidden="true"></a>A paragraph.</span> -<span id="cb95-15"><a href="#cb95-15" aria-hidden="true"></a>```</span> -<span id="cb95-16"><a href="#cb95-16" aria-hidden="true"></a>Not a code fence.</span> -<span id="cb95-17"><a href="#cb95-17" aria-hidden="true"></a>```</span> -<span id="cb95-18"><a href="#cb95-18" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb95-19"><a href="#cb95-19" aria-hidden="true"></a></span> -<span id="cb95-20"><a href="#cb95-20" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb96"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb96-1"><a href="#cb96-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-4">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="cb109"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb109-2"><a href="#cb109-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[fencedCode = yes]</span> +<span id="cb109-3"><a href="#cb109-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb109-4"><a href="#cb109-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb109-5"><a href="#cb109-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb109-6"><a href="#cb109-6" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb109-7"><a href="#cb109-7" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb109-8"><a href="#cb109-8" aria-hidden="true" tabindex="-1"></a>A code fence.</span> +<span id="cb109-9"><a href="#cb109-9" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb109-10"><a href="#cb109-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb109-11"><a href="#cb109-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb109-12"><a href="#cb109-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[blankBeforeCodeFence = yes]</span> +<span id="cb109-13"><a href="#cb109-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb109-14"><a href="#cb109-14" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb109-15"><a href="#cb109-15" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb109-16"><a href="#cb109-16" aria-hidden="true" tabindex="-1"></a>Not a code fence.</span> +<span id="cb109-17"><a href="#cb109-17" aria-hidden="true" tabindex="-1"></a>```</span> +<span id="cb109-18"><a href="#cb109-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb109-19"><a href="#cb109-19" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb109-20"><a href="#cb109-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="cb110"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-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>A paragraph.</p> <pre><code>A code fence.</code></pre> <p>A paragraph. <code>Not a code fence.</code></p> </blockquote> -<h4 data-number="2.2.1.5" id="option-blankbeforeheading"><span class="header-section-number">2.2.1.5</span> Option <code>blankBeforeHeading</code></h4> +<h4 data-number="2.2.1.7" id="option-blankbeforeheading"><span +class="header-section-number">2.2.1.7</span> Option +<code>blankBeforeHeading</code></h4> +<dl> +<dt><code>blankBeforeHeading</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>blankBeforeHeading</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Require a blank line between a paragraph and the following header.</p> +<dd> +<p>Require a blank line between a paragraph and the following +header.</p> </dd> <dt>false</dt> -<dd><p>Do not require a blank line between a paragraph and the following header.</p> +<dd> +<p>Do not require a blank line between a paragraph and the following +header.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-4">Lua Module 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="cb98"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb98-1"><a href="#cb98-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb98-2"><a href="#cb98-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb98-3"><a href="#cb98-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bf</span> #1}<span class="fu">\par</span>}</span> -<span id="cb98-4"><a href="#cb98-4" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb98-5"><a href="#cb98-5" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb98-6"><a href="#cb98-6" aria-hidden="true"></a> local newline = [[^^J^^J]]</span> -<span id="cb98-7"><a href="#cb98-7" aria-hidden="true"></a> local convert, input</span> -<span id="cb98-8"><a href="#cb98-8" aria-hidden="true"></a></span> -<span id="cb98-9"><a href="#cb98-9" aria-hidden="true"></a> convert = markdown.new()</span> -<span id="cb98-10"><a href="#cb98-10" aria-hidden="true"></a> input = "A paragraph." .. newline ..</span> -<span id="cb98-11"><a href="#cb98-11" aria-hidden="true"></a> "A heading." .. newline ..</span> -<span id="cb98-12"><a href="#cb98-12" aria-hidden="true"></a> "==========" .. newline</span> -<span id="cb98-13"><a href="#cb98-13" aria-hidden="true"></a> tex.sprint(convert(input))</span> -<span id="cb98-14"><a href="#cb98-14" aria-hidden="true"></a></span> -<span id="cb98-15"><a href="#cb98-15" aria-hidden="true"></a> convert = markdown.new({blankBeforeHeading = true})</span> -<span id="cb98-16"><a href="#cb98-16" aria-hidden="true"></a> input = "A paragraph." .. newline ..</span> -<span id="cb98-17"><a href="#cb98-17" aria-hidden="true"></a> "Not a heading." .. newline ..</span> -<span id="cb98-18"><a href="#cb98-18" aria-hidden="true"></a> "==============" .. newline</span> -<span id="cb98-19"><a href="#cb98-19" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb98-20"><a href="#cb98-20" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-4">Lua Module 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="cb112"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb112-1"><a href="#cb112-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb112-2"><a href="#cb112-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb112-3"><a href="#cb112-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bf</span> #1}<span class="fu">\par</span>}</span> +<span id="cb112-4"><a href="#cb112-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb112-5"><a href="#cb112-5" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb112-6"><a href="#cb112-6" aria-hidden="true" tabindex="-1"></a> local newline = [[^^J^^J]]</span> +<span id="cb112-7"><a href="#cb112-7" aria-hidden="true" tabindex="-1"></a> local convert, input</span> +<span id="cb112-8"><a href="#cb112-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb112-9"><a href="#cb112-9" aria-hidden="true" tabindex="-1"></a> convert = markdown.new()</span> +<span id="cb112-10"><a href="#cb112-10" aria-hidden="true" tabindex="-1"></a> input = "A paragraph." .. newline ..</span> +<span id="cb112-11"><a href="#cb112-11" aria-hidden="true" tabindex="-1"></a> "A heading." .. newline ..</span> +<span id="cb112-12"><a href="#cb112-12" aria-hidden="true" tabindex="-1"></a> "==========" .. newline</span> +<span id="cb112-13"><a href="#cb112-13" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input))</span> +<span id="cb112-14"><a href="#cb112-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb112-15"><a href="#cb112-15" aria-hidden="true" tabindex="-1"></a> convert = markdown.new({blankBeforeHeading = true})</span> +<span id="cb112-16"><a href="#cb112-16" aria-hidden="true" tabindex="-1"></a> input = "A paragraph." .. newline ..</span> +<span id="cb112-17"><a href="#cb112-17" aria-hidden="true" tabindex="-1"></a> "Not a heading." .. newline ..</span> +<span id="cb112-18"><a href="#cb112-18" aria-hidden="true" tabindex="-1"></a> "==============" .. newline</span> +<span id="cb112-19"><a href="#cb112-19" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb112-20"><a href="#cb112-20" 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="cb99"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb99-1"><a href="#cb99-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb113"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb113-1"><a href="#cb113-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>A paragraph.</p> <h1 id="a-heading.">A heading.</h1> <p>A paragraph. Not a heading. ==============</p> </blockquote> -<h5 class="unnumbered" data-number="" id="lua-cli-example-4">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="cb100"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb100-1"><a href="#cb100-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb100-2"><a href="#cb100-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb100-3"><a href="#cb100-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb100-4"><a href="#cb100-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb100-5"><a href="#cb100-5" aria-hidden="true"></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="cb101"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb101-1"><a href="#cb101-1" aria-hidden="true"></a>A paragraph.</span> -<span id="cb101-2"><a href="#cb101-2" aria-hidden="true"></a>A heading?</span> -<span id="cb101-3"><a href="#cb101-3" aria-hidden="true"></a><span class="fu">==========</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb102"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb102-1"><a href="#cb102-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span> -<span id="cb102-2"><a href="#cb102-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeHeading=true -- content.md optiontrue.tex</span> -<span id="cb102-3"><a href="#cb102-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="lua-cli-example-4">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="cb114"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb114-1"><a href="#cb114-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb114-2"><a href="#cb114-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb114-3"><a href="#cb114-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb114-4"><a href="#cb114-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb114-5"><a href="#cb114-5" 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="cb115"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb115-1"><a href="#cb115-1" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb115-2"><a href="#cb115-2" aria-hidden="true" tabindex="-1"></a>A heading?</span> +<span id="cb115-3"><a href="#cb115-3" aria-hidden="true" tabindex="-1"></a><span class="fu">==========</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb116"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb116-1"><a href="#cb116-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="cb116-2"><a href="#cb116-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeHeading=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb116-3"><a href="#cb116-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>A paragraph.</p> <h1 id="a-heading">A heading?</h1> <p>A paragraph. A heading? ==========</p> </blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-4">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="cb103"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb103-2"><a href="#cb103-2" aria-hidden="true"></a></span> -<span id="cb103-3"><a href="#cb103-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb103-4"><a href="#cb103-4" aria-hidden="true"></a>A paragraph.</span> -<span id="cb103-5"><a href="#cb103-5" aria-hidden="true"></a>A heading.</span> -<span id="cb103-6"><a href="#cb103-6" aria-hidden="true"></a>==========</span> -<span id="cb103-7"><a href="#cb103-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb103-8"><a href="#cb103-8" aria-hidden="true"></a></span> -<span id="cb103-9"><a href="#cb103-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeHeading</span>{true}</span> -<span id="cb103-10"><a href="#cb103-10" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb103-11"><a href="#cb103-11" aria-hidden="true"></a>A paragraph.</span> -<span id="cb103-12"><a href="#cb103-12" aria-hidden="true"></a>Not a heading.</span> -<span id="cb103-13"><a href="#cb103-13" aria-hidden="true"></a>==============</span> -<span id="cb103-14"><a href="#cb103-14" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb103-15"><a href="#cb103-15" aria-hidden="true"></a></span> -<span id="cb103-16"><a href="#cb103-16" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb104"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-4">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="cb117"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb117-1"><a href="#cb117-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb117-2"><a href="#cb117-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb117-3"><a href="#cb117-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb117-4"><a href="#cb117-4" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb117-5"><a href="#cb117-5" aria-hidden="true" tabindex="-1"></a>A heading.</span> +<span id="cb117-6"><a href="#cb117-6" aria-hidden="true" tabindex="-1"></a>==========</span> +<span id="cb117-7"><a href="#cb117-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb117-8"><a href="#cb117-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb117-9"><a href="#cb117-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionBlankBeforeHeading</span>{true}</span> +<span id="cb117-10"><a href="#cb117-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb117-11"><a href="#cb117-11" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb117-12"><a href="#cb117-12" aria-hidden="true" tabindex="-1"></a>Not a heading.</span> +<span id="cb117-13"><a href="#cb117-13" aria-hidden="true" tabindex="-1"></a>==============</span> +<span id="cb117-14"><a href="#cb117-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb117-15"><a href="#cb117-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb117-16"><a href="#cb117-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="cb118"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb118-1"><a href="#cb118-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>A paragraph.</p> <h1 id="a-heading.-1">A heading.</h1> <p>A paragraph. Not a heading. ==============</p> </blockquote> -<h5 class="unnumbered" data-number="" id="latex-example-4"><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="cb105"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb105-1"><a href="#cb105-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb105-2"><a href="#cb105-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb105-3"><a href="#cb105-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb105-4"><a href="#cb105-4" aria-hidden="true"></a></span> -<span id="cb105-5"><a href="#cb105-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb105-6"><a href="#cb105-6" aria-hidden="true"></a>A paragraph.</span> -<span id="cb105-7"><a href="#cb105-7" aria-hidden="true"></a>A heading.</span> -<span id="cb105-8"><a href="#cb105-8" aria-hidden="true"></a>==========</span> -<span id="cb105-9"><a href="#cb105-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb105-10"><a href="#cb105-10" aria-hidden="true"></a></span> -<span id="cb105-11"><a href="#cb105-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeHeading}</span> -<span id="cb105-12"><a href="#cb105-12" aria-hidden="true"></a>A paragraph.</span> -<span id="cb105-13"><a href="#cb105-13" aria-hidden="true"></a>Not a heading.</span> -<span id="cb105-14"><a href="#cb105-14" aria-hidden="true"></a>==============</span> -<span id="cb105-15"><a href="#cb105-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb105-16"><a href="#cb105-16" aria-hidden="true"></a></span> -<span id="cb105-17"><a href="#cb105-17" aria-hidden="true"></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="cb106"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-5"><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="cb119"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb119-1"><a href="#cb119-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb119-2"><a href="#cb119-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb119-3"><a href="#cb119-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb119-4"><a href="#cb119-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb119-5"><a href="#cb119-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb119-6"><a href="#cb119-6" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb119-7"><a href="#cb119-7" aria-hidden="true" tabindex="-1"></a>A heading.</span> +<span id="cb119-8"><a href="#cb119-8" aria-hidden="true" tabindex="-1"></a>==========</span> +<span id="cb119-9"><a href="#cb119-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb119-10"><a href="#cb119-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb119-11"><a href="#cb119-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeHeading}</span> +<span id="cb119-12"><a href="#cb119-12" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb119-13"><a href="#cb119-13" aria-hidden="true" tabindex="-1"></a>Not a heading.</span> +<span id="cb119-14"><a href="#cb119-14" aria-hidden="true" tabindex="-1"></a>==============</span> +<span id="cb119-15"><a href="#cb119-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb119-16"><a href="#cb119-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb119-17"><a href="#cb119-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="cb120"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb120-1"><a href="#cb120-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>A paragraph.</p> <h1 id="a-heading.-2">A heading.</h1> <p>A paragraph. Not a heading. ==============</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-4">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="cb107"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb107-2"><a href="#cb107-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb107-3"><a href="#cb107-3" aria-hidden="true"></a></span> -<span id="cb107-4"><a href="#cb107-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb107-5"><a href="#cb107-5" aria-hidden="true"></a>A paragraph.</span> -<span id="cb107-6"><a href="#cb107-6" aria-hidden="true"></a>A heading.</span> -<span id="cb107-7"><a href="#cb107-7" aria-hidden="true"></a>==========</span> -<span id="cb107-8"><a href="#cb107-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb107-9"><a href="#cb107-9" aria-hidden="true"></a></span> -<span id="cb107-10"><a href="#cb107-10" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[blankBeforeHeading = yes]</span> -<span id="cb107-11"><a href="#cb107-11" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb107-12"><a href="#cb107-12" aria-hidden="true"></a>A paragraph.</span> -<span id="cb107-13"><a href="#cb107-13" aria-hidden="true"></a>Not a heading.</span> -<span id="cb107-14"><a href="#cb107-14" aria-hidden="true"></a>==============</span> -<span id="cb107-15"><a href="#cb107-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb107-16"><a href="#cb107-16" aria-hidden="true"></a></span> -<span id="cb107-17"><a href="#cb107-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb108"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-5">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="cb121"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb121-1"><a href="#cb121-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb121-2"><a href="#cb121-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb121-3"><a href="#cb121-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb121-4"><a href="#cb121-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb121-5"><a href="#cb121-5" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb121-6"><a href="#cb121-6" aria-hidden="true" tabindex="-1"></a>A heading.</span> +<span id="cb121-7"><a href="#cb121-7" aria-hidden="true" tabindex="-1"></a>==========</span> +<span id="cb121-8"><a href="#cb121-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb121-9"><a href="#cb121-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb121-10"><a href="#cb121-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[blankBeforeHeading = yes]</span> +<span id="cb121-11"><a href="#cb121-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb121-12"><a href="#cb121-12" aria-hidden="true" tabindex="-1"></a>A paragraph.</span> +<span id="cb121-13"><a href="#cb121-13" aria-hidden="true" tabindex="-1"></a>Not a heading.</span> +<span id="cb121-14"><a href="#cb121-14" aria-hidden="true" tabindex="-1"></a>==============</span> +<span id="cb121-15"><a href="#cb121-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb121-16"><a href="#cb121-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb121-17"><a href="#cb121-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="cb122"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb122-1"><a href="#cb122-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>A paragraph.</p> <h1 id="a-heading.-3">A heading.</h1> <p>A paragraph. Not a heading. ==============</p> </blockquote> -<h4 data-number="2.2.1.6" id="option-breakableblockquotes"><span class="header-section-number">2.2.1.6</span> Option <code>breakableBlockquotes</code></h4> +<h4 data-number="2.2.1.8" id="option-breakableblockquotes"><span +class="header-section-number">2.2.1.8</span> Option +<code>breakableBlockquotes</code></h4> +<dl> +<dt><code>breakableBlockquotes</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>breakableBlockquotes</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>A blank line separates block quotes.</p> +<dd> +<p>A blank line separates block quotes.</p> </dd> <dt>false</dt> -<dd><p>Blank lines in the middle of a block quote are ignored.</p> +<dd> +<p>Blank lines in the middle of a block quote are ignored.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-5">Lua Module 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="cb109"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb109-2"><a href="#cb109-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb109-3"><a href="#cb109-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bf</span> #1}<span class="fu">\par</span>}</span> -<span id="cb109-4"><a href="#cb109-4" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb109-5"><a href="#cb109-5" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb109-6"><a href="#cb109-6" aria-hidden="true"></a> local newline = [[^^J^^J]]</span> -<span id="cb109-7"><a href="#cb109-7" aria-hidden="true"></a> local convert, input</span> -<span id="cb109-8"><a href="#cb109-8" aria-hidden="true"></a></span> -<span id="cb109-9"><a href="#cb109-9" aria-hidden="true"></a> convert = markdown.new()</span> -<span id="cb109-10"><a href="#cb109-10" aria-hidden="true"></a> input = "> A single" .. newline .. newline ..</span> -<span id="cb109-11"><a href="#cb109-11" aria-hidden="true"></a> "> block quote." .. newline</span> -<span id="cb109-12"><a href="#cb109-12" aria-hidden="true"></a> tex.sprint(convert(input))</span> -<span id="cb109-13"><a href="#cb109-13" aria-hidden="true"></a></span> -<span id="cb109-14"><a href="#cb109-14" aria-hidden="true"></a> convert = markdown.new({breakableBlockquotes = true})</span> -<span id="cb109-15"><a href="#cb109-15" aria-hidden="true"></a> input = "> A block quote." .. newline .. newline ..</span> -<span id="cb109-16"><a href="#cb109-16" aria-hidden="true"></a> "> Another block quote." .. newline</span> -<span id="cb109-17"><a href="#cb109-17" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb109-18"><a href="#cb109-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-5">Lua Module 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="cb123"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb123-1"><a href="#cb123-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb123-2"><a href="#cb123-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb123-3"><a href="#cb123-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bf</span> #1}<span class="fu">\par</span>}</span> +<span id="cb123-4"><a href="#cb123-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb123-5"><a href="#cb123-5" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb123-6"><a href="#cb123-6" aria-hidden="true" tabindex="-1"></a> local newline = [[^^J^^J]]</span> +<span id="cb123-7"><a href="#cb123-7" aria-hidden="true" tabindex="-1"></a> local convert, input</span> +<span id="cb123-8"><a href="#cb123-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb123-9"><a href="#cb123-9" aria-hidden="true" tabindex="-1"></a> convert = markdown.new()</span> +<span id="cb123-10"><a href="#cb123-10" aria-hidden="true" tabindex="-1"></a> input = "> A single" .. newline .. newline ..</span> +<span id="cb123-11"><a href="#cb123-11" aria-hidden="true" tabindex="-1"></a> "> block quote." .. newline</span> +<span id="cb123-12"><a href="#cb123-12" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input))</span> +<span id="cb123-13"><a href="#cb123-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb123-14"><a href="#cb123-14" aria-hidden="true" tabindex="-1"></a> convert = markdown.new({breakableBlockquotes = true})</span> +<span id="cb123-15"><a href="#cb123-15" aria-hidden="true" tabindex="-1"></a> input = "> A block quote." .. newline .. newline ..</span> +<span id="cb123-16"><a href="#cb123-16" aria-hidden="true" tabindex="-1"></a> "> Another block quote." .. newline</span> +<span id="cb123-17"><a href="#cb123-17" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb123-18"><a href="#cb123-18" 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="cb110"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb124"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb124-1"><a href="#cb124-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> <blockquote> <p>A single block quote.</p> @@ -1099,23 +1856,37 @@ <p>Another block quote.</p> </blockquote> </blockquote> -<h5 class="unnumbered" data-number="" id="lua-cli-example-5">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="cb111"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb111-1"><a href="#cb111-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb111-2"><a href="#cb111-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb111-3"><a href="#cb111-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb111-4"><a href="#cb111-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb111-5"><a href="#cb111-5" aria-hidden="true"></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="cb112"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb112-1"><a href="#cb112-1" aria-hidden="true"></a><span class="at">> A single block quote</span></span> -<span id="cb112-2"><a href="#cb112-2" aria-hidden="true"></a></span> -<span id="cb112-3"><a href="#cb112-3" aria-hidden="true"></a><span class="at">> or two block quotes?</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb113"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb113-1"><a href="#cb113-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span> -<span id="cb113-2"><a href="#cb113-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ breakableBlockquotes=true -- content.md optiontrue.tex</span> -<span id="cb113-3"><a href="#cb113-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="lua-cli-example-5">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="cb125"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb125-1"><a href="#cb125-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb125-2"><a href="#cb125-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb125-3"><a href="#cb125-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb125-4"><a href="#cb125-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb125-5"><a href="#cb125-5" 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="cb126"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb126-1"><a href="#cb126-1" aria-hidden="true" tabindex="-1"></a><span class="at">> A single block quote</span></span> +<span id="cb126-2"><a href="#cb126-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb126-3"><a href="#cb126-3" aria-hidden="true" tabindex="-1"></a><span class="at">> or two block quotes?</span></span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb127"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb127-1"><a href="#cb127-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="cb127-2"><a href="#cb127-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ breakableBlockquotes=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb127-3"><a href="#cb127-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <blockquote> <p>A single block quote or two block quotes?</p> @@ -1127,27 +1898,32 @@ <p>or two block quotes?</p> </blockquote> </blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-5">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="cb114"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb114-1"><a href="#cb114-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb114-2"><a href="#cb114-2" aria-hidden="true"></a></span> -<span id="cb114-3"><a href="#cb114-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb114-4"><a href="#cb114-4" aria-hidden="true"></a>> A single</span> -<span id="cb114-5"><a href="#cb114-5" aria-hidden="true"></a></span> -<span id="cb114-6"><a href="#cb114-6" aria-hidden="true"></a>> block quote.</span> -<span id="cb114-7"><a href="#cb114-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb114-8"><a href="#cb114-8" aria-hidden="true"></a></span> -<span id="cb114-9"><a href="#cb114-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionBreakableBlockquotes</span>{true}</span> -<span id="cb114-10"><a href="#cb114-10" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb114-11"><a href="#cb114-11" aria-hidden="true"></a>> A block quote.</span> -<span id="cb114-12"><a href="#cb114-12" aria-hidden="true"></a></span> -<span id="cb114-13"><a href="#cb114-13" aria-hidden="true"></a>> Another block quote.</span> -<span id="cb114-14"><a href="#cb114-14" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb114-15"><a href="#cb114-15" aria-hidden="true"></a></span> -<span id="cb114-16"><a href="#cb114-16" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb115"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb115-1"><a href="#cb115-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-5">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="cb128"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb128-1"><a href="#cb128-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb128-2"><a href="#cb128-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb128-3"><a href="#cb128-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb128-4"><a href="#cb128-4" aria-hidden="true" tabindex="-1"></a>> A single</span> +<span id="cb128-5"><a href="#cb128-5" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb128-6"><a href="#cb128-6" aria-hidden="true" tabindex="-1"></a>> block quote.</span> +<span id="cb128-7"><a href="#cb128-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb128-8"><a href="#cb128-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb128-9"><a href="#cb128-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionBreakableBlockquotes</span>{true}</span> +<span id="cb128-10"><a href="#cb128-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb128-11"><a href="#cb128-11" aria-hidden="true" tabindex="-1"></a>> A block quote.</span> +<span id="cb128-12"><a href="#cb128-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb128-13"><a href="#cb128-13" aria-hidden="true" tabindex="-1"></a>> Another block quote.</span> +<span id="cb128-14"><a href="#cb128-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb128-15"><a href="#cb128-15" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb128-16"><a href="#cb128-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="cb129"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb129-1"><a href="#cb129-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> <blockquote> <p>A single block quote.</p> @@ -1159,28 +1935,33 @@ <p>Another block quote.</p> </blockquote> </blockquote> -<h5 class="unnumbered" data-number="" id="latex-example-5"><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="cb116"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb116-1"><a href="#cb116-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb116-2"><a href="#cb116-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb116-3"><a href="#cb116-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb116-4"><a href="#cb116-4" aria-hidden="true"></a></span> -<span id="cb116-5"><a href="#cb116-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb116-6"><a href="#cb116-6" aria-hidden="true"></a>> A single</span> -<span id="cb116-7"><a href="#cb116-7" aria-hidden="true"></a></span> -<span id="cb116-8"><a href="#cb116-8" aria-hidden="true"></a>> block quote.</span> -<span id="cb116-9"><a href="#cb116-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb116-10"><a href="#cb116-10" aria-hidden="true"></a></span> -<span id="cb116-11"><a href="#cb116-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{breakableBlockquotes}</span> -<span id="cb116-12"><a href="#cb116-12" aria-hidden="true"></a>> A block quote.</span> -<span id="cb116-13"><a href="#cb116-13" aria-hidden="true"></a></span> -<span id="cb116-14"><a href="#cb116-14" aria-hidden="true"></a>> Another block quote.</span> -<span id="cb116-15"><a href="#cb116-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb116-16"><a href="#cb116-16" aria-hidden="true"></a></span> -<span id="cb116-17"><a href="#cb116-17" aria-hidden="true"></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="cb117"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb117-1"><a href="#cb117-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-6"><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="cb130"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb130-1"><a href="#cb130-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb130-2"><a href="#cb130-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb130-3"><a href="#cb130-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb130-4"><a href="#cb130-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb130-5"><a href="#cb130-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb130-6"><a href="#cb130-6" aria-hidden="true" tabindex="-1"></a>> A single</span> +<span id="cb130-7"><a href="#cb130-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb130-8"><a href="#cb130-8" aria-hidden="true" tabindex="-1"></a>> block quote.</span> +<span id="cb130-9"><a href="#cb130-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb130-10"><a href="#cb130-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb130-11"><a href="#cb130-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{breakableBlockquotes}</span> +<span id="cb130-12"><a href="#cb130-12" aria-hidden="true" tabindex="-1"></a>> A block quote.</span> +<span id="cb130-13"><a href="#cb130-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb130-14"><a href="#cb130-14" aria-hidden="true" tabindex="-1"></a>> Another block quote.</span> +<span id="cb130-15"><a href="#cb130-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb130-16"><a href="#cb130-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb130-17"><a href="#cb130-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="cb131"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb131-1"><a href="#cb131-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> <blockquote> <p>A single block quote.</p> @@ -1192,28 +1973,33 @@ <p>Another block quote.</p> </blockquote> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-5">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="cb118"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb118-1"><a href="#cb118-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb118-2"><a href="#cb118-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb118-3"><a href="#cb118-3" aria-hidden="true"></a></span> -<span id="cb118-4"><a href="#cb118-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb118-5"><a href="#cb118-5" aria-hidden="true"></a>> A single</span> -<span id="cb118-6"><a href="#cb118-6" aria-hidden="true"></a></span> -<span id="cb118-7"><a href="#cb118-7" aria-hidden="true"></a>> block quote.</span> -<span id="cb118-8"><a href="#cb118-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb118-9"><a href="#cb118-9" aria-hidden="true"></a></span> -<span id="cb118-10"><a href="#cb118-10" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[breakableBlockquotes = yes]</span> -<span id="cb118-11"><a href="#cb118-11" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb118-12"><a href="#cb118-12" aria-hidden="true"></a>> A block quote.</span> -<span id="cb118-13"><a href="#cb118-13" aria-hidden="true"></a></span> -<span id="cb118-14"><a href="#cb118-14" aria-hidden="true"></a>> Another block quote.</span> -<span id="cb118-15"><a href="#cb118-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb118-16"><a href="#cb118-16" aria-hidden="true"></a></span> -<span id="cb118-17"><a href="#cb118-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb119"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb119-1"><a href="#cb119-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-6">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="cb132"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb132-1"><a href="#cb132-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb132-2"><a href="#cb132-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb132-3"><a href="#cb132-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb132-4"><a href="#cb132-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb132-5"><a href="#cb132-5" aria-hidden="true" tabindex="-1"></a>> A single</span> +<span id="cb132-6"><a href="#cb132-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb132-7"><a href="#cb132-7" aria-hidden="true" tabindex="-1"></a>> block quote.</span> +<span id="cb132-8"><a href="#cb132-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb132-9"><a href="#cb132-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb132-10"><a href="#cb132-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[breakableBlockquotes = yes]</span> +<span id="cb132-11"><a href="#cb132-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb132-12"><a href="#cb132-12" aria-hidden="true" tabindex="-1"></a>> A block quote.</span> +<span id="cb132-13"><a href="#cb132-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb132-14"><a href="#cb132-14" aria-hidden="true" tabindex="-1"></a>> Another block quote.</span> +<span id="cb132-15"><a href="#cb132-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb132-16"><a href="#cb132-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb132-17"><a href="#cb132-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="cb133"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb133-1"><a href="#cb133-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> <blockquote> <p>A single block quote.</p> @@ -1225,303 +2011,405 @@ <p>Another block quote.</p> </blockquote> </blockquote> -<h4 data-number="2.2.1.7" id="option-citationnbsps"><span class="header-section-number">2.2.1.7</span> Option <code>citationNbsps</code></h4> +<h4 data-number="2.2.1.9" id="option-citationnbsps"><span +class="header-section-number">2.2.1.9</span> Option +<code>citationNbsps</code></h4> <dl> <dt><code>citationNbsps</code> (default value: <code>true</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Replace regular spaces with non-breaking spaces inside the prenotes and postnotes of citations produced via the pandoc citation syntax extension.</p> +<dd> +<p>Replace regular spaces with non-breaking spaces inside the prenotes +and postnotes of citations produced via the pandoc citation syntax +extension.</p> </dd> <dt>false</dt> -<dd><p>Do not replace regular spaces with non-breaking spaces inside the prenotes and postnotes of citations produced via the pandoc citation syntax extension.</p> +<dd> +<p>Do not replace regular spaces with non-breaking spaces inside the +prenotes and postnotes of citations produced via the pandoc citation +syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-6"><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="cb120"><pre class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb120-1"><a href="#cb120-1" aria-hidden="true"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> -<span id="cb120-2"><a href="#cb120-2" aria-hidden="true"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> -<span id="cb120-3"><a href="#cb120-3" aria-hidden="true"></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="cb120-4"><a href="#cb120-4" aria-hidden="true"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> -<span id="cb120-5"><a href="#cb120-5" aria-hidden="true"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> -<span id="cb120-6"><a href="#cb120-6" aria-hidden="true"></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="cb121"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb121-1"><a href="#cb121-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb121-2"><a href="#cb121-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> -<span id="cb121-3"><a href="#cb121-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb121-4"><a href="#cb121-4" aria-hidden="true"></a></span> -<span id="cb121-5"><a href="#cb121-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb121-6"><a href="#cb121-6" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> -<span id="cb121-7"><a href="#cb121-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb121-8"><a href="#cb121-8" aria-hidden="true"></a></span> -<span id="cb121-9"><a href="#cb121-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{citationNbsps = false}</span> -<span id="cb121-10"><a href="#cb121-10" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> -<span id="cb121-11"><a href="#cb121-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb121-12"><a href="#cb121-12" aria-hidden="true"></a></span> -<span id="cb121-13"><a href="#cb121-13" aria-hidden="true"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span> -<span id="cb121-14"><a href="#cb121-14" aria-hidden="true"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span> -<span id="cb121-15"><a href="#cb121-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<h5 class="unnumbered" id="latex-example-7"><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="cb134"><pre +class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb134-1"><a href="#cb134-1" aria-hidden="true" tabindex="-1"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> +<span id="cb134-2"><a href="#cb134-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> +<span id="cb134-3"><a href="#cb134-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="cb134-4"><a href="#cb134-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> +<span id="cb134-5"><a href="#cb134-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> +<span id="cb134-6"><a href="#cb134-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="cb135"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb135-1"><a href="#cb135-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb135-2"><a href="#cb135-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> +<span id="cb135-3"><a href="#cb135-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb135-4"><a href="#cb135-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb135-5"><a href="#cb135-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb135-6"><a href="#cb135-6" aria-hidden="true" tabindex="-1"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> +<span id="cb135-7"><a href="#cb135-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb135-8"><a href="#cb135-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb135-9"><a href="#cb135-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{citationNbsps = false}</span> +<span id="cb135-10"><a href="#cb135-10" aria-hidden="true" tabindex="-1"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> +<span id="cb135-11"><a href="#cb135-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb135-12"><a href="#cb135-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb135-13"><a href="#cb135-13" aria-hidden="true" tabindex="-1"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span> +<span id="cb135-14"><a href="#cb135-14" aria-hidden="true" tabindex="-1"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span> +<span id="cb135-15"><a href="#cb135-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 and BibTeX from the terminal:</p> -<div class="sourceCode" id="cb122"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb122-1"><a href="#cb122-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb122-2"><a href="#cb122-2" aria-hidden="true"></a><span class="ex">bibtex</span> document.aux</span> -<span id="cb122-3"><a href="#cb122-3" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb122-4"><a href="#cb122-4" aria-hidden="true"></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> +<div class="sourceCode" id="cb136"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb136-1"><a href="#cb136-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb136-2"><a href="#cb136-2" aria-hidden="true" tabindex="-1"></a><span class="ex">bibtex</span> document.aux</span> +<span id="cb136-3"><a href="#cb136-3" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb136-4"><a href="#cb136-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, where the middot (<code>·</code>) denotes a +non-breaking space:</p> <blockquote> <p>The TeXbook [1, p.·123·and·130] is good.</p> <p>The TeXbook [1, p. 123 and 130] is good.</p> <h3 id="references">References</h3> -<p><a href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a> Donald·Ervin Knuth. <em>The TeXbook, volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p> -</blockquote> -<h4 data-number="2.2.1.8" id="option-citations"><span class="header-section-number">2.2.1.8</span> Option <code>citations</code></h4> +<p><a +href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a> +Donald·Ervin Knuth. <em>The TeXbook, volume A of Computers and +typesetting.</em> Addison-Wesley, 1984.</p> +</blockquote> +<h4 data-number="2.2.1.10" id="option-citations"><span +class="header-section-number">2.2.1.10</span> Option +<code>citations</code></h4> <dl> <dt><code>citations</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc citation syntax extension:</p> -<div class="sourceCode" id="cb123"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb123-1"><a href="#cb123-1" aria-hidden="true"></a>Here is a simple parenthetical citation <span class="co">[</span><span class="ot">@doe99</span><span class="co">]</span> and here</span> -<span id="cb123-2"><a href="#cb123-2" aria-hidden="true"></a>is a string of several [see @doe99, pp. 33-35; also</span> -<span id="cb123-3"><a href="#cb123-3" aria-hidden="true"></a>@smith04, chap. 1].</span> -<span id="cb123-4"><a href="#cb123-4" aria-hidden="true"></a></span> -<span id="cb123-5"><a href="#cb123-5" aria-hidden="true"></a>A parenthetical citation can have a <span class="co">[</span><span class="ot">prenote @doe99</span><span class="co">]</span> and</span> -<span id="cb123-6"><a href="#cb123-6" aria-hidden="true"></a>a <span class="co">[</span><span class="ot">@smith04 postnote</span><span class="co">]</span>. The name of the author can be</span> -<span id="cb123-7"><a href="#cb123-7" aria-hidden="true"></a>suppressed by inserting a dash before the name of an</span> -<span id="cb123-8"><a href="#cb123-8" aria-hidden="true"></a>author as follows <span class="co">[</span><span class="ot">-@smith04</span><span class="co">]</span>.</span> -<span id="cb123-9"><a href="#cb123-9" aria-hidden="true"></a></span> -<span id="cb123-10"><a href="#cb123-10" aria-hidden="true"></a>Here is a simple text citation @doe99 and here is</span> -<span id="cb123-11"><a href="#cb123-11" aria-hidden="true"></a>a string of several @doe99 [pp. 33-35; also @smith04,</span> -<span id="cb123-12"><a href="#cb123-12" aria-hidden="true"></a>chap. 1]. Here is one with the name of the author</span> -<span id="cb123-13"><a href="#cb123-13" aria-hidden="true"></a>suppressed -@doe99.</span></code></pre></div> +<dd> +<p>Enable the Pandoc citation syntax extension:</p> +<div class="sourceCode" id="cb137"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb137-1"><a href="#cb137-1" aria-hidden="true" tabindex="-1"></a>Here is a simple parenthetical citation <span class="co">[</span><span class="ot">@doe99</span><span class="co">]</span> and here</span> +<span id="cb137-2"><a href="#cb137-2" aria-hidden="true" tabindex="-1"></a>is a string of several [see @doe99, pp. 33-35; also</span> +<span id="cb137-3"><a href="#cb137-3" aria-hidden="true" tabindex="-1"></a>@smith04, chap. 1].</span> +<span id="cb137-4"><a href="#cb137-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb137-5"><a href="#cb137-5" aria-hidden="true" tabindex="-1"></a>A parenthetical citation can have a <span class="co">[</span><span class="ot">prenote @doe99</span><span class="co">]</span> and</span> +<span id="cb137-6"><a href="#cb137-6" aria-hidden="true" tabindex="-1"></a>a <span class="co">[</span><span class="ot">@smith04 postnote</span><span class="co">]</span>. The name of the author can be</span> +<span id="cb137-7"><a href="#cb137-7" aria-hidden="true" tabindex="-1"></a>suppressed by inserting a dash before the name of an</span> +<span id="cb137-8"><a href="#cb137-8" aria-hidden="true" tabindex="-1"></a>author as follows <span class="co">[</span><span class="ot">-@smith04</span><span class="co">]</span>.</span> +<span id="cb137-9"><a href="#cb137-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb137-10"><a href="#cb137-10" aria-hidden="true" tabindex="-1"></a>Here is a simple text citation @doe99 and here is</span> +<span id="cb137-11"><a href="#cb137-11" aria-hidden="true" tabindex="-1"></a>a string of several @doe99 [pp. 33-35; also @smith04,</span> +<span id="cb137-12"><a href="#cb137-12" aria-hidden="true" tabindex="-1"></a>chap. 1]. Here is one with the name of the author</span> +<span id="cb137-13"><a href="#cb137-13" aria-hidden="true" tabindex="-1"></a>suppressed -@doe99.</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc citation syntax extension.</p> +<dd> +<p>Disable the Pandoc citation syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-7"><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="cb124"><pre class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb124-1"><a href="#cb124-1" aria-hidden="true"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> -<span id="cb124-2"><a href="#cb124-2" aria-hidden="true"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> -<span id="cb124-3"><a href="#cb124-3" aria-hidden="true"></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="cb124-4"><a href="#cb124-4" aria-hidden="true"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> -<span id="cb124-5"><a href="#cb124-5" aria-hidden="true"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> -<span id="cb124-6"><a href="#cb124-6" aria-hidden="true"></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="cb125"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb125-1"><a href="#cb125-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb125-2"><a href="#cb125-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[backend=biber]{<span class="ex">biblatex</span>}</span> -<span id="cb125-3"><a href="#cb125-3" aria-hidden="true"></a><span class="fu">\addbibresource</span>{document.bib}</span> -<span id="cb125-4"><a href="#cb125-4" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> -<span id="cb125-5"><a href="#cb125-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb125-6"><a href="#cb125-6" aria-hidden="true"></a></span> -<span id="cb125-7"><a href="#cb125-7" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb125-8"><a href="#cb125-8" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] was written by @knuth:tex.</span> -<span id="cb125-9"><a href="#cb125-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb125-10"><a href="#cb125-10" aria-hidden="true"></a></span> -<span id="cb125-11"><a href="#cb125-11" aria-hidden="true"></a><span class="fu">\printbibliography</span></span> -<span id="cb125-12"><a href="#cb125-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<h5 class="unnumbered" id="latex-example-8"><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="cb138"><pre +class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb138-1"><a href="#cb138-1" aria-hidden="true" tabindex="-1"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> +<span id="cb138-2"><a href="#cb138-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> +<span id="cb138-3"><a href="#cb138-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="cb138-4"><a href="#cb138-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> +<span id="cb138-5"><a href="#cb138-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> +<span id="cb138-6"><a href="#cb138-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="cb139"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb139-1"><a href="#cb139-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb139-2"><a href="#cb139-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[backend=biber]{<span class="ex">biblatex</span>}</span> +<span id="cb139-3"><a href="#cb139-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\addbibresource</span>{document.bib}</span> +<span id="cb139-4"><a href="#cb139-4" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> +<span id="cb139-5"><a href="#cb139-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb139-6"><a href="#cb139-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb139-7"><a href="#cb139-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb139-8"><a href="#cb139-8" aria-hidden="true" tabindex="-1"></a>The TeXbook [@knuth:tex, p. 123 and 130] was written by @knuth:tex.</span> +<span id="cb139-9"><a href="#cb139-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb139-10"><a href="#cb139-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb139-11"><a href="#cb139-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\printbibliography</span></span> +<span id="cb139-12"><a href="#cb139-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 and Biber from the terminal:</p> -<div class="sourceCode" id="cb126"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb126-1"><a href="#cb126-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb126-2"><a href="#cb126-2" aria-hidden="true"></a><span class="ex">biber</span> document.bcf</span> -<span id="cb126-3"><a href="#cb126-3" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb126-4"><a href="#cb126-4" aria-hidden="true"></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>The TeXbook [1, p.·123 and 130] was written by Knuth <a href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a>.</p> +<div class="sourceCode" id="cb140"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb140-1"><a href="#cb140-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb140-2"><a href="#cb140-2" aria-hidden="true" tabindex="-1"></a><span class="ex">biber</span> document.bcf</span> +<span id="cb140-3"><a href="#cb140-3" aria-hidden="true" tabindex="-1"></a><span class="ex">lualatex</span> document.tex</span> +<span id="cb140-4"><a href="#cb140-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> +<p>The TeXbook [1, p.·123 and 130] was written by Knuth <a +href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a>.</p> <h3 id="references-1">References</h3> -<p><a href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a> Donald Ervin Knuth. <em>The <span class="tex">T<sub>e</sub>X</span>book, volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p> -</blockquote> -<h4 data-number="2.2.1.9" id="option-codespans"><span class="header-section-number">2.2.1.9</span> Option <code>codeSpans</code></h4> +<p><a +href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a> +Donald Ervin Knuth. <em>The <span class="tex">T<sub>e</sub>X</span>book, +volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p> +</blockquote> +<h4 data-number="2.2.1.11" id="option-codespans"><span +class="header-section-number">2.2.1.11</span> Option +<code>codeSpans</code></h4> <dl> <dt><code>codeSpans</code> (default value: <code>true</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the code span syntax:</p> -<div class="sourceCode" id="cb127"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb127-1"><a href="#cb127-1" aria-hidden="true"></a>Use the <span class="in">`printf()`</span> function.</span> -<span id="cb127-2"><a href="#cb127-2" aria-hidden="true"></a><span class="in">``There is a literal backtick (`) here.``</span></span></code></pre></div> +<dd> +<p>Enable the code span syntax:</p> +<div class="sourceCode" id="cb141"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb141-1"><a href="#cb141-1" aria-hidden="true" tabindex="-1"></a>Use the <span class="in">`printf()`</span> function.</span> +<span id="cb141-2"><a href="#cb141-2" aria-hidden="true" tabindex="-1"></a>`<span class="in">`There is a literal backtick (`</span>) here.``</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the code span syntax. This allows you to easily use the quotation mark ligatures in texts that do not contain code spans:</p> +<dd> +<p>Disable the code span syntax. This allows you to easily use the +quotation mark ligatures in texts that do not contain code spans:</p> <pre><code>``This is a quote.''</code></pre> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-6">Lua Module 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="cb129"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb129-1"><a href="#cb129-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb129-2"><a href="#cb129-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb129-3"><a href="#cb129-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb129-4"><a href="#cb129-4" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb129-5"><a href="#cb129-5" aria-hidden="true"></a> local convert = markdown.new()</span> -<span id="cb129-6"><a href="#cb129-6" aria-hidden="true"></a> local input =</span> -<span id="cb129-7"><a href="#cb129-7" aria-hidden="true"></a> "``This is a code span.'' " ..</span> -<span id="cb129-8"><a href="#cb129-8" aria-hidden="true"></a> "``This is no longer a code span.''"</span> -<span id="cb129-9"><a href="#cb129-9" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb129-10"><a href="#cb129-10" aria-hidden="true"></a><span class="fu">\par</span></span> -<span id="cb129-11"><a href="#cb129-11" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb129-12"><a href="#cb129-12" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb129-13"><a href="#cb129-13" aria-hidden="true"></a> local convert = markdown.new({codeSpans = false})</span> -<span id="cb129-14"><a href="#cb129-14" aria-hidden="true"></a> local input =</span> -<span id="cb129-15"><a href="#cb129-15" aria-hidden="true"></a> "``This is a quote.'' " ..</span> -<span id="cb129-16"><a href="#cb129-16" aria-hidden="true"></a> "``This is another quote.''"</span> -<span id="cb129-17"><a href="#cb129-17" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb129-18"><a href="#cb129-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-6">Lua Module 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="cb143"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb143-2"><a href="#cb143-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb143-3"><a href="#cb143-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb143-4"><a href="#cb143-4" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb143-5"><a href="#cb143-5" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new()</span> +<span id="cb143-6"><a href="#cb143-6" aria-hidden="true" tabindex="-1"></a> local input =</span> +<span id="cb143-7"><a href="#cb143-7" aria-hidden="true" tabindex="-1"></a> "``This is a code span.'' " ..</span> +<span id="cb143-8"><a href="#cb143-8" aria-hidden="true" tabindex="-1"></a> "``This is no longer a code span.''"</span> +<span id="cb143-9"><a href="#cb143-9" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb143-10"><a href="#cb143-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> +<span id="cb143-11"><a href="#cb143-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb143-12"><a href="#cb143-12" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb143-13"><a href="#cb143-13" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new({codeSpans = false})</span> +<span id="cb143-14"><a href="#cb143-14" aria-hidden="true" tabindex="-1"></a> local input =</span> +<span id="cb143-15"><a href="#cb143-15" aria-hidden="true" tabindex="-1"></a> "``This is a quote.'' " ..</span> +<span id="cb143-16"><a href="#cb143-16" aria-hidden="true" tabindex="-1"></a> "``This is another quote.''"</span> +<span id="cb143-17"><a href="#cb143-17" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb143-18"><a href="#cb143-18" 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="cb130"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb130-1"><a href="#cb130-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb144"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb144-1"><a href="#cb144-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><code>This is a code span.''</code>This is no longer a code span.’’</p> +<p><code>This is a code span.''</code>This is no longer a code +span.’’</p> <p>“This is a quote.” “This is another quote.”</p> </blockquote> -<h5 class="unnumbered" data-number="" id="lua-cli-example-6">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="cb131"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb131-1"><a href="#cb131-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb131-2"><a href="#cb131-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb131-3"><a href="#cb131-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb131-4"><a href="#cb131-4" aria-hidden="true"></a><span class="fu">\par</span></span> -<span id="cb131-5"><a href="#cb131-5" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb131-6"><a href="#cb131-6" aria-hidden="true"></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="cb132"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb132-1"><a href="#cb132-1" aria-hidden="true"></a><span class="in">``Is this a code span?'' ``</span>Or a quote?''</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb133"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb133-1"><a href="#cb133-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ codeSpans=false -- content.md optionfalse.tex</span> -<span id="cb133-2"><a href="#cb133-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optiontrue.tex</span> -<span id="cb133-3"><a href="#cb133-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="lua-cli-example-6">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="cb145"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb145-1"><a href="#cb145-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb145-2"><a href="#cb145-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb145-3"><a href="#cb145-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb145-4"><a href="#cb145-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> +<span id="cb145-5"><a href="#cb145-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb145-6"><a href="#cb145-6" 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="cb146"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb146-1"><a href="#cb146-1" aria-hidden="true" tabindex="-1"></a>``Is this a code span?'' ``Or a quote?''</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb147"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb147-1"><a href="#cb147-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ codeSpans=false <span class="at">--</span> content.md optionfalse.tex</span> +<span id="cb147-2"><a href="#cb147-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb147-3"><a href="#cb147-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>“Is this a code span?” “Or a quote?”</p> <p><code>Is this a code span?''</code>Or a quote?’’</p> </blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-6">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="cb134"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb134-1"><a href="#cb134-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb134-2"><a href="#cb134-2" aria-hidden="true"></a></span> -<span id="cb134-3"><a href="#cb134-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb134-4"><a href="#cb134-4" aria-hidden="true"></a>``This is a code span.''</span> -<span id="cb134-5"><a href="#cb134-5" aria-hidden="true"></a>``This is no longer a code span.''</span> -<span id="cb134-6"><a href="#cb134-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb134-7"><a href="#cb134-7" aria-hidden="true"></a></span> -<span id="cb134-8"><a href="#cb134-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionCodeSpans</span>{false}</span> -<span id="cb134-9"><a href="#cb134-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb134-10"><a href="#cb134-10" aria-hidden="true"></a>``This is a quote.''</span> -<span id="cb134-11"><a href="#cb134-11" aria-hidden="true"></a>``This is another quote.''</span> -<span id="cb134-12"><a href="#cb134-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb134-13"><a href="#cb134-13" aria-hidden="true"></a></span> -<span id="cb134-14"><a href="#cb134-14" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb135"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb135-1"><a href="#cb135-1" aria-hidden="true"></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><code>This is a code span.''</code>This is no longer a code span.’’</p> +<h5 class="unnumbered" id="plain-tex-example-6">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="cb148"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb148-1"><a href="#cb148-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb148-2"><a href="#cb148-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb148-3"><a href="#cb148-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb148-4"><a href="#cb148-4" aria-hidden="true" tabindex="-1"></a>``This is a code span.''</span> +<span id="cb148-5"><a href="#cb148-5" aria-hidden="true" tabindex="-1"></a>``This is no longer a code span.''</span> +<span id="cb148-6"><a href="#cb148-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb148-7"><a href="#cb148-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb148-8"><a href="#cb148-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionCodeSpans</span>{false}</span> +<span id="cb148-9"><a href="#cb148-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb148-10"><a href="#cb148-10" aria-hidden="true" tabindex="-1"></a>``This is a quote.''</span> +<span id="cb148-11"><a href="#cb148-11" aria-hidden="true" tabindex="-1"></a>``This is another quote.''</span> +<span id="cb148-12"><a href="#cb148-12" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb148-13"><a href="#cb148-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb148-14"><a href="#cb148-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="cb149"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb149-1"><a href="#cb149-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><code>This is a code span.''</code>This is no longer a code +span.’’</p> <p>“This is a quote.” “This is another quote.”</p> </blockquote> -<h5 class="unnumbered" data-number="" id="latex-example-8"><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="cb136"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb136-1"><a href="#cb136-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb136-2"><a href="#cb136-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb136-3"><a href="#cb136-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb136-4"><a href="#cb136-4" aria-hidden="true"></a></span> -<span id="cb136-5"><a href="#cb136-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb136-6"><a href="#cb136-6" aria-hidden="true"></a>``This is a code span.''</span> -<span id="cb136-7"><a href="#cb136-7" aria-hidden="true"></a>``This is no longer a code span.''</span> -<span id="cb136-8"><a href="#cb136-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb136-9"><a href="#cb136-9" aria-hidden="true"></a></span> -<span id="cb136-10"><a href="#cb136-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{codeSpans=false}</span> -<span id="cb136-11"><a href="#cb136-11" aria-hidden="true"></a>``This is a quote.''</span> -<span id="cb136-12"><a href="#cb136-12" aria-hidden="true"></a>``This is another quote.''</span> -<span id="cb136-13"><a href="#cb136-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb136-14"><a href="#cb136-14" aria-hidden="true"></a></span> -<span id="cb136-15"><a href="#cb136-15" aria-hidden="true"></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="cb137"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb137-1"><a href="#cb137-1" aria-hidden="true"></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><code>This is a code span.''</code>This is no longer a code span.’’</p> +<h5 class="unnumbered" id="latex-example-9"><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="cb150"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb150-1"><a href="#cb150-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb150-2"><a href="#cb150-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb150-3"><a href="#cb150-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb150-4"><a href="#cb150-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb150-5"><a href="#cb150-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb150-6"><a href="#cb150-6" aria-hidden="true" tabindex="-1"></a>``This is a code span.''</span> +<span id="cb150-7"><a href="#cb150-7" aria-hidden="true" tabindex="-1"></a>``This is no longer a code span.''</span> +<span id="cb150-8"><a href="#cb150-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb150-9"><a href="#cb150-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb150-10"><a href="#cb150-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{codeSpans=false}</span> +<span id="cb150-11"><a href="#cb150-11" aria-hidden="true" tabindex="-1"></a>``This is a quote.''</span> +<span id="cb150-12"><a href="#cb150-12" aria-hidden="true" tabindex="-1"></a>``This is another quote.''</span> +<span id="cb150-13"><a href="#cb150-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb150-14"><a href="#cb150-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb150-15"><a href="#cb150-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="cb151"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb151-1"><a href="#cb151-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><code>This is a code span.''</code>This is no longer a code +span.’’</p> <p>“This is a quote.” “This is another quote.”</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-6">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="cb138"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb138-1"><a href="#cb138-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb138-2"><a href="#cb138-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb138-3"><a href="#cb138-3" aria-hidden="true"></a></span> -<span id="cb138-4"><a href="#cb138-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb138-5"><a href="#cb138-5" aria-hidden="true"></a>``This is a code span.''</span> -<span id="cb138-6"><a href="#cb138-6" aria-hidden="true"></a>``This is no longer a code span.''</span> -<span id="cb138-7"><a href="#cb138-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb138-8"><a href="#cb138-8" aria-hidden="true"></a></span> -<span id="cb138-9"><a href="#cb138-9" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[codeSpans = no]</span> -<span id="cb138-10"><a href="#cb138-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb138-11"><a href="#cb138-11" aria-hidden="true"></a>``This is a quote.''</span> -<span id="cb138-12"><a href="#cb138-12" aria-hidden="true"></a>``This is another quote.''</span> -<span id="cb138-13"><a href="#cb138-13" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb138-14"><a href="#cb138-14" aria-hidden="true"></a></span> -<span id="cb138-15"><a href="#cb138-15" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb139"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb139-1"><a href="#cb139-1" aria-hidden="true"></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><code>This is a code span.''</code>This is no longer a code span.’’</p> +<h5 class="unnumbered" id="context-example-7">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="cb152"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb152-1"><a href="#cb152-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb152-2"><a href="#cb152-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb152-3"><a href="#cb152-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb152-4"><a href="#cb152-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb152-5"><a href="#cb152-5" aria-hidden="true" tabindex="-1"></a>``This is a code span.''</span> +<span id="cb152-6"><a href="#cb152-6" aria-hidden="true" tabindex="-1"></a>``This is no longer a code span.''</span> +<span id="cb152-7"><a href="#cb152-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb152-8"><a href="#cb152-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb152-9"><a href="#cb152-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[codeSpans = no]</span> +<span id="cb152-10"><a href="#cb152-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb152-11"><a href="#cb152-11" aria-hidden="true" tabindex="-1"></a>``This is a quote.''</span> +<span id="cb152-12"><a href="#cb152-12" aria-hidden="true" tabindex="-1"></a>``This is another quote.''</span> +<span id="cb152-13"><a href="#cb152-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb152-14"><a href="#cb152-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb152-15"><a href="#cb152-15" 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="cb153"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb153-1"><a href="#cb153-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><code>This is a code span.''</code>This is no longer a code +span.’’</p> <p>“This is a quote.” “This is another quote.”</p> </blockquote> -<h4 data-number="2.2.1.10" id="option-contentblocks"><span class="header-section-number">2.2.1.10</span> Option <code>contentBlocks</code></h4> +<h4 data-number="2.2.1.12" id="option-contentblocks"><span +class="header-section-number">2.2.1.12</span> Option +<code>contentBlocks</code></h4> <dl> <dt><code>contentBlocks</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the iA Writer content blocks syntax extension:</p> -<div class="sourceCode" id="cb140"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb140-1"><a href="#cb140-1" aria-hidden="true"></a>http://example.com/minard.jpg (Napoleon's</span> -<span id="cb140-2"><a href="#cb140-2" aria-hidden="true"></a> disastrous Russian campaign of 1812)</span> -<span id="cb140-3"><a href="#cb140-3" aria-hidden="true"></a>/Flowchart.png "Engineering Flowchart"</span> -<span id="cb140-4"><a href="#cb140-4" aria-hidden="true"></a>/Savings Account.csv 'Recent Transactions'</span> -<span id="cb140-5"><a href="#cb140-5" aria-hidden="true"></a>/Example.swift</span> -<span id="cb140-6"><a href="#cb140-6" aria-hidden="true"></a>/Lorem Ipsum.txt</span></code></pre></div> +<dd> +<p>Enable the iA Writer content blocks syntax extension:</p> +<div class="sourceCode" id="cb154"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb154-1"><a href="#cb154-1" aria-hidden="true" tabindex="-1"></a>http://example.com/minard.jpg (Napoleon's</span> +<span id="cb154-2"><a href="#cb154-2" aria-hidden="true" tabindex="-1"></a> disastrous Russian campaign of 1812)</span> +<span id="cb154-3"><a href="#cb154-3" aria-hidden="true" tabindex="-1"></a>/Flowchart.png "Engineering Flowchart"</span> +<span id="cb154-4"><a href="#cb154-4" aria-hidden="true" tabindex="-1"></a>/Savings Account.csv 'Recent Transactions'</span> +<span id="cb154-5"><a href="#cb154-5" aria-hidden="true" tabindex="-1"></a>/Example.swift</span> +<span id="cb154-6"><a href="#cb154-6" aria-hidden="true" tabindex="-1"></a>/Lorem Ipsum.txt</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the iA Writer content blocks syntax extension.</p> +<dd> +<p>Disable the iA Writer content blocks syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-9"><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>table.csv</code> with the following content:</p> +<h5 class="unnumbered" id="latex-example-10"><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>table.csv</code> with the following content:</p> <pre class="csv"><code>Name,Surname,Born Albert,Einstein,1879 Marie,Curie,1867 Thomas,Edison,1847</code></pre> -<p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p> -<div class="sourceCode" id="cb142"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb142-1"><a href="#cb142-1" aria-hidden="true"></a>{</span> -<span id="cb142-2"><a href="#cb142-2" aria-hidden="true"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"LaTeX"</span></span> -<span id="cb142-3"><a href="#cb142-3" aria-hidden="true"></a>}</span></code></pre></div> -<p>Create also a text document named <code>code.tex</code> with the following content:</p> -<div class="sourceCode" id="cb143"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> -<p>Create also a text document named <code>part.md</code> with the following content:</p> -<div class="sourceCode" id="cb144"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb144-1"><a href="#cb144-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div> -<p>Create also a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb145"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb145-1"><a href="#cb145-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb145-2"><a href="#cb145-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> -<span id="cb145-3"><a href="#cb145-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> -<span id="cb145-4"><a href="#cb145-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb145-5"><a href="#cb145-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb145-6"><a href="#cb145-6" aria-hidden="true"></a>/table.csv (An example table)</span> -<span id="cb145-7"><a href="#cb145-7" aria-hidden="true"></a>/code.tex (An example code listing)</span> -<span id="cb145-8"><a href="#cb145-8" aria-hidden="true"></a>/part.md (A file transclusion example)</span> -<span id="cb145-9"><a href="#cb145-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb145-10"><a href="#cb145-10" aria-hidden="true"></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="cb146"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb146-1"><a href="#cb146-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape document.tex</span></code></pre></div> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<p>Create also a text document named +<code>markdown-languages.json</code> with the following content:</p> +<div class="sourceCode" id="cb156"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb156-1"><a href="#cb156-1" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb156-2"><a href="#cb156-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"LaTeX"</span></span> +<span id="cb156-3"><a href="#cb156-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<p>Create also a text document named <code>code.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb157"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb157-1"><a href="#cb157-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> +<p>Create also a text document named <code>part.md</code> with the +following content:</p> +<div class="sourceCode" id="cb158"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb158-1"><a href="#cb158-1" aria-hidden="true" tabindex="-1"></a>This is a *transcluded markdown document*.</span></code></pre></div> +<p>Create also a text document named <code>document.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb159"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb159-1"><a href="#cb159-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb159-2"><a href="#cb159-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> +<span id="cb159-3"><a href="#cb159-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> +<span id="cb159-4"><a href="#cb159-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb159-5"><a href="#cb159-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb159-6"><a href="#cb159-6" aria-hidden="true" tabindex="-1"></a>/table.csv (An example table)</span> +<span id="cb159-7"><a href="#cb159-7" aria-hidden="true" tabindex="-1"></a>/code.tex (An example code listing)</span> +<span id="cb159-8"><a href="#cb159-8" aria-hidden="true" tabindex="-1"></a>/part.md (A file transclusion example)</span> +<span id="cb159-9"><a href="#cb159-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb159-10"><a href="#cb159-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="cb160"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb160-1"><a href="#cb160-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 text:</p> <blockquote> <table> <thead> @@ -1550,38 +2438,51 @@ Thomas,Edison,1847</code></pre> </tbody> </table> <p>Table 1: An example table</p> -<div class="sourceCode" id="cb147"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb147-1"><a href="#cb147-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> +<div class="sourceCode" id="cb161"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb161-1"><a href="#cb161-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> <p>This is a <em>transcluded markdown document</em>.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-7">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> -<p>Using a text editor, create a text document named <code>table.csv</code> with the following content:</p> +<h5 class="unnumbered" id="context-example-8">Con<span +class="tex">T<sub>e</sub>X</span>t Example</h5> +<p>Using a text editor, create a text document named +<code>table.csv</code> with the following content:</p> <pre class="csv"><code>Name,Surname,Born Albert,Einstein,1879 Marie,Curie,1867 Thomas,Edison,1847</code></pre> -<p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p> -<div class="sourceCode" id="cb149"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb149-1"><a href="#cb149-1" aria-hidden="true"></a>{</span> -<span id="cb149-2"><a href="#cb149-2" aria-hidden="true"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"ConTeXt"</span></span> -<span id="cb149-3"><a href="#cb149-3" aria-hidden="true"></a>}</span></code></pre></div> -<p>Create also a text document named <code>code.tex</code> with the following content:</p> -<div class="sourceCode" id="cb150"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb150-1"><a href="#cb150-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> -<p>Create also a text document named <code>part.md</code> with the following content:</p> -<div class="sourceCode" id="cb151"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb151-1"><a href="#cb151-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div> -<p>Create also a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb152"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb152-1"><a href="#cb152-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb152-2"><a href="#cb152-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[contentBlocks = yes]</span> -<span id="cb152-3"><a href="#cb152-3" aria-hidden="true"></a><span class="fu">\definetyping</span> [ConTeXt]</span> -<span id="cb152-4"><a href="#cb152-4" aria-hidden="true"></a><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</span> -<span id="cb152-5"><a href="#cb152-5" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb152-6"><a href="#cb152-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb152-7"><a href="#cb152-7" aria-hidden="true"></a>/table.csv (An example table)</span> -<span id="cb152-8"><a href="#cb152-8" aria-hidden="true"></a>/code.tex (An example code listing)</span> -<span id="cb152-9"><a href="#cb152-9" aria-hidden="true"></a>/part.md (A file transclusion example)</span> -<span id="cb152-10"><a href="#cb152-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb152-11"><a href="#cb152-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb153"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb153-1"><a href="#cb153-1" aria-hidden="true"></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> +<p>Create also a text document named +<code>markdown-languages.json</code> with the following content:</p> +<div class="sourceCode" id="cb163"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb163-1"><a href="#cb163-1" aria-hidden="true" tabindex="-1"></a>{</span> +<span id="cb163-2"><a href="#cb163-2" aria-hidden="true" tabindex="-1"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"ConTeXt"</span></span> +<span id="cb163-3"><a href="#cb163-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<p>Create also a text document named <code>code.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb164"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb164-1"><a href="#cb164-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> +<p>Create also a text document named <code>part.md</code> with the +following content:</p> +<div class="sourceCode" id="cb165"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb165-1"><a href="#cb165-1" aria-hidden="true" tabindex="-1"></a>This is a *transcluded markdown document*.</span></code></pre></div> +<p>Create also a text document named <code>document.tex</code> with the +following content:</p> +<div class="sourceCode" id="cb166"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb166-1"><a href="#cb166-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb166-2"><a href="#cb166-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[contentBlocks = yes]</span> +<span id="cb166-3"><a href="#cb166-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\definetyping</span> [ConTeXt]</span> +<span id="cb166-4"><a href="#cb166-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</span> +<span id="cb166-5"><a href="#cb166-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb166-6"><a href="#cb166-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb166-7"><a href="#cb166-7" aria-hidden="true" tabindex="-1"></a>/table.csv (An example table)</span> +<span id="cb166-8"><a href="#cb166-8" aria-hidden="true" tabindex="-1"></a>/code.tex (An example code listing)</span> +<span id="cb166-9"><a href="#cb166-9" aria-hidden="true" tabindex="-1"></a>/part.md (A file transclusion example)</span> +<span id="cb166-10"><a href="#cb166-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb166-11"><a href="#cb166-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="cb167"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb167-1"><a href="#cb167-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> <table> <thead> @@ -1610,424 +2511,525 @@ Thomas,Edison,1847</code></pre> </tbody> </table> <p>Table 1: An example table</p> -<div class="sourceCode" id="cb154"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb154-1"><a href="#cb154-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> +<div class="sourceCode" id="cb168"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb168-1"><a href="#cb168-1" aria-hidden="true" tabindex="-1"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> <p>This is a <em>transcluded markdown document</em>.</p> </blockquote> -<h4 data-number="2.2.1.11" id="option-contentblockslanguagemap"><span class="header-section-number">2.2.1.11</span> Option <code>contentBlocksLanguageMap</code></h4> +<h4 data-number="2.2.1.13" id="option-debugextensions"><span +class="header-section-number">2.2.1.13</span> Option +<code>debugExtensions</code></h4> <dl> -<dt><code>contentBlocksLanguageMap</code> (default value: <code>"markdown-languages.json"</code>)</dt> -<dd><p>The filename of the <abbr>JSON</abbr> file that maps filename extensions to programming language names in the iA Writer content blocks.</p> +<dt><code>debugExtensions</code> (default value: +<code>false</code>)</dt> +<dd> +<dl> +<dt>true</dt> +<dd> +<p>Produce a <abbr>JSON</abbr> file that will contain the extensible +subset of the <abbr>peg</abbr> grammar of markdown after built-in syntax +extensions (see options <strong><code>citations</code></strong>, +<strong><code>contentBlocks</code></strong>, +<strong><code>definitionLists</code></strong>, etc.) and user-defined +syntax extensions (see option <strong><code>extensions</code></strong>) +have been applied. This helps you to see how the different extensions +interact. The name of the produced <abbr>JSON</abbr> file is controlled +by the <strong><code>debugExtensionsFileName</code></strong> option.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-10"><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>table.csv</code> with the following content:</p> -<pre class="csv"><code>Name,Surname,Born -Albert,Einstein,1879 -Marie,Curie,1867 -Thomas,Edison,1847</code></pre> -<p>Create also a text document named <code>language-map.json</code> with the following content:</p> -<div class="sourceCode" id="cb156"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb156-1"><a href="#cb156-1" aria-hidden="true"></a>{</span> -<span id="cb156-2"><a href="#cb156-2" aria-hidden="true"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"LaTeX"</span></span> -<span id="cb156-3"><a href="#cb156-3" aria-hidden="true"></a>}</span></code></pre></div> -<p>Create also a text document named <code>code.tex</code> with the following content:</p> -<div class="sourceCode" id="cb157"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb157-1"><a href="#cb157-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> -<p>Create also a text document named <code>part.md</code> with the following content:</p> -<div class="sourceCode" id="cb158"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb158-1"><a href="#cb158-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div> -<p>Create also a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb159"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb159-1"><a href="#cb159-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb159-2"><a href="#cb159-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> -<span id="cb159-3"><a href="#cb159-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> -<span id="cb159-4"><a href="#cb159-4" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb159-5"><a href="#cb159-5" aria-hidden="true"></a> contentBlocksLanguageMap = {language-map.json},</span> -<span id="cb159-6"><a href="#cb159-6" aria-hidden="true"></a>}</span> -<span id="cb159-7"><a href="#cb159-7" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb159-8"><a href="#cb159-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb159-9"><a href="#cb159-9" aria-hidden="true"></a>/table.csv (An example table)</span> -<span id="cb159-10"><a href="#cb159-10" aria-hidden="true"></a>/code.tex (An example code listing)</span> -<span id="cb159-11"><a href="#cb159-11" aria-hidden="true"></a>/part.md (A file transclusion example)</span> -<span id="cb159-12"><a href="#cb159-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb159-13"><a href="#cb159-13" aria-hidden="true"></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="cb160"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb160-1"><a href="#cb160-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape 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> -<table> -<thead> -<tr class="header"> -<th>Name</th> -<th>Surname</th> -<th>Born</th> -</tr> -</thead> -<tbody> -<tr class="odd"> -<td>Albert</td> -<td>Einstein</td> -<td>1879</td> -</tr> -<tr class="even"> -<td>Marie</td> -<td>Curie</td> -<td>1867</td> -</tr> -<tr class="odd"> -<td>Thomas</td> -<td>Edison</td> -<td>1847</td> -</tr> -</tbody> -</table> -<p>Table 1: An example table</p> -<div class="sourceCode" id="cb161"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb161-1"><a href="#cb161-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div> -<p>This is a <em>transcluded markdown document</em>.</p> -</blockquote> -<h5 class="unnumbered" data-number="" id="context-example-8">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5> -<p>Using a text editor, create a text document named <code>table.csv</code> with the following content:</p> -<pre class="csv"><code>Name,Surname,Born -Albert,Einstein,1879 -Marie,Curie,1867 -Thomas,Edison,1847</code></pre> -<p>Create also a text document named <code>language-map.json</code> with the following content:</p> -<div class="sourceCode" id="cb163"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb163-1"><a href="#cb163-1" aria-hidden="true"></a>{</span> -<span id="cb163-2"><a href="#cb163-2" aria-hidden="true"></a> <span class="st">"tex"</span><span class="op">:</span> <span class="st">"ConTeXt"</span></span> -<span id="cb163-3"><a href="#cb163-3" aria-hidden="true"></a>}</span></code></pre></div> -<p>Create also a text document named <code>code.tex</code> with the following content:</p> -<div class="sourceCode" id="cb164"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb164-1"><a href="#cb164-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> -<p>Create also a text document named <code>part.md</code> with the following content:</p> -<div class="sourceCode" id="cb165"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb165-1"><a href="#cb165-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div> -<p>Create also a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb166"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb166-1"><a href="#cb166-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb166-2"><a href="#cb166-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb166-3"><a href="#cb166-3" aria-hidden="true"></a> [</span> -<span id="cb166-4"><a href="#cb166-4" aria-hidden="true"></a> contentBlocks = yes,</span> -<span id="cb166-5"><a href="#cb166-5" aria-hidden="true"></a> contentBlocksLanguageMap = language-map.json,</span> -<span id="cb166-6"><a href="#cb166-6" aria-hidden="true"></a> ]</span> -<span id="cb166-7"><a href="#cb166-7" aria-hidden="true"></a><span class="fu">\definetyping</span> [ConTeXt]</span> -<span id="cb166-8"><a href="#cb166-8" aria-hidden="true"></a><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</span> -<span id="cb166-9"><a href="#cb166-9" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb166-10"><a href="#cb166-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb166-11"><a href="#cb166-11" aria-hidden="true"></a>/table.csv (An example table)</span> -<span id="cb166-12"><a href="#cb166-12" aria-hidden="true"></a>/code.tex (An example code listing)</span> -<span id="cb166-13"><a href="#cb166-13" aria-hidden="true"></a>/part.md (A file transclusion example)</span> -<span id="cb166-14"><a href="#cb166-14" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb166-15"><a href="#cb166-15" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb167"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb167-1"><a href="#cb167-1" aria-hidden="true"></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> +</dd> +<dd> +<dl> +<dt>false</dt> +<dd> +<p>Do not produce a <abbr>JSON</abbr> file with the <abbr>peg</abbr> +grammar of markdown.</p> +</dd> +</dl> +</dd> +</dl> +<h5 class="unnumbered" id="latex-example-11"><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>strike-through.lua</code> with the following content:</p> +<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-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> +<span id="cb169-7"><a href="#cb169-7" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> <span class="kw">function</span> between<span class="op">(</span>p<span class="op">,</span> starter<span class="op">,</span> ender<span class="op">)</span></span> +<span id="cb169-8"><a href="#cb169-8" aria-hidden="true" tabindex="-1"></a> ender <span class="op">=</span> lpeg<span class="op">.</span>B<span class="op">(</span>nonspacechar<span class="op">)</span> <span class="op">*</span> ender</span> +<span id="cb169-9"><a href="#cb169-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="op">(</span>starter <span class="op">*</span> <span class="op">#</span>nonspacechar</span> +<span id="cb169-10"><a href="#cb169-10" aria-hidden="true" tabindex="-1"></a> <span class="op">*</span> lpeg<span class="op">.</span>Ct<span class="op">(</span>p <span class="op">*</span> <span class="op">(</span>p <span class="op">-</span> ender<span class="op">)^</span><span class="dv">0</span><span class="op">)</span> <span class="op">*</span> ender<span class="op">)</span></span> +<span id="cb169-11"><a href="#cb169-11" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span> +<span id="cb169-12"><a href="#cb169-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb169-13"><a href="#cb169-13" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> read_strike_through <span class="op">=</span> between<span class="op">(</span></span> +<span id="cb169-14"><a href="#cb169-14" aria-hidden="true" tabindex="-1"></a> lpeg<span class="op">.</span>V<span class="op">(</span><span class="st">"Inline"</span><span class="op">),</span> doubleslashes<span class="op">,</span> doubleslashes</span> +<span id="cb169-15"><a href="#cb169-15" aria-hidden="true" tabindex="-1"></a> <span class="op">)</span> <span class="op">/</span> <span class="kw">function</span><span class="op">(</span>s<span class="op">)</span> <span class="cf">return</span> <span class="op">{</span><span class="st">"</span><span class="sc">\\</span><span class="st">st{"</span><span class="op">,</span> s<span class="op">,</span> <span class="st">"}"</span><span class="op">}</span> <span class="kw">end</span></span> +<span id="cb169-16"><a href="#cb169-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb169-17"><a href="#cb169-17" aria-hidden="true" tabindex="-1"></a> reader<span class="op">.</span>insert_pattern<span class="op">(</span><span class="st">"Inline after Emph"</span><span class="op">,</span> read_strike_through<span class="op">,</span></span> +<span id="cb169-18"><a href="#cb169-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"StrikeThrough"</span><span class="op">)</span></span> +<span id="cb169-19"><a href="#cb169-19" aria-hidden="true" tabindex="-1"></a> reader<span class="op">.</span>add_special_character<span class="op">(</span><span class="st">"/"</span><span class="op">)</span></span> +<span id="cb169-20"><a href="#cb169-20" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span> +<span id="cb169-21"><a href="#cb169-21" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span> +<span id="cb169-22"><a href="#cb169-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb169-23"><a href="#cb169-23" aria-hidden="true" tabindex="-1"></a><span class="cf">return</span> strike_through</span></code></pre></div> +<p>Using a text editor, create also a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb170"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb170-1"><a href="#cb170-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb170-2"><a href="#cb170-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">soul</span>}</span> +<span id="cb170-3"><a href="#cb170-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[extension = strike-through.lua,</span> +<span id="cb170-4"><a href="#cb170-4" aria-hidden="true" tabindex="-1"></a> debugExtensions]{<span class="ex">markdown</span>}</span> +<span id="cb170-5"><a href="#cb170-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb170-6"><a href="#cb170-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb170-7"><a href="#cb170-7" aria-hidden="true" tabindex="-1"></a>This is //a lunar roving vehicle// strike-through text.</span> +<span id="cb170-8"><a href="#cb170-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb170-9"><a href="#cb170-9" 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="cb171"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb171-1"><a href="#cb171-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> -<table> -<thead> -<tr class="header"> -<th>Name</th> -<th>Surname</th> -<th>Born</th> -</tr> -</thead> -<tbody> -<tr class="odd"> -<td>Albert</td> -<td>Einstein</td> -<td>1879</td> -</tr> -<tr class="even"> -<td>Marie</td> -<td>Curie</td> -<td>1867</td> -</tr> -<tr class="odd"> -<td>Thomas</td> -<td>Edison</td> -<td>1847</td> -</tr> -</tbody> -</table> -<p>Table 1: An example table</p> -<div class="sourceCode" id="cb168"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb168-1"><a href="#cb168-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div> -<p>This is a <em>transcluded markdown document</em>.</p> +<p>This is <del>a lunar roving vehicle</del> strike-through text.</p> </blockquote> -<h4 data-number="2.2.1.12" id="option-definitionlists"><span class="header-section-number">2.2.1.12</span> Option <code>definitionLists</code></h4> +<p>Furthermore, a JSON document named +<code>document.debug-extensions.json</code> should also be produced and +contain the following text:</p> +<div class="sourceCode" id="cb172"><pre +class="sourceCode json"><code class="sourceCode json"><span id="cb172-1"><a href="#cb172-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span> +<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-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> +<span id="cb172-9"><a href="#cb172-9" aria-hidden="true" tabindex="-1"></a> <span class="st">"DisplayHtml"</span><span class="ot">,</span></span> +<span id="cb172-10"><a href="#cb172-10" aria-hidden="true" tabindex="-1"></a> <span class="st">"Paragraph"</span><span class="ot">,</span></span> +<span id="cb172-11"><a href="#cb172-11" aria-hidden="true" tabindex="-1"></a> <span class="st">"Plain"</span></span> +<span id="cb172-12"><a href="#cb172-12" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span><span class="fu">,</span></span> +<span id="cb172-13"><a href="#cb172-13" aria-hidden="true" tabindex="-1"></a> <span class="dt">"Inline"</span><span class="fu">:</span> <span class="ot">[</span></span> +<span id="cb172-14"><a href="#cb172-14" aria-hidden="true" tabindex="-1"></a> <span class="st">"Str"</span><span class="ot">,</span></span> +<span id="cb172-15"><a href="#cb172-15" aria-hidden="true" tabindex="-1"></a> <span class="st">"Space"</span><span class="ot">,</span></span> +<span id="cb172-16"><a href="#cb172-16" aria-hidden="true" tabindex="-1"></a> <span class="st">"Endline"</span><span class="ot">,</span></span> +<span id="cb172-17"><a href="#cb172-17" aria-hidden="true" tabindex="-1"></a> <span class="st">"UlOrStarLine"</span><span class="ot">,</span></span> +<span id="cb172-18"><a href="#cb172-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"Strong"</span><span class="ot">,</span></span> +<span id="cb172-19"><a href="#cb172-19" aria-hidden="true" tabindex="-1"></a> <span class="st">"Emph"</span><span class="ot">,</span></span> +<span id="cb172-20"><a href="#cb172-20" aria-hidden="true" tabindex="-1"></a> <span class="st">"StrikeThrough (user-defined </span><span class="ch">\"</span><span class="st">./strike-through.lua</span><span class="ch">\"</span><span class="st"> syntax extension)"</span><span class="ot">,</span></span> +<span id="cb172-21"><a href="#cb172-21" aria-hidden="true" tabindex="-1"></a> <span class="st">"Link"</span><span class="ot">,</span></span> +<span id="cb172-22"><a href="#cb172-22" aria-hidden="true" tabindex="-1"></a> <span class="st">"Image"</span><span class="ot">,</span></span> +<span id="cb172-23"><a href="#cb172-23" aria-hidden="true" tabindex="-1"></a> <span class="st">"Code"</span><span class="ot">,</span></span> +<span id="cb172-24"><a href="#cb172-24" aria-hidden="true" tabindex="-1"></a> <span class="st">"AutoLinkUrl"</span><span class="ot">,</span></span> +<span id="cb172-25"><a href="#cb172-25" aria-hidden="true" tabindex="-1"></a> <span class="st">"AutoLinkEmail"</span><span class="ot">,</span></span> +<span id="cb172-26"><a href="#cb172-26" aria-hidden="true" tabindex="-1"></a> <span class="st">"AutoLinkRelativeReference"</span><span class="ot">,</span></span> +<span id="cb172-27"><a href="#cb172-27" aria-hidden="true" tabindex="-1"></a> <span class="st">"InlineHtml"</span><span class="ot">,</span></span> +<span id="cb172-28"><a href="#cb172-28" aria-hidden="true" tabindex="-1"></a> <span class="st">"HtmlEntity"</span><span class="ot">,</span></span> +<span id="cb172-29"><a href="#cb172-29" aria-hidden="true" tabindex="-1"></a> <span class="st">"EscapedChar"</span><span class="ot">,</span></span> +<span id="cb172-30"><a href="#cb172-30" aria-hidden="true" tabindex="-1"></a> <span class="st">"Smart"</span><span class="ot">,</span></span> +<span id="cb172-31"><a href="#cb172-31" aria-hidden="true" tabindex="-1"></a> <span class="st">"Symbol"</span></span> +<span id="cb172-32"><a href="#cb172-32" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span> +<span id="cb172-33"><a href="#cb172-33" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div> +<p>This output shows us that our user-defined syntax extension has been +correctly inserted to the grammar of markdown.</p> +<h4 data-number="2.2.1.14" id="option-definitionlists"><span +class="header-section-number">2.2.1.14</span> Option +<code>definitionLists</code></h4> +<dl> +<dt><code>definitionLists</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>definitionLists</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Enable the pandoc definition list syntax extension:</p> -<div class="sourceCode" id="cb169"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb169-1"><a href="#cb169-1" aria-hidden="true"></a>Term 1</span> -<span id="cb169-2"><a href="#cb169-2" aria-hidden="true"></a></span> -<span id="cb169-3"><a href="#cb169-3" aria-hidden="true"></a>: Definition 1</span> -<span id="cb169-4"><a href="#cb169-4" aria-hidden="true"></a></span> -<span id="cb169-5"><a href="#cb169-5" aria-hidden="true"></a>Term 2 with *inline markup*</span> -<span id="cb169-6"><a href="#cb169-6" aria-hidden="true"></a></span> -<span id="cb169-7"><a href="#cb169-7" aria-hidden="true"></a>: Definition 2</span> -<span id="cb169-8"><a href="#cb169-8" aria-hidden="true"></a></span> -<span id="cb169-9"><a href="#cb169-9" aria-hidden="true"></a><span class="in"> { some code, part of Definition 2 }</span></span> -<span id="cb169-10"><a href="#cb169-10" aria-hidden="true"></a></span> -<span id="cb169-11"><a href="#cb169-11" aria-hidden="true"></a><span class="in"> Third paragraph of definition 2.</span></span></code></pre></div> +<dd> +<p>Enable the pandoc definition list syntax extension:</p> +<div class="sourceCode" id="cb173"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb173-1"><a href="#cb173-1" aria-hidden="true" tabindex="-1"></a>Term 1</span> +<span id="cb173-2"><a href="#cb173-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb173-3"><a href="#cb173-3" aria-hidden="true" tabindex="-1"></a>: Definition 1</span> +<span id="cb173-4"><a href="#cb173-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb173-5"><a href="#cb173-5" aria-hidden="true" tabindex="-1"></a>Term 2 with *inline markup*</span> +<span id="cb173-6"><a href="#cb173-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb173-7"><a href="#cb173-7" aria-hidden="true" tabindex="-1"></a>: Definition 2</span> +<span id="cb173-8"><a href="#cb173-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb173-9"><a href="#cb173-9" aria-hidden="true" tabindex="-1"></a><span class="in"> { some code, part of Definition 2 }</span></span> +<span id="cb173-10"><a href="#cb173-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb173-11"><a href="#cb173-11" aria-hidden="true" tabindex="-1"></a><span class="in"> Third paragraph of definition 2.</span></span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the pandoc definition list syntax extension.</p> +<dd> +<p>Disable the pandoc definition list syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-11"><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="cb170"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb170-1"><a href="#cb170-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb170-2"><a href="#cb170-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[definitionLists]{<span class="ex">markdown</span>}</span> -<span id="cb170-3"><a href="#cb170-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb170-4"><a href="#cb170-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb170-5"><a href="#cb170-5" aria-hidden="true"></a>Term 1</span> -<span id="cb170-6"><a href="#cb170-6" aria-hidden="true"></a></span> -<span id="cb170-7"><a href="#cb170-7" aria-hidden="true"></a>: Definition 1</span> -<span id="cb170-8"><a href="#cb170-8" aria-hidden="true"></a></span> -<span id="cb170-9"><a href="#cb170-9" aria-hidden="true"></a>Term 2 with *inline markup*</span> -<span id="cb170-10"><a href="#cb170-10" aria-hidden="true"></a></span> -<span id="cb170-11"><a href="#cb170-11" aria-hidden="true"></a>: Definition 2</span> -<span id="cb170-12"><a href="#cb170-12" aria-hidden="true"></a></span> -<span id="cb170-13"><a href="#cb170-13" aria-hidden="true"></a> { some code, part of Definition 2 }</span> -<span id="cb170-14"><a href="#cb170-14" aria-hidden="true"></a></span> -<span id="cb170-15"><a href="#cb170-15" aria-hidden="true"></a> Third paragraph of definition 2.</span> -<span id="cb170-16"><a href="#cb170-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb170-17"><a href="#cb170-17" aria-hidden="true"></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="cb171"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb171-1"><a href="#cb171-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-12"><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="cb174"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb174-1"><a href="#cb174-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb174-2"><a href="#cb174-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[definitionLists]{<span class="ex">markdown</span>}</span> +<span id="cb174-3"><a href="#cb174-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb174-4"><a href="#cb174-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb174-5"><a href="#cb174-5" aria-hidden="true" tabindex="-1"></a>Term 1</span> +<span id="cb174-6"><a href="#cb174-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb174-7"><a href="#cb174-7" aria-hidden="true" tabindex="-1"></a>: Definition 1</span> +<span id="cb174-8"><a href="#cb174-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb174-9"><a href="#cb174-9" aria-hidden="true" tabindex="-1"></a>Term 2 with *inline markup*</span> +<span id="cb174-10"><a href="#cb174-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb174-11"><a href="#cb174-11" aria-hidden="true" tabindex="-1"></a>: Definition 2</span> +<span id="cb174-12"><a href="#cb174-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb174-13"><a href="#cb174-13" aria-hidden="true" tabindex="-1"></a> { some code, part of Definition 2 }</span> +<span id="cb174-14"><a href="#cb174-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb174-15"><a href="#cb174-15" aria-hidden="true" tabindex="-1"></a> Third paragraph of definition 2.</span> +<span id="cb174-16"><a href="#cb174-16" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb174-17"><a href="#cb174-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="cb175"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb175-1"><a href="#cb175-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> <dl> <dt>Term 1</dt> -<dd><p>Definition 1</p> +<dd> +<p>Definition 1</p> </dd> <dt>Term 2 with <em>inline markup</em></dt> -<dd><p>Definition 2</p> +<dd> +<p>Definition 2</p> <pre><code>{ some code, part of Definition 2 }</code></pre> <p>Third paragraph of definition 2.</p> </dd> </dl> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-9">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="cb173"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb173-1"><a href="#cb173-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb173-2"><a href="#cb173-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[definitionLists = yes]</span> -<span id="cb173-3"><a href="#cb173-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb173-4"><a href="#cb173-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb173-5"><a href="#cb173-5" aria-hidden="true"></a>Term 1</span> -<span id="cb173-6"><a href="#cb173-6" aria-hidden="true"></a></span> -<span id="cb173-7"><a href="#cb173-7" aria-hidden="true"></a>: Definition 1</span> -<span id="cb173-8"><a href="#cb173-8" aria-hidden="true"></a></span> -<span id="cb173-9"><a href="#cb173-9" aria-hidden="true"></a>Term 2 with *inline markup*</span> -<span id="cb173-10"><a href="#cb173-10" aria-hidden="true"></a></span> -<span id="cb173-11"><a href="#cb173-11" aria-hidden="true"></a>: Definition 2</span> -<span id="cb173-12"><a href="#cb173-12" aria-hidden="true"></a></span> -<span id="cb173-13"><a href="#cb173-13" aria-hidden="true"></a> { some code, part of Definition 2 }</span> -<span id="cb173-14"><a href="#cb173-14" aria-hidden="true"></a></span> -<span id="cb173-15"><a href="#cb173-15" aria-hidden="true"></a> Third paragraph of definition 2.</span> -<span id="cb173-16"><a href="#cb173-16" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb173-17"><a href="#cb173-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb174"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb174-1"><a href="#cb174-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-9">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="cb177"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb177-1"><a href="#cb177-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb177-2"><a href="#cb177-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[definitionLists = yes]</span> +<span id="cb177-3"><a href="#cb177-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb177-4"><a href="#cb177-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb177-5"><a href="#cb177-5" aria-hidden="true" tabindex="-1"></a>Term 1</span> +<span id="cb177-6"><a href="#cb177-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb177-7"><a href="#cb177-7" aria-hidden="true" tabindex="-1"></a>: Definition 1</span> +<span id="cb177-8"><a href="#cb177-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb177-9"><a href="#cb177-9" aria-hidden="true" tabindex="-1"></a>Term 2 with *inline markup*</span> +<span id="cb177-10"><a href="#cb177-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb177-11"><a href="#cb177-11" aria-hidden="true" tabindex="-1"></a>: Definition 2</span> +<span id="cb177-12"><a href="#cb177-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb177-13"><a href="#cb177-13" aria-hidden="true" tabindex="-1"></a> { some code, part of Definition 2 }</span> +<span id="cb177-14"><a href="#cb177-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb177-15"><a href="#cb177-15" aria-hidden="true" tabindex="-1"></a> Third paragraph of definition 2.</span> +<span id="cb177-16"><a href="#cb177-16" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb177-17"><a href="#cb177-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="cb178"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb178-1"><a href="#cb178-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> <dl> <dt>Term 1</dt> -<dd><p>Definition 1</p> +<dd> +<p>Definition 1</p> </dd> <dt>Term 2 with <em>inline markup</em></dt> -<dd><p>Definition 2</p> +<dd> +<p>Definition 2</p> <pre><code>{ some code, part of Definition 2 }</code></pre> <p>Third paragraph of definition 2.</p> </dd> </dl> </blockquote> -<h4 data-number="2.2.1.13" id="option-eagercache"><span class="header-section-number">2.2.1.13</span> Option <code>eagerCache</code></h4> +<h4 data-number="2.2.1.15" id="option-eagercache"><span +class="header-section-number">2.2.1.15</span> Option +<code>eagerCache</code></h4> <dl> <dt><code>eagerCache</code> (default value: <code>true</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Converted markdown documents will be cached in <strong><code>cacheDir</code></strong>. This can be useful for post-processing the converted documents and for recovering historical versions of the documents from the cache. However, it also produces a large number of auxiliary files on the disk and obscures the output of the Lua command-line interface when it is used for plumbing.</p> -<p>This behavior will always be used if the <strong><code>finalizeCache</code></strong> option is enabled.</p> +<dd> +<p>Converted markdown documents will be cached in +<strong><code>cacheDir</code></strong>. This can be useful for +post-processing the converted documents and for recovering historical +versions of the documents from the cache. However, it also produces a +large number of auxiliary files on the disk and obscures the output of +the Lua command-line interface when it is used for plumbing.</p> +<p>This behavior will always be used if the +<strong><code>finalizeCache</code></strong> option is enabled.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Converted markdown documents will not be cached. This decreases the number of auxiliary files that we produce and makes it easier to use the Lua command-line interface for plumbing.</p> -<p>This behavior will only be used when the <strong><code>finalizeCache</code></strong> option is disabled. Recursive nesting of markdown document fragments is undefined behavior when <strong><code>eagerCache</code></strong> is disabled.</p> +<dd> +<p>Converted markdown documents will not be cached. This decreases the +number of auxiliary files that we produce and makes it easier to use the +Lua command-line interface for plumbing.</p> +<p>This behavior will only be used when the +<strong><code>finalizeCache</code></strong> option is disabled. +Recursive nesting of markdown document fragments is undefined behavior +when <strong><code>eagerCache</code></strong> is disabled.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-7">Lua Module Example</h5> -<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p> -<div class="sourceCode" id="cb176"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb176-1"><a href="#cb176-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal with the <strong><code>eagerCache</code></strong> option disabled:</p> -<div class="sourceCode" id="cb177"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb177-1"><a href="#cb177-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ eagerCache=false -- hello.md hello.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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A <span class="tex">T<sub>e</sub>X</span> document named <code>hello.tex</code> should be produced and contain the following code:</p> -<div class="sourceCode" id="cb178"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb178-1"><a href="#cb178-1" aria-hidden="true"></a>Hello <span class="fu">\markdownRendererEmphasis</span>{world}!<span class="fu">\relax</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-7">Lua Module Example</h5> +<p>Using a text editor, create a text document named +<code>hello.md</code> with the following content:</p> +<div class="sourceCode" id="cb180"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb180-1"><a href="#cb180-1" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal with the +<strong><code>eagerCache</code></strong> option disabled:</p> +<div class="sourceCode" id="cb181"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb181-1"><a href="#cb181-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ eagerCache=false <span class="at">--</span> hello.md hello.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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A <span class="tex">T<sub>e</sub>X</span> document named +<code>hello.tex</code> should be produced and contain the following +code:</p> +<div class="sourceCode" id="cb182"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb182-1"><a href="#cb182-1" aria-hidden="true" tabindex="-1"></a>Hello <span class="fu">\markdownRendererEmphasis</span>{world}!<span class="fu">\relax</span></span></code></pre></div> <hr /> -<p>Invoke LuaTeX from the terminal again, this time with the <strong><code>eagerCache</code></strong> option enabled:</p> -<div class="sourceCode" id="cb179"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb179-1"><a href="#cb179-1" aria-hidden="true"></a>texlua ⟨CLI pathname⟩ eagerCache=true -- hello.md hello.tex</span></code></pre></div> -<p>A <span class="tex">T<sub>e</sub>X</span> document named <code>hello.tex</code> should be produced and contain the following code:</p> -<div class="sourceCode" id="cb180"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb180-1"><a href="#cb180-1" aria-hidden="true"></a><span class="fu">\input</span> ./⟨hash⟩.md.tex<span class="fu">\relax</span></span></code></pre></div> -<p>Additionally, a <span class="tex">T<sub>e</sub>X</span> document named <code>⟨hash⟩.md.tex</code> should be produced and contain the following code:</p> -<div class="sourceCode" id="cb181"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb181-1"><a href="#cb181-1" aria-hidden="true"></a>Hello <span class="fu">\markdownRendererEmphasis</span>{world}!<span class="fu">\relax</span></span></code></pre></div> -<h4 data-number="2.2.1.14" id="option-extensions"><span class="header-section-number">2.2.1.14</span> Option <code>extensions</code></h4> +<p>Invoke LuaTeX from the terminal again, this time with the +<strong><code>eagerCache</code></strong> option enabled:</p> +<div class="sourceCode" id="cb183"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb183-1"><a href="#cb183-1" aria-hidden="true" tabindex="-1"></a>texlua ⟨CLI pathname⟩ eagerCache=true -- hello.md hello.tex</span></code></pre></div> +<p>A <span class="tex">T<sub>e</sub>X</span> document named +<code>hello.tex</code> should be produced and contain the following +code:</p> +<div class="sourceCode" id="cb184"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb184-1"><a href="#cb184-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> ./⟨hash⟩.md.tex<span class="fu">\relax</span></span></code></pre></div> +<p>Additionally, a <span class="tex">T<sub>e</sub>X</span> document +named <code>⟨hash⟩.md.tex</code> should be produced and contain the +following code:</p> +<div class="sourceCode" id="cb185"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb185-1"><a href="#cb185-1" aria-hidden="true" tabindex="-1"></a>Hello <span class="fu">\markdownRendererEmphasis</span>{world}!<span class="fu">\relax</span></span></code></pre></div> +<h4 data-number="2.2.1.16" id="option-extensions"><span +class="header-section-number">2.2.1.16</span> Option +<code>extensions</code></h4> <dl> <dt><code>extensions</code> (default value: <code>{}</code>)</dt> -<dd><p>The filenames of user-defined syntax extensions that will be applied to the markdown reader. If the <strong><code>kpathsea</code></strong> library is available, files will be searched for not only in the current working directory but also in the <span class="tex">T<sub>e</sub>X</span> directory structure.</p> +<dd> +<p>The filenames of user-defined syntax extensions that will be applied +to the markdown reader. If the <strong><code>kpathsea</code></strong> +library is available, files will be searched for not only in the current +working directory but also in the <span +class="tex">T<sub>e</sub>X</span> directory structure.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-12"><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>strike-through.lua</code> with the following content:</p> -<div class="sourceCode" id="cb182"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb182-1"><a href="#cb182-1" aria-hidden="true"></a><span class="kw">local</span> strike_through <span class="op">=</span> <span class="op">{</span></span> -<span id="cb182-2"><a href="#cb182-2" aria-hidden="true"></a> api_version <span class="op">=</span> <span class="dv">1</span><span class="op">,</span></span> -<span id="cb182-3"><a href="#cb182-3" aria-hidden="true"></a> grammar_version <span class="op">=</span> <span class="dv">1</span><span class="op">,</span></span> -<span id="cb182-4"><a href="#cb182-4" aria-hidden="true"></a> finalize_grammar <span class="op">=</span> <span class="kw">function</span><span class="op">(</span>reader<span class="op">)</span></span> -<span id="cb182-5"><a href="#cb182-5" aria-hidden="true"></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="cb182-6"><a href="#cb182-6" aria-hidden="true"></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> -<span id="cb182-7"><a href="#cb182-7" aria-hidden="true"></a> <span class="kw">local</span> <span class="kw">function</span> between<span class="op">(</span>p<span class="op">,</span> starter<span class="op">,</span> ender<span class="op">)</span></span> -<span id="cb182-8"><a href="#cb182-8" aria-hidden="true"></a> ender <span class="op">=</span> lpeg<span class="op">.</span>B<span class="op">(</span>nonspacechar<span class="op">)</span> <span class="op">*</span> ender</span> -<span id="cb182-9"><a href="#cb182-9" aria-hidden="true"></a> <span class="cf">return</span> <span class="op">(</span>starter <span class="op">*</span> <span class="op">#</span>nonspacechar</span> -<span id="cb182-10"><a href="#cb182-10" aria-hidden="true"></a> <span class="op">*</span> lpeg<span class="op">.</span>Ct<span class="op">(</span>p <span class="op">*</span> <span class="op">(</span>p <span class="op">-</span> ender<span class="op">)^</span><span class="dv">0</span><span class="op">)</span> <span class="op">*</span> ender<span class="op">)</span></span> -<span id="cb182-11"><a href="#cb182-11" aria-hidden="true"></a> <span class="kw">end</span></span> -<span id="cb182-12"><a href="#cb182-12" aria-hidden="true"></a></span> -<span id="cb182-13"><a href="#cb182-13" aria-hidden="true"></a> <span class="kw">local</span> read_strike_through <span class="op">=</span> between<span class="op">(</span></span> -<span id="cb182-14"><a href="#cb182-14" aria-hidden="true"></a> lpeg<span class="op">.</span>V<span class="op">(</span><span class="st">"Inline"</span><span class="op">),</span> doubletildes<span class="op">,</span> doubletildes</span> -<span id="cb182-15"><a href="#cb182-15" aria-hidden="true"></a> <span class="op">)</span> <span class="op">/</span> <span class="kw">function</span><span class="op">(</span>s<span class="op">)</span> <span class="cf">return</span> <span class="op">{</span><span class="st">"</span><span class="sc">\\</span><span class="st">st{"</span><span class="op">,</span> s<span class="op">,</span> <span class="st">"}"</span><span class="op">}</span> <span class="kw">end</span></span> -<span id="cb182-16"><a href="#cb182-16" aria-hidden="true"></a></span> -<span id="cb182-17"><a href="#cb182-17" aria-hidden="true"></a> reader<span class="op">.</span>insert_pattern<span class="op">(</span><span class="st">"Inline after Emph"</span><span class="op">,</span> read_strike_through<span class="op">)</span></span> -<span id="cb182-18"><a href="#cb182-18" aria-hidden="true"></a> reader<span class="op">.</span>add_special_character<span class="op">(</span><span class="st">"/"</span><span class="op">)</span></span> -<span id="cb182-19"><a href="#cb182-19" aria-hidden="true"></a> <span class="kw">end</span></span> -<span id="cb182-20"><a href="#cb182-20" aria-hidden="true"></a><span class="op">}</span></span></code></pre></div> -<p>Using a text editor, create also a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb183"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb183-1"><a href="#cb183-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb183-2"><a href="#cb183-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">soul</span>}</span> -<span id="cb183-3"><a href="#cb183-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[extension = strike-through.lua]{<span class="ex">markdown</span>}</span> -<span id="cb183-4"><a href="#cb183-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb183-5"><a href="#cb183-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb183-6"><a href="#cb183-6" aria-hidden="true"></a>This is //a lunar roving vehicle// strike-through text.</span> -<span id="cb183-7"><a href="#cb183-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb183-8"><a href="#cb183-8" aria-hidden="true"></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="cb184"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb184-1"><a href="#cb184-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-13"><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>strike-through.lua</code> with the following content:</p> +<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-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> +<span id="cb186-7"><a href="#cb186-7" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> <span class="kw">function</span> between<span class="op">(</span>p<span class="op">,</span> starter<span class="op">,</span> ender<span class="op">)</span></span> +<span id="cb186-8"><a href="#cb186-8" aria-hidden="true" tabindex="-1"></a> ender <span class="op">=</span> lpeg<span class="op">.</span>B<span class="op">(</span>nonspacechar<span class="op">)</span> <span class="op">*</span> ender</span> +<span id="cb186-9"><a href="#cb186-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="op">(</span>starter <span class="op">*</span> <span class="op">#</span>nonspacechar</span> +<span id="cb186-10"><a href="#cb186-10" aria-hidden="true" tabindex="-1"></a> <span class="op">*</span> lpeg<span class="op">.</span>Ct<span class="op">(</span>p <span class="op">*</span> <span class="op">(</span>p <span class="op">-</span> ender<span class="op">)^</span><span class="dv">0</span><span class="op">)</span> <span class="op">*</span> ender<span class="op">)</span></span> +<span id="cb186-11"><a href="#cb186-11" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span> +<span id="cb186-12"><a href="#cb186-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb186-13"><a href="#cb186-13" aria-hidden="true" tabindex="-1"></a> <span class="kw">local</span> read_strike_through <span class="op">=</span> between<span class="op">(</span></span> +<span id="cb186-14"><a href="#cb186-14" aria-hidden="true" tabindex="-1"></a> lpeg<span class="op">.</span>V<span class="op">(</span><span class="st">"Inline"</span><span class="op">),</span> doubleslashes<span class="op">,</span> doubleslashes</span> +<span id="cb186-15"><a href="#cb186-15" aria-hidden="true" tabindex="-1"></a> <span class="op">)</span> <span class="op">/</span> <span class="kw">function</span><span class="op">(</span>s<span class="op">)</span> <span class="cf">return</span> <span class="op">{</span><span class="st">"</span><span class="sc">\\</span><span class="st">st{"</span><span class="op">,</span> s<span class="op">,</span> <span class="st">"}"</span><span class="op">}</span> <span class="kw">end</span></span> +<span id="cb186-16"><a href="#cb186-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb186-17"><a href="#cb186-17" aria-hidden="true" tabindex="-1"></a> reader<span class="op">.</span>insert_pattern<span class="op">(</span><span class="st">"Inline after Emph"</span><span class="op">,</span> read_strike_through<span class="op">,</span></span> +<span id="cb186-18"><a href="#cb186-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"StrikeThrough"</span><span class="op">)</span></span> +<span id="cb186-19"><a href="#cb186-19" aria-hidden="true" tabindex="-1"></a> reader<span class="op">.</span>add_special_character<span class="op">(</span><span class="st">"/"</span><span class="op">)</span></span> +<span id="cb186-20"><a href="#cb186-20" aria-hidden="true" tabindex="-1"></a> <span class="kw">end</span></span> +<span id="cb186-21"><a href="#cb186-21" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span> +<span id="cb186-22"><a href="#cb186-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb186-23"><a href="#cb186-23" aria-hidden="true" tabindex="-1"></a><span class="cf">return</span> strike_through</span></code></pre></div> +<p>Using a text editor, create also a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb187"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb187-1"><a href="#cb187-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb187-2"><a href="#cb187-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">soul</span>}</span> +<span id="cb187-3"><a href="#cb187-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[extension = strike-through.lua]{<span class="ex">markdown</span>}</span> +<span id="cb187-4"><a href="#cb187-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb187-5"><a href="#cb187-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb187-6"><a href="#cb187-6" aria-hidden="true" tabindex="-1"></a>This is //a lunar roving vehicle// strike-through text.</span> +<span id="cb187-7"><a href="#cb187-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb187-8"><a href="#cb187-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="cb188"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb188-1"><a href="#cb188-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 <del>a lunar roving vehicle</del> strike-through text.</p> </blockquote> -<h4 data-number="2.2.1.15" id="option-expectjekylldata"><span class="header-section-number">2.2.1.15</span> Option <code>expectJekyllData</code></h4> +<h4 data-number="2.2.1.17" id="option-expectjekylldata"><span +class="header-section-number">2.2.1.17</span> Option +<code>expectJekyllData</code></h4> +<dl> +<dt><code>expectJekyllData</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>expectJekyllData</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>false</dt> -<dd><p>When the <strong><code>jekyllData</code></strong> option is enabled, then a markdown document may begin with <abbr>yaml</abbr> metadata if and only if the metadata begin with the end-of-directives marker (<code>---</code>) and they end with either the end-of-directives or the end-of-document marker (<code>...</code>):</p> -<div class="sourceCode" id="cb185"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb185-1"><a href="#cb185-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb185-2"><a href="#cb185-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb185-3"><a href="#cb185-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb185-4"><a href="#cb185-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb185-5"><a href="#cb185-5" aria-hidden="true"></a>---</span> -<span id="cb185-6"><a href="#cb185-6" aria-hidden="true"></a>- this</span> -<span id="cb185-7"><a href="#cb185-7" aria-hidden="true"></a>- is</span> -<span id="cb185-8"><a href="#cb185-8" aria-hidden="true"></a>- YAML</span> -<span id="cb185-9"><a href="#cb185-9" aria-hidden="true"></a>...</span> -<span id="cb185-10"><a href="#cb185-10" aria-hidden="true"></a>- followed</span> -<span id="cb185-11"><a href="#cb185-11" aria-hidden="true"></a>- by</span> -<span id="cb185-12"><a href="#cb185-12" aria-hidden="true"></a>- Markdown</span> -<span id="cb185-13"><a href="#cb185-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb185-14"><a href="#cb185-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb185-15"><a href="#cb185-15" aria-hidden="true"></a>- this</span> -<span id="cb185-16"><a href="#cb185-16" aria-hidden="true"></a>- is</span> -<span id="cb185-17"><a href="#cb185-17" aria-hidden="true"></a>- Markdown</span> -<span id="cb185-18"><a href="#cb185-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb185-19"><a href="#cb185-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<dd> +<p>When the <strong><code>jekyllData</code></strong> option is enabled, +then a markdown document may begin with <abbr>yaml</abbr> metadata if +and only if the metadata begin with the end-of-directives marker +(<code>---</code>) and they end with either the end-of-directives or the +end-of-document marker (<code>...</code>):</p> +<div class="sourceCode" id="cb189"><pre +class="sourceCode latex"><code class="sourceCode latex"><span id="cb189-1"><a href="#cb189-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb189-2"><a href="#cb189-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> +<span id="cb189-3"><a href="#cb189-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb189-4"><a href="#cb189-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb189-5"><a href="#cb189-5" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb189-6"><a href="#cb189-6" aria-hidden="true" tabindex="-1"></a>- this</span> +<span id="cb189-7"><a href="#cb189-7" aria-hidden="true" tabindex="-1"></a>- is</span> +<span id="cb189-8"><a href="#cb189-8" aria-hidden="true" tabindex="-1"></a>- YAML</span> +<span id="cb189-9"><a href="#cb189-9" aria-hidden="true" tabindex="-1"></a>...</span> +<span id="cb189-10"><a href="#cb189-10" aria-hidden="true" tabindex="-1"></a>- followed</span> +<span id="cb189-11"><a href="#cb189-11" aria-hidden="true" tabindex="-1"></a>- by</span> +<span id="cb189-12"><a href="#cb189-12" aria-hidden="true" tabindex="-1"></a>- Markdown</span> +<span id="cb189-13"><a href="#cb189-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb189-14"><a href="#cb189-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb189-15"><a href="#cb189-15" aria-hidden="true" tabindex="-1"></a>- this</span> +<span id="cb189-16"><a href="#cb189-16" aria-hidden="true" tabindex="-1"></a>- is</span> +<span id="cb189-17"><a href="#cb189-17" aria-hidden="true" tabindex="-1"></a>- Markdown</span> +<span id="cb189-18"><a href="#cb189-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb189-19"><a href="#cb189-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>When the <strong><code>jekyllData</code></strong> option is enabled, then a markdown document may begin directly with <abbr>yaml</abbr> metadata and may contain nothing but <abbr>yaml</abbr> metadata.</p> -<div class="sourceCode" id="cb186"><pre class="sourceCode latex"><code class="sourceCode latex"><span id="cb186-1"><a href="#cb186-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb186-2"><a href="#cb186-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData, expectJekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb186-3"><a href="#cb186-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb186-4"><a href="#cb186-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb186-5"><a href="#cb186-5" aria-hidden="true"></a>- this</span> -<span id="cb186-6"><a href="#cb186-6" aria-hidden="true"></a>- is</span> -<span id="cb186-7"><a href="#cb186-7" aria-hidden="true"></a>- YAML</span> -<span id="cb186-8"><a href="#cb186-8" aria-hidden="true"></a>...</span> -<span id="cb186-9"><a href="#cb186-9" aria-hidden="true"></a>- followed</span> -<span id="cb186-10"><a href="#cb186-10" aria-hidden="true"></a>- by</span> -<span id="cb186-11"><a href="#cb186-11" aria-hidden="true"></a>- Markdown</span> -<span id="cb186-12"><a href="#cb186-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb186-13"><a href="#cb186-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb186-14"><a href="#cb186-14" aria-hidden="true"></a>- this</span> -<span id="cb186-15"><a href="#cb186-15" aria-hidden="true"></a>- is</span> -<span id="cb186-16"><a href="#cb186-16" aria-hidden="true"></a>- YAML</span> -<span id="cb186-17"><a href="#cb186-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb186-18"><a href="#cb186-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<dd> +<p>When the <strong><code>jekyllData</code></strong> option is enabled, +then a markdown document may begin directly with <abbr>yaml</abbr> +metadata and may contain nothing but <abbr>yaml</abbr> metadata.</p> +<div class="sourceCode" id="cb190"><pre +class="sourceCode latex"><code class="sourceCode latex"><span id="cb190-1"><a href="#cb190-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb190-2"><a href="#cb190-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData, expectJekyllData]{<span class="ex">markdown</span>}</span> +<span id="cb190-3"><a href="#cb190-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb190-4"><a href="#cb190-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb190-5"><a href="#cb190-5" aria-hidden="true" tabindex="-1"></a>- this</span> +<span id="cb190-6"><a href="#cb190-6" aria-hidden="true" tabindex="-1"></a>- is</span> +<span id="cb190-7"><a href="#cb190-7" aria-hidden="true" tabindex="-1"></a>- YAML</span> +<span id="cb190-8"><a href="#cb190-8" aria-hidden="true" tabindex="-1"></a>...</span> +<span id="cb190-9"><a href="#cb190-9" aria-hidden="true" tabindex="-1"></a>- followed</span> +<span id="cb190-10"><a href="#cb190-10" aria-hidden="true" tabindex="-1"></a>- by</span> +<span id="cb190-11"><a href="#cb190-11" aria-hidden="true" tabindex="-1"></a>- Markdown</span> +<span id="cb190-12"><a href="#cb190-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb190-13"><a href="#cb190-13" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb190-14"><a href="#cb190-14" aria-hidden="true" tabindex="-1"></a>- this</span> +<span id="cb190-15"><a href="#cb190-15" aria-hidden="true" tabindex="-1"></a>- is</span> +<span id="cb190-16"><a href="#cb190-16" aria-hidden="true" tabindex="-1"></a>- YAML</span> +<span id="cb190-17"><a href="#cb190-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb190-18"><a href="#cb190-18" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-13"><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>jane-doe.yml</code> with the following content:</p> -<div class="sourceCode" id="cb187"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb187-1"><a href="#cb187-1" aria-hidden="true"></a><span class="fu">name</span><span class="kw">:</span><span class="at"> Jane Doe</span></span> -<span id="cb187-2"><a href="#cb187-2" aria-hidden="true"></a><span class="fu">age</span><span class="kw">:</span><span class="at"> </span><span class="dv">99</span></span></code></pre></div> -<p>Using a text editor, create also a text document named <code>document.tex</code> with the following content:</p> -<div class="sourceCode" id="cb188"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb188-1"><a href="#cb188-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb188-2"><a href="#cb188-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb188-3"><a href="#cb188-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb188-4"><a href="#cb188-4" aria-hidden="true"></a> jekyllDataRenderers = {</span> -<span id="cb188-5"><a href="#cb188-5" aria-hidden="true"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> -<span id="cb188-6"><a href="#cb188-6" aria-hidden="true"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> -<span id="cb188-7"><a href="#cb188-7" aria-hidden="true"></a> },</span> -<span id="cb188-8"><a href="#cb188-8" aria-hidden="true"></a> renderers = {</span> -<span id="cb188-9"><a href="#cb188-9" aria-hidden="true"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> -<span id="cb188-10"><a href="#cb188-10" aria-hidden="true"></a> }</span> -<span id="cb188-11"><a href="#cb188-11" aria-hidden="true"></a>}</span> -<span id="cb188-12"><a href="#cb188-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb188-13"><a href="#cb188-13" aria-hidden="true"></a><span class="fu">\markdownInput</span>[expectJekyllData]{jane-doe.yml}</span> -<span id="cb188-14"><a href="#cb188-14" aria-hidden="true"></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="cb189"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb189-1"><a href="#cb189-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-14"><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>jane-doe.yml</code> with the following content:</p> +<div class="sourceCode" id="cb191"><pre +class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb191-1"><a href="#cb191-1" aria-hidden="true" tabindex="-1"></a><span class="fu">name</span><span class="kw">:</span><span class="at"> Jane Doe</span></span> +<span id="cb191-2"><a href="#cb191-2" aria-hidden="true" tabindex="-1"></a><span class="fu">age</span><span class="kw">:</span><span class="at"> </span><span class="dv">99</span></span></code></pre></div> +<p>Using a text editor, create also a text document named +<code>document.tex</code> with the following content:</p> +<div class="sourceCode" id="cb192"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb192-1"><a href="#cb192-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb192-2"><a href="#cb192-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> +<span id="cb192-3"><a href="#cb192-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb192-4"><a href="#cb192-4" aria-hidden="true" tabindex="-1"></a> jekyllDataRenderers = {</span> +<span id="cb192-5"><a href="#cb192-5" aria-hidden="true" tabindex="-1"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> +<span id="cb192-6"><a href="#cb192-6" aria-hidden="true" tabindex="-1"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> +<span id="cb192-7"><a href="#cb192-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb192-8"><a href="#cb192-8" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb192-9"><a href="#cb192-9" aria-hidden="true" tabindex="-1"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> +<span id="cb192-10"><a href="#cb192-10" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb192-11"><a href="#cb192-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb192-12"><a href="#cb192-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb192-13"><a href="#cb192-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownInput</span>[expectJekyllData]{jane-doe.yml}</span> +<span id="cb192-14"><a href="#cb192-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="cb193"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb193-1"><a href="#cb193-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>Jane Doe is 99 years old.</p> </blockquote> -<h4 data-number="2.2.1.16" id="option-fancylists"><span class="header-section-number">2.2.1.16</span> Option <code>fancyLists</code></h4> +<h4 data-number="2.2.1.18" id="option-fancylists"><span +class="header-section-number">2.2.1.18</span> Option +<code>fancyLists</code></h4> <dl> <dt><code>fancyLists</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc fancy list extension:</p> -<div class="sourceCode" id="cb190"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb190-1"><a href="#cb190-1" aria-hidden="true"></a>a) first item</span> -<span id="cb190-2"><a href="#cb190-2" aria-hidden="true"></a>b) second item</span> -<span id="cb190-3"><a href="#cb190-3" aria-hidden="true"></a>c) third item</span></code></pre></div> +<dd> +<p>Enable the Pandoc fancy list extension:</p> +<div class="sourceCode" id="cb194"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb194-1"><a href="#cb194-1" aria-hidden="true" tabindex="-1"></a>a) first item</span> +<span id="cb194-2"><a href="#cb194-2" aria-hidden="true" tabindex="-1"></a>b) second item</span> +<span id="cb194-3"><a href="#cb194-3" aria-hidden="true" tabindex="-1"></a>c) third item</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc fancy list extension.</p> +<dd> +<p>Disable the Pandoc fancy list extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-14"><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="cb191"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb191-1"><a href="#cb191-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb191-2"><a href="#cb191-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> -<span id="cb191-3"><a href="#cb191-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[fancyLists]{<span class="ex">markdown</span>}</span> -<span id="cb191-4"><a href="#cb191-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb191-5"><a href="#cb191-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb191-6"><a href="#cb191-6" aria-hidden="true"></a>a) first item</span> -<span id="cb191-7"><a href="#cb191-7" aria-hidden="true"></a>b) second item</span> -<span id="cb191-8"><a href="#cb191-8" aria-hidden="true"></a>c) third item</span> -<span id="cb191-9"><a href="#cb191-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb191-10"><a href="#cb191-10" aria-hidden="true"></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="cb192"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb192-1"><a href="#cb192-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape document.tex</span></code></pre></div> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="latex-example-15"><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="cb195"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb195-1"><a href="#cb195-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb195-2"><a href="#cb195-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> +<span id="cb195-3"><a href="#cb195-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[fancyLists]{<span class="ex">markdown</span>}</span> +<span id="cb195-4"><a href="#cb195-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb195-5"><a href="#cb195-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb195-6"><a href="#cb195-6" aria-hidden="true" tabindex="-1"></a>a) first item</span> +<span id="cb195-7"><a href="#cb195-7" aria-hidden="true" tabindex="-1"></a>b) second item</span> +<span id="cb195-8"><a href="#cb195-8" aria-hidden="true" tabindex="-1"></a>c) third item</span> +<span id="cb195-9"><a href="#cb195-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb195-10"><a href="#cb195-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="cb196"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb196-1"><a href="#cb196-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 text:</p> <blockquote> <ol type="a"> <li>first item</li> @@ -2035,20 +3037,25 @@ Thomas,Edison,1847</code></pre> <li>third item</li> </ol> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-10">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="cb193"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb193-1"><a href="#cb193-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb193-2"><a href="#cb193-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[fancyLists = yes]</span> -<span id="cb193-3"><a href="#cb193-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb193-4"><a href="#cb193-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb193-5"><a href="#cb193-5" aria-hidden="true"></a>a) first item</span> -<span id="cb193-6"><a href="#cb193-6" aria-hidden="true"></a>b) second item</span> -<span id="cb193-7"><a href="#cb193-7" aria-hidden="true"></a>c) third item</span> -<span id="cb193-8"><a href="#cb193-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb193-9"><a href="#cb193-9" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb194"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb194-1"><a href="#cb194-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-10">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="cb197"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb197-1"><a href="#cb197-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb197-2"><a href="#cb197-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[fancyLists = yes]</span> +<span id="cb197-3"><a href="#cb197-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb197-4"><a href="#cb197-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb197-5"><a href="#cb197-5" aria-hidden="true" tabindex="-1"></a>a) first item</span> +<span id="cb197-6"><a href="#cb197-6" aria-hidden="true" tabindex="-1"></a>b) second item</span> +<span id="cb197-7"><a href="#cb197-7" aria-hidden="true" tabindex="-1"></a>c) third item</span> +<span id="cb197-8"><a href="#cb197-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb197-9"><a href="#cb197-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="cb198"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb198-1"><a href="#cb198-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> <ol type="a"> <li>first item</li> @@ -2056,399 +3063,548 @@ Thomas,Edison,1847</code></pre> <li>third item</li> </ol> </blockquote> -<h4 data-number="2.2.1.17" id="option-fencedcode"><span class="header-section-number">2.2.1.17</span> Option <code>fencedCode</code></h4> +<h4 data-number="2.2.1.19" id="option-fencedcode"><span +class="header-section-number">2.2.1.19</span> Option +<code>fencedCode</code></h4> <dl> <dt><code>fencedCode</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the commonmark fenced code block extension:</p> -<div class="sourceCode" id="cb195"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb195-1"><a href="#cb195-1" aria-hidden="true"></a><span class="in">~~~ js</span></span> -<span id="cb195-2"><a href="#cb195-2" aria-hidden="true"></a><span class="cf">if</span> (a <span class="op">></span> <span class="dv">3</span>) {</span> -<span id="cb195-3"><a href="#cb195-3" aria-hidden="true"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span> -<span id="cb195-4"><a href="#cb195-4" aria-hidden="true"></a>}</span> -<span id="cb195-5"><a href="#cb195-5" aria-hidden="true"></a><span class="op">~~~~~~</span></span> -<span id="cb195-6"><a href="#cb195-6" aria-hidden="true"></a></span> -<span id="cb195-7"><a href="#cb195-7" aria-hidden="true"></a> <span class="vs">``` html</span></span> -<span id="cb195-8"><a href="#cb195-8" aria-hidden="true"></a><span class="vs"> <pre></span></span> -<span id="cb195-9"><a href="#cb195-9" aria-hidden="true"></a><span class="vs"> <code></span></span> -<span id="cb195-10"><a href="#cb195-10" aria-hidden="true"></a><span class="vs"> // Some comments</span></span> -<span id="cb195-11"><a href="#cb195-11" aria-hidden="true"></a><span class="vs"> line 1 of code</span></span> -<span id="cb195-12"><a href="#cb195-12" aria-hidden="true"></a><span class="vs"> line 2 of code</span></span> -<span id="cb195-13"><a href="#cb195-13" aria-hidden="true"></a><span class="vs"> line 3 of code</span></span> -<span id="cb195-14"><a href="#cb195-14" aria-hidden="true"></a><span class="vs"> </code></span></span> -<span id="cb195-15"><a href="#cb195-15" aria-hidden="true"></a><span class="vs"> </pre></span></span> -<span id="cb195-16"><a href="#cb195-16" aria-hidden="true"></a><span class="vs"> ```</span></span></code></pre></div> +<dd> +<p>Enable the commonmark fenced code block extension:</p> +<div class="sourceCode" id="cb199"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb199-1"><a href="#cb199-1" aria-hidden="true" tabindex="-1"></a><span class="in">~~~ js</span></span> +<span id="cb199-2"><a href="#cb199-2" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> (a <span class="op">></span> <span class="dv">3</span>) {</span> +<span id="cb199-3"><a href="#cb199-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span> +<span id="cb199-4"><a href="#cb199-4" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb199-5"><a href="#cb199-5" aria-hidden="true" tabindex="-1"></a><span class="op">~~~~~~</span></span> +<span id="cb199-6"><a href="#cb199-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb199-7"><a href="#cb199-7" aria-hidden="true" tabindex="-1"></a> <span class="vs">``` html</span></span> +<span id="cb199-8"><a href="#cb199-8" aria-hidden="true" tabindex="-1"></a><span class="vs"> <pre></span></span> +<span id="cb199-9"><a href="#cb199-9" aria-hidden="true" tabindex="-1"></a><span class="vs"> <code></span></span> +<span id="cb199-10"><a href="#cb199-10" aria-hidden="true" tabindex="-1"></a><span class="vs"> // Some comments</span></span> +<span id="cb199-11"><a href="#cb199-11" aria-hidden="true" tabindex="-1"></a><span class="vs"> line 1 of code</span></span> +<span id="cb199-12"><a href="#cb199-12" aria-hidden="true" tabindex="-1"></a><span class="vs"> line 2 of code</span></span> +<span id="cb199-13"><a href="#cb199-13" aria-hidden="true" tabindex="-1"></a><span class="vs"> line 3 of code</span></span> +<span id="cb199-14"><a href="#cb199-14" aria-hidden="true" tabindex="-1"></a><span class="vs"> </code></span></span> +<span id="cb199-15"><a href="#cb199-15" aria-hidden="true" tabindex="-1"></a><span class="vs"> </pre></span></span> +<span id="cb199-16"><a href="#cb199-16" aria-hidden="true" tabindex="-1"></a><span class="vs"> ```</span></span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the commonmark fenced code block extension.</p> +<dd> +<p>Disable the commonmark fenced code block extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-15"><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="cb196"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb196-1"><a href="#cb196-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb196-2"><a href="#cb196-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> -<span id="cb196-3"><a href="#cb196-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> -<span id="cb196-4"><a href="#cb196-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb196-5"><a href="#cb196-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb196-6"><a href="#cb196-6" aria-hidden="true"></a>~~~ js</span> -<span id="cb196-7"><a href="#cb196-7" aria-hidden="true"></a>if (a > 3) {</span> -<span id="cb196-8"><a href="#cb196-8" aria-hidden="true"></a> moveShip(5 * gravity, DOWN);</span> -<span id="cb196-9"><a href="#cb196-9" aria-hidden="true"></a>}</span> -<span id="cb196-10"><a href="#cb196-10" aria-hidden="true"></a>~~~~~~</span> -<span id="cb196-11"><a href="#cb196-11" aria-hidden="true"></a></span> -<span id="cb196-12"><a href="#cb196-12" aria-hidden="true"></a> ``` html</span> -<span id="cb196-13"><a href="#cb196-13" aria-hidden="true"></a> <pre></span> -<span id="cb196-14"><a href="#cb196-14" aria-hidden="true"></a> <code></span> -<span id="cb196-15"><a href="#cb196-15" aria-hidden="true"></a> // Some comments</span> -<span id="cb196-16"><a href="#cb196-16" aria-hidden="true"></a> line 1 of code</span> -<span id="cb196-17"><a href="#cb196-17" aria-hidden="true"></a> line 2 of code</span> -<span id="cb196-18"><a href="#cb196-18" aria-hidden="true"></a> line 3 of code</span> -<span id="cb196-19"><a href="#cb196-19" aria-hidden="true"></a> </code></span> -<span id="cb196-20"><a href="#cb196-20" aria-hidden="true"></a> </pre></span> -<span id="cb196-21"><a href="#cb196-21" aria-hidden="true"></a> ```</span> -<span id="cb196-22"><a href="#cb196-22" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb196-23"><a href="#cb196-23" aria-hidden="true"></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="cb197"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb197-1"><a href="#cb197-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape 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> -<div class="sourceCode" id="cb198"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb198-1"><a href="#cb198-1" aria-hidden="true"></a><span class="cf">if</span> (a <span class="op">></span> <span class="dv">3</span>) {</span> -<span id="cb198-2"><a href="#cb198-2" aria-hidden="true"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span> -<span id="cb198-3"><a href="#cb198-3" aria-hidden="true"></a>}</span></code></pre></div> -<div class="sourceCode" id="cb199"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb199-1"><a href="#cb199-1" aria-hidden="true"></a><span class="kw"><pre></span></span> -<span id="cb199-2"><a href="#cb199-2" aria-hidden="true"></a> <span class="kw"><code></span></span> -<span id="cb199-3"><a href="#cb199-3" aria-hidden="true"></a> // Some comments</span> -<span id="cb199-4"><a href="#cb199-4" aria-hidden="true"></a> line 1 of code</span> -<span id="cb199-5"><a href="#cb199-5" aria-hidden="true"></a> line 2 of code</span> -<span id="cb199-6"><a href="#cb199-6" aria-hidden="true"></a> line 3 of code</span> -<span id="cb199-7"><a href="#cb199-7" aria-hidden="true"></a> <span class="kw"></code></span></span> -<span id="cb199-8"><a href="#cb199-8" aria-hidden="true"></a><span class="kw"></pre></span></span></code></pre></div> -</blockquote> -<h5 class="unnumbered" data-number="" id="context-example-11">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="cb200"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb200-1"><a href="#cb200-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb200-2"><a href="#cb200-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[fencedCode = yes]</span> -<span id="cb200-3"><a href="#cb200-3" aria-hidden="true"></a><span class="fu">\definetyping</span> [js]</span> -<span id="cb200-4"><a href="#cb200-4" aria-hidden="true"></a><span class="fu">\definetyping</span> [html]</span> -<span id="cb200-5"><a href="#cb200-5" aria-hidden="true"></a><span class="fu">\setuptyping</span> [html] [option=XML]</span> -<span id="cb200-6"><a href="#cb200-6" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb200-7"><a href="#cb200-7" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb200-8"><a href="#cb200-8" aria-hidden="true"></a>~~~ js</span> -<span id="cb200-9"><a href="#cb200-9" aria-hidden="true"></a>if (a > 3) {</span> -<span id="cb200-10"><a href="#cb200-10" aria-hidden="true"></a> moveShip(5 * gravity, DOWN);</span> -<span id="cb200-11"><a href="#cb200-11" aria-hidden="true"></a>}</span> -<span id="cb200-12"><a href="#cb200-12" aria-hidden="true"></a>~~~~~~</span> -<span id="cb200-13"><a href="#cb200-13" aria-hidden="true"></a></span> -<span id="cb200-14"><a href="#cb200-14" aria-hidden="true"></a> ``` html</span> -<span id="cb200-15"><a href="#cb200-15" aria-hidden="true"></a> <pre></span> -<span id="cb200-16"><a href="#cb200-16" aria-hidden="true"></a> <code></span> -<span id="cb200-17"><a href="#cb200-17" aria-hidden="true"></a> // Some comments</span> -<span id="cb200-18"><a href="#cb200-18" aria-hidden="true"></a> line 1 of code</span> -<span id="cb200-19"><a href="#cb200-19" aria-hidden="true"></a> line 2 of code</span> -<span id="cb200-20"><a href="#cb200-20" aria-hidden="true"></a> line 3 of code</span> -<span id="cb200-21"><a href="#cb200-21" aria-hidden="true"></a> </code></span> -<span id="cb200-22"><a href="#cb200-22" aria-hidden="true"></a> </pre></span> -<span id="cb200-23"><a href="#cb200-23" aria-hidden="true"></a> ```</span> -<span id="cb200-24"><a href="#cb200-24" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb200-25"><a href="#cb200-25" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb201"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb201-1"><a href="#cb201-1" aria-hidden="true"></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> -<div class="sourceCode" id="cb202"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb202-1"><a href="#cb202-1" aria-hidden="true"></a><span class="cf">if</span> (a <span class="op">></span> <span class="dv">3</span>) {</span> -<span id="cb202-2"><a href="#cb202-2" aria-hidden="true"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span> -<span id="cb202-3"><a href="#cb202-3" aria-hidden="true"></a>}</span></code></pre></div> -<div class="sourceCode" id="cb203"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb203-1"><a href="#cb203-1" aria-hidden="true"></a><span class="kw"><pre></span></span> -<span id="cb203-2"><a href="#cb203-2" aria-hidden="true"></a> <span class="kw"><code></span></span> -<span id="cb203-3"><a href="#cb203-3" aria-hidden="true"></a> // Some comments</span> -<span id="cb203-4"><a href="#cb203-4" aria-hidden="true"></a> line 1 of code</span> -<span id="cb203-5"><a href="#cb203-5" aria-hidden="true"></a> line 2 of code</span> -<span id="cb203-6"><a href="#cb203-6" aria-hidden="true"></a> line 3 of code</span> -<span id="cb203-7"><a href="#cb203-7" aria-hidden="true"></a> <span class="kw"></code></span></span> -<span id="cb203-8"><a href="#cb203-8" aria-hidden="true"></a><span class="kw"></pre></span></span></code></pre></div> -</blockquote> -<h4 data-number="2.2.1.18" id="option-finalizecache"><span class="header-section-number">2.2.1.18</span> Option <code>finalizeCache</code></h4> +<h5 class="unnumbered" id="latex-example-16"><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="cb200"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb200-1"><a href="#cb200-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb200-2"><a href="#cb200-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span> +<span id="cb200-3"><a href="#cb200-3" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> +<span id="cb200-4"><a href="#cb200-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb200-5"><a href="#cb200-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb200-6"><a href="#cb200-6" aria-hidden="true" tabindex="-1"></a>~~~ js</span> +<span id="cb200-7"><a href="#cb200-7" aria-hidden="true" tabindex="-1"></a>if (a > 3) {</span> +<span id="cb200-8"><a href="#cb200-8" aria-hidden="true" tabindex="-1"></a> moveShip(5 * gravity, DOWN);</span> +<span id="cb200-9"><a href="#cb200-9" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb200-10"><a href="#cb200-10" aria-hidden="true" tabindex="-1"></a>~~~~~~</span> +<span id="cb200-11"><a href="#cb200-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb200-12"><a href="#cb200-12" aria-hidden="true" tabindex="-1"></a> ``` html</span> +<span id="cb200-13"><a href="#cb200-13" aria-hidden="true" tabindex="-1"></a> <pre></span> +<span id="cb200-14"><a href="#cb200-14" aria-hidden="true" tabindex="-1"></a> <code></span> +<span id="cb200-15"><a href="#cb200-15" aria-hidden="true" tabindex="-1"></a> // Some comments</span> +<span id="cb200-16"><a href="#cb200-16" aria-hidden="true" tabindex="-1"></a> line 1 of code</span> +<span id="cb200-17"><a href="#cb200-17" aria-hidden="true" tabindex="-1"></a> line 2 of code</span> +<span id="cb200-18"><a href="#cb200-18" aria-hidden="true" tabindex="-1"></a> line 3 of code</span> +<span id="cb200-19"><a href="#cb200-19" aria-hidden="true" tabindex="-1"></a> </code></span> +<span id="cb200-20"><a href="#cb200-20" aria-hidden="true" tabindex="-1"></a> </pre></span> +<span id="cb200-21"><a href="#cb200-21" aria-hidden="true" tabindex="-1"></a> ```</span> +<span id="cb200-22"><a href="#cb200-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb200-23"><a href="#cb200-23" 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="cb201"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb201-1"><a href="#cb201-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 text:</p> +<blockquote> +<div class="sourceCode" id="cb202"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb202-1"><a href="#cb202-1" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> (a <span class="op">></span> <span class="dv">3</span>) {</span> +<span id="cb202-2"><a href="#cb202-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span> +<span id="cb202-3"><a href="#cb202-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb203"><pre +class="sourceCode html"><code class="sourceCode html"><span id="cb203-1"><a href="#cb203-1" aria-hidden="true" tabindex="-1"></a><span class="kw"><pre></span></span> +<span id="cb203-2"><a href="#cb203-2" aria-hidden="true" tabindex="-1"></a> <span class="kw"><code></span></span> +<span id="cb203-3"><a href="#cb203-3" aria-hidden="true" tabindex="-1"></a> // Some comments</span> +<span id="cb203-4"><a href="#cb203-4" aria-hidden="true" tabindex="-1"></a> line 1 of code</span> +<span id="cb203-5"><a href="#cb203-5" aria-hidden="true" tabindex="-1"></a> line 2 of code</span> +<span id="cb203-6"><a href="#cb203-6" aria-hidden="true" tabindex="-1"></a> line 3 of code</span> +<span id="cb203-7"><a href="#cb203-7" aria-hidden="true" tabindex="-1"></a> <span class="kw"></code></span></span> +<span id="cb203-8"><a href="#cb203-8" aria-hidden="true" tabindex="-1"></a><span class="kw"></pre></span></span></code></pre></div> +</blockquote> +<h5 class="unnumbered" id="context-example-11">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="cb204"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb204-1"><a href="#cb204-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb204-2"><a href="#cb204-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[fencedCode = yes]</span> +<span id="cb204-3"><a href="#cb204-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\definetyping</span> [js]</span> +<span id="cb204-4"><a href="#cb204-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\definetyping</span> [html]</span> +<span id="cb204-5"><a href="#cb204-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\setuptyping</span> [html] [option=XML]</span> +<span id="cb204-6"><a href="#cb204-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb204-7"><a href="#cb204-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb204-8"><a href="#cb204-8" aria-hidden="true" tabindex="-1"></a>~~~ js</span> +<span id="cb204-9"><a href="#cb204-9" aria-hidden="true" tabindex="-1"></a>if (a > 3) {</span> +<span id="cb204-10"><a href="#cb204-10" aria-hidden="true" tabindex="-1"></a> moveShip(5 * gravity, DOWN);</span> +<span id="cb204-11"><a href="#cb204-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb204-12"><a href="#cb204-12" aria-hidden="true" tabindex="-1"></a>~~~~~~</span> +<span id="cb204-13"><a href="#cb204-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb204-14"><a href="#cb204-14" aria-hidden="true" tabindex="-1"></a> ``` html</span> +<span id="cb204-15"><a href="#cb204-15" aria-hidden="true" tabindex="-1"></a> <pre></span> +<span id="cb204-16"><a href="#cb204-16" aria-hidden="true" tabindex="-1"></a> <code></span> +<span id="cb204-17"><a href="#cb204-17" aria-hidden="true" tabindex="-1"></a> // Some comments</span> +<span id="cb204-18"><a href="#cb204-18" aria-hidden="true" tabindex="-1"></a> line 1 of code</span> +<span id="cb204-19"><a href="#cb204-19" aria-hidden="true" tabindex="-1"></a> line 2 of code</span> +<span id="cb204-20"><a href="#cb204-20" aria-hidden="true" tabindex="-1"></a> line 3 of code</span> +<span id="cb204-21"><a href="#cb204-21" aria-hidden="true" tabindex="-1"></a> </code></span> +<span id="cb204-22"><a href="#cb204-22" aria-hidden="true" tabindex="-1"></a> </pre></span> +<span id="cb204-23"><a href="#cb204-23" aria-hidden="true" tabindex="-1"></a> ```</span> +<span id="cb204-24"><a href="#cb204-24" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb204-25"><a href="#cb204-25" 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="cb205"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb205-1"><a href="#cb205-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> +<div class="sourceCode" id="cb206"><pre +class="sourceCode js"><code class="sourceCode javascript"><span id="cb206-1"><a href="#cb206-1" aria-hidden="true" tabindex="-1"></a><span class="cf">if</span> (a <span class="op">></span> <span class="dv">3</span>) {</span> +<span id="cb206-2"><a href="#cb206-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span> +<span id="cb206-3"><a href="#cb206-3" aria-hidden="true" tabindex="-1"></a>}</span></code></pre></div> +<div class="sourceCode" id="cb207"><pre +class="sourceCode html"><code class="sourceCode html"><span id="cb207-1"><a href="#cb207-1" aria-hidden="true" tabindex="-1"></a><span class="kw"><pre></span></span> +<span id="cb207-2"><a href="#cb207-2" aria-hidden="true" tabindex="-1"></a> <span class="kw"><code></span></span> +<span id="cb207-3"><a href="#cb207-3" aria-hidden="true" tabindex="-1"></a> // Some comments</span> +<span id="cb207-4"><a href="#cb207-4" aria-hidden="true" tabindex="-1"></a> line 1 of code</span> +<span id="cb207-5"><a href="#cb207-5" aria-hidden="true" tabindex="-1"></a> line 2 of code</span> +<span id="cb207-6"><a href="#cb207-6" aria-hidden="true" tabindex="-1"></a> line 3 of code</span> +<span id="cb207-7"><a href="#cb207-7" aria-hidden="true" tabindex="-1"></a> <span class="kw"></code></span></span> +<span id="cb207-8"><a href="#cb207-8" aria-hidden="true" tabindex="-1"></a><span class="kw"></pre></span></span></code></pre></div> +</blockquote> +<h4 data-number="2.2.1.20" id="option-finalizecache"><span +class="header-section-number">2.2.1.20</span> Option +<code>finalizeCache</code></h4> <dl> <dt><code>finalizeCache</code> (default value: <code>false</code>)</dt> -<dd><p>Whether an output file specified with the <strong><code>frozenCacheFileName</code></strong> option (frozen cache) that contains a mapping between an enumeration of markdown documents and their auxiliary cache files will be created.</p> -<p>The frozen cache makes it possible to later typeset a plain <span class="tex">T<sub>e</sub>X</span> document that contains markdown documents without invoking Lua using the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected.</p> +<dd> +<p>Whether an output file specified with the +<strong><code>frozenCacheFileName</code></strong> option (frozen cache) +that contains a mapping between an enumeration of markdown documents and +their auxiliary cache files will be created.</p> +<p>The frozen cache makes it possible to later typeset a plain <span +class="tex">T<sub>e</sub>X</span> document that contains markdown +documents without invoking Lua using the +<code>\markdownOptionFrozenCache</code> plain <span +class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span +class="tex">T<sub>e</sub>X</span> document becomes more portable, but +further changes in the order and the content of markdown documents will +not be reflected.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-7">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="cb204"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb204-1"><a href="#cb204-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb204-2"><a href="#cb204-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span> -<span id="cb204-3"><a href="#cb204-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb204-4"><a href="#cb204-4" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb204-5"><a href="#cb204-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb204-6"><a href="#cb204-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb205"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb205-1"><a href="#cb205-1" aria-hidden="true"></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>!” A frozen cache will also be produced as we requested using the <code>finalizeCache</code> option.</p> +<h5 class="unnumbered" id="plain-tex-example-7">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="cb208"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb208-1"><a href="#cb208-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb208-2"><a href="#cb208-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span> +<span id="cb208-3"><a href="#cb208-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb208-4"><a href="#cb208-4" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb208-5"><a href="#cb208-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb208-6"><a href="#cb208-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="cb209"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb209-1"><a href="#cb209-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>!” A frozen cache will also be +produced as we requested using the <code>finalizeCache</code> +option.</p> <p>Next, change the content of <code>document.tex</code> as follows:</p> -<div class="sourceCode" id="cb206"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb206-1"><a href="#cb206-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb206-2"><a href="#cb206-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span> -<span id="cb206-3"><a href="#cb206-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb206-4"><a href="#cb206-4" aria-hidden="true"></a>Hi *world*!</span> -<span id="cb206-5"><a href="#cb206-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb206-6"><a href="#cb206-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<div class="sourceCode" id="cb210"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb210-1"><a href="#cb210-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb210-2"><a href="#cb210-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span> +<span id="cb210-3"><a href="#cb210-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb210-4"><a href="#cb210-4" aria-hidden="true" tabindex="-1"></a>Hi *world*!</span> +<span id="cb210-5"><a href="#cb210-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb210-6"><a href="#cb210-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\bye</span></span></code></pre></div> <p>Last, invoke pdfTeX without shell access from the terminal:</p> -<div class="sourceCode" id="cb207"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb207-1"><a href="#cb207-1" aria-hidden="true"></a><span class="ex">pdftex</span> -no-shell-escape document.tex</span></code></pre></div> -<p>A new PDF document named <code>document.pdf</code> should be produced and contain the same text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset 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> -<h5 class="unnumbered" data-number="" id="latex-example-16"><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="cb208"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb208-1"><a href="#cb208-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</span> -<span id="cb208-2"><a href="#cb208-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb208-3"><a href="#cb208-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb208-4"><a href="#cb208-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb208-5"><a href="#cb208-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb208-6"><a href="#cb208-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb208-7"><a href="#cb208-7" aria-hidden="true"></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="cb209"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb209-1"><a href="#cb209-1" aria-hidden="true"></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>!” A frozen cache will also be produced as we requested using the <code>finalizecache</code> option.</p> +<div class="sourceCode" id="cb211"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb211-1"><a href="#cb211-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdftex</span> <span class="at">-no-shell-escape</span> document.tex</span></code></pre></div> +<p>A new PDF document named <code>document.pdf</code> should be produced +and contain the same text “Hello <em>world</em>!” Since we used the +contents of the frozen cache using the +<code>\markdownOptionFrozenCache</code> option, we were able to typeset +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> +<h5 class="unnumbered" id="latex-example-17"><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="cb212"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb212-1"><a href="#cb212-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</span> +<span id="cb212-2"><a href="#cb212-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb212-3"><a href="#cb212-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb212-4"><a href="#cb212-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb212-5"><a href="#cb212-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb212-6"><a href="#cb212-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb212-7"><a href="#cb212-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="cb213"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb213-1"><a href="#cb213-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>!” A frozen cache will also be +produced as we requested using the <code>finalizecache</code> +option.</p> <p>Next, change the content of <code>document.tex</code> as follows:</p> -<div class="sourceCode" id="cb210"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb210-1"><a href="#cb210-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</span> -<span id="cb210-2"><a href="#cb210-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb210-3"><a href="#cb210-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb210-4"><a href="#cb210-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb210-5"><a href="#cb210-5" aria-hidden="true"></a>Hi *world*!</span> -<span id="cb210-6"><a href="#cb210-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb210-7"><a href="#cb210-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<div class="sourceCode" id="cb214"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb214-1"><a href="#cb214-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</span> +<span id="cb214-2"><a href="#cb214-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb214-3"><a href="#cb214-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb214-4"><a href="#cb214-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb214-5"><a href="#cb214-5" aria-hidden="true" tabindex="-1"></a>Hi *world*!</span> +<span id="cb214-6"><a href="#cb214-6" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb214-7"><a href="#cb214-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> <p>Last, invoke pdfTeX without shell access from the terminal:</p> -<div class="sourceCode" id="cb211"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb211-1"><a href="#cb211-1" aria-hidden="true"></a><span class="ex">pdflatex</span> -no-shell-escape document.tex</span></code></pre></div> -<p>A new PDF document named <code>document.pdf</code> should be produced and contain the same text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset 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> -<h5 class="unnumbered" data-number="" id="context-example-12">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="cb212"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb212-1"><a href="#cb212-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb212-2"><a href="#cb212-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[finalizeCache = yes]</span> -<span id="cb212-3"><a href="#cb212-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb212-4"><a href="#cb212-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb212-5"><a href="#cb212-5" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb212-6"><a href="#cb212-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb212-7"><a href="#cb212-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb213"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb213-1"><a href="#cb213-1" aria-hidden="true"></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>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> option.</p> +<div class="sourceCode" id="cb215"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb215-1"><a href="#cb215-1" aria-hidden="true" tabindex="-1"></a><span class="ex">pdflatex</span> <span class="at">-no-shell-escape</span> document.tex</span></code></pre></div> +<p>A new PDF document named <code>document.pdf</code> should be produced +and contain the same text “Hello <em>world</em>!” Since we used the +contents of the frozen cache using the +<code>\markdownOptionFrozenCache</code> option, we were able to typeset +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> +<h5 class="unnumbered" id="context-example-12">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="cb216"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb216-1"><a href="#cb216-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb216-2"><a href="#cb216-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[finalizeCache = yes]</span> +<span id="cb216-3"><a href="#cb216-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb216-4"><a href="#cb216-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb216-5"><a href="#cb216-5" aria-hidden="true" tabindex="-1"></a>Hello *world*!</span> +<span id="cb216-6"><a href="#cb216-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb216-7"><a href="#cb216-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="cb217"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb217-1"><a href="#cb217-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>!” A frozen cache will also be +produced in the <code>cache.tex</code> output file as we requested using +the <code>finalizeCache</code> option.</p> <p>Next, change the content of <code>document.tex</code> as follows:</p> -<div class="sourceCode" id="cb214"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb214-1"><a href="#cb214-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb214-2"><a href="#cb214-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[frozenCache = yes]</span> -<span id="cb214-3"><a href="#cb214-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb214-4"><a href="#cb214-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb214-5"><a href="#cb214-5" aria-hidden="true"></a>Hi *world*!</span> -<span id="cb214-6"><a href="#cb214-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb214-7"><a href="#cb214-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> +<div class="sourceCode" id="cb218"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb218-1"><a href="#cb218-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb218-2"><a href="#cb218-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[frozenCache = yes]</span> +<span id="cb218-3"><a href="#cb218-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb218-4"><a href="#cb218-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb218-5"><a href="#cb218-5" aria-hidden="true" tabindex="-1"></a>Hi *world*!</span> +<span id="cb218-6"><a href="#cb218-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb218-7"><a href="#cb218-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\stoptext</span></span></code></pre></div> <p>Last, invoke pdfTeX without shell access from the terminal:</p> -<div class="sourceCode" id="cb215"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb215-1"><a href="#cb215-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--no-shell-escape document.tex</span></code></pre></div> -<p>A new PDF document named <code>document.pdf</code> should be produced and contain the same text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset 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.19" id="option-footnotes"><span class="header-section-number">2.2.1.19</span> Option <code>footnotes</code></h4> +<div class="sourceCode" id="cb219"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb219-1"><a href="#cb219-1" aria-hidden="true" tabindex="-1"></a><span class="ex">texexec</span> <span class="at">--passon</span><span class="op">=</span>--no-shell-escape document.tex</span></code></pre></div> +<p>A new PDF document named <code>document.pdf</code> should be produced +and contain the same text “Hello <em>world</em>!” Since we used the +contents of the frozen cache using the +<code>\markdownOptionFrozenCache</code> option, we were able to typeset +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 +class="header-section-number">2.2.1.21</span> Option +<code>footnotes</code></h4> <dl> <dt><code>footnotes</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc footnote syntax extension:</p> -<div class="sourceCode" id="cb216"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb216-1"><a href="#cb216-1" aria-hidden="true"></a>Here is a footnote reference,<span class="ot">[^1]</span> and another.<span class="ot">[^longnote]</span></span> -<span id="cb216-2"><a href="#cb216-2" aria-hidden="true"></a></span> -<span id="cb216-3"><a href="#cb216-3" aria-hidden="true"></a><span class="ot">[^1]: </span>Here is the footnote.</span> -<span id="cb216-4"><a href="#cb216-4" aria-hidden="true"></a></span> -<span id="cb216-5"><a href="#cb216-5" aria-hidden="true"></a><span class="ot">[^longnote]: </span>Here's one with multiple blocks.</span> -<span id="cb216-6"><a href="#cb216-6" aria-hidden="true"></a></span> -<span id="cb216-7"><a href="#cb216-7" aria-hidden="true"></a><span class="in"> Subsequent paragraphs are indented to show that they</span></span> -<span id="cb216-8"><a href="#cb216-8" aria-hidden="true"></a>belong to the previous footnote.</span> -<span id="cb216-9"><a href="#cb216-9" aria-hidden="true"></a></span> -<span id="cb216-10"><a href="#cb216-10" aria-hidden="true"></a><span class="in"> { some.code }</span></span> -<span id="cb216-11"><a href="#cb216-11" aria-hidden="true"></a></span> -<span id="cb216-12"><a href="#cb216-12" aria-hidden="true"></a><span class="in"> The whole paragraph can be indented, or just the</span></span> -<span id="cb216-13"><a href="#cb216-13" aria-hidden="true"></a><span class="in"> first line. In this way, multi-paragraph footnotes</span></span> -<span id="cb216-14"><a href="#cb216-14" aria-hidden="true"></a><span class="in"> work like multi-paragraph list items.</span></span> -<span id="cb216-15"><a href="#cb216-15" aria-hidden="true"></a></span> -<span id="cb216-16"><a href="#cb216-16" aria-hidden="true"></a>This paragraph won't be part of the note, because it</span> -<span id="cb216-17"><a href="#cb216-17" aria-hidden="true"></a>isn't indented.</span></code></pre></div> +<dd> +<p>Enable the Pandoc footnote 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> +<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-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-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-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> +<span id="cb220-17"><a href="#cb220-17" aria-hidden="true" tabindex="-1"></a>isn't indented.</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc footnote syntax extension.</p> +<dd> +<p>Disable the Pandoc footnote syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-17"><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="cb217"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb217-1"><a href="#cb217-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb217-2"><a href="#cb217-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</span> -<span id="cb217-3"><a href="#cb217-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb217-4"><a href="#cb217-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb217-5"><a href="#cb217-5" aria-hidden="true"></a>Here is a footnote reference,[^1] and another.[^longnote]</span> -<span id="cb217-6"><a href="#cb217-6" aria-hidden="true"></a></span> -<span id="cb217-7"><a href="#cb217-7" aria-hidden="true"></a>[^1]: Here is the footnote.</span> -<span id="cb217-8"><a href="#cb217-8" aria-hidden="true"></a></span> -<span id="cb217-9"><a href="#cb217-9" aria-hidden="true"></a>[^longnote]: Here's one with multiple blocks.</span> -<span id="cb217-10"><a href="#cb217-10" aria-hidden="true"></a></span> -<span id="cb217-11"><a href="#cb217-11" aria-hidden="true"></a> Subsequent paragraphs are indented to show that they</span> -<span id="cb217-12"><a href="#cb217-12" aria-hidden="true"></a>belong to the previous footnote.</span> -<span id="cb217-13"><a href="#cb217-13" aria-hidden="true"></a></span> -<span id="cb217-14"><a href="#cb217-14" aria-hidden="true"></a> { some.code }</span> -<span id="cb217-15"><a href="#cb217-15" aria-hidden="true"></a></span> -<span id="cb217-16"><a href="#cb217-16" aria-hidden="true"></a> The whole paragraph can be indented, or just the</span> -<span id="cb217-17"><a href="#cb217-17" aria-hidden="true"></a> first line. In this way, multi-paragraph footnotes</span> -<span id="cb217-18"><a href="#cb217-18" aria-hidden="true"></a> work like multi-paragraph list items.</span> -<span id="cb217-19"><a href="#cb217-19" aria-hidden="true"></a></span> -<span id="cb217-20"><a href="#cb217-20" aria-hidden="true"></a>This paragraph won't be part of the note, because it</span> -<span id="cb217-21"><a href="#cb217-21" aria-hidden="true"></a>isn't indented.</span> -<span id="cb217-22"><a href="#cb217-22" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb217-23"><a href="#cb217-23" aria-hidden="true"></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="cb218"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb218-1"><a href="#cb218-1" aria-hidden="true"></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>Here is a footnote 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> -<p>This paragraph won’t be part of the note, because it isn’t indented.</p> -</blockquote> -<h5 class="unnumbered" data-number="" id="context-example-13">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="cb220"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb220-1"><a href="#cb220-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb220-2"><a href="#cb220-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[footnotes = yes]</span> -<span id="cb220-3"><a href="#cb220-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb220-4"><a href="#cb220-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb220-5"><a href="#cb220-5" aria-hidden="true"></a>Here is a footnote reference,[^1] and another.[^longnote]</span> -<span id="cb220-6"><a href="#cb220-6" aria-hidden="true"></a></span> -<span id="cb220-7"><a href="#cb220-7" aria-hidden="true"></a>[^1]: Here is the footnote.</span> -<span id="cb220-8"><a href="#cb220-8" aria-hidden="true"></a></span> -<span id="cb220-9"><a href="#cb220-9" aria-hidden="true"></a>[^longnote]: Here's one with multiple blocks.</span> -<span id="cb220-10"><a href="#cb220-10" aria-hidden="true"></a></span> -<span id="cb220-11"><a href="#cb220-11" aria-hidden="true"></a> Subsequent paragraphs are indented to show that they</span> -<span id="cb220-12"><a href="#cb220-12" aria-hidden="true"></a>belong to the previous footnote.</span> -<span id="cb220-13"><a href="#cb220-13" aria-hidden="true"></a></span> -<span id="cb220-14"><a href="#cb220-14" aria-hidden="true"></a> { some.code }</span> -<span id="cb220-15"><a href="#cb220-15" aria-hidden="true"></a></span> -<span id="cb220-16"><a href="#cb220-16" aria-hidden="true"></a> The whole paragraph can be indented, or just the</span> -<span id="cb220-17"><a href="#cb220-17" aria-hidden="true"></a> first line. In this way, multi-paragraph footnotes</span> -<span id="cb220-18"><a href="#cb220-18" aria-hidden="true"></a> work like multi-paragraph list items.</span> -<span id="cb220-19"><a href="#cb220-19" aria-hidden="true"></a></span> -<span id="cb220-20"><a href="#cb220-20" aria-hidden="true"></a>This paragraph won't be part of the note, because it</span> -<span id="cb220-21"><a href="#cb220-21" aria-hidden="true"></a>isn't indented.</span> -<span id="cb220-22"><a href="#cb220-22" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb220-23"><a href="#cb220-23" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb221"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb221-1"><a href="#cb221-1" aria-hidden="true"></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>Here is a footnote 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> -<p>This paragraph won’t be part of the note, because it isn’t indented.</p> -</blockquote> -<h4 data-number="2.2.1.20" id="option-frozencachecounter"><span class="header-section-number">2.2.1.20</span> Option <code>frozenCacheCounter</code></h4> +<h5 class="unnumbered" id="latex-example-18"><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="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-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-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-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-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-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> +<span id="cb221-21"><a href="#cb221-21" aria-hidden="true" tabindex="-1"></a>isn't indented.</span> +<span id="cb221-22"><a href="#cb221-22" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb221-23"><a href="#cb221-23" 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="cb222"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb222-1"><a href="#cb222-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>Here is a footnote 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> +<p>This paragraph won’t be part of the note, because it isn’t +indented.</p> +</blockquote> +<h5 class="unnumbered" id="context-example-13">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="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-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-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-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-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-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> +<span id="cb224-21"><a href="#cb224-21" aria-hidden="true" tabindex="-1"></a>isn't indented.</span> +<span id="cb224-22"><a href="#cb224-22" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb224-23"><a href="#cb224-23" 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="cb225"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb225-1"><a href="#cb225-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>Here is a footnote 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> +<p>This paragraph won’t be part of the note, because it isn’t +indented.</p> +</blockquote> +<h4 data-number="2.2.1.22" id="option-frozencachecounter"><span +class="header-section-number">2.2.1.22</span> Option +<code>frozenCacheCounter</code></h4> <dl> <dt><code>frozenCacheCounter</code> (default value: <code>0</code>)</dt> -<dd><p>The number of the current markdown document that will be stored in an output file (frozen cache) when the <strong><code>finalizeCache</code></strong> is enabled. When the document number is 0, then a new frozen cache will be created. Otherwise, the frozen cache will be appended.</p> -<p>Each frozen cache entry will define a <span class="tex">T<sub>e</sub>X</span> macro <code>\markdownFrozenCache</code>⟨<em>number</em>⟩ that will typeset markdown document number ⟨<em>number</em>⟩.</p> +<dd> +<p>The number of the current markdown document that will be stored in an +output file (frozen cache) when the +<strong><code>finalizeCache</code></strong> is enabled. When the +document number is 0, then a new frozen cache will be created. +Otherwise, the frozen cache will be appended.</p> +<p>Each frozen cache entry will define a <span +class="tex">T<sub>e</sub>X</span> macro +<code>\markdownFrozenCache</code>⟨<em>number</em>⟩ that will typeset +markdown document number ⟨<em>number</em>⟩.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-8">Lua Module 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="cb223"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb223-1"><a href="#cb223-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb223-2"><a href="#cb223-2" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb223-3"><a href="#cb223-3" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb223-4"><a href="#cb223-4" aria-hidden="true"></a> local firstConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 0})</span> -<span id="cb223-5"><a href="#cb223-5" aria-hidden="true"></a> local firstInput = "Hello"</span> -<span id="cb223-6"><a href="#cb223-6" aria-hidden="true"></a> local secondConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 1})</span> -<span id="cb223-7"><a href="#cb223-7" aria-hidden="true"></a> local secondInput = "*world*!"</span> -<span id="cb223-8"><a href="#cb223-8" aria-hidden="true"></a> tex.sprint(firstConvert(firstInput) .. [[ ]] .. secondConvert(secondInput)) }</span> -<span id="cb223-9"><a href="#cb223-9" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-8">Lua Module 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="cb227"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb227-1"><a href="#cb227-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb227-2"><a href="#cb227-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb227-3"><a href="#cb227-3" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb227-4"><a href="#cb227-4" aria-hidden="true" tabindex="-1"></a> local firstConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 0})</span> +<span id="cb227-5"><a href="#cb227-5" aria-hidden="true" tabindex="-1"></a> local firstInput = "Hello"</span> +<span id="cb227-6"><a href="#cb227-6" aria-hidden="true" tabindex="-1"></a> local secondConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 1})</span> +<span id="cb227-7"><a href="#cb227-7" aria-hidden="true" tabindex="-1"></a> local secondInput = "*world*!"</span> +<span id="cb227-8"><a href="#cb227-8" aria-hidden="true" tabindex="-1"></a> tex.sprint(firstConvert(firstInput) .. [[ ]] .. secondConvert(secondInput)) }</span> +<span id="cb227-9"><a href="#cb227-9" 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="cb224"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb224-1"><a href="#cb224-1" aria-hidden="true"></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>!” A frozen cache with two entries will also be produced as we requested using the <code>frozenCacheCounter</code> option.</p> -<h4 data-number="2.2.1.21" id="option-hardlinebreaks"><span class="header-section-number">2.2.1.21</span> Option <code>hardLineBreaks</code></h4> +<div class="sourceCode" id="cb228"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb228-1"><a href="#cb228-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>!” A frozen cache with two entries +will also be produced as we requested using the +<code>frozenCacheCounter</code> option.</p> +<h4 data-number="2.2.1.23" id="option-hardlinebreaks"><span +class="header-section-number">2.2.1.23</span> Option +<code>hardLineBreaks</code></h4> <dl> <dt><code>hardLineBreaks</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Interpret all newlines within a paragraph as hard line breaks instead of spaces.</p> +<dd> +<p>Interpret all newlines within a paragraph as hard line breaks instead +of spaces.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Interpret all newlines within a paragraph as spaces.</p> +<dd> +<p>Interpret all newlines within a paragraph as spaces.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-18"><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="cb225"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb225-1"><a href="#cb225-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb225-2"><a href="#cb225-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb225-3"><a href="#cb225-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb225-4"><a href="#cb225-4" aria-hidden="true"></a></span> -<span id="cb225-5"><a href="#cb225-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb225-6"><a href="#cb225-6" aria-hidden="true"></a>'Twas brillig, and the slithy toves</span> -<span id="cb225-7"><a href="#cb225-7" aria-hidden="true"></a>Did gyre and gimble in the wabe;</span> -<span id="cb225-8"><a href="#cb225-8" aria-hidden="true"></a>All mimsy were the borogoves,</span> -<span id="cb225-9"><a href="#cb225-9" aria-hidden="true"></a>And the mome raths outgrabe.</span> -<span id="cb225-10"><a href="#cb225-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb225-11"><a href="#cb225-11" aria-hidden="true"></a></span> -<span id="cb225-12"><a href="#cb225-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hardLineBreaks}</span> -<span id="cb225-13"><a href="#cb225-13" aria-hidden="true"></a>'Twas brillig, and the slithy toves</span> -<span id="cb225-14"><a href="#cb225-14" aria-hidden="true"></a>Did gyre and gimble in the wabe;</span> -<span id="cb225-15"><a href="#cb225-15" aria-hidden="true"></a>All mimsy were the borogoves,</span> -<span id="cb225-16"><a href="#cb225-16" aria-hidden="true"></a>And the mome raths outgrabe.</span> -<span id="cb225-17"><a href="#cb225-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb225-18"><a href="#cb225-18" aria-hidden="true"></a></span> -<span id="cb225-19"><a href="#cb225-19" aria-hidden="true"></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="cb226"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb226-1"><a href="#cb226-1" aria-hidden="true"></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>’Twas brillig, and the slithy toves Did gyre and gimble in the wabe; All mimsy were the borogoves, And the mome raths outgrabe.</p> -<p>’Twas brillig, and the slithy toves Did gyre and gimble in the wabe; All mimsy were the borogoves, And the mome raths outgrabe.</p> -</blockquote> -<h4 data-number="2.2.1.22" id="option-hashenumerators"><span class="header-section-number">2.2.1.22</span> Option <code>hashEnumerators</code></h4> +<h5 class="unnumbered" id="latex-example-19"><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="cb229"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb229-1"><a href="#cb229-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb229-2"><a href="#cb229-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb229-3"><a href="#cb229-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb229-4"><a href="#cb229-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb229-5"><a href="#cb229-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb229-6"><a href="#cb229-6" aria-hidden="true" tabindex="-1"></a>'Twas brillig, and the slithy toves</span> +<span id="cb229-7"><a href="#cb229-7" aria-hidden="true" tabindex="-1"></a>Did gyre and gimble in the wabe;</span> +<span id="cb229-8"><a href="#cb229-8" aria-hidden="true" tabindex="-1"></a>All mimsy were the borogoves,</span> +<span id="cb229-9"><a href="#cb229-9" aria-hidden="true" tabindex="-1"></a>And the mome raths outgrabe.</span> +<span id="cb229-10"><a href="#cb229-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb229-11"><a href="#cb229-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb229-12"><a href="#cb229-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hardLineBreaks}</span> +<span id="cb229-13"><a href="#cb229-13" aria-hidden="true" tabindex="-1"></a>'Twas brillig, and the slithy toves</span> +<span id="cb229-14"><a href="#cb229-14" aria-hidden="true" tabindex="-1"></a>Did gyre and gimble in the wabe;</span> +<span id="cb229-15"><a href="#cb229-15" aria-hidden="true" tabindex="-1"></a>All mimsy were the borogoves,</span> +<span id="cb229-16"><a href="#cb229-16" aria-hidden="true" tabindex="-1"></a>And the mome raths outgrabe.</span> +<span id="cb229-17"><a href="#cb229-17" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb229-18"><a href="#cb229-18" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb229-19"><a href="#cb229-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="cb230"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb230-1"><a href="#cb230-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>’Twas brillig, and the slithy toves Did gyre and gimble in the wabe; +All mimsy were the borogoves, And the mome raths outgrabe.</p> +<p>’Twas brillig, and the slithy toves Did gyre and gimble in the wabe; +All mimsy were the borogoves, And the mome raths outgrabe.</p> +</blockquote> +<h4 data-number="2.2.1.24" id="option-hashenumerators"><span +class="header-section-number">2.2.1.24</span> Option +<code>hashEnumerators</code></h4> +<dl> +<dt><code>hashEnumerators</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>hashEnumerators</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Enable the use of hash symbols (<code>#</code>) as ordered item list markers:</p> -<div class="sourceCode" id="cb227"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb227-1"><a href="#cb227-1" aria-hidden="true"></a>#. Bird</span> -<span id="cb227-2"><a href="#cb227-2" aria-hidden="true"></a>#. McHale</span> -<span id="cb227-3"><a href="#cb227-3" aria-hidden="true"></a>#. Parish</span></code></pre></div> +<dd> +<p>Enable the use of hash symbols (<code>#</code>) as ordered item list +markers:</p> +<div class="sourceCode" id="cb231"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb231-1"><a href="#cb231-1" aria-hidden="true" tabindex="-1"></a>#. Bird</span> +<span id="cb231-2"><a href="#cb231-2" aria-hidden="true" tabindex="-1"></a>#. McHale</span> +<span id="cb231-3"><a href="#cb231-3" aria-hidden="true" tabindex="-1"></a>#. Parish</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the use of hash symbols (<code>#</code>) as ordered item list markers.</p> +<dd> +<p>Disable the use of hash symbols (<code>#</code>) as ordered item list +markers.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-19"><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="cb228"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb228-1"><a href="#cb228-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb228-2"><a href="#cb228-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb228-3"><a href="#cb228-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb228-4"><a href="#cb228-4" aria-hidden="true"></a></span> -<span id="cb228-5"><a href="#cb228-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb228-6"><a href="#cb228-6" aria-hidden="true"></a>#. Bird</span> -<span id="cb228-7"><a href="#cb228-7" aria-hidden="true"></a>#. McHale</span> -<span id="cb228-8"><a href="#cb228-8" aria-hidden="true"></a>#. Parish</span> -<span id="cb228-9"><a href="#cb228-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb228-10"><a href="#cb228-10" aria-hidden="true"></a></span> -<span id="cb228-11"><a href="#cb228-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hashEnumerators}</span> -<span id="cb228-12"><a href="#cb228-12" aria-hidden="true"></a>#. Bird</span> -<span id="cb228-13"><a href="#cb228-13" aria-hidden="true"></a>#. McHale</span> -<span id="cb228-14"><a href="#cb228-14" aria-hidden="true"></a>#. Parish</span> -<span id="cb228-15"><a href="#cb228-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb228-16"><a href="#cb228-16" aria-hidden="true"></a></span> -<span id="cb228-17"><a href="#cb228-17" aria-hidden="true"></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="cb229"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb229-1"><a href="#cb229-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-20"><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="cb232"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb232-1"><a href="#cb232-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb232-2"><a href="#cb232-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb232-3"><a href="#cb232-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb232-4"><a href="#cb232-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb232-5"><a href="#cb232-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb232-6"><a href="#cb232-6" aria-hidden="true" tabindex="-1"></a>#. Bird</span> +<span id="cb232-7"><a href="#cb232-7" aria-hidden="true" tabindex="-1"></a>#. McHale</span> +<span id="cb232-8"><a href="#cb232-8" aria-hidden="true" tabindex="-1"></a>#. Parish</span> +<span id="cb232-9"><a href="#cb232-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb232-10"><a href="#cb232-10" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb232-11"><a href="#cb232-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hashEnumerators}</span> +<span id="cb232-12"><a href="#cb232-12" aria-hidden="true" tabindex="-1"></a>#. Bird</span> +<span id="cb232-13"><a href="#cb232-13" aria-hidden="true" tabindex="-1"></a>#. McHale</span> +<span id="cb232-14"><a href="#cb232-14" aria-hidden="true" tabindex="-1"></a>#. Parish</span> +<span id="cb232-15"><a href="#cb232-15" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb232-16"><a href="#cb232-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb232-17"><a href="#cb232-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="cb233"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb233-1"><a href="#cb233-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> <h1 id="bird">. Bird</h1> <h1 id="mchale">. McHale</h1> @@ -2459,28 +3615,33 @@ Thomas,Edison,1847</code></pre> <li>Parish</li> </ol> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-14">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="cb230"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb230-1"><a href="#cb230-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb230-2"><a href="#cb230-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb230-3"><a href="#cb230-3" aria-hidden="true"></a></span> -<span id="cb230-4"><a href="#cb230-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb230-5"><a href="#cb230-5" aria-hidden="true"></a>#. Bird</span> -<span id="cb230-6"><a href="#cb230-6" aria-hidden="true"></a>#. McHale</span> -<span id="cb230-7"><a href="#cb230-7" aria-hidden="true"></a>#. Parish</span> -<span id="cb230-8"><a href="#cb230-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb230-9"><a href="#cb230-9" aria-hidden="true"></a></span> -<span id="cb230-10"><a href="#cb230-10" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[hashEnumerators = yes]</span> -<span id="cb230-11"><a href="#cb230-11" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb230-12"><a href="#cb230-12" aria-hidden="true"></a>#. Bird</span> -<span id="cb230-13"><a href="#cb230-13" aria-hidden="true"></a>#. McHale</span> -<span id="cb230-14"><a href="#cb230-14" aria-hidden="true"></a>#. Parish</span> -<span id="cb230-15"><a href="#cb230-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb230-16"><a href="#cb230-16" aria-hidden="true"></a></span> -<span id="cb230-17"><a href="#cb230-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb231"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb231-1"><a href="#cb231-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-14">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="cb234"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb234-1"><a href="#cb234-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb234-2"><a href="#cb234-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb234-3"><a href="#cb234-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb234-4"><a href="#cb234-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb234-5"><a href="#cb234-5" aria-hidden="true" tabindex="-1"></a>#. Bird</span> +<span id="cb234-6"><a href="#cb234-6" aria-hidden="true" tabindex="-1"></a>#. McHale</span> +<span id="cb234-7"><a href="#cb234-7" aria-hidden="true" tabindex="-1"></a>#. Parish</span> +<span id="cb234-8"><a href="#cb234-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb234-9"><a href="#cb234-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb234-10"><a href="#cb234-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hashEnumerators = yes]</span> +<span id="cb234-11"><a href="#cb234-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb234-12"><a href="#cb234-12" aria-hidden="true" tabindex="-1"></a>#. Bird</span> +<span id="cb234-13"><a href="#cb234-13" aria-hidden="true" tabindex="-1"></a>#. McHale</span> +<span id="cb234-14"><a href="#cb234-14" aria-hidden="true" tabindex="-1"></a>#. Parish</span> +<span id="cb234-15"><a href="#cb234-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb234-16"><a href="#cb234-16" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb234-17"><a href="#cb234-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="cb235"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb235-1"><a href="#cb235-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> <h1 id="bird-1">. Bird</h1> <h1 id="mchale-1">. McHale</h1> @@ -2491,532 +3652,707 @@ Thomas,Edison,1847</code></pre> <li>Parish</li> </ol> </blockquote> -<h4 data-number="2.2.1.23" id="header-attributes"><span class="header-section-number">2.2.1.23</span> Option <code>headerAttributes</code></h4> +<h4 data-number="2.2.1.25" id="header-attributes"><span +class="header-section-number">2.2.1.25</span> Option +<code>headerAttributes</code></h4> +<dl> +<dt><code>headerAttributes</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>headerAttributes</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Enable the assignment of HTML attributes to headings:</p> -<div class="sourceCode" id="cb232"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb232-1"><a href="#cb232-1" aria-hidden="true"></a><span class="fu"># My first heading {#foo}</span></span> -<span id="cb232-2"><a href="#cb232-2" aria-hidden="true"></a></span> -<span id="cb232-3"><a href="#cb232-3" aria-hidden="true"></a><span class="fu">## My second heading ## {#bar .baz}</span></span> -<span id="cb232-4"><a href="#cb232-4" aria-hidden="true"></a></span> -<span id="cb232-5"><a href="#cb232-5" aria-hidden="true"></a>Yet another heading {key=value}</span> -<span id="cb232-6"><a href="#cb232-6" aria-hidden="true"></a><span class="fu">===================</span></span></code></pre></div> -<p>These HTML attributes have currently no effect other than enabling <a href="#slice">content slicing</a>.</p> +<dd> +<p>Enable the assignment of HTML attributes to headings:</p> +<div class="sourceCode" id="cb236"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb236-1"><a href="#cb236-1" aria-hidden="true" tabindex="-1"></a><span class="fu"># My first heading {#foo}</span></span> +<span id="cb236-2"><a href="#cb236-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb236-3"><a href="#cb236-3" aria-hidden="true" tabindex="-1"></a><span class="fu">## My second heading ## {#bar .baz}</span></span> +<span id="cb236-4"><a href="#cb236-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb236-5"><a href="#cb236-5" aria-hidden="true" tabindex="-1"></a>Yet another heading {key=value}</span> +<span id="cb236-6"><a href="#cb236-6" aria-hidden="true" tabindex="-1"></a><span class="fu">===================</span></span></code></pre></div> +<p>These HTML attributes have currently no effect other than enabling <a +href="#slice">content slicing</a>.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the assignment of HTML attributes to headings.</p> +<dd> +<p>Disable the assignment of HTML attributes to headings.</p> </dd> </dl> </dd> </dl> -<h4 data-number="2.2.1.24" id="option-html"><span class="header-section-number">2.2.1.24</span> Option <code>html</code></h4> +<h4 data-number="2.2.1.26" id="option-html"><span +class="header-section-number">2.2.1.26</span> Option +<code>html</code></h4> <dl> <dt><code>html</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the recognition of inline HTML tags, block HTML elements, HTML comments, HTML instructions, and entities in the input. Inline HTML tags, block HTML elements and HTML comments will be rendered, HTML instructions will be ignored, and HTML entities will be replaced with the corresponding Unicode codepoints.</p> +<dd> +<p>Enable the recognition of inline HTML tags, block HTML elements, HTML +comments, HTML instructions, and entities in the input. Inline HTML +tags, block HTML elements and HTML comments will be rendered, HTML +instructions will be ignored, and HTML entities will be replaced with +the corresponding Unicode codepoints.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the recognition of HTML markup. Any HTML markup in the input will be rendered as plain text.</p> +<dd> +<p>Disable the recognition of HTML markup. Any HTML markup in the input +will be rendered as plain text.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-9">Lua Module 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="cb233"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb233-1"><a href="#cb233-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb233-2"><a href="#cb233-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb233-3"><a href="#cb233-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb233-4"><a href="#cb233-4" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb233-5"><a href="#cb233-5" aria-hidden="true"></a> local convert = markdown.new()</span> -<span id="cb233-6"><a href="#cb233-6" aria-hidden="true"></a> local newline = [[^^J^^J]]</span> -<span id="cb233-7"><a href="#cb233-7" aria-hidden="true"></a> local input =</span> -<span id="cb233-8"><a href="#cb233-8" aria-hidden="true"></a> "<div>*There is no block tag support.*</div>" .. newline ..</span> -<span id="cb233-9"><a href="#cb233-9" aria-hidden="true"></a> "*There is no <inline tag="tag"></inline> support.*" .. newline ..</span> -<span id="cb233-10"><a href="#cb233-10" aria-hidden="true"></a> "_There is no <!-- comment --> support._" .. newline ..</span> -<span id="cb233-11"><a href="#cb233-11" aria-hidden="true"></a> "_There is no <? HTML instruction ?> support._"</span> -<span id="cb233-12"><a href="#cb233-12" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb233-13"><a href="#cb233-13" aria-hidden="true"></a><span class="fu">\par</span></span> -<span id="cb233-14"><a href="#cb233-14" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb233-15"><a href="#cb233-15" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb233-16"><a href="#cb233-16" aria-hidden="true"></a> local convert = markdown.new({html = true})</span> -<span id="cb233-17"><a href="#cb233-17" aria-hidden="true"></a> local input =</span> -<span id="cb233-18"><a href="#cb233-18" aria-hidden="true"></a> "<div>*There is block tag support.*</div>" .. newline ..</span> -<span id="cb233-19"><a href="#cb233-19" aria-hidden="true"></a> "*There is <inline tag="tag"></inline> support.*" .. newline ..</span> -<span id="cb233-20"><a href="#cb233-20" aria-hidden="true"></a> "_There is <!-- comment --> support._" .. newline ..</span> -<span id="cb233-21"><a href="#cb233-21" aria-hidden="true"></a> "_There is <? HTML instruction ?> support._"</span> -<span id="cb233-22"><a href="#cb233-22" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb233-23"><a href="#cb233-23" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-9">Lua Module 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="cb237"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb237-1"><a href="#cb237-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb237-2"><a href="#cb237-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb237-3"><a href="#cb237-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb237-4"><a href="#cb237-4" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb237-5"><a href="#cb237-5" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new()</span> +<span id="cb237-6"><a href="#cb237-6" aria-hidden="true" tabindex="-1"></a> local newline = [[^^J^^J]]</span> +<span id="cb237-7"><a href="#cb237-7" aria-hidden="true" tabindex="-1"></a> local input =</span> +<span id="cb237-8"><a href="#cb237-8" aria-hidden="true" tabindex="-1"></a> "<div>*There is no block tag support.*</div>" .. newline ..</span> +<span id="cb237-9"><a href="#cb237-9" aria-hidden="true" tabindex="-1"></a> "*There is no <inline tag="tag"></inline> support.*" .. newline ..</span> +<span id="cb237-10"><a href="#cb237-10" aria-hidden="true" tabindex="-1"></a> "_There is no <!-- comment --> support._" .. newline ..</span> +<span id="cb237-11"><a href="#cb237-11" aria-hidden="true" tabindex="-1"></a> "_There is no <? HTML instruction ?> support._"</span> +<span id="cb237-12"><a href="#cb237-12" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb237-13"><a href="#cb237-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> +<span id="cb237-14"><a href="#cb237-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb237-15"><a href="#cb237-15" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb237-16"><a href="#cb237-16" aria-hidden="true" tabindex="-1"></a> local convert = markdown.new({html = true})</span> +<span id="cb237-17"><a href="#cb237-17" aria-hidden="true" tabindex="-1"></a> local input =</span> +<span id="cb237-18"><a href="#cb237-18" aria-hidden="true" tabindex="-1"></a> "<div>*There is block tag support.*</div>" .. newline ..</span> +<span id="cb237-19"><a href="#cb237-19" aria-hidden="true" tabindex="-1"></a> "*There is <inline tag="tag"></inline> support.*" .. newline ..</span> +<span id="cb237-20"><a href="#cb237-20" aria-hidden="true" tabindex="-1"></a> "_There is <!-- comment --> support._" .. newline ..</span> +<span id="cb237-21"><a href="#cb237-21" aria-hidden="true" tabindex="-1"></a> "_There is <? HTML instruction ?> support._"</span> +<span id="cb237-22"><a href="#cb237-22" aria-hidden="true" tabindex="-1"></a> tex.sprint(convert(input)) }</span> +<span id="cb237-23"><a href="#cb237-23" 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="cb234"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb234-1"><a href="#cb234-1" aria-hidden="true"></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><div>There is no block tag support.</div> There is no <inline tag=”tag”></inline> support. There is no <!– comment –> support. There is no <? HTML instruction ?> support.</p> +<div class="sourceCode" id="cb238"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb238-1"><a href="#cb238-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><div>There is no block tag support.</div> There is no +<inline tag=”tag”></inline> support. There is no <!– +comment –> support. There is no <? HTML instruction ?> +support.</p> <p>There is support. There is support. There is support.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="lua-cli-example-7">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="cb235"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb235-1"><a href="#cb235-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb235-2"><a href="#cb235-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb235-3"><a href="#cb235-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb235-4"><a href="#cb235-4" aria-hidden="true"></a><span class="fu">\par</span></span> -<span id="cb235-5"><a href="#cb235-5" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb235-6"><a href="#cb235-6" aria-hidden="true"></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="cb236"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb236-1"><a href="#cb236-1" aria-hidden="true"></a><span class="kw"><div></span></span> -<span id="cb236-2"><a href="#cb236-2" aria-hidden="true"></a>*Is there block tag support?*</span> -<span id="cb236-3"><a href="#cb236-3" aria-hidden="true"></a><span class="kw"></div></span></span> -<span id="cb236-4"><a href="#cb236-4" aria-hidden="true"></a>*Is there <span class="kw"><inline</span><span class="ot"> tag=</span><span class="st">"tag"</span><span class="kw">></inline></span> support?*</span> -<span id="cb236-5"><a href="#cb236-5" aria-hidden="true"></a>_Is there <span class="co"><!-- comment --></span> support?_</span> -<span id="cb236-6"><a href="#cb236-6" aria-hidden="true"></a>_Is there <span class="kw"><?</span> HTML instruction <span class="kw">?></span> support?_</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb237"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb237-1"><a href="#cb237-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span> -<span id="cb237-2"><a href="#cb237-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ html=true -- content.md optiontrue.tex</span> -<span id="cb237-3"><a href="#cb237-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> -<blockquote> -<p><div>Is there block tag support?</div> Is there <inline tag=”tag”></inline> support? Is there <!– comment –> support? Is there <? HTML instruction ?> support?</p> +<h5 class="unnumbered" id="lua-cli-example-7">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="cb239"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb239-1"><a href="#cb239-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb239-2"><a href="#cb239-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb239-3"><a href="#cb239-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb239-4"><a href="#cb239-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\par</span></span> +<span id="cb239-5"><a href="#cb239-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb239-6"><a href="#cb239-6" 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="cb240"><pre +class="sourceCode html"><code class="sourceCode html"><span id="cb240-1"><a href="#cb240-1" aria-hidden="true" tabindex="-1"></a><span class="kw"><div></span></span> +<span id="cb240-2"><a href="#cb240-2" aria-hidden="true" tabindex="-1"></a>*Is there block tag support?*</span> +<span id="cb240-3"><a href="#cb240-3" aria-hidden="true" tabindex="-1"></a><span class="kw"></div></span></span> +<span id="cb240-4"><a href="#cb240-4" aria-hidden="true" tabindex="-1"></a>*Is there <span class="kw"><inline</span> <span class="er">tag</span><span class="ot">=</span><span class="st">"tag"</span><span class="kw">></inline></span> support?*</span> +<span id="cb240-5"><a href="#cb240-5" aria-hidden="true" tabindex="-1"></a>_Is there <span class="co"><!-- comment --></span> support?_</span> +<span id="cb240-6"><a href="#cb240-6" aria-hidden="true" tabindex="-1"></a>_Is there <span class="kw"><?</span> HTML instruction <span class="kw">?></span> support?_</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb241"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb241-1"><a href="#cb241-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="cb241-2"><a href="#cb241-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ html=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb241-3"><a href="#cb241-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p><div>Is there block tag support?</div> Is there +<inline tag=”tag”></inline> support? Is there <!– comment +–> support? Is there <? HTML instruction ?> support?</p> <p>Is there support? Is there support? Is there support?</p> </blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-8">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="cb238"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb238-1"><a href="#cb238-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb238-2"><a href="#cb238-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb238-3"><a href="#cb238-3" aria-hidden="true"></a></span> -<span id="cb238-4"><a href="#cb238-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb238-5"><a href="#cb238-5" aria-hidden="true"></a><div></span> -<span id="cb238-6"><a href="#cb238-6" aria-hidden="true"></a>*There is no block tag support.*</span> -<span id="cb238-7"><a href="#cb238-7" aria-hidden="true"></a></div></span> -<span id="cb238-8"><a href="#cb238-8" aria-hidden="true"></a>*There is no <inline tag="tag"></inline> support.*</span> -<span id="cb238-9"><a href="#cb238-9" aria-hidden="true"></a>_There is no <!-- comment --> support._</span> -<span id="cb238-10"><a href="#cb238-10" aria-hidden="true"></a>_There is no <? HTML instruction ?> support._</span> -<span id="cb238-11"><a href="#cb238-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb238-12"><a href="#cb238-12" aria-hidden="true"></a></span> -<span id="cb238-13"><a href="#cb238-13" aria-hidden="true"></a><span class="fu">\def\markdownOptionHtml</span>{true}</span> -<span id="cb238-14"><a href="#cb238-14" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb238-15"><a href="#cb238-15" aria-hidden="true"></a><div></span> -<span id="cb238-16"><a href="#cb238-16" aria-hidden="true"></a>*There is block tag support.*</span> -<span id="cb238-17"><a href="#cb238-17" aria-hidden="true"></a></div></span> -<span id="cb238-18"><a href="#cb238-18" aria-hidden="true"></a>*There is <inline tag="tag"></inline> support.*</span> -<span id="cb238-19"><a href="#cb238-19" aria-hidden="true"></a>_There is <!-- comment --> support._</span> -<span id="cb238-20"><a href="#cb238-20" aria-hidden="true"></a>_There is <? HTML instruction ?> support._</span> -<span id="cb238-21"><a href="#cb238-21" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb238-22"><a href="#cb238-22" aria-hidden="true"></a></span> -<span id="cb238-23"><a href="#cb238-23" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb239"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb239-1"><a href="#cb239-1" aria-hidden="true"></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><div>There is no block tag support.</div> There is no <inline tag=”tag”></inline> support. There is no <!– comment –> support. There is no <? HTML instruction ?> support.</p> +<h5 class="unnumbered" id="plain-tex-example-8">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="cb242"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb242-1"><a href="#cb242-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb242-2"><a href="#cb242-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb242-3"><a href="#cb242-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb242-4"><a href="#cb242-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb242-5"><a href="#cb242-5" aria-hidden="true" tabindex="-1"></a><div></span> +<span id="cb242-6"><a href="#cb242-6" aria-hidden="true" tabindex="-1"></a>*There is no block tag support.*</span> +<span id="cb242-7"><a href="#cb242-7" aria-hidden="true" tabindex="-1"></a></div></span> +<span id="cb242-8"><a href="#cb242-8" aria-hidden="true" tabindex="-1"></a>*There is no <inline tag="tag"></inline> support.*</span> +<span id="cb242-9"><a href="#cb242-9" aria-hidden="true" tabindex="-1"></a>_There is no <!-- comment --> support._</span> +<span id="cb242-10"><a href="#cb242-10" aria-hidden="true" tabindex="-1"></a>_There is no <? HTML instruction ?> support._</span> +<span id="cb242-11"><a href="#cb242-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb242-12"><a href="#cb242-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb242-13"><a href="#cb242-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHtml</span>{true}</span> +<span id="cb242-14"><a href="#cb242-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb242-15"><a href="#cb242-15" aria-hidden="true" tabindex="-1"></a><div></span> +<span id="cb242-16"><a href="#cb242-16" aria-hidden="true" tabindex="-1"></a>*There is block tag support.*</span> +<span id="cb242-17"><a href="#cb242-17" aria-hidden="true" tabindex="-1"></a></div></span> +<span id="cb242-18"><a href="#cb242-18" aria-hidden="true" tabindex="-1"></a>*There is <inline tag="tag"></inline> support.*</span> +<span id="cb242-19"><a href="#cb242-19" aria-hidden="true" tabindex="-1"></a>_There is <!-- comment --> support._</span> +<span id="cb242-20"><a href="#cb242-20" aria-hidden="true" tabindex="-1"></a>_There is <? HTML instruction ?> support._</span> +<span id="cb242-21"><a href="#cb242-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb242-22"><a href="#cb242-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb242-23"><a href="#cb242-23" 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="cb243"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb243-1"><a href="#cb243-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><div>There is no block tag support.</div> There is no +<inline tag=”tag”></inline> support. There is no <!– +comment –> support. There is no <? HTML instruction ?> +support.</p> <p>There is support. There is support. There is support.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="latex-example-20"><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="cb240"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb240-1"><a href="#cb240-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb240-2"><a href="#cb240-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb240-3"><a href="#cb240-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb240-4"><a href="#cb240-4" aria-hidden="true"></a></span> -<span id="cb240-5"><a href="#cb240-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb240-6"><a href="#cb240-6" aria-hidden="true"></a><div></span> -<span id="cb240-7"><a href="#cb240-7" aria-hidden="true"></a>*There is no block tag support.*</span> -<span id="cb240-8"><a href="#cb240-8" aria-hidden="true"></a></div></span> -<span id="cb240-9"><a href="#cb240-9" aria-hidden="true"></a>*There is no <inline tag="tag"></inline> support.*</span> -<span id="cb240-10"><a href="#cb240-10" aria-hidden="true"></a>_There is no <!-- comment --> support._</span> -<span id="cb240-11"><a href="#cb240-11" aria-hidden="true"></a>_There is no <? HTML instruction ?> support._</span> -<span id="cb240-12"><a href="#cb240-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb240-13"><a href="#cb240-13" aria-hidden="true"></a></span> -<span id="cb240-14"><a href="#cb240-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{html}</span> -<span id="cb240-15"><a href="#cb240-15" aria-hidden="true"></a><div></span> -<span id="cb240-16"><a href="#cb240-16" aria-hidden="true"></a>*There is block tag support.*</span> -<span id="cb240-17"><a href="#cb240-17" aria-hidden="true"></a></div></span> -<span id="cb240-18"><a href="#cb240-18" aria-hidden="true"></a>*There is <inline tag="tag"></inline> support.*</span> -<span id="cb240-19"><a href="#cb240-19" aria-hidden="true"></a>_There is <!-- comment --> support._</span> -<span id="cb240-20"><a href="#cb240-20" aria-hidden="true"></a>_There is <? HTML instruction ?> support._</span> -<span id="cb240-21"><a href="#cb240-21" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb240-22"><a href="#cb240-22" aria-hidden="true"></a></span> -<span id="cb240-23"><a href="#cb240-23" aria-hidden="true"></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="cb241"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb241-1"><a href="#cb241-1" aria-hidden="true"></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><div>There is no block tag support.</div> There is no <inline tag=”tag”></inline> support. There is no <!– comment –> support. There is no <? HTML instruction ?> support.</p> +<h5 class="unnumbered" id="latex-example-21"><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="cb244"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb244-1"><a href="#cb244-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb244-2"><a href="#cb244-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb244-3"><a href="#cb244-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb244-4"><a href="#cb244-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb244-5"><a href="#cb244-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb244-6"><a href="#cb244-6" aria-hidden="true" tabindex="-1"></a><div></span> +<span id="cb244-7"><a href="#cb244-7" aria-hidden="true" tabindex="-1"></a>*There is no block tag support.*</span> +<span id="cb244-8"><a href="#cb244-8" aria-hidden="true" tabindex="-1"></a></div></span> +<span id="cb244-9"><a href="#cb244-9" aria-hidden="true" tabindex="-1"></a>*There is no <inline tag="tag"></inline> support.*</span> +<span id="cb244-10"><a href="#cb244-10" aria-hidden="true" tabindex="-1"></a>_There is no <!-- comment --> support._</span> +<span id="cb244-11"><a href="#cb244-11" aria-hidden="true" tabindex="-1"></a>_There is no <? HTML instruction ?> support._</span> +<span id="cb244-12"><a href="#cb244-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb244-13"><a href="#cb244-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb244-14"><a href="#cb244-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{html}</span> +<span id="cb244-15"><a href="#cb244-15" aria-hidden="true" tabindex="-1"></a><div></span> +<span id="cb244-16"><a href="#cb244-16" aria-hidden="true" tabindex="-1"></a>*There is block tag support.*</span> +<span id="cb244-17"><a href="#cb244-17" aria-hidden="true" tabindex="-1"></a></div></span> +<span id="cb244-18"><a href="#cb244-18" aria-hidden="true" tabindex="-1"></a>*There is <inline tag="tag"></inline> support.*</span> +<span id="cb244-19"><a href="#cb244-19" aria-hidden="true" tabindex="-1"></a>_There is <!-- comment --> support._</span> +<span id="cb244-20"><a href="#cb244-20" aria-hidden="true" tabindex="-1"></a>_There is <? HTML instruction ?> support._</span> +<span id="cb244-21"><a href="#cb244-21" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb244-22"><a href="#cb244-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb244-23"><a href="#cb244-23" 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="cb245"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb245-1"><a href="#cb245-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><div>There is no block tag support.</div> There is no +<inline tag=”tag”></inline> support. There is no <!– +comment –> support. There is no <? HTML instruction ?> +support.</p> <p>There is support. There is support. There is support.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-15">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="cb242"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb242-1"><a href="#cb242-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb242-2"><a href="#cb242-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb242-3"><a href="#cb242-3" aria-hidden="true"></a></span> -<span id="cb242-4"><a href="#cb242-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb242-5"><a href="#cb242-5" aria-hidden="true"></a><div></span> -<span id="cb242-6"><a href="#cb242-6" aria-hidden="true"></a>*There is no block tag support.*</span> -<span id="cb242-7"><a href="#cb242-7" aria-hidden="true"></a></div></span> -<span id="cb242-8"><a href="#cb242-8" aria-hidden="true"></a>*There is no <inline tag="tag"></inline> support.*</span> -<span id="cb242-9"><a href="#cb242-9" aria-hidden="true"></a>_There is no <!-- comment --> support._</span> -<span id="cb242-10"><a href="#cb242-10" aria-hidden="true"></a>_There is no <? HTML instruction ?> support._</span> -<span id="cb242-11"><a href="#cb242-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb242-12"><a href="#cb242-12" aria-hidden="true"></a></span> -<span id="cb242-13"><a href="#cb242-13" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[html = yes]</span> -<span id="cb242-14"><a href="#cb242-14" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb242-15"><a href="#cb242-15" aria-hidden="true"></a><div></span> -<span id="cb242-16"><a href="#cb242-16" aria-hidden="true"></a>*There is block tag support.*</span> -<span id="cb242-17"><a href="#cb242-17" aria-hidden="true"></a></div></span> -<span id="cb242-18"><a href="#cb242-18" aria-hidden="true"></a>*There is <inline tag="tag"></inline> support.*</span> -<span id="cb242-19"><a href="#cb242-19" aria-hidden="true"></a>_There is <!-- comment --> support._</span> -<span id="cb242-20"><a href="#cb242-20" aria-hidden="true"></a>_There is <? HTML instruction ?> support._</span> -<span id="cb242-21"><a href="#cb242-21" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb242-22"><a href="#cb242-22" aria-hidden="true"></a></span> -<span id="cb242-23"><a href="#cb242-23" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb243"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb243-1"><a href="#cb243-1" aria-hidden="true"></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><div>There is no block tag support.</div> There is no <inline tag=”tag”></inline> support. There is no <!– comment –> support. There is no <? HTML instruction ?> support.</p> +<h5 class="unnumbered" id="context-example-15">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="cb246"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb246-1"><a href="#cb246-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb246-2"><a href="#cb246-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb246-3"><a href="#cb246-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb246-4"><a href="#cb246-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb246-5"><a href="#cb246-5" aria-hidden="true" tabindex="-1"></a><div></span> +<span id="cb246-6"><a href="#cb246-6" aria-hidden="true" tabindex="-1"></a>*There is no block tag support.*</span> +<span id="cb246-7"><a href="#cb246-7" aria-hidden="true" tabindex="-1"></a></div></span> +<span id="cb246-8"><a href="#cb246-8" aria-hidden="true" tabindex="-1"></a>*There is no <inline tag="tag"></inline> support.*</span> +<span id="cb246-9"><a href="#cb246-9" aria-hidden="true" tabindex="-1"></a>_There is no <!-- comment --> support._</span> +<span id="cb246-10"><a href="#cb246-10" aria-hidden="true" tabindex="-1"></a>_There is no <? HTML instruction ?> support._</span> +<span id="cb246-11"><a href="#cb246-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb246-12"><a href="#cb246-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb246-13"><a href="#cb246-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[html = yes]</span> +<span id="cb246-14"><a href="#cb246-14" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb246-15"><a href="#cb246-15" aria-hidden="true" tabindex="-1"></a><div></span> +<span id="cb246-16"><a href="#cb246-16" aria-hidden="true" tabindex="-1"></a>*There is block tag support.*</span> +<span id="cb246-17"><a href="#cb246-17" aria-hidden="true" tabindex="-1"></a></div></span> +<span id="cb246-18"><a href="#cb246-18" aria-hidden="true" tabindex="-1"></a>*There is <inline tag="tag"></inline> support.*</span> +<span id="cb246-19"><a href="#cb246-19" aria-hidden="true" tabindex="-1"></a>_There is <!-- comment --> support._</span> +<span id="cb246-20"><a href="#cb246-20" aria-hidden="true" tabindex="-1"></a>_There is <? HTML instruction ?> support._</span> +<span id="cb246-21"><a href="#cb246-21" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb246-22"><a href="#cb246-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb246-23"><a href="#cb246-23" 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="cb247"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb247-1"><a href="#cb247-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><div>There is no block tag support.</div> There is no +<inline tag=”tag”></inline> support. There is no <!– +comment –> support. There is no <? HTML instruction ?> +support.</p> <p>There is support. There is support. There is support.</p> </blockquote> -<h4 data-number="2.2.1.25" id="option-hybrid"><span class="header-section-number">2.2.1.25</span> Option <code>hybrid</code></h4> +<h4 data-number="2.2.1.27" id="option-hybrid"><span +class="header-section-number">2.2.1.27</span> Option +<code>hybrid</code></h4> <dl> <dt><code>hybrid</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Disable the escaping of special plain <span class="tex">T<sub>e</sub>X</span> characters, which makes it possible to intersperse your markdown markup with <span class="tex">T<sub>e</sub>X</span> code. The intended usage is in documents prepared manually by a human author. In such documents, it can often be desirable to mix <span class="tex">T<sub>e</sub>X</span> and markdown markup freely.</p> +<dd> +<p>Disable the escaping of special plain <span +class="tex">T<sub>e</sub>X</span> characters, which makes it possible to +intersperse your markdown markup with <span +class="tex">T<sub>e</sub>X</span> code. The intended usage is in +documents prepared manually by a human author. In such documents, it can +often be desirable to mix <span class="tex">T<sub>e</sub>X</span> and +markdown markup freely.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Enable the escaping of special plain <span class="tex">T<sub>e</sub>X</span> characters outside verbatim environments, so that they are not interpretted by <span class="tex">T<sub>e</sub>X</span>. This is encouraged when typesetting automatically generated content or markdown documents that were not prepared with this package in mind.</p> +<dd> +<p>Enable the escaping of special plain <span +class="tex">T<sub>e</sub>X</span> characters outside verbatim +environments, so that they are not interpretted by <span +class="tex">T<sub>e</sub>X</span>. This is encouraged when typesetting +automatically generated content or markdown documents that were not +prepared with this package in mind.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-10">Lua Module 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="cb244"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb244-1"><a href="#cb244-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb244-2"><a href="#cb244-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb244-3"><a href="#cb244-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb244-4"><a href="#cb244-4" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb244-5"><a href="#cb244-5" aria-hidden="true"></a> local input, convert_safe, convert_unsafe, paragraph</span> -<span id="cb244-6"><a href="#cb244-6" aria-hidden="true"></a></span> -<span id="cb244-7"><a href="#cb244-7" aria-hidden="true"></a> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</span> -<span id="cb244-8"><a href="#cb244-8" aria-hidden="true"></a> convert_safe = markdown.new()</span> -<span id="cb244-9"><a href="#cb244-9" aria-hidden="true"></a> convert_unsafe = markdown.new({hybrid = true})</span> -<span id="cb244-10"><a href="#cb244-10" aria-hidden="true"></a> paragraph = [[<span class="fu">\par</span>]]</span> -<span id="cb244-11"><a href="#cb244-11" aria-hidden="true"></a></span> -<span id="cb244-12"><a href="#cb244-12" aria-hidden="true"></a> tex.sprint(</span> -<span id="cb244-13"><a href="#cb244-13" aria-hidden="true"></a> convert_safe(input) .. paragraph ..</span> -<span id="cb244-14"><a href="#cb244-14" aria-hidden="true"></a> convert_unsafe(input)</span> -<span id="cb244-15"><a href="#cb244-15" aria-hidden="true"></a> )</span> -<span id="cb244-16"><a href="#cb244-16" aria-hidden="true"></a>}</span> -<span id="cb244-17"><a href="#cb244-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-10">Lua Module +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="cb248"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb248-1"><a href="#cb248-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb248-2"><a href="#cb248-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb248-3"><a href="#cb248-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\directlua</span>{</span> +<span id="cb248-4"><a href="#cb248-4" aria-hidden="true" tabindex="-1"></a> local markdown = require("markdown")</span> +<span id="cb248-5"><a href="#cb248-5" aria-hidden="true" tabindex="-1"></a> local input, convert_safe, convert_unsafe, paragraph</span> +<span id="cb248-6"><a href="#cb248-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb248-7"><a href="#cb248-7" aria-hidden="true" tabindex="-1"></a> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</span> +<span id="cb248-8"><a href="#cb248-8" aria-hidden="true" tabindex="-1"></a> convert_safe = markdown.new()</span> +<span id="cb248-9"><a href="#cb248-9" aria-hidden="true" tabindex="-1"></a> convert_unsafe = markdown.new({hybrid = true})</span> +<span id="cb248-10"><a href="#cb248-10" aria-hidden="true" tabindex="-1"></a> paragraph = [[<span class="fu">\par</span>]]</span> +<span id="cb248-11"><a href="#cb248-11" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb248-12"><a href="#cb248-12" aria-hidden="true" tabindex="-1"></a> tex.sprint(</span> +<span id="cb248-13"><a href="#cb248-13" aria-hidden="true" tabindex="-1"></a> convert_safe(input) .. paragraph ..</span> +<span id="cb248-14"><a href="#cb248-14" aria-hidden="true" tabindex="-1"></a> convert_unsafe(input)</span> +<span id="cb248-15"><a href="#cb248-15" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb248-16"><a href="#cb248-16" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb248-17"><a href="#cb248-17" 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="cb245"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb245-1"><a href="#cb245-1" aria-hidden="true"></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> +<div class="sourceCode" id="cb249"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb249-1"><a href="#cb249-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>$\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" data-number="" id="lua-cli-example-8">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="cb246"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb246-1"><a href="#cb246-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb246-2"><a href="#cb246-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb246-3"><a href="#cb246-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb246-4"><a href="#cb246-4" aria-hidden="true"></a></span> -<span id="cb246-5"><a href="#cb246-5" aria-hidden="true"></a><span class="fu">\begingroup</span></span> -<span id="cb246-6"><a href="#cb246-6" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> -<span id="cb246-7"><a href="#cb246-7" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb246-8"><a href="#cb246-8" aria-hidden="true"></a><span class="fu">\endgroup</span></span> -<span id="cb246-9"><a href="#cb246-9" aria-hidden="true"></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="cb247"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb247-1"><a href="#cb247-1" aria-hidden="true"></a>$\sqrt{-1}$ *equals* $i$.</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb248"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb248-1"><a href="#cb248-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span> -<span id="cb248-2"><a href="#cb248-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- content.md optiontrue.tex</span> -<span id="cb248-3"><a href="#cb248-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p> +<h5 class="unnumbered" id="lua-cli-example-8">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="cb250"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb250-1"><a href="#cb250-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb250-2"><a href="#cb250-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb250-3"><a href="#cb250-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optionfalse</span> +<span id="cb250-4"><a href="#cb250-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb250-5"><a href="#cb250-5" aria-hidden="true" tabindex="-1"></a><span class="fu">\begingroup</span></span> +<span id="cb250-6"><a href="#cb250-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> +<span id="cb250-7"><a href="#cb250-7" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> optiontrue</span> +<span id="cb250-8"><a href="#cb250-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\endgroup</span></span> +<span id="cb250-9"><a href="#cb250-9" 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="cb251"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb251-1"><a href="#cb251-1" aria-hidden="true" tabindex="-1"></a>$\sqrt{-1}$ *equals* $i$.</span></code></pre></div> +<p>Next, invoke LuaTeX from the terminal:</p> +<div class="sourceCode" id="cb252"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb252-1"><a href="#cb252-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="cb252-2"><a href="#cb252-2" aria-hidden="true" tabindex="-1"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true <span class="at">--</span> content.md optiontrue.tex</span> +<span id="cb252-3"><a href="#cb252-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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <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" data-number="" id="plain-tex-example-9">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="cb249"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb249-1"><a href="#cb249-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb249-2"><a href="#cb249-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb249-3"><a href="#cb249-3" aria-hidden="true"></a></span> -<span id="cb249-4"><a href="#cb249-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb249-5"><a href="#cb249-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb249-6"><a href="#cb249-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb249-7"><a href="#cb249-7" aria-hidden="true"></a></span> -<span id="cb249-8"><a href="#cb249-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> -<span id="cb249-9"><a href="#cb249-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb249-10"><a href="#cb249-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb249-11"><a href="#cb249-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb249-12"><a href="#cb249-12" aria-hidden="true"></a></span> -<span id="cb249-13"><a href="#cb249-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb250"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb250-1"><a href="#cb250-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-9">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="cb253"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb253-1"><a href="#cb253-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb253-2"><a href="#cb253-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> lmfonts</span> +<span id="cb253-3"><a href="#cb253-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb253-4"><a href="#cb253-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb253-5"><a href="#cb253-5" 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="cb253-6"><a href="#cb253-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb253-7"><a href="#cb253-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb253-8"><a href="#cb253-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> +<span id="cb253-9"><a href="#cb253-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb253-10"><a href="#cb253-10" 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="cb253-11"><a href="#cb253-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb253-12"><a href="#cb253-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb253-13"><a href="#cb253-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="cb254"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb254-1"><a href="#cb254-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>$\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" data-number="" id="latex-example-21"><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="cb251"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb251-1"><a href="#cb251-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb251-2"><a href="#cb251-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb251-3"><a href="#cb251-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb251-4"><a href="#cb251-4" aria-hidden="true"></a></span> -<span id="cb251-5"><a href="#cb251-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb251-6"><a href="#cb251-6" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb251-7"><a href="#cb251-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb251-8"><a href="#cb251-8" aria-hidden="true"></a></span> -<span id="cb251-9"><a href="#cb251-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> -<span id="cb251-10"><a href="#cb251-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb251-11"><a href="#cb251-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb251-12"><a href="#cb251-12" aria-hidden="true"></a></span> -<span id="cb251-13"><a href="#cb251-13" aria-hidden="true"></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="cb252"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb252-1"><a href="#cb252-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-22"><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="cb255"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb255-1"><a href="#cb255-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb255-2"><a href="#cb255-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> +<span id="cb255-3"><a href="#cb255-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb255-4"><a href="#cb255-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb255-5"><a href="#cb255-5" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb255-6"><a href="#cb255-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="cb255-7"><a href="#cb255-7" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb255-8"><a href="#cb255-8" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb255-9"><a href="#cb255-9" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> +<span id="cb255-10"><a href="#cb255-10" 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="cb255-11"><a href="#cb255-11" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> +<span id="cb255-12"><a href="#cb255-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb255-13"><a href="#cb255-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="cb256"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb256-1"><a href="#cb256-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>$\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" data-number="" id="context-example-16">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="cb253"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb253-1"><a href="#cb253-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb253-2"><a href="#cb253-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb253-3"><a href="#cb253-3" aria-hidden="true"></a></span> -<span id="cb253-4"><a href="#cb253-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb253-5"><a href="#cb253-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb253-6"><a href="#cb253-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb253-7"><a href="#cb253-7" aria-hidden="true"></a></span> -<span id="cb253-8"><a href="#cb253-8" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> -<span id="cb253-9"><a href="#cb253-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb253-10"><a href="#cb253-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span> -<span id="cb253-11"><a href="#cb253-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb253-12"><a href="#cb253-12" aria-hidden="true"></a></span> -<span id="cb253-13"><a href="#cb253-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb254"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb254-1"><a href="#cb254-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-16">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="cb257"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb257-1"><a href="#cb257-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb257-2"><a href="#cb257-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb257-3"><a href="#cb257-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb257-4"><a href="#cb257-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb257-5"><a href="#cb257-5" 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="cb257-6"><a href="#cb257-6" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb257-7"><a href="#cb257-7" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb257-8"><a href="#cb257-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> +<span id="cb257-9"><a href="#cb257-9" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb257-10"><a href="#cb257-10" 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="cb257-11"><a href="#cb257-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb257-12"><a href="#cb257-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb257-13"><a href="#cb257-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="cb258"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb258-1"><a href="#cb258-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>$\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.26" id="option-inlinefootnotes"><span class="header-section-number">2.2.1.26</span> Option <code>inlineFootnotes</code></h4> +<h4 data-number="2.2.1.28" id="option-inlinefootnotes"><span +class="header-section-number">2.2.1.28</span> Option +<code>inlineFootnotes</code></h4> +<dl> +<dt><code>inlineFootnotes</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>inlineFootnotes</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Enable the Pandoc inline footnote syntax extension:</p> -<div class="sourceCode" id="cb255"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb255-1"><a href="#cb255-1" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span> -<span id="cb255-2"><a href="#cb255-2" aria-hidden="true"></a>write, since you don't have to pick an identifier and</span> -<span id="cb255-3"><a href="#cb255-3" aria-hidden="true"></a>move down to type the note.]</span></code></pre></div> +<dd> +<p>Enable the Pandoc inline footnote 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> +<span id="cb259-3"><a href="#cb259-3" aria-hidden="true" tabindex="-1"></a>move down to type the note.]</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc inline footnote syntax extension.</p> +<dd> +<p>Disable the Pandoc inline footnote syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-22"><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="cb256"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb256-1"><a href="#cb256-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb256-2"><a href="#cb256-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[inlineFootnotes]{<span class="ex">markdown</span>}</span> -<span id="cb256-3"><a href="#cb256-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb256-4"><a href="#cb256-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb256-5"><a href="#cb256-5" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span> -<span id="cb256-6"><a href="#cb256-6" aria-hidden="true"></a>write, since you don't have to pick an identifier and</span> -<span id="cb256-7"><a href="#cb256-7" aria-hidden="true"></a>move down to type the note.]</span> -<span id="cb256-8"><a href="#cb256-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb256-9"><a href="#cb256-9" aria-hidden="true"></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="cb257"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb257-1"><a href="#cb257-1" aria-hidden="true"></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>Here is an inline note.<a href="#fn5" class="footnote-ref" id="fnref5" role="doc-noteref"><sup>5</sup></a></p> -</blockquote> -<h5 class="unnumbered" data-number="" id="context-example-17">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="cb258"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb258-1"><a href="#cb258-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb258-2"><a href="#cb258-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[inlineFootnotes = yes]</span> -<span id="cb258-3"><a href="#cb258-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb258-4"><a href="#cb258-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb258-5"><a href="#cb258-5" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span> -<span id="cb258-6"><a href="#cb258-6" aria-hidden="true"></a>write, since you don't have to pick an identifier and</span> -<span id="cb258-7"><a href="#cb258-7" aria-hidden="true"></a>move down to type the note.]</span> -<span id="cb258-8"><a href="#cb258-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb258-9"><a href="#cb258-9" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb259"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb259-1"><a href="#cb259-1" aria-hidden="true"></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>Here is an inline note.<a href="#fn6" class="footnote-ref" id="fnref6" role="doc-noteref"><sup>6</sup></a></p> -</blockquote> -<h4 data-number="2.2.1.27" id="option-jekylldata"><span class="header-section-number">2.2.1.27</span> Option <code>jekyllData</code></h4> +<h5 class="unnumbered" id="latex-example-23"><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="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-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> +<span id="cb260-6"><a href="#cb260-6" aria-hidden="true" tabindex="-1"></a>write, since you don't have to pick an identifier and</span> +<span id="cb260-7"><a href="#cb260-7" aria-hidden="true" tabindex="-1"></a>move down to type the note.]</span> +<span id="cb260-8"><a href="#cb260-8" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb260-9"><a href="#cb260-9" 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="cb261"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb261-1"><a href="#cb261-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>Here is an inline note.<a href="#fn5" class="footnote-ref" +id="fnref5" role="doc-noteref"><sup>5</sup></a></p> +</blockquote> +<h5 class="unnumbered" id="context-example-17">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="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-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> +<span id="cb262-6"><a href="#cb262-6" aria-hidden="true" tabindex="-1"></a>write, since you don't have to pick an identifier and</span> +<span id="cb262-7"><a href="#cb262-7" aria-hidden="true" tabindex="-1"></a>move down to type the note.]</span> +<span id="cb262-8"><a href="#cb262-8" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb262-9"><a href="#cb262-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="cb263"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb263-1"><a href="#cb263-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>Here is an inline note.<a href="#fn6" class="footnote-ref" +id="fnref6" role="doc-noteref"><sup>6</sup></a></p> +</blockquote> +<h4 data-number="2.2.1.29" id="option-jekylldata"><span +class="header-section-number">2.2.1.29</span> Option +<code>jekyllData</code></h4> <dl> <dt><code>jekyllData</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc <code>yaml_metadata_block</code> syntax extension for entering metadata in <abbr>yaml</abbr>:</p> -<div class="sourceCode" id="cb260"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb260-1"><a href="#cb260-1" aria-hidden="true"></a><span class="pp">---</span></span> -<span id="cb260-2"><a href="#cb260-2" aria-hidden="true"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> </span><span class="st">'This is the title: it contains a colon'</span></span> -<span id="cb260-3"><a href="#cb260-3" aria-hidden="true"></a><span class="fu">author</span><span class="kw">:</span></span> -<span id="cb260-4"><a href="#cb260-4" aria-hidden="true"></a><span class="kw">-</span><span class="at"> Author One</span></span> -<span id="cb260-5"><a href="#cb260-5" aria-hidden="true"></a><span class="kw">-</span><span class="at"> Author Two</span></span> -<span id="cb260-6"><a href="#cb260-6" aria-hidden="true"></a><span class="fu">keywords</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">nothing</span><span class="kw">,</span><span class="at"> nothingness</span><span class="kw">]</span></span> -<span id="cb260-7"><a href="#cb260-7" aria-hidden="true"></a><span class="fu">abstract</span><span class="kw">: </span><span class="ch">|</span></span> -<span id="cb260-8"><a href="#cb260-8" aria-hidden="true"></a> This is the abstract.</span> -<span id="cb260-9"><a href="#cb260-9" aria-hidden="true"></a></span> -<span id="cb260-10"><a href="#cb260-10" aria-hidden="true"></a> It consists of two paragraphs.</span> -<span id="cb260-11"><a href="#cb260-11" aria-hidden="true"></a><span class="pp">---</span></span></code></pre></div> +<dd> +<p>Enable the Pandoc <code>yaml_metadata_block</code> syntax extension +for entering metadata in <abbr>yaml</abbr>:</p> +<div class="sourceCode" id="cb264"><pre +class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb264-1"><a href="#cb264-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span> +<span id="cb264-2"><a href="#cb264-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> </span><span class="st">'This is the title: it contains a colon'</span></span> +<span id="cb264-3"><a href="#cb264-3" aria-hidden="true" tabindex="-1"></a><span class="fu">author</span><span class="kw">:</span></span> +<span id="cb264-4"><a href="#cb264-4" aria-hidden="true" tabindex="-1"></a><span class="kw">-</span><span class="at"> Author One</span></span> +<span id="cb264-5"><a href="#cb264-5" aria-hidden="true" tabindex="-1"></a><span class="kw">-</span><span class="at"> Author Two</span></span> +<span id="cb264-6"><a href="#cb264-6" aria-hidden="true" tabindex="-1"></a><span class="fu">keywords</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">nothing</span><span class="kw">,</span><span class="at"> nothingness</span><span class="kw">]</span></span> +<span id="cb264-7"><a href="#cb264-7" aria-hidden="true" tabindex="-1"></a><span class="fu">abstract</span><span class="kw">: </span><span class="ch">|</span></span> +<span id="cb264-8"><a href="#cb264-8" aria-hidden="true" tabindex="-1"></a> This is the abstract.</span> +<span id="cb264-9"><a href="#cb264-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb264-10"><a href="#cb264-10" aria-hidden="true" tabindex="-1"></a> It consists of two paragraphs.</span> +<span id="cb264-11"><a href="#cb264-11" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc <code>yaml_metadata_block</code> syntax extension for entering metadata in <abbr>yaml</abbr>.</p> +<dd> +<p>Disable the Pandoc <code>yaml_metadata_block</code> syntax extension +for entering metadata in <abbr>yaml</abbr>.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-10">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="cb261"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb261-1"><a href="#cb261-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb261-2"><a href="#cb261-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> -<span id="cb261-3"><a href="#cb261-3" aria-hidden="true"></a><span class="fu">\ExplSyntaxOn</span></span> -<span id="cb261-4"><a href="#cb261-4" aria-hidden="true"></a><span class="fu">\keys</span>_define:nn</span> -<span id="cb261-5"><a href="#cb261-5" aria-hidden="true"></a> { markdown/jekyllData }</span> -<span id="cb261-6"><a href="#cb261-6" aria-hidden="true"></a> {</span> -<span id="cb261-7"><a href="#cb261-7" aria-hidden="true"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> -<span id="cb261-8"><a href="#cb261-8" aria-hidden="true"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> -<span id="cb261-9"><a href="#cb261-9" aria-hidden="true"></a> }</span> -<span id="cb261-10"><a href="#cb261-10" aria-hidden="true"></a><span class="fu">\ExplSyntaxOff</span></span> -<span id="cb261-11"><a href="#cb261-11" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb261-12"><a href="#cb261-12" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb261-13"><a href="#cb261-13" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb261-14"><a href="#cb261-14" aria-hidden="true"></a>---</span> -<span id="cb261-15"><a href="#cb261-15" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb261-16"><a href="#cb261-16" aria-hidden="true"></a>age: 99</span> -<span id="cb261-17"><a href="#cb261-17" aria-hidden="true"></a>---</span> -<span id="cb261-18"><a href="#cb261-18" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb261-19"><a href="#cb261-19" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb262"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb262-1"><a href="#cb262-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-10">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="cb265"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb265-1"><a href="#cb265-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\input</span> markdown</span> +<span id="cb265-2"><a href="#cb265-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> +<span id="cb265-3"><a href="#cb265-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> +<span id="cb265-4"><a href="#cb265-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\keys</span>_define:nn</span> +<span id="cb265-5"><a href="#cb265-5" aria-hidden="true" tabindex="-1"></a> { markdown/jekyllData }</span> +<span id="cb265-6"><a href="#cb265-6" aria-hidden="true" tabindex="-1"></a> {</span> +<span id="cb265-7"><a href="#cb265-7" aria-hidden="true" tabindex="-1"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> +<span id="cb265-8"><a href="#cb265-8" aria-hidden="true" tabindex="-1"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> +<span id="cb265-9"><a href="#cb265-9" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb265-10"><a href="#cb265-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> +<span id="cb265-11"><a href="#cb265-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> +<span id="cb265-12"><a href="#cb265-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> +<span id="cb265-13"><a href="#cb265-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownBegin</span></span> +<span id="cb265-14"><a href="#cb265-14" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb265-15"><a href="#cb265-15" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb265-16"><a href="#cb265-16" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb265-17"><a href="#cb265-17" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb265-18"><a href="#cb265-18" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownEnd</span></span> +<span id="cb265-19"><a href="#cb265-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="cb266"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb266-1"><a href="#cb266-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" data-number="" id="latex-example-23"><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="cb263"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb263-1"><a href="#cb263-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb263-2"><a href="#cb263-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb263-3"><a href="#cb263-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb263-4"><a href="#cb263-4" aria-hidden="true"></a> jekyllDataRenderers = {</span> -<span id="cb263-5"><a href="#cb263-5" aria-hidden="true"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> -<span id="cb263-6"><a href="#cb263-6" aria-hidden="true"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> -<span id="cb263-7"><a href="#cb263-7" aria-hidden="true"></a> },</span> -<span id="cb263-8"><a href="#cb263-8" aria-hidden="true"></a> renderers = {</span> -<span id="cb263-9"><a href="#cb263-9" aria-hidden="true"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> -<span id="cb263-10"><a href="#cb263-10" aria-hidden="true"></a> }</span> -<span id="cb263-11"><a href="#cb263-11" aria-hidden="true"></a>}</span> -<span id="cb263-12"><a href="#cb263-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb263-13"><a href="#cb263-13" aria-hidden="true"></a></span> -<span id="cb263-14"><a href="#cb263-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb263-15"><a href="#cb263-15" aria-hidden="true"></a>---</span> -<span id="cb263-16"><a href="#cb263-16" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb263-17"><a href="#cb263-17" aria-hidden="true"></a>age: 99</span> -<span id="cb263-18"><a href="#cb263-18" aria-hidden="true"></a>---</span> -<span id="cb263-19"><a href="#cb263-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb263-20"><a href="#cb263-20" aria-hidden="true"></a></span> -<span id="cb263-21"><a href="#cb263-21" aria-hidden="true"></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="cb264"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb264-1"><a href="#cb264-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-24"><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="cb267"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb267-1"><a href="#cb267-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb267-2"><a href="#cb267-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> +<span id="cb267-3"><a href="#cb267-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span> +<span id="cb267-4"><a href="#cb267-4" aria-hidden="true" tabindex="-1"></a> jekyllDataRenderers = {</span> +<span id="cb267-5"><a href="#cb267-5" aria-hidden="true" tabindex="-1"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> +<span id="cb267-6"><a href="#cb267-6" aria-hidden="true" tabindex="-1"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> +<span id="cb267-7"><a href="#cb267-7" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb267-8"><a href="#cb267-8" aria-hidden="true" tabindex="-1"></a> renderers = {</span> +<span id="cb267-9"><a href="#cb267-9" aria-hidden="true" tabindex="-1"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> +<span id="cb267-10"><a href="#cb267-10" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb267-11"><a href="#cb267-11" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb267-12"><a href="#cb267-12" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb267-13"><a href="#cb267-13" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb267-14"><a href="#cb267-14" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb267-15"><a href="#cb267-15" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb267-16"><a href="#cb267-16" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb267-17"><a href="#cb267-17" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb267-18"><a href="#cb267-18" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb267-19"><a href="#cb267-19" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb267-20"><a href="#cb267-20" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb267-21"><a href="#cb267-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="cb268"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb268-1"><a href="#cb268-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>Jane Doe is 99 years old.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-18">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="cb265"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb265-1"><a href="#cb265-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb265-2"><a href="#cb265-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> -<span id="cb265-3"><a href="#cb265-3" aria-hidden="true"></a><span class="fu">\ExplSyntaxOn</span></span> -<span id="cb265-4"><a href="#cb265-4" aria-hidden="true"></a><span class="fu">\keys</span>_define:nn</span> -<span id="cb265-5"><a href="#cb265-5" aria-hidden="true"></a> { markdown/jekyllData }</span> -<span id="cb265-6"><a href="#cb265-6" aria-hidden="true"></a> {</span> -<span id="cb265-7"><a href="#cb265-7" aria-hidden="true"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> -<span id="cb265-8"><a href="#cb265-8" aria-hidden="true"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> -<span id="cb265-9"><a href="#cb265-9" aria-hidden="true"></a> }</span> -<span id="cb265-10"><a href="#cb265-10" aria-hidden="true"></a><span class="fu">\ExplSyntaxOff</span></span> -<span id="cb265-11"><a href="#cb265-11" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb265-12"><a href="#cb265-12" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb265-13"><a href="#cb265-13" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb265-14"><a href="#cb265-14" aria-hidden="true"></a></span> -<span id="cb265-15"><a href="#cb265-15" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb265-16"><a href="#cb265-16" aria-hidden="true"></a>---</span> -<span id="cb265-17"><a href="#cb265-17" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb265-18"><a href="#cb265-18" aria-hidden="true"></a>age: 99</span> -<span id="cb265-19"><a href="#cb265-19" aria-hidden="true"></a>---</span> -<span id="cb265-20"><a href="#cb265-20" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb265-21"><a href="#cb265-21" aria-hidden="true"></a></span> -<span id="cb265-22"><a href="#cb265-22" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb266"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb266-1"><a href="#cb266-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-18">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="cb269"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb269-1"><a href="#cb269-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb269-2"><a href="#cb269-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> +<span id="cb269-3"><a href="#cb269-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOn</span></span> +<span id="cb269-4"><a href="#cb269-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\keys</span>_define:nn</span> +<span id="cb269-5"><a href="#cb269-5" aria-hidden="true" tabindex="-1"></a> { markdown/jekyllData }</span> +<span id="cb269-6"><a href="#cb269-6" aria-hidden="true" tabindex="-1"></a> {</span> +<span id="cb269-7"><a href="#cb269-7" aria-hidden="true" tabindex="-1"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> +<span id="cb269-8"><a href="#cb269-8" aria-hidden="true" tabindex="-1"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> +<span id="cb269-9"><a href="#cb269-9" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb269-10"><a href="#cb269-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\ExplSyntaxOff</span></span> +<span id="cb269-11"><a href="#cb269-11" aria-hidden="true" tabindex="-1"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> +<span id="cb269-12"><a href="#cb269-12" aria-hidden="true" tabindex="-1"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> +<span id="cb269-13"><a href="#cb269-13" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb269-14"><a href="#cb269-14" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb269-15"><a href="#cb269-15" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb269-16"><a href="#cb269-16" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb269-17"><a href="#cb269-17" aria-hidden="true" tabindex="-1"></a>name: Jane Doe</span> +<span id="cb269-18"><a href="#cb269-18" aria-hidden="true" tabindex="-1"></a>age: 99</span> +<span id="cb269-19"><a href="#cb269-19" aria-hidden="true" tabindex="-1"></a>---</span> +<span id="cb269-20"><a href="#cb269-20" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb269-21"><a href="#cb269-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb269-22"><a href="#cb269-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="cb270"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb270-1"><a href="#cb270-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>Jane Doe is 99 years old.</p> </blockquote> -<h4 data-number="2.2.1.28" id="pipe-tables"><span class="header-section-number">2.2.1.28</span> Option <code>pipeTables</code></h4> +<h4 data-number="2.2.1.30" id="pipe-tables"><span +class="header-section-number">2.2.1.30</span> Option +<code>pipeTables</code></h4> <dl> <dt><code>pipeTables</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the <abbr>PHP</abbr> Markdown pipe table syntax extension:</p> -<div class="sourceCode" id="cb267"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb267-1"><a href="#cb267-1" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb267-2"><a href="#cb267-2" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb267-3"><a href="#cb267-3" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb267-4"><a href="#cb267-4" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb267-5"><a href="#cb267-5" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span></code></pre></div> +<dd> +<p>Enable the <abbr>PHP</abbr> Markdown pipe table syntax extension:</p> +<div class="sourceCode" id="cb271"><pre +class="sourceCode md"><code class="sourceCode markdown"><span id="cb271-1"><a href="#cb271-1" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb271-2"><a href="#cb271-2" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb271-3"><a href="#cb271-3" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb271-4"><a href="#cb271-4" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb271-5"><a href="#cb271-5" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span></code></pre></div> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the <abbr>PHP</abbr> Markdown pipe table syntax extension.</p> +<dd> +<p>Disable the <abbr>PHP</abbr> Markdown pipe table syntax +extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-24"><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="cb268"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb268-1"><a href="#cb268-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb268-2"><a href="#cb268-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[pipeTables]{<span class="ex">markdown</span>}</span> -<span id="cb268-3"><a href="#cb268-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb268-4"><a href="#cb268-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb268-5"><a href="#cb268-5" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb268-6"><a href="#cb268-6" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb268-7"><a href="#cb268-7" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb268-8"><a href="#cb268-8" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb268-9"><a href="#cb268-9" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb268-10"><a href="#cb268-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb268-11"><a href="#cb268-11" aria-hidden="true"></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="cb269"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb269-1"><a href="#cb269-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="latex-example-25"><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="cb272"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb272-1"><a href="#cb272-1" aria-hidden="true" tabindex="-1"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> +<span id="cb272-2"><a href="#cb272-2" aria-hidden="true" tabindex="-1"></a><span class="bu">\usepackage</span>[pipeTables]{<span class="ex">markdown</span>}</span> +<span id="cb272-3"><a href="#cb272-3" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> +<span id="cb272-4"><a href="#cb272-4" aria-hidden="true" tabindex="-1"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> +<span id="cb272-5"><a href="#cb272-5" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb272-6"><a href="#cb272-6" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb272-7"><a href="#cb272-7" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb272-8"><a href="#cb272-8" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb272-9"><a href="#cb272-9" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> +<span id="cb272-10"><a href="#cb272-10" aria-hidden="true" tabindex="-1"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> +<span id="cb272-11"><a href="#cb272-11" 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="cb273"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb273-1"><a href="#cb273-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> <table> <thead> @@ -3049,22 +4385,27 @@ Thomas,Edison,1847</code></pre> </tbody> </table> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-19">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="cb270"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb270-1"><a href="#cb270-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb270-2"><a href="#cb270-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[pipeTables = yes]</span> -<span id="cb270-3"><a href="#cb270-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb270-4"><a href="#cb270-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb270-5"><a href="#cb270-5" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb270-6"><a href="#cb270-6" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb270-7"><a href="#cb270-7" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb270-8"><a href="#cb270-8" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb270-9"><a href="#cb270-9" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb270-10"><a href="#cb270-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb270-11"><a href="#cb270-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb271"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb271-1"><a href="#cb271-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-19">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="cb274"><pre +class="sourceCode tex"><code class="sourceCode latex"><span id="cb274-1"><a href="#cb274-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\usemodule</span>[t][markdown]</span> +<span id="cb274-2"><a href="#cb274-2" aria-hidden="true" tabindex="-1"></a><span class="fu">\setupmarkdown</span>[pipeTables = yes]</span> +<span id="cb274-3"><a href="#cb274-3" aria-hidden="true" tabindex="-1"></a><span class="fu">\starttext</span></span> +<span id="cb274-4"><a href="#cb274-4" aria-hidden="true" tabindex="-1"></a><span class="fu">\startmarkdown</span></span> +<span id="cb274-5"><a href="#cb274-5" aria-hidden="true" tabindex="-1"></a>| Right | Left | Default | Center |</span> +<span id="cb274-6"><a href="#cb274-6" aria-hidden="true" tabindex="-1"></a>|------:|:-----|---------|:------:|</span> +<span id="cb274-7"><a href="#cb274-7" aria-hidden="true" tabindex="-1"></a>| 12 | 12 | 12 | 12 |</span> +<span id="cb274-8"><a href="#cb274-8" aria-hidden="true" tabindex="-1"></a>| 123 | 123 | 123 | 123 |</span> +<span id="cb274-9"><a href="#cb274-9" aria-hidden="true" tabindex="-1"></a>| 1 | 1 | 1 | 1 |</span> +<span id="cb274-10"><a href="#cb274-10" aria-hidden="true" tabindex="-1"></a><span class="fu">\stopmarkdown</span></span> +<span id="cb274-11"><a href="#cb274-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="cb275"><pre +class="sourceCode sh"><code class="sourceCode bash"><span id="cb275-1"><a href="#cb275-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> <table> <thead> @@ -3097,197 +4438,269 @@ Thomas,Edison,1847</code></pre> </tbody> </table> </blockquote> -<h4 data-number="2.2.1.29" id="option-preservetabs"><span class="header-section-number">2.2.1.29</span> Option <code>preserveTabs</code></h4> +<h4 data-number="2.2.1.31" id="option-preservetabs"><span +class="header-section-number">2.2.1.31</span> Option +<code>preserveTabs</code></h4> <dl> <dt><code>preserveTabs</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Preserve tabs in code block and fenced code blocks.</p> +<dd> +<p>Preserve tabs in code block and fenced code blocks.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Convert any tabs in the input to spaces.</p> +<dd> +<p>Convert any tabs in the input to spaces.</p> </dd> </dl> </dd> </dl> -<h4 data-number="2.2.1.30" id="option-relativereferences"><span class="header-section-number">2.2.1.30</span> Option <code>relativeReferences</code></h4> +<h4 data-number="2.2.1.32" id="option-relativereferences"><span +class="header-section-number">2.2.1.32</span> Option +<code>relativeReferences</code></h4> +<dl> +<dt><code>relativeReferences</code> (default value: +<code>false</code>)</dt> +<dd> <dl> -<dt><code>relativeReferences</code> (default value: <code>false</code>)</dt> -<dd><dl> <dt>true</dt> -<dd><p>Enable <a href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">relative references</a> in autolinks:</p> -<div class="sourceCode" id="cb272"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb272-1"><a href="#cb272-1" aria-hidden="true"></a>I conclude in Section <#conclusion>.</span> -<span id="cb272-2"><a href="#cb272-2" aria-hidden="true"></a></span> -<span id="cb272-3"><a href="#cb272-3" aria-hidden="true"></a>Conclusion {#conclusion}</span> -<span id="cb272-4"><a href="#cb272-4" aria-hidden="true"></a><span class="fu">==========</span></span> -<span id="cb272-5"><a href="#cb272-5" aria-hidden="true"></a>In this paper, we have discovered that most</span> -<span id="cb272-6"><a href="#cb272-6" aria-hidden="true"></a>grandmas would rather eat dinner with their</span> -<span id="cb272-7"><a href="#cb272-7" aria-hidden="true"></a>grandchildren than get eaten. Begone, wolf!</span></code></pre></div> +<dd> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable relative references in autolinks.</p> +<dd> +<p>Disable relative references in autolinks.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="latex-example-25"><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="cb273"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb273-1"><a href="#cb273-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb273-2"><a href="#cb273-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[headerAttributes, relativeReferences]{<span class="ex">markdown</span>}</span> -<span id="cb273-3"><a href="#cb273-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb273-4"><a href="#cb273-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb273-5"><a href="#cb273-5" aria-hidden="true"></a></span> -<span id="cb273-6"><a href="#cb273-6" aria-hidden="true"></a>I conclude in Section <#conclusion>.</span> -<span id="cb273-7"><a href="#cb273-7" aria-hidden="true"></a></span> -<span id="cb273-8"><a href="#cb273-8" aria-hidden="true"></a>Conclusion {#conclusion}</span> -<span id="cb273-9"><a href="#cb273-9" aria-hidden="true"></a>==========</span> -<span id="cb273-10"><a href="#cb273-10" aria-hidden="true"></a>In this paper, we have discovered that most</span> -<span id="cb273-11"><a href="#cb273-11" aria-hidden="true"></a>grandmas would rather eat dinner with their</span> -<span id="cb273-12"><a href="#cb273-12" aria-hidden="true"></a>grandchildren than get eaten. Begone, wolf!</span> -<span id="cb273-13"><a href="#cb273-13" aria-hidden="true"></a></span> -<span id="cb273-14"><a href="#cb273-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb273-15"><a href="#cb273-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<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="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> <p>Next, invoke LuaTeX twice from the terminal:</p> -<div class="sourceCode" id="cb274"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb274-1"><a href="#cb274-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb274-2"><a href="#cb274-2" aria-hidden="true"></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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>I conclude in Section 1.</p> <h1 id="conclusion">1. Conclusion</h1> -<p>In this paper, we have discovered that most grandmas would rather eat dinner with their grandchildren than get eaten. Begone, wolf!</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.31" id="option-shiftheadings"><span class="header-section-number">2.2.1.31</span> Option <code>shiftHeadings</code></h4> +<h4 data-number="2.2.1.33" id="option-shiftheadings"><span +class="header-section-number">2.2.1.33</span> Option +<code>shiftHeadings</code></h4> <dl> <dt><code>shiftHeadings</code> (default value: <code>0</code>)</dt> -<dd><p>All headings will be shifted by ⟨<em>shift amount</em>⟩, which can be both positive and negative. Headings will not be shifted beyond level 6 or below level 1. Instead, those headings will be shifted to level 6, when ⟨<em>shift amount</em>⟩ is positive, and to level 1, when ⟨<em>shift amount</em>⟩ is negative.</p> +<dd> +<p>All headings will be shifted by ⟨<em>shift amount</em>⟩, which can be +both positive and negative. Headings will not be shifted beyond level 6 +or below level 1. Instead, those headings will be shifted to level 6, +when ⟨<em>shift amount</em>⟩ is positive, and to level 1, when +⟨<em>shift amount</em>⟩ is negative.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-11">Plain <span 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="cb275"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb275-1"><a href="#cb275-1" aria-hidden="true"></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="cb276"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb276-1"><a href="#cb276-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb276-2"><a href="#cb276-2" aria-hidden="true"></a></span> -<span id="cb276-3"><a href="#cb276-3" aria-hidden="true"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span> -<span id="cb276-4"><a href="#cb276-4" aria-hidden="true"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span> -<span id="cb276-5"><a href="#cb276-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span> -<span id="cb276-6"><a href="#cb276-6" aria-hidden="true"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span> -<span id="cb276-7"><a href="#cb276-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span> -<span id="cb276-8"><a href="#cb276-8" aria-hidden="true"></a></span> -<span id="cb276-9"><a href="#cb276-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{-1}</span> -<span id="cb276-10"><a href="#cb276-10" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb276-11"><a href="#cb276-11" aria-hidden="true"></a></span> -<span id="cb276-12"><a href="#cb276-12" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{0}</span> -<span id="cb276-13"><a href="#cb276-13" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb276-14"><a href="#cb276-14" aria-hidden="true"></a></span> -<span id="cb276-15"><a href="#cb276-15" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{+1}</span> -<span id="cb276-16"><a href="#cb276-16" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb276-17"><a href="#cb276-17" aria-hidden="true"></a></span> -<span id="cb276-18"><a href="#cb276-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb277"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb277-1"><a href="#cb277-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-11">Plain <span +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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="a-section">A section</h1> <h2 id="a-section-1">A section</h2> <h3 id="a-section-2">A section</h3> </blockquote> -<h5 class="unnumbered" data-number="" 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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb278-2"><a href="#cb278-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb278-3"><a href="#cb278-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{example.md}</span> -<span id="cb278-4"><a href="#cb278-4" aria-hidden="true"></a>## A section</span> -<span id="cb278-5"><a href="#cb278-5" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> -<span id="cb278-6"><a href="#cb278-6" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb278-7"><a href="#cb278-7" aria-hidden="true"></a><span class="fu">\markdownInput</span>[shiftHeadings=-1]{example.md}</span> -<span id="cb278-8"><a href="#cb278-8" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb278-9"><a href="#cb278-9" aria-hidden="true"></a><span class="fu">\markdownInput</span>[shiftHeadings=+1]{example.md}</span> -<span id="cb278-10"><a href="#cb278-10" aria-hidden="true"></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"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="a-section-3">A section</h1> <h2 id="a-section-4">A section</h2> <h3 id="a-section-5">A section</h3> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-20">Con<span 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="cb280"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb280-1"><a href="#cb280-1" aria-hidden="true"></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="cb281"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb281-1"><a href="#cb281-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb281-2"><a href="#cb281-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb281-3"><a href="#cb281-3" aria-hidden="true"></a></span> -<span id="cb281-4"><a href="#cb281-4" aria-hidden="true"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = -1]{example.md}</span> -<span id="cb281-5"><a href="#cb281-5" aria-hidden="true"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = 0]{example.md}</span> -<span id="cb281-6"><a href="#cb281-6" aria-hidden="true"></a><span class="fu">\inputmarkdown</span>[shiftHeadings = +1]{example.md}</span> -<span id="cb281-7"><a href="#cb281-7" aria-hidden="true"></a></span> -<span id="cb281-8"><a href="#cb281-8" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb282"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb282-1"><a href="#cb282-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-20">Con<span +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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="a-section-6">A section</h1> <h2 id="a-section-7">A section</h2> <h3 id="a-section-8">A section</h3> </blockquote> -<h4 data-number="2.2.1.32" id="slice"><span class="header-section-number">2.2.1.32</span> Option <code>slice</code></h4> +<h4 data-number="2.2.1.34" id="slice"><span +class="header-section-number">2.2.1.34</span> Option +<code>slice</code></h4> <dl> <dt><code>slice</code> (default value: <code>^ $</code>)</dt> -<dd><p>Two space-separated selectors that specify the slice of a document that will be processed, whereas the remainder of the document will be ignored. The following selectors are recognized:</p> +<dd> +<p>Two space-separated selectors that specify the slice of a document +that will be processed, whereas the remainder of the document will be +ignored. The following selectors are recognized:</p> <ul> -<li>The circumflex (<code>^</code>) selects the beginning of a document.</li> +<li>The circumflex (<code>^</code>) selects the beginning of a +document.</li> <li>The dollar sign (<code>$</code>) selects the end of a document.</li> -<li><code>^</code>⟨<em>identifier</em>⟩ selects the beginning of a section with the <a href="#header-attributes"><abbr>HTML</abbr> attribute</a> <code>#</code>⟨<em>identifier</em>⟩.</li> -<li><code>$</code>⟨<em>identifier</em>⟩ selects the end of a section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩.</li> -<li>⟨<em>identifier</em>⟩ corresponds to <code>^</code>⟨<em>identifier</em>⟩ for the first selector and to <code>$</code>⟨<em>identifier</em>⟩ for the second selector.</li> +<li><code>^</code>⟨<em>identifier</em>⟩ selects the beginning of a +section with the <a href="#header-attributes"><abbr>HTML</abbr> +attribute</a> <code>#</code>⟨<em>identifier</em>⟩.</li> +<li><code>$</code>⟨<em>identifier</em>⟩ selects the end of a section +with the <abbr>HTML</abbr> attribute +<code>#</code>⟨<em>identifier</em>⟩.</li> +<li>⟨<em>identifier</em>⟩ corresponds to +<code>^</code>⟨<em>identifier</em>⟩ for the first selector and to +<code>$</code>⟨<em>identifier</em>⟩ for the second selector.</li> </ul> -<p>Specifying only a single selector, ⟨<em>identifier</em>⟩, is equivalent to specifying the two selectors ⟨<em>identifier</em>⟩ ⟨<em>identifier</em>⟩, which is equivalent to <code>^</code>⟨<em>identifier</em>⟩ <code>$</code>⟨<em>identifier</em>⟩, i.e. the entire section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩ will be selected.</p> +<p>Specifying only a single selector, ⟨<em>identifier</em>⟩, is +equivalent to specifying the two selectors ⟨<em>identifier</em>⟩ +⟨<em>identifier</em>⟩, which is equivalent to +<code>^</code>⟨<em>identifier</em>⟩ <code>$</code>⟨<em>identifier</em>⟩, +i.e. the entire section with the <abbr>HTML</abbr> attribute +<code>#</code>⟨<em>identifier</em>⟩ will be selected.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-12">Plain <span 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="cb283"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb283-1"><a href="#cb283-1" aria-hidden="true"></a><span class="fu"># The Tragedy of Hamlet</span></span> -<span id="cb283-2"><a href="#cb283-2" aria-hidden="true"></a>Shakespeare's longest play.</span> -<span id="cb283-3"><a href="#cb283-3" aria-hidden="true"></a></span> -<span id="cb283-4"><a href="#cb283-4" aria-hidden="true"></a><span class="fu">## Act III {#act-3}</span></span> -<span id="cb283-5"><a href="#cb283-5" aria-hidden="true"></a>Hamlet kills Polonius.</span> -<span id="cb283-6"><a href="#cb283-6" aria-hidden="true"></a></span> -<span id="cb283-7"><a href="#cb283-7" aria-hidden="true"></a><span class="fu">## Act V {#act-5}</span></span> -<span id="cb283-8"><a href="#cb283-8" aria-hidden="true"></a>Hamlet dies.</span> -<span id="cb283-9"><a href="#cb283-9" aria-hidden="true"></a></span> -<span id="cb283-10"><a href="#cb283-10" aria-hidden="true"></a><span class="fu">## Act I {#act-1}</span></span> -<span id="cb283-11"><a href="#cb283-11" aria-hidden="true"></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="cb284"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb284-1"><a href="#cb284-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb284-2"><a href="#cb284-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionHeaderAttributes</span>{true}</span> -<span id="cb284-3"><a href="#cb284-3" aria-hidden="true"></a></span> -<span id="cb284-4"><a href="#cb284-4" aria-hidden="true"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span> -<span id="cb284-5"><a href="#cb284-5" aria-hidden="true"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span> -<span id="cb284-6"><a href="#cb284-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span> -<span id="cb284-7"><a href="#cb284-7" aria-hidden="true"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span> -<span id="cb284-8"><a href="#cb284-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span> -<span id="cb284-9"><a href="#cb284-9" aria-hidden="true"></a></span> -<span id="cb284-10"><a href="#cb284-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{^ ^act-3}</span> -<span id="cb284-11"><a href="#cb284-11" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> -<span id="cb284-12"><a href="#cb284-12" aria-hidden="true"></a></span> -<span id="cb284-13"><a href="#cb284-13" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{act-1}</span> -<span id="cb284-14"><a href="#cb284-14" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> -<span id="cb284-15"><a href="#cb284-15" aria-hidden="true"></a></span> -<span id="cb284-16"><a href="#cb284-16" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{act-3 act-5}</span> -<span id="cb284-17"><a href="#cb284-17" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span> -<span id="cb284-18"><a href="#cb284-18" aria-hidden="true"></a></span> -<span id="cb284-19"><a href="#cb284-19" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb285"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb285-1"><a href="#cb285-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-12">Plain <span +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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="the-tragedy-of-hamlet">The Tragedy of Hamlet</h1> <p>Shakespeare’s longest play.</p> @@ -3298,31 +4711,36 @@ Thomas,Edison,1847</code></pre> <h2 id="act-v">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb286"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb286-1"><a href="#cb286-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb286-2"><a href="#cb286-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span> -<span id="cb286-3"><a href="#cb286-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{hamlet.md}</span> -<span id="cb286-4"><a href="#cb286-4" aria-hidden="true"></a># The Tragedy of Hamlet</span> -<span id="cb286-5"><a href="#cb286-5" aria-hidden="true"></a>Shakespeare's longest play.</span> -<span id="cb286-6"><a href="#cb286-6" aria-hidden="true"></a></span> -<span id="cb286-7"><a href="#cb286-7" aria-hidden="true"></a>## Act III {#act-3}</span> -<span id="cb286-8"><a href="#cb286-8" aria-hidden="true"></a>Hamlet kills Polonius.</span> -<span id="cb286-9"><a href="#cb286-9" aria-hidden="true"></a></span> -<span id="cb286-10"><a href="#cb286-10" aria-hidden="true"></a>## Act V {#act-5}</span> -<span id="cb286-11"><a href="#cb286-11" aria-hidden="true"></a>Hamlet dies.</span> -<span id="cb286-12"><a href="#cb286-12" aria-hidden="true"></a></span> -<span id="cb286-13"><a href="#cb286-13" aria-hidden="true"></a>## Act I {#act-1}</span> -<span id="cb286-14"><a href="#cb286-14" aria-hidden="true"></a>Hamlet talks to ghost.</span> -<span id="cb286-15"><a href="#cb286-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> -<span id="cb286-16"><a href="#cb286-16" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb286-17"><a href="#cb286-17" aria-hidden="true"></a><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</span> -<span id="cb286-18"><a href="#cb286-18" aria-hidden="true"></a><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</span> -<span id="cb286-19"><a href="#cb286-19" aria-hidden="true"></a><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</span> -<span id="cb286-20"><a href="#cb286-20" aria-hidden="true"></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="cb287"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb287-1"><a href="#cb287-1" aria-hidden="true"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="the-tragedy-of-hamlet-1">The Tragedy of Hamlet</h1> <p>Shakespeare’s longest play.</p> @@ -3333,32 +4751,39 @@ Thomas,Edison,1847</code></pre> <h2 id="act-v-1">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-21">Con<span 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="cb288"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb288-1"><a href="#cb288-1" aria-hidden="true"></a><span class="fu"># The Tragedy of Hamlet</span></span> -<span id="cb288-2"><a href="#cb288-2" aria-hidden="true"></a>Shakespeare's longest play.</span> -<span id="cb288-3"><a href="#cb288-3" aria-hidden="true"></a></span> -<span id="cb288-4"><a href="#cb288-4" aria-hidden="true"></a><span class="fu">## Act III {#act-3}</span></span> -<span id="cb288-5"><a href="#cb288-5" aria-hidden="true"></a>Hamlet kills Polonius.</span> -<span id="cb288-6"><a href="#cb288-6" aria-hidden="true"></a></span> -<span id="cb288-7"><a href="#cb288-7" aria-hidden="true"></a><span class="fu">## Act V {#act-5}</span></span> -<span id="cb288-8"><a href="#cb288-8" aria-hidden="true"></a>Hamlet dies.</span> -<span id="cb288-9"><a href="#cb288-9" aria-hidden="true"></a></span> -<span id="cb288-10"><a href="#cb288-10" aria-hidden="true"></a><span class="fu">## Act I {#act-1}</span></span> -<span id="cb288-11"><a href="#cb288-11" aria-hidden="true"></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="cb289"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb289-1"><a href="#cb289-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb289-2"><a href="#cb289-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[headerAttributes = yes]</span> -<span id="cb289-3"><a href="#cb289-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb289-4"><a href="#cb289-4" aria-hidden="true"></a></span> -<span id="cb289-5"><a href="#cb289-5" aria-hidden="true"></a><span class="fu">\inputmarkdown</span>[slice = ^ ^act-3]{example.md}</span> -<span id="cb289-6"><a href="#cb289-6" aria-hidden="true"></a><span class="fu">\inputmarkdown</span>[slice = act-1]{example.md}</span> -<span id="cb289-7"><a href="#cb289-7" aria-hidden="true"></a><span class="fu">\inputmarkdown</span>[slice = act-3 act-5]{example.md}</span> -<span id="cb289-8"><a href="#cb289-8" aria-hidden="true"></a></span> -<span id="cb289-9"><a href="#cb289-9" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb290"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb290-1"><a href="#cb290-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-21">Con<span +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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="the-tragedy-of-hamlet-2">The Tragedy of Hamlet</h1> <p>Shakespeare’s longest play.</p> @@ -3369,182 +4794,241 @@ Thomas,Edison,1847</code></pre> <h2 id="act-v-2">Act V</h2> <p>Hamlet dies.</p> </blockquote> -<h4 data-number="2.2.1.33" id="option-smartellipses"><span class="header-section-number">2.2.1.33</span> Option <code>smartEllipses</code></h4> +<h4 data-number="2.2.1.35" id="option-smartellipses"><span +class="header-section-number">2.2.1.35</span> Option +<code>smartEllipses</code></h4> <dl> <dt><code>smartEllipses</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Convert any ellipses in the input to the <code>\markdownRendererEllipsis</code> <span class="tex">T<sub>e</sub>X</span> macro.</p> +<dd> +<p>Convert any ellipses in the input to the +<code>\markdownRendererEllipsis</code> <span +class="tex">T<sub>e</sub>X</span> macro.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Preserve all ellipses in the input.</p> +<dd> +<p>Preserve all ellipses in the input.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="lua-module-example-11">Lua Module 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="cb291"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb291-1"><a href="#cb291-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb291-2"><a href="#cb291-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb291-3"><a href="#cb291-3" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb291-4"><a href="#cb291-4" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb291-5"><a href="#cb291-5" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb291-6"><a href="#cb291-6" aria-hidden="true"></a> local convert = markdown.new()</span> -<span id="cb291-7"><a href="#cb291-7" aria-hidden="true"></a> local input = "These are just three regular dots ..."</span> -<span id="cb291-8"><a href="#cb291-8" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb291-9"><a href="#cb291-9" aria-hidden="true"></a><span class="fu">\par</span></span> -<span id="cb291-10"><a href="#cb291-10" aria-hidden="true"></a><span class="fu">\directlua</span>{</span> -<span id="cb291-11"><a href="#cb291-11" aria-hidden="true"></a> local markdown = require("markdown")</span> -<span id="cb291-12"><a href="#cb291-12" aria-hidden="true"></a> local convert = markdown.new({smartEllipses = true})</span> -<span id="cb291-13"><a href="#cb291-13" aria-hidden="true"></a> local input = "... and this is a victorian ellipsis."</span> -<span id="cb291-14"><a href="#cb291-14" aria-hidden="true"></a> tex.sprint(convert(input)) }</span> -<span id="cb291-15"><a href="#cb291-15" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> +<h5 class="unnumbered" id="lua-module-example-11">Lua Module +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> <p>Then, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb292"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb292-1"><a href="#cb292-1" aria-hidden="true"></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> +<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> +<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" data-number="" 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="cb293"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb293-1"><a href="#cb293-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb293-2"><a href="#cb293-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb293-3"><a href="#cb293-3" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb293-4"><a href="#cb293-4" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span> -<span id="cb293-5"><a href="#cb293-5" aria-hidden="true"></a><span class="fu">\par</span></span> -<span id="cb293-6"><a href="#cb293-6" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span> -<span id="cb293-7"><a href="#cb293-7" aria-hidden="true"></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="cb294"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb294-1"><a href="#cb294-1" aria-hidden="true"></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="cb295"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb295-1"><a href="#cb295-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span> -<span id="cb295-2"><a href="#cb295-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true -- content.md optiontrue.tex</span> -<span id="cb295-3"><a href="#cb295-3" aria-hidden="true"></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 or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> -<p>A PDF document named <code>document.pdf</code> should be produced and 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> +<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> +<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> +<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 +or <code>C:\Users\</code>⟨<em>Your +username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on +Windows systems. Use the command +<code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script +file using <a href="https://tug.org/kpathsea/" +title="Kpathsea - TeX Users Group">Kpathsea</a>.</p> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Are these just three regular dots, a victorian ellipsis, or … ?</p> -<p>Are these just three regular dots, a victorian ellipsis, or . . . ?</p> -</blockquote> -<h5 class="unnumbered" data-number="" id="plain-tex-example-13">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="cb296"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb296-1"><a href="#cb296-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb296-2"><a href="#cb296-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb296-3"><a href="#cb296-3" aria-hidden="true"></a></span> -<span id="cb296-4"><a href="#cb296-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb296-5"><a href="#cb296-5" aria-hidden="true"></a>These are just three regular dots ...</span> -<span id="cb296-6"><a href="#cb296-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb296-7"><a href="#cb296-7" aria-hidden="true"></a></span> -<span id="cb296-8"><a href="#cb296-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span> -<span id="cb296-9"><a href="#cb296-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb296-10"><a href="#cb296-10" aria-hidden="true"></a>... and this is a victorian ellipsis.</span> -<span id="cb296-11"><a href="#cb296-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb296-12"><a href="#cb296-12" aria-hidden="true"></a></span> -<span id="cb296-13"><a href="#cb296-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb297"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb297-1"><a href="#cb297-1" aria-hidden="true"></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> +<p>Are these just three regular dots, a victorian ellipsis, or . . . +?</p> +</blockquote> +<h5 class="unnumbered" id="plain-tex-example-13">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="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> +<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> +<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" data-number="" 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="cb298"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb298-1"><a href="#cb298-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb298-2"><a href="#cb298-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb298-3"><a href="#cb298-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb298-4"><a href="#cb298-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb298-5"><a href="#cb298-5" aria-hidden="true"></a> ellipsis = {. . .}</span> -<span id="cb298-6"><a href="#cb298-6" aria-hidden="true"></a> }</span> -<span id="cb298-7"><a href="#cb298-7" aria-hidden="true"></a>}</span> -<span id="cb298-8"><a href="#cb298-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb298-9"><a href="#cb298-9" aria-hidden="true"></a></span> -<span id="cb298-10"><a href="#cb298-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb298-11"><a href="#cb298-11" aria-hidden="true"></a>These are just three regular dots ...</span> -<span id="cb298-12"><a href="#cb298-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb298-13"><a href="#cb298-13" aria-hidden="true"></a></span> -<span id="cb298-14"><a href="#cb298-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</span> -<span id="cb298-15"><a href="#cb298-15" aria-hidden="true"></a>... and this is a victorian ellipsis.</span> -<span id="cb298-16"><a href="#cb298-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb298-17"><a href="#cb298-17" aria-hidden="true"></a></span> -<span id="cb298-18"><a href="#cb298-18" aria-hidden="true"></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="cb299"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb299-1"><a href="#cb299-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-22">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="cb300"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb300-1"><a href="#cb300-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb300-2"><a href="#cb300-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span> -<span id="cb300-3"><a href="#cb300-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb300-4"><a href="#cb300-4" aria-hidden="true"></a></span> -<span id="cb300-5"><a href="#cb300-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb300-6"><a href="#cb300-6" aria-hidden="true"></a>These are just three regular dots ...</span> -<span id="cb300-7"><a href="#cb300-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb300-8"><a href="#cb300-8" aria-hidden="true"></a></span> -<span id="cb300-9"><a href="#cb300-9" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[smartEllipses = yes]</span> -<span id="cb300-10"><a href="#cb300-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb300-11"><a href="#cb300-11" aria-hidden="true"></a>... and this is a victorian ellipsis.</span> -<span id="cb300-12"><a href="#cb300-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb300-13"><a href="#cb300-13" aria-hidden="true"></a></span> -<span id="cb300-14"><a href="#cb300-14" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-22">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="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> +<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> +<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.34" id="option-startnumber"><span class="header-section-number">2.2.1.34</span> Option <code>startNumber</code></h4> +<h4 data-number="2.2.1.36" id="option-startnumber"><span +class="header-section-number">2.2.1.36</span> Option +<code>startNumber</code></h4> <dl> <dt><code>startNumber</code> (default value: <code>true</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Make the number in the first item of an ordered lists significant. The item numbers will be passed to the <code>\markdownRendererOlItemWithNumber</code> <span class="tex">T<sub>e</sub>X</span> macro.</p> +<dd> +<p>Make the number in the first item of an ordered lists significant. +The item numbers will be passed to the +<code>\markdownRendererOlItemWithNumber</code> <span +class="tex">T<sub>e</sub>X</span> macro.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Ignore the numbers in the ordered list items. Each item will only produce a <code>\markdownRendererOlItem</code> <span class="tex">T<sub>e</sub>X</span> macro.</p> +<dd> +<p>Ignore the numbers in the ordered list items. Each item will only +produce a <code>\markdownRendererOlItem</code> <span +class="tex">T<sub>e</sub>X</span> macro.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb302"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb302-1"><a href="#cb302-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb302-2"><a href="#cb302-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb302-3"><a href="#cb302-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb302-4"><a href="#cb302-4" aria-hidden="true"></a></span> -<span id="cb302-5"><a href="#cb302-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb302-6"><a href="#cb302-6" aria-hidden="true"></a>The following list respects the numbers specified in the markup:</span> -<span id="cb302-7"><a href="#cb302-7" aria-hidden="true"></a></span> -<span id="cb302-8"><a href="#cb302-8" aria-hidden="true"></a>3. third item</span> -<span id="cb302-9"><a href="#cb302-9" aria-hidden="true"></a>4. fourth item</span> -<span id="cb302-10"><a href="#cb302-10" aria-hidden="true"></a>5. fifth item</span> -<span id="cb302-11"><a href="#cb302-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb302-12"><a href="#cb302-12" aria-hidden="true"></a></span> -<span id="cb302-13"><a href="#cb302-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</span> -<span id="cb302-14"><a href="#cb302-14" aria-hidden="true"></a>The following list does not respect the numbers specified in the</span> -<span id="cb302-15"><a href="#cb302-15" aria-hidden="true"></a>markup:</span> -<span id="cb302-16"><a href="#cb302-16" aria-hidden="true"></a></span> -<span id="cb302-17"><a href="#cb302-17" aria-hidden="true"></a>3. third item</span> -<span id="cb302-18"><a href="#cb302-18" aria-hidden="true"></a>4. fourth item</span> -<span id="cb302-19"><a href="#cb302-19" aria-hidden="true"></a>5. fifth item</span> -<span id="cb302-20"><a href="#cb302-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb302-21"><a href="#cb302-21" aria-hidden="true"></a></span> -<span id="cb302-22"><a href="#cb302-22" aria-hidden="true"></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"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>The following list respects the numbers specified in the markup:</p> <ol start="3" type="1"> @@ -3552,38 +5036,44 @@ Thomas,Edison,1847</code></pre> <li>fourth item</li> <li>fifth item</li> </ol> -<p>The following list does not respect the numbers specified in the markup:</p> +<p>The following list does not respect the numbers specified in the +markup:</p> <ol type="1"> <li>third item</li> <li>fourth item</li> <li>fifth item</li> </ol> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-23">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="cb304"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb304-1"><a href="#cb304-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb304-2"><a href="#cb304-2" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb304-3"><a href="#cb304-3" aria-hidden="true"></a></span> -<span id="cb304-4"><a href="#cb304-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb304-5"><a href="#cb304-5" aria-hidden="true"></a>The following list respects the numbers specified in the markup:</span> -<span id="cb304-6"><a href="#cb304-6" aria-hidden="true"></a></span> -<span id="cb304-7"><a href="#cb304-7" aria-hidden="true"></a>3. third item</span> -<span id="cb304-8"><a href="#cb304-8" aria-hidden="true"></a>4. fourth item</span> -<span id="cb304-9"><a href="#cb304-9" aria-hidden="true"></a>5. fifth item</span> -<span id="cb304-10"><a href="#cb304-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb304-11"><a href="#cb304-11" aria-hidden="true"></a></span> -<span id="cb304-12"><a href="#cb304-12" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[startNumber = no]</span> -<span id="cb304-13"><a href="#cb304-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb304-14"><a href="#cb304-14" aria-hidden="true"></a>The following list respects the numbers specified in the markup:</span> -<span id="cb304-15"><a href="#cb304-15" aria-hidden="true"></a></span> -<span id="cb304-16"><a href="#cb304-16" aria-hidden="true"></a>3. third item</span> -<span id="cb304-17"><a href="#cb304-17" aria-hidden="true"></a>4. fourth item</span> -<span id="cb304-18"><a href="#cb304-18" aria-hidden="true"></a>5. fifth item</span> -<span id="cb304-19"><a href="#cb304-19" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb304-20"><a href="#cb304-20" aria-hidden="true"></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"></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> +<h5 class="unnumbered" id="context-example-23">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>The following list respects the numbers specified in the markup:</p> <ol start="3" type="1"> @@ -3591,276 +5081,371 @@ Thomas,Edison,1847</code></pre> <li>fourth item</li> <li>fifth item</li> </ol> -<p>The following list does not respect the numbers specified in the markup:</p> +<p>The following list does not respect the numbers specified in the +markup:</p> <ol type="1"> <li>third item</li> <li>fourth item</li> <li>fifth item</li> </ol> </blockquote> -<h4 data-number="2.2.1.35" id="option-strikethrough"><span class="header-section-number">2.2.1.35</span> Option <code>strikeThrough</code></h4> +<h4 data-number="2.2.1.37" id="option-strikethrough"><span +class="header-section-number">2.2.1.37</span> Option +<code>strikeThrough</code></h4> <dl> <dt><code>strikeThrough</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc strike-through syntax extension:</p> -<div class="sourceCode" id="cb306"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb306-1"><a href="#cb306-1" aria-hidden="true"></a>This ~~is deleted text.~~</span></code></pre></div> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc strike-through syntax extension.</p> +<dd> +<p>Disable the Pandoc strike-through syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-14">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="cb307"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb307-1"><a href="#cb307-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb307-2"><a href="#cb307-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionStrikeThrough</span>{true}</span> -<span id="cb307-3"><a href="#cb307-3" aria-hidden="true"></a><span class="fu">\input</span> soulutf8.sty</span> -<span id="cb307-4"><a href="#cb307-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\st</span>{#1}}</span> -<span id="cb307-5"><a href="#cb307-5" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb307-6"><a href="#cb307-6" aria-hidden="true"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb307-7"><a href="#cb307-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb307-8"><a href="#cb307-8" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb308"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb308-1"><a href="#cb308-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-14">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="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> +<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> +<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" data-number="" 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="cb309"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb309-1"><a href="#cb309-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb309-2"><a href="#cb309-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[strikeThrough]{<span class="ex">markdown</span>}</span> -<span id="cb309-3"><a href="#cb309-3" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">soulutf8</span>}</span> -<span id="cb309-4"><a href="#cb309-4" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb309-5"><a href="#cb309-5" aria-hidden="true"></a> renderers = {</span> -<span id="cb309-6"><a href="#cb309-6" aria-hidden="true"></a> strikeThrough = {<span class="fu">\st</span>{#1}},</span> -<span id="cb309-7"><a href="#cb309-7" aria-hidden="true"></a> },</span> -<span id="cb309-8"><a href="#cb309-8" aria-hidden="true"></a>}</span> -<span id="cb309-9"><a href="#cb309-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb309-10"><a href="#cb309-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb309-11"><a href="#cb309-11" aria-hidden="true"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb309-12"><a href="#cb309-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb309-13"><a href="#cb309-13" aria-hidden="true"></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="cb310"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb310-1"><a href="#cb310-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-24">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="cb311"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb311-1"><a href="#cb311-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb311-2"><a href="#cb311-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[strikeThrough = yes]</span> -<span id="cb311-3"><a href="#cb311-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\overstrikes</span>{#1}}</span> -<span id="cb311-4"><a href="#cb311-4" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb311-5"><a href="#cb311-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb311-6"><a href="#cb311-6" aria-hidden="true"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb311-7"><a href="#cb311-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb311-8"><a href="#cb311-8" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-24">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="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> +<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> +<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.36" id="option-stripindent"><span class="header-section-number">2.2.1.36</span> Option <code>stripIndent</code></h4> +<h4 data-number="2.2.1.38" id="option-stripindent"><span +class="header-section-number">2.2.1.38</span> Option +<code>stripIndent</code></h4> <dl> <dt><code>stripIndent</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><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="cb313"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb313-1"><a href="#cb313-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb313-2"><a href="#cb313-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span> -<span id="cb313-3"><a href="#cb313-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb313-4"><a href="#cb313-4" aria-hidden="true"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb313-5"><a href="#cb313-5" aria-hidden="true"></a> Hello *world*!</span> -<span id="cb313-6"><a href="#cb313-6" aria-hidden="true"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb313-7"><a href="#cb313-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<dd> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Do not strip any indentation from the lines in a markdown document.</p> +<dd> +<p>Do not strip any indentation from the lines in a markdown +document.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-15">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="cb314"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb314-1"><a href="#cb314-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb314-2"><a href="#cb314-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionStripIndent</span>{true}</span> -<span id="cb314-3"><a href="#cb314-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb314-4"><a href="#cb314-4" aria-hidden="true"></a> Hello *world*!</span> -<span id="cb314-5"><a href="#cb314-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb314-6"><a href="#cb314-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb315"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb315-1"><a href="#cb315-1" aria-hidden="true"></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" data-number="" 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="cb316"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb316-1"><a href="#cb316-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb316-2"><a href="#cb316-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span> -<span id="cb316-3"><a href="#cb316-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb316-4"><a href="#cb316-4" aria-hidden="true"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb316-5"><a href="#cb316-5" aria-hidden="true"></a> Hello *world*!</span> -<span id="cb316-6"><a href="#cb316-6" aria-hidden="true"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb316-7"><a href="#cb316-7" aria-hidden="true"></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="cb317"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb317-1"><a href="#cb317-1" aria-hidden="true"></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" data-number="" 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="cb318"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb318-1"><a href="#cb318-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb318-2"><a href="#cb318-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[stripIndent = yes]</span> -<span id="cb318-3"><a href="#cb318-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb318-4"><a href="#cb318-4" aria-hidden="true"></a> <span class="fu">\startmarkdown</span></span> -<span id="cb318-5"><a href="#cb318-5" aria-hidden="true"></a> Hello *world*!</span> -<span id="cb318-6"><a href="#cb318-6" aria-hidden="true"></a> <span class="fu">\stopmarkdown</span></span> -<span id="cb318-7"><a href="#cb318-7" aria-hidden="true"></a><span class="fu">\stoptext</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"></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.37" id="option-subscripts"><span class="header-section-number">2.2.1.37</span> Option <code>subscripts</code></h4> +<h5 class="unnumbered" id="plain-tex-example-15">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="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> +<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> +<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 +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> +<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> +<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> +<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> +<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 +<code>subscripts</code></h4> <dl> <dt><code>subscripts</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc subscript syntax extension:</p> -<div class="sourceCode" id="cb320"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb320-1"><a href="#cb320-1" aria-hidden="true"></a>H~2~O is a liquid.</span></code></pre></div> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc subscript syntax extension.</p> +<dd> +<p>Disable the Pandoc subscript syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb321"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb321-1"><a href="#cb321-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb321-2"><a href="#cb321-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[subscripts]{<span class="ex">markdown</span>}</span> -<span id="cb321-3"><a href="#cb321-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb321-4"><a href="#cb321-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb321-5"><a href="#cb321-5" aria-hidden="true"></a>H~2~O is a liquid.</span> -<span id="cb321-6"><a href="#cb321-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb321-7"><a href="#cb321-7" aria-hidden="true"></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="cb322"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb322-1"><a href="#cb322-1" aria-hidden="true"></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> +<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="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> +<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> +<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> -<h5 class="unnumbered" data-number="" id="context-example-26">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="cb323"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb323-1"><a href="#cb323-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb323-2"><a href="#cb323-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[subscripts = yes]</span> -<span id="cb323-3"><a href="#cb323-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb323-4"><a href="#cb323-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb323-5"><a href="#cb323-5" aria-hidden="true"></a>H~2~O is a liquid.</span> -<span id="cb323-6"><a href="#cb323-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb323-7"><a href="#cb323-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb324"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb324-1"><a href="#cb324-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-26">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="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> +<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> +<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.38" id="option-superscripts"><span class="header-section-number">2.2.1.38</span> Option <code>superscripts</code></h4> +<h4 data-number="2.2.1.40" id="option-superscripts"><span +class="header-section-number">2.2.1.40</span> Option +<code>superscripts</code></h4> <dl> <dt><code>superscripts</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc superscript syntax extension:</p> -<div class="sourceCode" id="cb325"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb325-1"><a href="#cb325-1" aria-hidden="true"></a>2^10^ is 1024.</span></code></pre></div> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc superscript syntax extension.</p> +<dd> +<p>Disable the Pandoc superscript syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb326"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb326-1"><a href="#cb326-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb326-2"><a href="#cb326-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[superscripts]{<span class="ex">markdown</span>}</span> -<span id="cb326-3"><a href="#cb326-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb326-4"><a href="#cb326-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb326-5"><a href="#cb326-5" aria-hidden="true"></a>2^10^ is 1024.</span> -<span id="cb326-6"><a href="#cb326-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb326-7"><a href="#cb326-7" aria-hidden="true"></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="cb327"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb327-1"><a href="#cb327-1" aria-hidden="true"></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> +<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="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> +<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> +<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> -<h5 class="unnumbered" data-number="" id="context-example-27">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="cb328"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb328-1"><a href="#cb328-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb328-2"><a href="#cb328-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[superscripts = yes]</span> -<span id="cb328-3"><a href="#cb328-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb328-4"><a href="#cb328-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb328-5"><a href="#cb328-5" aria-hidden="true"></a>2^10^ is 1024.</span> -<span id="cb328-6"><a href="#cb328-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb328-7"><a href="#cb328-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb329"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb329-1"><a href="#cb329-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-27">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="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> +<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> +<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.39" id="option-tablecaptions"><span class="header-section-number">2.2.1.39</span> Option <code>tableCaptions</code></h4> +<h4 data-number="2.2.1.41" id="option-tablecaptions"><span +class="header-section-number">2.2.1.41</span> Option +<code>tableCaptions</code></h4> <dl> <dt><code>tableCaptions</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc <code>table_captions</code> syntax extension for <a href="#pipe-tables">pipe tables</a>.</p> -<div class="sourceCode" id="cb330"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb330-1"><a href="#cb330-1" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb330-2"><a href="#cb330-2" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb330-3"><a href="#cb330-3" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb330-4"><a href="#cb330-4" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb330-5"><a href="#cb330-5" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb330-6"><a href="#cb330-6" aria-hidden="true"></a></span> -<span id="cb330-7"><a href="#cb330-7" aria-hidden="true"></a> : Demonstration of pipe table syntax.</span></code></pre></div> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc <code>table_captions</code> syntax extension.</p> +<dd> +<p>Disable the Pandoc <code>table_captions</code> syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb331"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb331-1"><a href="#cb331-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb331-2"><a href="#cb331-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span> -<span id="cb331-3"><a href="#cb331-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb331-4"><a href="#cb331-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb331-5"><a href="#cb331-5" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb331-6"><a href="#cb331-6" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb331-7"><a href="#cb331-7" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb331-8"><a href="#cb331-8" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb331-9"><a href="#cb331-9" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb331-10"><a href="#cb331-10" aria-hidden="true"></a></span> -<span id="cb331-11"><a href="#cb331-11" aria-hidden="true"></a> : Demonstration of pipe table syntax.</span> -<span id="cb331-12"><a href="#cb331-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb331-13"><a href="#cb331-13" aria-hidden="true"></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="cb332"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb332-1"><a href="#cb332-1" aria-hidden="true"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <table> <caption>Demonstration of pipe table syntax.</caption> @@ -3894,28 +5479,33 @@ Thomas,Edison,1847</code></pre> </tbody> </table> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-28">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="cb333"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb333-1"><a href="#cb333-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb333-2"><a href="#cb333-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb333-3"><a href="#cb333-3" aria-hidden="true"></a> [</span> -<span id="cb333-4"><a href="#cb333-4" aria-hidden="true"></a> pipeTables = yes,</span> -<span id="cb333-5"><a href="#cb333-5" aria-hidden="true"></a> tableCaptions = yes,</span> -<span id="cb333-6"><a href="#cb333-6" aria-hidden="true"></a> ]</span> -<span id="cb333-7"><a href="#cb333-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb333-8"><a href="#cb333-8" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb333-9"><a href="#cb333-9" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb333-10"><a href="#cb333-10" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb333-11"><a href="#cb333-11" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb333-12"><a href="#cb333-12" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb333-13"><a href="#cb333-13" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb333-14"><a href="#cb333-14" aria-hidden="true"></a></span> -<span id="cb333-15"><a href="#cb333-15" aria-hidden="true"></a> : Demonstration of pipe table syntax.</span> -<span id="cb333-16"><a href="#cb333-16" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb333-17"><a href="#cb333-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb334"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb334-1"><a href="#cb334-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-28">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <table> <caption>Demonstration of pipe table syntax.</caption> @@ -3949,46 +5539,58 @@ Thomas,Edison,1847</code></pre> </tbody> </table> </blockquote> -<h4 data-number="2.2.1.40" id="option-tasklists"><span class="header-section-number">2.2.1.40</span> Option <code>taskLists</code></h4> +<h4 data-number="2.2.1.42" id="option-tasklists"><span +class="header-section-number">2.2.1.42</span> Option +<code>taskLists</code></h4> <dl> <dt><code>taskLists</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Enable the Pandoc <code>task_lists</code> syntax extension.</p> -<div class="sourceCode" id="cb335"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb335-1"><a href="#cb335-1" aria-hidden="true"></a><span class="ss">- </span><span class="va">[ ]</span> an unticked task list item</span> -<span id="cb335-2"><a href="#cb335-2" aria-hidden="true"></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="cb335-3"><a href="#cb335-3" aria-hidden="true"></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> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Disable the Pandoc <code>task_lists</code> syntax extension.</p> +<dd> +<p>Disable the Pandoc <code>task_lists</code> syntax extension.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb336"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb336-1"><a href="#cb336-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb336-2"><a href="#cb336-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span> -<span id="cb336-3"><a href="#cb336-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb336-4"><a href="#cb336-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb336-5"><a href="#cb336-5" aria-hidden="true"></a> untickedBox = No,</span> -<span id="cb336-6"><a href="#cb336-6" aria-hidden="true"></a> halfTickedBox = Maybe,</span> -<span id="cb336-7"><a href="#cb336-7" aria-hidden="true"></a> tickedBox = Yes,</span> -<span id="cb336-8"><a href="#cb336-8" aria-hidden="true"></a> },</span> -<span id="cb336-9"><a href="#cb336-9" aria-hidden="true"></a>}</span> -<span id="cb336-10"><a href="#cb336-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb336-11"><a href="#cb336-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb336-12"><a href="#cb336-12" aria-hidden="true"></a>- [ ] you can't.</span> -<span id="cb336-13"><a href="#cb336-13" aria-hidden="true"></a>- [/] I can?</span> -<span id="cb336-14"><a href="#cb336-14" aria-hidden="true"></a>- [X] I can!</span> -<span id="cb336-15"><a href="#cb336-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb336-16"><a href="#cb336-16" aria-hidden="true"></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="cb337"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb337-1"><a href="#cb337-1" aria-hidden="true"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <ul> <li>No you can’t.</li> @@ -3996,23 +5598,28 @@ Thomas,Edison,1847</code></pre> <li>Yes I can!</li> </ul> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-29">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="cb338"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb338-1"><a href="#cb338-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb338-2"><a href="#cb338-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[taskLists = yes]</span> -<span id="cb338-3"><a href="#cb338-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span> -<span id="cb338-4"><a href="#cb338-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererHalftickedBox</span>{Maybe}</span> -<span id="cb338-5"><a href="#cb338-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span> -<span id="cb338-6"><a href="#cb338-6" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb338-7"><a href="#cb338-7" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb338-8"><a href="#cb338-8" aria-hidden="true"></a>- [ ] you can't.</span> -<span id="cb338-9"><a href="#cb338-9" aria-hidden="true"></a>- [/] I can?</span> -<span id="cb338-10"><a href="#cb338-10" aria-hidden="true"></a>- [X] I can!</span> -<span id="cb338-11"><a href="#cb338-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb338-12"><a href="#cb338-12" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb339"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb339-1"><a href="#cb339-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-29">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <ul> <li>No you can’t.</li> @@ -4020,128 +5627,169 @@ Thomas,Edison,1847</code></pre> <li>Yes I can!</li> </ul> </blockquote> -<h4 data-number="2.2.1.41" id="option-texcomments"><span class="header-section-number">2.2.1.41</span> Option <code>texComments</code></h4> +<h4 data-number="2.2.1.43" id="option-texcomments"><span +class="header-section-number">2.2.1.43</span> Option +<code>texComments</code></h4> <dl> <dt><code>texComments</code> (default value: <code>false</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Strip <span class="tex">T<sub>e</sub>X</span>-style comments.</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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb340-2"><a href="#cb340-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span> -<span id="cb340-3"><a href="#cb340-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb340-4"><a href="#cb340-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb340-5"><a href="#cb340-5" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb340-6"><a href="#cb340-6" aria-hidden="true"></a> lo *world*!</span> -<span id="cb340-7"><a href="#cb340-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb340-8"><a href="#cb340-8" aria-hidden="true"></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> +<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> +<p>Always enabled when <strong><code>hybrid</code></strong> is +enabled.</p> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Do not strip <span class="tex">T<sub>e</sub>X</span>-style comments.</p> +<dd> +<p>Do not strip <span class="tex">T<sub>e</sub>X</span>-style +comments.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-16">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="cb341"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb341-1"><a href="#cb341-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb341-2"><a href="#cb341-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTexComments</span>{true}</span> -<span id="cb341-3"><a href="#cb341-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb341-4"><a href="#cb341-4" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb341-5"><a href="#cb341-5" aria-hidden="true"></a> lo *world*!</span> -<span id="cb341-6"><a href="#cb341-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb341-7"><a href="#cb341-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb342"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb342-1"><a href="#cb342-1" aria-hidden="true"></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" data-number="" 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="cb343"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb343-1"><a href="#cb343-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb343-2"><a href="#cb343-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span> -<span id="cb343-3"><a href="#cb343-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb343-4"><a href="#cb343-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb343-5"><a href="#cb343-5" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb343-6"><a href="#cb343-6" aria-hidden="true"></a> lo *world*!</span> -<span id="cb343-7"><a href="#cb343-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb343-8"><a href="#cb343-8" aria-hidden="true"></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="cb344"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb344-1"><a href="#cb344-1" aria-hidden="true"></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" data-number="" 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="cb345"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb345-1"><a href="#cb345-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb345-2"><a href="#cb345-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[texComments = yes]</span> -<span id="cb345-3"><a href="#cb345-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb345-4"><a href="#cb345-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb345-5"><a href="#cb345-5" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span> -<span id="cb345-6"><a href="#cb345-6" aria-hidden="true"></a> lo *world*!</span> -<span id="cb345-7"><a href="#cb345-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb345-8"><a href="#cb345-8" aria-hidden="true"></a><span class="fu">\stoptext</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"></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.42" id="option-tightlists"><span class="header-section-number">2.2.1.42</span> Option <code>tightLists</code></h4> +<h5 class="unnumbered" id="plain-tex-example-16">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="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> +<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> +<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 +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> +<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> +<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> +<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> +<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 +<code>tightLists</code></h4> <dl> <dt><code>tightLists</code> (default value: <code>true</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Unordered and ordered lists whose items do not consist of multiple 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="cb347"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb347-1"><a href="#cb347-1" aria-hidden="true"></a><span class="ss">- </span>This is</span> -<span id="cb347-2"><a href="#cb347-2" aria-hidden="true"></a><span class="ss">- </span>a tight</span> -<span id="cb347-3"><a href="#cb347-3" aria-hidden="true"></a><span class="ss">- </span>unordered list.</span> -<span id="cb347-4"><a href="#cb347-4" aria-hidden="true"></a></span> -<span id="cb347-5"><a href="#cb347-5" aria-hidden="true"></a><span class="ss">- </span>This is</span> -<span id="cb347-6"><a href="#cb347-6" aria-hidden="true"></a></span> -<span id="cb347-7"><a href="#cb347-7" aria-hidden="true"></a> not a tight</span> -<span id="cb347-8"><a href="#cb347-8" aria-hidden="true"></a></span> -<span id="cb347-9"><a href="#cb347-9" aria-hidden="true"></a><span class="ss">- </span>unordered list.</span></code></pre></div> +<dd> +<p>Unordered and ordered lists whose items do not consist of multiple +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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Unordered and ordered lists whose items consist of multiple paragraphs will be treated the same way as lists that consist of multiple paragraphs.</p> +<dd> +<p>Unordered and ordered lists whose items consist of multiple +paragraphs will be treated the same way as lists that consist of +multiple paragraphs.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb348"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb348-1"><a href="#cb348-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb348-2"><a href="#cb348-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb348-3"><a href="#cb348-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb348-4"><a href="#cb348-4" aria-hidden="true"></a></span> -<span id="cb348-5"><a href="#cb348-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb348-6"><a href="#cb348-6" aria-hidden="true"></a>The following list is tight:</span> -<span id="cb348-7"><a href="#cb348-7" aria-hidden="true"></a></span> -<span id="cb348-8"><a href="#cb348-8" aria-hidden="true"></a> - first item</span> -<span id="cb348-9"><a href="#cb348-9" aria-hidden="true"></a> - second item</span> -<span id="cb348-10"><a href="#cb348-10" aria-hidden="true"></a> - third item</span> -<span id="cb348-11"><a href="#cb348-11" aria-hidden="true"></a></span> -<span id="cb348-12"><a href="#cb348-12" aria-hidden="true"></a>The following list is loose:</span> -<span id="cb348-13"><a href="#cb348-13" aria-hidden="true"></a></span> -<span id="cb348-14"><a href="#cb348-14" aria-hidden="true"></a> - first item</span> -<span id="cb348-15"><a href="#cb348-15" aria-hidden="true"></a> - second item that spans</span> -<span id="cb348-16"><a href="#cb348-16" aria-hidden="true"></a></span> -<span id="cb348-17"><a href="#cb348-17" aria-hidden="true"></a> multiple paragraphs</span> -<span id="cb348-18"><a href="#cb348-18" aria-hidden="true"></a> - third item</span> -<span id="cb348-19"><a href="#cb348-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb348-20"><a href="#cb348-20" aria-hidden="true"></a></span> -<span id="cb348-21"><a href="#cb348-21" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</span> -<span id="cb348-22"><a href="#cb348-22" aria-hidden="true"></a>The following list is now also loose:</span> -<span id="cb348-23"><a href="#cb348-23" aria-hidden="true"></a></span> -<span id="cb348-24"><a href="#cb348-24" aria-hidden="true"></a> - first item</span> -<span id="cb348-25"><a href="#cb348-25" aria-hidden="true"></a> - second item</span> -<span id="cb348-26"><a href="#cb348-26" aria-hidden="true"></a> - third item</span> -<span id="cb348-27"><a href="#cb348-27" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb348-28"><a href="#cb348-28" aria-hidden="true"></a></span> -<span id="cb348-29"><a href="#cb348-29" aria-hidden="true"></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="cb349"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb349-1"><a href="#cb349-1" aria-hidden="true"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>The following list is tight:</p> <ul> @@ -4163,111 +5811,178 @@ Thomas,Edison,1847</code></pre> <li><p>third item</p></li> </ul> </blockquote> -<h4 data-number="2.2.1.43" id="option-underscores"><span class="header-section-number">2.2.1.43</span> Option <code>underscores</code></h4> +<h4 data-number="2.2.1.45" id="option-underscores"><span +class="header-section-number">2.2.1.45</span> Option +<code>underscores</code></h4> <dl> <dt><code>underscores</code> (default value: <code>true</code>)</dt> -<dd><dl> +<dd> +<dl> <dt>true</dt> -<dd><p>Both underscores and asterisks can be used to denote emphasis and strong emphasis:</p> -<div class="sourceCode" id="cb350"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb350-1"><a href="#cb350-1" aria-hidden="true"></a>*single asterisks*</span> -<span id="cb350-2"><a href="#cb350-2" aria-hidden="true"></a>_single underscores_</span> -<span id="cb350-3"><a href="#cb350-3" aria-hidden="true"></a>**double asterisks**</span> -<span id="cb350-4"><a href="#cb350-4" aria-hidden="true"></a>__double underscores__</span></code></pre></div> +<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> </dd> </dl> </dd> -<dd><dl> +<dd> +<dl> <dt>false</dt> -<dd><p>Only asterisks can be used to denote emphasis and strong emphasis. This makes it easy to write math with the <strong><code>hybrid</code></strong> option without the need to constantly escape subscripts.</p> +<dd> +<p>Only asterisks can be used to denote emphasis and strong emphasis. +This makes it easy to write math with the +<strong><code>hybrid</code></strong> option without the need to +constantly escape subscripts.</p> </dd> </dl> </dd> </dl> -<h5 class="unnumbered" data-number="" id="plain-tex-example-17">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="cb351"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb351-1"><a href="#cb351-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb351-2"><a href="#cb351-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> -<span id="cb351-3"><a href="#cb351-3" aria-hidden="true"></a></span> -<span id="cb351-4"><a href="#cb351-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb351-5"><a href="#cb351-5" aria-hidden="true"></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="cb351-6"><a href="#cb351-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb351-7"><a href="#cb351-7" aria-hidden="true"></a></span> -<span id="cb351-8"><a href="#cb351-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionUnderscores</span>{false}</span> -<span id="cb351-9"><a href="#cb351-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb351-10"><a href="#cb351-10" aria-hidden="true"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> -<span id="cb351-11"><a href="#cb351-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb351-12"><a href="#cb351-12" aria-hidden="true"></a></span> -<span id="cb351-13"><a href="#cb351-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb352"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb352-1"><a href="#cb352-1" aria-hidden="true"></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>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> -<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> -</blockquote> -<h5 class="unnumbered" data-number="" 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="cb353"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb353-1"><a href="#cb353-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb353-2"><a href="#cb353-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</span> -<span id="cb353-3"><a href="#cb353-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb353-4"><a href="#cb353-4" aria-hidden="true"></a></span> -<span id="cb353-5"><a href="#cb353-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb353-6"><a href="#cb353-6" aria-hidden="true"></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="cb353-7"><a href="#cb353-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb353-8"><a href="#cb353-8" aria-hidden="true"></a></span> -<span id="cb353-9"><a href="#cb353-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</span> -<span id="cb353-10"><a href="#cb353-10" aria-hidden="true"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> -<span id="cb353-11"><a href="#cb353-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb353-12"><a href="#cb353-12" aria-hidden="true"></a></span> -<span id="cb353-13"><a href="#cb353-13" aria-hidden="true"></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="cb354"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb354-1"><a href="#cb354-1" aria-hidden="true"></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 <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> -<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> -</blockquote> -<h5 class="unnumbered" data-number="" id="context-example-31">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="cb355"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb355-1"><a href="#cb355-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb355-2"><a href="#cb355-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> -<span id="cb355-3"><a href="#cb355-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb355-4"><a href="#cb355-4" aria-hidden="true"></a></span> -<span id="cb355-5"><a href="#cb355-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb355-6"><a href="#cb355-6" aria-hidden="true"></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-7"><a href="#cb355-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb355-8"><a href="#cb355-8" aria-hidden="true"></a></span> -<span id="cb355-9"><a href="#cb355-9" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[underscores = yes]</span> -<span id="cb355-10"><a href="#cb355-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb355-11"><a href="#cb355-11" aria-hidden="true"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span> -<span id="cb355-12"><a href="#cb355-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb355-13"><a href="#cb355-13" aria-hidden="true"></a></span> -<span id="cb355-14"><a href="#cb355-14" aria-hidden="true"></a><span class="fu">\stoptext</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"></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 <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> -<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p> -</blockquote> -<h3 data-number="2.2.2" id="plain-tex-1"><span class="header-section-number">2.2.2</span> Plain <span class="tex">T<sub>e</sub>X</span></h3> -<p>Plain <span class="tex">T<sub>e</sub>X</span> options control the communication between the <span class="tex">T<sub>e</sub>X</span> interface and the <code>markdown</code> Lua module. They are supported by all higher-level interfaces of the Markdown package, i.e. the plain <span class="tex">T<sub>e</sub>X</span>, <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span class="tex">T<sub>e</sub>X</span>t interfaces.</p> -<h4 data-number="2.2.2.1" id="setting-lua-options-from-plain-tex"><span class="header-section-number">2.2.2.1</span> Setting Lua options from plain <span class="tex">T<sub>e</sub>X</span></h4> -<p>As a rule of thumb, you can set all Lua options directly from plain <span class="tex">T<sub>e</sub>X</span>. For example, to set the <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="cb357"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb357-1"><a href="#cb357-1" aria-hidden="true"></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> -<p>The <code>\markdownOptionFrozenCache</code> option uses the mapping previously created by the Lua interface <strong><code>finalizeCache</code></strong> option, and uses it to typeset the plain <span class="tex">T<sub>e</sub>X</span> document without invoking Lua. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected. It defaults to <code>false</code>.</p> -<p>The standard usage of the <strong><code>finalizeCache</code></strong> and <strong><code>frozenCache</code></strong> options is as follows:</p> +<h5 class="unnumbered" id="plain-tex-example-17">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is <em>emphasized text</em> and this is a math subscript: +<em>mₙ</em>.</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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is <em>emphasized text</em> and this is a math subscript: +<em>mₙ</em>.</p> +<p>This is <em>emphasized text</em> and this is a math subscript: +<em>mₙ</em>.</p> +</blockquote> +<h5 class="unnumbered" id="context-example-31">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is <em>emphasized text</em> and this is a math subscript: +<em>mₙ</em>.</p> +<p>This is <em>emphasized text</em> and this is a math subscript: +<em>mₙ</em>.</p> +</blockquote> +<h3 data-number="2.2.2" id="plain-tex-1"><span +class="header-section-number">2.2.2</span> Plain <span +class="tex">T<sub>e</sub>X</span></h3> +<p>Plain <span class="tex">T<sub>e</sub>X</span> options control the +communication between the <span class="tex">T<sub>e</sub>X</span> +interface and the <code>markdown</code> Lua module. They are supported +by all higher-level interfaces of the Markdown package, i.e. the plain +<span class="tex">T<sub>e</sub>X</span>, <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span +class="tex">T<sub>e</sub>X</span>t interfaces.</p> +<h4 data-number="2.2.2.1" id="setting-lua-options-from-plain-tex"><span +class="header-section-number">2.2.2.1</span> Setting Lua options from +plain <span class="tex">T<sub>e</sub>X</span></h4> +<p>As a rule of thumb, you can set all Lua options directly from plain +<span class="tex">T<sub>e</sub>X</span>. For example, to set the +<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> +<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> +<p>The <code>\markdownOptionFrozenCache</code> option uses the mapping +previously created by the Lua interface +<strong><code>finalizeCache</code></strong> option, and uses it to +typeset the plain <span class="tex">T<sub>e</sub>X</span> document +without invoking Lua. As a result, the plain <span +class="tex">T<sub>e</sub>X</span> document becomes more portable, but +further changes in the order and the content of markdown documents will +not be reflected. It defaults to <code>false</code>.</p> +<p>The standard usage of the <strong><code>finalizeCache</code></strong> +and <strong><code>frozenCache</code></strong> options is as follows:</p> <ol type="1"> -<li>Remove the <strong><code>cacheDir</code></strong> cache directory with stale auxiliary cache files.</li> +<li>Remove the <strong><code>cacheDir</code></strong> cache directory +with stale auxiliary cache files.</li> <li>Enable the <strong><code>finalizeCache</code></strong> option.</li> -<li>Typeset the plain <span class="tex">T<sub>e</sub>X</span> document to populate and finalize the cache.</li> +<li>Typeset the plain <span class="tex">T<sub>e</sub>X</span> document +to populate and finalize the cache.</li> <li>Enable the <code>\markdownOptionFrozenCache</code> option.</li> -<li>Publish the source code of the plain <span class="tex">T<sub>e</sub>X</span> document and the <strong><code>cacheDir</code></strong> directory.</li> +<li>Publish the source code of the plain <span +class="tex">T<sub>e</sub>X</span> document and the +<strong><code>cacheDir</code></strong> directory.</li> </ol> -<p>For more information, see the examples for the <strong><code>finalizeCache</code></strong> option.</p> -<h4 data-number="2.2.2.3" id="file-and-directory-names"><span class="header-section-number">2.2.2.3</span> File and Directory Names</h4> -<p>The plain <span class="tex">T<sub>e</sub>X</span> interface provides the following commands that you can use to specify the location of temporary files produced during the conversion from Markdown to <span class="tex">T<sub>e</sub>X</span>:</p> +<p>For more information, see the examples for the +<strong><code>finalizeCache</code></strong> option.</p> +<h4 data-number="2.2.2.3" id="file-and-directory-names"><span +class="header-section-number">2.2.2.3</span> File and Directory +Names</h4> +<p>The plain <span class="tex">T<sub>e</sub>X</span> interface provides +the following commands that you can use to specify the location of +temporary files produced during the conversion from Markdown to <span +class="tex">T<sub>e</sub>X</span>:</p> <ul> <li><code>\markdownOptionHelperScriptFileName</code>,</li> <li><code>\markdownOptionInputTempFileName</code>,</li> @@ -4277,313 +5992,495 @@ Thomas,Edison,1847</code></pre> <li><code>\markdownOptionCacheDir</code>, and</li> <li><code>\markdownOptionFrozenCacheFileName</code>.</li> </ul> -<p>The <code>\markdownOptionCacheDir</code> and <code>\markdownOptionFrozenCacheFileName</code> commands correspond to the <code>cacheDir</code> and <code>frozenCacheFileName</code> Lua 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="cb358"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb358-1"><a href="#cb358-1" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb358-2"><a href="#cb358-2" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb358-3"><a href="#cb358-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionHelperScriptFileName</span>{helper-script.lua}</span> -<span id="cb358-4"><a href="#cb358-4" aria-hidden="true"></a><span class="fu">\def\markdownOptionInputTempFileName</span>{temporary-input.md}</span> -<span id="cb358-5"><a href="#cb358-5" aria-hidden="true"></a><span class="fu">\def\markdownOptionOutputTempFileName</span>{temporary-output.tex}</span> -<span id="cb358-6"><a href="#cb358-6" aria-hidden="true"></a><span class="fu">\def\markdownOptionErrorTempFileName</span>{error-output.txt}</span> -<span id="cb358-7"><a href="#cb358-7" aria-hidden="true"></a><span class="fu">\def\markdownOptionOutputDir</span>{output-directory}</span> -<span id="cb358-8"><a href="#cb358-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionCacheDir</span>{output-directory/cache-directory}</span> -<span id="cb358-9"><a href="#cb358-9" aria-hidden="true"></a><span class="fu">\markdownOptionFinalizeCachetrue</span></span> -<span id="cb358-10"><a href="#cb358-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{output-directory/cache-directory/frozen-cache.tex}</span> -<span id="cb358-11"><a href="#cb358-11" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb358-12"><a href="#cb358-12" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb358-13"><a href="#cb358-13" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb358-14"><a href="#cb358-14" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb359"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb359-1"><a href="#cb359-1" aria-hidden="true"></a><span class="ex">luatex</span> --output-directory 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> +<p>The <code>\markdownOptionCacheDir</code> and +<code>\markdownOptionFrozenCacheFileName</code> commands correspond to +the <code>cacheDir</code> and <code>frozenCacheFileName</code> Lua +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> +<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> +<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> <blockquote> <p>Hello *world*!</p> </blockquote> -<p>A folder named <code>output-directory/cache-directory</code> should also be produced and contain fragments of the converted markdown 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="cb360"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb360-1"><a href="#cb360-1" aria-hidden="true"></a><span class="ex">pdftex</span> --output-directory output-directory --shell-escape 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 <code>helper-script.lua</code> will contain Lua code that was executed to convert markdown to plain <span class="tex">T<sub>e</sub>X</span>. The document named <code>temporary-output.tex</code> will contain the input markdown document converted to <span class="tex">T<sub>e</sub>X</span>.</p> -<p>No document named <code>error-output.txt</code> should be produced in the folder named <code>output-directory</code>. This document would only be produced if an error had occured while executing the Lua code. If this happens, please <a href="https://github.com/witiko/markdown/issues">file a bug</a>.</p> -<h4 data-number="2.2.2.4" id="package-documentation"><span class="header-section-number">2.2.2.4</span> Package Documentation</h4> -<p>The <code>\markdownOptionStripPercentSigns</code> macro controls whether a percent sign (<code>\%</code>) at the beginning of a line will be discarded when reading Markdown input from a <span class="tex">T<sub>e</sub>X</span> document. This enables the use of markdown when writing <span class="tex">T<sub>e</sub>X</span> package documentation using the <a href="https://ctan.org/pkg/doc" title="doc – Format LaTeX documentation">Doc <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package</a> by Frank Mittelbach. The recognized values of the macro are <code>true</code> (discard) and <code>false</code> (retain). It defaults to <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="cb361"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb361-1"><a href="#cb361-1" aria-hidden="true"></a><span class="co">% \iffalse</span></span> -<span id="cb361-2"><a href="#cb361-2" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</span> -<span id="cb361-3"><a href="#cb361-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</span> -<span id="cb361-4"><a href="#cb361-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb361-5"><a href="#cb361-5" aria-hidden="true"></a><span class="fu">\DocInput</span>{document.dtx}</span> -<span id="cb361-6"><a href="#cb361-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span> -<span id="cb361-7"><a href="#cb361-7" aria-hidden="true"></a><span class="co">% \fi</span></span> -<span id="cb361-8"><a href="#cb361-8" aria-hidden="true"></a><span class="co">%</span></span> -<span id="cb361-9"><a href="#cb361-9" aria-hidden="true"></a><span class="co">% \begin{markdown}</span></span> -<span id="cb361-10"><a href="#cb361-10" aria-hidden="true"></a><span class="co">% Hello *world*!</span></span> -<span id="cb361-11"><a href="#cb361-11" aria-hidden="true"></a><span class="co">% \end{markdown}</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb362"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb362-1"><a href="#cb362-1" aria-hidden="true"></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 class="header-section-number">2.2.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3> -<p><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> options allow us to disable the redefinition of the default renderer prototypes from plain <span class="tex">T<sub>e</sub>X</span>, load user-defined themes, and invoke user-defined setup snippets.</p> -<h4 data-number="2.2.3.1" id="setting-lua-and-plain-tex-options-from-latex"><span class="header-section-number">2.2.3.1</span> Setting Lua and plain <span class="tex">T<sub>e</sub>X</span> options from <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h4> -<p>As a rule of thumb, we can set all Lua options directly from <span 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="cb363"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb363-1"><a href="#cb363-1" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb363-2"><a href="#cb363-2" aria-hidden="true"></a> taskLists = true,</span> -<span id="cb363-3"><a href="#cb363-3" aria-hidden="true"></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 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="cb364"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb364-1"><a href="#cb364-1" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb364-2"><a href="#cb364-2" aria-hidden="true"></a> helperScriptFileName = helper-script.lua,</span> -<span id="cb364-3"><a href="#cb364-3" aria-hidden="true"></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> -<p>Default token renderer prototypes require <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages that may clash with other packages used in a document. Additionally, if we redefine token renderers and renderer prototypes ourselves, the default definitions will bring no benefit to us. Using the <code>plain</code> package option, we can keep the default definitions from the plain <span class="tex">T<sub>e</sub>X</span> implementation and prevent the soft <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> prerequisites 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="cb365"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb365-1"><a href="#cb365-1" aria-hidden="true"></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> -<p>User-defined <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes for the Markdown package provide a domain-specific interpretation of Markdown tokens. Similarly to <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages, themes allow the authors to achieve a specific look and other high-level goals 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="cb366"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb366-1"><a href="#cb366-1" aria-hidden="true"></a><span class="bu">\usepackage</span>[</span> -<span id="cb366-2"><a href="#cb366-2" aria-hidden="true"></a> theme = witiko/beamer/MU,</span> -<span id="cb366-3"><a href="#cb366-3" aria-hidden="true"></a> theme = witiko/dot,</span> -<span id="cb366-4"><a href="#cb366-4" aria-hidden="true"></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 class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document.</p> +<p>A folder named <code>output-directory/cache-directory</code> should +also be produced and contain fragments of the converted markdown +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> +<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 +<code>helper-script.lua</code> will contain Lua code that was executed +to convert markdown to plain <span class="tex">T<sub>e</sub>X</span>. +The document named <code>temporary-output.tex</code> will contain the +input markdown document converted to <span +class="tex">T<sub>e</sub>X</span>.</p> +<p>No document named <code>error-output.txt</code> should be produced in +the folder named <code>output-directory</code>. This document would only +be produced if an error had occured while executing the Lua code. If +this happens, please <a +href="https://github.com/witiko/markdown/issues">file a bug</a>.</p> +<h4 data-number="2.2.2.4" id="package-documentation"><span +class="header-section-number">2.2.2.4</span> Package Documentation</h4> +<p>The <code>\markdownOptionStripPercentSigns</code> macro controls +whether a percent sign (<code>\%</code>) at the beginning of a line will +be discarded when reading Markdown input from a <span +class="tex">T<sub>e</sub>X</span> document. This enables the use of +markdown when writing <span class="tex">T<sub>e</sub>X</span> package +documentation using the <a href="https://ctan.org/pkg/doc" +title="doc – Format LaTeX documentation">Doc <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package</a> by Frank +Mittelbach. The recognized values of the macro are <code>true</code> +(discard) and <code>false</code> (retain). It defaults to +<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> +<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> +<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 +class="header-section-number">2.2.3</span> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3> +<p><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> options allow +us to disable the redefinition of the default renderer prototypes from +plain <span class="tex">T<sub>e</sub>X</span>, load user-defined themes, +and invoke user-defined setup snippets.</p> +<h4 data-number="2.2.3.1" +id="setting-lua-and-plain-tex-options-from-latex"><span +class="header-section-number">2.2.3.1</span> Setting Lua and plain <span +class="tex">T<sub>e</sub>X</span> options from <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h4> +<p>As a rule of thumb, we can set all Lua options directly from <span +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> +<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 +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> +<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> +<p>Default token renderer prototypes require <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages that may clash +with other packages used in a document. Additionally, if we redefine +token renderers and renderer prototypes ourselves, the default +definitions will bring no benefit to us. Using the <code>plain</code> +package option, we can keep the default definitions from the plain <span +class="tex">T<sub>e</sub>X</span> implementation and prevent the soft +<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> prerequisites +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> +<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> +<p>User-defined <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> +themes for the Markdown package provide a domain-specific interpretation +of Markdown tokens. Similarly to <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages, themes allow +the authors to achieve a specific look and other high-level goals +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> +<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 +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document.</p> <p>Example themes provided with the Markdown package include:</p> <dl> <dt><strong><code>witiko/dot</code></strong></dt> -<dd><p>A theme that typesets fenced code blocks with the <code>dot …</code> infostring as images of directed graphs rendered by the Graphviz tools. The right tail of the infostring is used as the image title. The theme requires a Unix-like operating system with GNU Diffutils and Graphviz installed. The theme also requires shell access unless the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option is enabled.</p> +<dd> +<p>A theme that typesets fenced code blocks with the <code>dot …</code> +infostring as images of directed graphs rendered by the Graphviz tools. +The right tail of the infostring is used as the image title. The theme +requires a Unix-like operating system with GNU Diffutils and Graphviz +installed. The theme also requires shell access unless the +<code>\markdownOptionFrozenCache</code> plain <span +class="tex">T<sub>e</sub>X</span> option is enabled.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb367"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb367-1"><a href="#cb367-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb367-2"><a href="#cb367-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[theme=witiko/dot]{<span class="ex">markdown</span>}</span> -<span id="cb367-3"><a href="#cb367-3" aria-hidden="true"></a><span class="fu">\setkeys</span>{Gin}{</span> -<span id="cb367-4"><a href="#cb367-4" aria-hidden="true"></a> width=<span class="fu">\columnwidth</span>,</span> -<span id="cb367-5"><a href="#cb367-5" aria-hidden="true"></a> height=0.65<span class="fu">\paperheight</span>,</span> -<span id="cb367-6"><a href="#cb367-6" aria-hidden="true"></a> keepaspectratio}</span> -<span id="cb367-7"><a href="#cb367-7" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb367-8"><a href="#cb367-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb367-9"><a href="#cb367-9" aria-hidden="true"></a>``` dot Various formats of mathemathical formulae</span> -<span id="cb367-10"><a href="#cb367-10" aria-hidden="true"></a>digraph tree {</span> -<span id="cb367-11"><a href="#cb367-11" aria-hidden="true"></a> margin = 0;</span> -<span id="cb367-12"><a href="#cb367-12" aria-hidden="true"></a> rankdir = "LR";</span> -<span id="cb367-13"><a href="#cb367-13" aria-hidden="true"></a></span> -<span id="cb367-14"><a href="#cb367-14" aria-hidden="true"></a> latex -> pmml;</span> -<span id="cb367-15"><a href="#cb367-15" aria-hidden="true"></a> latex -> cmml;</span> -<span id="cb367-16"><a href="#cb367-16" aria-hidden="true"></a> pmml -> slt;</span> -<span id="cb367-17"><a href="#cb367-17" aria-hidden="true"></a> cmml -> opt;</span> -<span id="cb367-18"><a href="#cb367-18" aria-hidden="true"></a> cmml -> prefix;</span> -<span id="cb367-19"><a href="#cb367-19" aria-hidden="true"></a> cmml -> infix;</span> -<span id="cb367-20"><a href="#cb367-20" aria-hidden="true"></a> pmml -> mterms [style=dashed];</span> -<span id="cb367-21"><a href="#cb367-21" aria-hidden="true"></a> cmml -> mterms;</span> -<span id="cb367-22"><a href="#cb367-22" aria-hidden="true"></a></span> -<span id="cb367-23"><a href="#cb367-23" aria-hidden="true"></a> latex [label = "LaTeX"];</span> -<span id="cb367-24"><a href="#cb367-24" aria-hidden="true"></a> pmml [label = "Presentation MathML"];</span> -<span id="cb367-25"><a href="#cb367-25" aria-hidden="true"></a> cmml [label = "Content MathML"];</span> -<span id="cb367-26"><a href="#cb367-26" aria-hidden="true"></a> slt [label = "Symbol Layout Tree"];</span> -<span id="cb367-27"><a href="#cb367-27" aria-hidden="true"></a> opt [label = "Operator Tree"];</span> -<span id="cb367-28"><a href="#cb367-28" aria-hidden="true"></a> prefix [label = "Prefix"];</span> -<span id="cb367-29"><a href="#cb367-29" aria-hidden="true"></a> infix [label = "Infix"];</span> -<span id="cb367-30"><a href="#cb367-30" aria-hidden="true"></a> mterms [label = "M-Terms"];</span> -<span id="cb367-31"><a href="#cb367-31" aria-hidden="true"></a>}</span> -<span id="cb367-32"><a href="#cb367-32" aria-hidden="true"></a>```</span> -<span id="cb367-33"><a href="#cb367-33" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb367-34"><a href="#cb367-34" aria-hidden="true"></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="cb368"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb368-1"><a href="#cb368-1" aria-hidden="true"></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> -<blockquote> -<p>NOVOTNÝ, Vít, Petr SOJKA, Michal ŠTEFÁNIK and Dávid LUPTÁK. Three is Better than One: Ensembling Math Information Retrieval Systems. <em>CEUR Workshop Proceedings</em>. Thessaloniki, Greece: M. Jeusfeld c/o Redaktion Sun SITE, Informatik V, RWTH Aachen., 2020, vol. 2020, No 2696, p. 1-30. ISSN 1613-0073. <a href="http://ceur-ws.org/Vol-2696/paper_235.pdf" class="uri">http://ceur-ws.org/Vol-2696/paper_235.pdf</a></p> +<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="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> +<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> +<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> +<blockquote> +<p>NOVOTNÝ, Vít, Petr SOJKA, Michal ŠTEFÁNIK and Dávid LUPTÁK. Three is +Better than One: Ensembling Math Information Retrieval Systems. <em>CEUR +Workshop Proceedings</em>. Thessaloniki, Greece: M. Jeusfeld c/o +Redaktion Sun SITE, Informatik V, RWTH Aachen., 2020, vol. 2020, No +2696, p. 1-30. ISSN 1613-0073. <a +href="http://ceur-ws.org/Vol-2696/paper_235.pdf" +class="uri">http://ceur-ws.org/Vol-2696/paper_235.pdf</a></p> </blockquote> <dl> <dt><strong><code>witiko/graphicx/http</code></strong></dt> -<dd><p>A theme that adds support for downloading images whose URL has the http or https protocol. The theme requires the <strong><code>catchfile</code></strong> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package and a Unix-like operating system with GNU Coreutils <code>md5sum</code> and either GNU Wget or cURL installed. The theme also requires shell access unless the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option is enabled.</p> +<dd> +<p>A theme that adds support for downloading images whose URL has the +http or https protocol. The theme requires the +<strong><code>catchfile</code></strong> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package and a Unix-like +operating system with GNU Coreutils <code>md5sum</code> and either GNU +Wget or cURL installed. The theme also requires shell access unless the +<code>\markdownOptionFrozenCache</code> plain <span +class="tex">T<sub>e</sub>X</span> option is enabled.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" 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="cb369"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb369-1"><a href="#cb369-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb369-2"><a href="#cb369-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[theme=witiko/graphicx/http]{<span class="ex">markdown</span>}</span> -<span id="cb369-3"><a href="#cb369-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb369-4"><a href="#cb369-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb369-5"><a href="#cb369-5" aria-hidden="true"></a>![img](https://github.com/witiko/markdown/raw/main/markdown.png</span> -<span id="cb369-6"><a href="#cb369-6" aria-hidden="true"></a> "The banner of the Markdown package")</span> -<span id="cb369-7"><a href="#cb369-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb369-8"><a href="#cb369-8" aria-hidden="true"></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="cb370"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb370-1"><a href="#cb370-1" aria-hidden="true"></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> +<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="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> +<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> +<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="" /><figcaption>img</figcaption> +<img src="https://github.com/witiko/markdown/raw/main/markdown.png" +title="The banner of the Markdown package" alt="img" /> +<figcaption aria-hidden="true">img</figcaption> </figure> </blockquote> <dl> <dt><strong><code>witiko/tilde</code></strong></dt> -<dd><p>A theme that makes tilde (<code>~</code>) always typeset the non-breaking space even when the <strong><code>hybrid</code></strong> Lua option is disabled.</p> +<dd> +<p>A theme that makes tilde (<code>~</code>) always typeset the +non-breaking space even when the <strong><code>hybrid</code></strong> +Lua option is disabled.</p> </dd> </dl> -<h5 class="unnumbered" data-number="" 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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb371-2"><a href="#cb371-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[theme=witiko/tilde]{<span class="ex">markdown</span>}</span> -<span id="cb371-3"><a href="#cb371-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb371-4"><a href="#cb371-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb371-5"><a href="#cb371-5" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb371-6"><a href="#cb371-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb371-7"><a href="#cb371-7" aria-hidden="true"></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"></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> +<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="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> +<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> +<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> -<h4 data-number="2.2.3.4" id="latexsetupsnippets"><span class="header-section-number">2.2.3.4</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> setup snippets</h4> -<p>User-defined <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes provide global control over high-level goals. However, it is often desirable to change only some local aspects of a document. <span 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="cb373"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb373-1"><a href="#cb373-1" aria-hidden="true"></a><span class="fu">\markdownSetupSnippet</span>{romanNumerals}{</span> -<span id="cb373-2"><a href="#cb373-2" aria-hidden="true"></a> renderers = {</span> -<span id="cb373-3"><a href="#cb373-3" aria-hidden="true"></a> olItemWithNumber = {<span class="co">%</span></span> -<span id="cb373-4"><a href="#cb373-4" aria-hidden="true"></a> <span class="fu">\item</span>[<span class="fu">\romannumeral</span>#1<span class="fu">\relax</span>.]<span class="co">%</span></span> -<span id="cb373-5"><a href="#cb373-5" aria-hidden="true"></a> },</span> -<span id="cb373-6"><a href="#cb373-6" aria-hidden="true"></a> },</span> -<span id="cb373-7"><a href="#cb373-7" aria-hidden="true"></a>}</span> -<span id="cb373-8"><a href="#cb373-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb373-9"><a href="#cb373-9" aria-hidden="true"></a></span> -<span id="cb373-10"><a href="#cb373-10" aria-hidden="true"></a>The following ordered list will be preceded by arabic numerals:</span> -<span id="cb373-11"><a href="#cb373-11" aria-hidden="true"></a></span> -<span id="cb373-12"><a href="#cb373-12" aria-hidden="true"></a>1. wahid</span> -<span id="cb373-13"><a href="#cb373-13" aria-hidden="true"></a>2. aithnayn</span> -<span id="cb373-14"><a href="#cb373-14" aria-hidden="true"></a></span> -<span id="cb373-15"><a href="#cb373-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb373-16"><a href="#cb373-16" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{snippet=romanNumerals}</span> -<span id="cb373-17"><a href="#cb373-17" aria-hidden="true"></a></span> -<span id="cb373-18"><a href="#cb373-18" aria-hidden="true"></a>The following ordered list will be preceded by roman numerals:</span> -<span id="cb373-19"><a href="#cb373-19" aria-hidden="true"></a></span> -<span id="cb373-20"><a href="#cb373-20" aria-hidden="true"></a>3. tres</span> -<span id="cb373-21"><a href="#cb373-21" aria-hidden="true"></a>4. quattuor</span> -<span id="cb373-22"><a href="#cb373-22" aria-hidden="true"></a></span> -<span id="cb373-23"><a href="#cb373-23" aria-hidden="true"></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 markdown tokens, such as headings, emphasized text, links, and lists, in <span class="tex">T<sub>e</sub>X</span>. Instead of reducing <span class="tex">T<sub>e</sub>X</span> to a PDF document producer, the Markdown package allows the user to specify how every markdown token should be processed and rendered.</p> -<h3 data-number="2.3.1" id="texrenderersuser"><span class="header-section-number">2.3.1</span> Token Renderers</h3> -<p>Token renderers are user-defined <span class="tex">T<sub>e</sub>X</span> macros, which render markdown tokens. In this section, I will describe the individual token renderers.</p> -<h4 data-number="2.3.1.1" id="tickbox-renderers"><span class="header-section-number">2.3.1.1</span> Tickbox Renderers</h4> -<p>The macros named <code>\markdownRendererTickedBox</code>, <code>\markdownRendererHalfTickedBox</code>, and <code>\markdownRendererUntickedBox</code> represent ticked and unticked boxes, respectively. These macros will either be produced, when the <strong><code>taskLists</code></strong> option is enabled, or 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" data-number="" 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="cb374"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb374-1"><a href="#cb374-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb374-2"><a href="#cb374-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span> -<span id="cb374-3"><a href="#cb374-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb374-4"><a href="#cb374-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb374-5"><a href="#cb374-5" aria-hidden="true"></a> untickedBox = No,</span> -<span id="cb374-6"><a href="#cb374-6" aria-hidden="true"></a> tickedBox = Yes,</span> -<span id="cb374-7"><a href="#cb374-7" aria-hidden="true"></a> },</span> -<span id="cb374-8"><a href="#cb374-8" aria-hidden="true"></a>}</span> -<span id="cb374-9"><a href="#cb374-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb374-10"><a href="#cb374-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb374-11"><a href="#cb374-11" aria-hidden="true"></a>- [ ] you can't.</span> -<span id="cb374-12"><a href="#cb374-12" aria-hidden="true"></a>- [x] I can!</span> -<span id="cb374-13"><a href="#cb374-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb374-14"><a href="#cb374-14" aria-hidden="true"></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="cb375"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb375-1"><a href="#cb375-1" aria-hidden="true"></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> +<h4 data-number="2.2.3.4" id="latexsetupsnippets"><span +class="header-section-number">2.2.3.4</span> <span +class="latex">L<sup>a</sup>T<sub>e</sub>X</span> setup snippets</h4> +<p>User-defined <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> +themes provide global control over high-level goals. However, it is +often desirable to change only some local aspects of a document. <span +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> +<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 +markdown tokens, such as headings, emphasized text, links, and lists, in +<span class="tex">T<sub>e</sub>X</span>. Instead of reducing <span +class="tex">T<sub>e</sub>X</span> to a PDF document producer, the +Markdown package allows the user to specify how every markdown token +should be processed and rendered.</p> +<h3 data-number="2.3.1" id="texrenderersuser"><span +class="header-section-number">2.3.1</span> Token Renderers</h3> +<p>Token renderers are user-defined <span +class="tex">T<sub>e</sub>X</span> macros, which render markdown tokens. +In this section, I will describe the individual token renderers.</p> +<h4 data-number="2.3.1.1" id="tickbox-renderers"><span +class="header-section-number">2.3.1.1</span> Tickbox Renderers</h4> +<p>The macros named <code>\markdownRendererTickedBox</code>, +<code>\markdownRendererHalfTickedBox</code>, and +<code>\markdownRendererUntickedBox</code> represent ticked and unticked +boxes, respectively. These macros will either be produced, when the +<strong><code>taskLists</code></strong> option is enabled, or 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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <ul> <li>No you can’t.</li> <li>Yes I can!</li> </ul> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-32">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="cb376"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb376-1"><a href="#cb376-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb376-2"><a href="#cb376-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[taskLists = yes]</span> -<span id="cb376-3"><a href="#cb376-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span> -<span id="cb376-4"><a href="#cb376-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span> -<span id="cb376-5"><a href="#cb376-5" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb376-6"><a href="#cb376-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb376-7"><a href="#cb376-7" aria-hidden="true"></a>- [ ] you can't.</span> -<span id="cb376-8"><a href="#cb376-8" aria-hidden="true"></a>- [x] I can!</span> -<span id="cb376-9"><a href="#cb376-9" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb376-10"><a href="#cb376-10" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb377"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb377-1"><a href="#cb377-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="context-example-32">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <ul> <li>No you can’t.</li> <li>Yes I can!</li> </ul> </blockquote> -<h4 data-number="2.3.1.2" id="markdown-document-renderers"><span class="header-section-number">2.3.1.2</span> Markdown Document Renderers</h4> -<p>The <code>\markdownRendererDocumentBegin</code> and <code>\markdownRendererDocumentEnd</code> macros represent the beginning and the end of a <em>markdown</em> document. The macros receive no arguments.</p> -<p>A <span class="tex">T<sub>e</sub>X</span> document may contain any 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" data-number="" 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>nested.md</code> with the following content:</p> -<div class="sourceCode" id="cb378"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb378-1"><a href="#cb378-1" aria-hidden="true"></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="cb379"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb379-1"><a href="#cb379-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb379-2"><a href="#cb379-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> -<span id="cb379-3"><a href="#cb379-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb379-4"><a href="#cb379-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb379-5"><a href="#cb379-5" aria-hidden="true"></a> contentBlock = {<span class="co">%</span></span> -<span id="cb379-6"><a href="#cb379-6" aria-hidden="true"></a> <span class="fu">\markdownInput</span>{#3}<span class="co">%</span></span> -<span id="cb379-7"><a href="#cb379-7" aria-hidden="true"></a> },</span> -<span id="cb379-8"><a href="#cb379-8" aria-hidden="true"></a> documentBegin = {<span class="co">%</span></span> -<span id="cb379-9"><a href="#cb379-9" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-10"><a href="#cb379-10" aria-hidden="true"></a> <span class="fu">\emph</span>{(The beginning of a document)}</span> -<span id="cb379-11"><a href="#cb379-11" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-12"><a href="#cb379-12" aria-hidden="true"></a> <span class="fu">\begingroup</span></span> -<span id="cb379-13"><a href="#cb379-13" aria-hidden="true"></a> <span class="fu">\markdownSetup</span>{snippet=first-nesting-level}<span class="co">%</span></span> -<span id="cb379-14"><a href="#cb379-14" aria-hidden="true"></a> },</span> -<span id="cb379-15"><a href="#cb379-15" aria-hidden="true"></a> documentEnd = {<span class="co">%</span></span> -<span id="cb379-16"><a href="#cb379-16" aria-hidden="true"></a> <span class="fu">\endgroup</span></span> -<span id="cb379-17"><a href="#cb379-17" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-18"><a href="#cb379-18" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a document)}</span> -<span id="cb379-19"><a href="#cb379-19" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-20"><a href="#cb379-20" aria-hidden="true"></a> },</span> -<span id="cb379-21"><a href="#cb379-21" aria-hidden="true"></a> },</span> -<span id="cb379-22"><a href="#cb379-22" aria-hidden="true"></a>}</span> -<span id="cb379-23"><a href="#cb379-23" aria-hidden="true"></a><span class="fu">\markdownSetupSnippet</span>{first-nesting-level}{</span> -<span id="cb379-24"><a href="#cb379-24" aria-hidden="true"></a> renderers = {</span> -<span id="cb379-25"><a href="#cb379-25" aria-hidden="true"></a> documentBegin = {</span> -<span id="cb379-26"><a href="#cb379-26" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-27"><a href="#cb379-27" aria-hidden="true"></a> <span class="fu">\emph</span>{(The beginning of a nested document)}</span> -<span id="cb379-28"><a href="#cb379-28" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-29"><a href="#cb379-29" aria-hidden="true"></a> <span class="fu">\begingroup</span></span> -<span id="cb379-30"><a href="#cb379-30" aria-hidden="true"></a> <span class="fu">\markdownSetup</span>{snippet=second-nesting-level-and-below}</span> -<span id="cb379-31"><a href="#cb379-31" aria-hidden="true"></a> },</span> -<span id="cb379-32"><a href="#cb379-32" aria-hidden="true"></a> },</span> -<span id="cb379-33"><a href="#cb379-33" aria-hidden="true"></a>}</span> -<span id="cb379-34"><a href="#cb379-34" aria-hidden="true"></a><span class="fu">\markdownSetupSnippet</span>{second-nesting-level-and-below}{</span> -<span id="cb379-35"><a href="#cb379-35" aria-hidden="true"></a> renderers = {</span> -<span id="cb379-36"><a href="#cb379-36" aria-hidden="true"></a> documentBegin = {</span> -<span id="cb379-37"><a href="#cb379-37" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-38"><a href="#cb379-38" aria-hidden="true"></a> <span class="fu">\emph</span>{(The beginning of a nested document)}</span> -<span id="cb379-39"><a href="#cb379-39" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-40"><a href="#cb379-40" aria-hidden="true"></a> <span class="fu">\begingroup</span></span> -<span id="cb379-41"><a href="#cb379-41" aria-hidden="true"></a> },</span> -<span id="cb379-42"><a href="#cb379-42" aria-hidden="true"></a> documentEnd = {</span> -<span id="cb379-43"><a href="#cb379-43" aria-hidden="true"></a> <span class="fu">\endgroup</span></span> -<span id="cb379-44"><a href="#cb379-44" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-45"><a href="#cb379-45" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a nested document)}</span> -<span id="cb379-46"><a href="#cb379-46" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb379-47"><a href="#cb379-47" aria-hidden="true"></a> },</span> -<span id="cb379-48"><a href="#cb379-48" aria-hidden="true"></a> },</span> -<span id="cb379-49"><a href="#cb379-49" aria-hidden="true"></a>}</span> -<span id="cb379-50"><a href="#cb379-50" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb379-51"><a href="#cb379-51" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb379-52"><a href="#cb379-52" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb379-53"><a href="#cb379-53" aria-hidden="true"></a></span> -<span id="cb379-54"><a href="#cb379-54" aria-hidden="true"></a>/nested.md</span> -<span id="cb379-55"><a href="#cb379-55" aria-hidden="true"></a></span> -<span id="cb379-56"><a href="#cb379-56" aria-hidden="true"></a>_Foo_ bar!</span> -<span id="cb379-57"><a href="#cb379-57" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb379-58"><a href="#cb379-58" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb379-59"><a href="#cb379-59" aria-hidden="true"></a></span> -<span id="cb379-60"><a href="#cb379-60" aria-hidden="true"></a>Bar baz!</span> -<span id="cb379-61"><a href="#cb379-61" aria-hidden="true"></a></span> -<span id="cb379-62"><a href="#cb379-62" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb379-63"><a href="#cb379-63" aria-hidden="true"></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="cb380"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb380-1"><a href="#cb380-1" aria-hidden="true"></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> +<h4 data-number="2.3.1.2" id="markdown-document-renderers"><span +class="header-section-number">2.3.1.2</span> Markdown Document +Renderers</h4> +<p>The <code>\markdownRendererDocumentBegin</code> and +<code>\markdownRendererDocumentEnd</code> macros represent the beginning +and the end of a <em>markdown</em> document. The macros receive no +arguments.</p> +<p>A <span class="tex">T<sub>e</sub>X</span> document may contain any +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 +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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p><em>(The beginning of a document)</em></p> <p>Hello <em>world</em>!</p> @@ -4596,664 +6493,937 @@ Thomas,Edison,1847</code></pre> <p>Bar baz!</p> <p><em>(The end of a document)</em></p> </blockquote> -<h4 data-number="2.3.1.3" id="interblock-separator-renderer"><span class="header-section-number">2.3.1.3</span> Interblock Separator Renderer</h4> -<p>The <code>\markdownRendererInterblockSeparator</code> macro represents a separator between two markdown block elements. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-18">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="cb381"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb381-1"><a href="#cb381-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb381-2"><a href="#cb381-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb381-3"><a href="#cb381-3" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb381-4"><a href="#cb381-4" aria-hidden="true"></a> {<span class="fu">\it</span>(The end of a block)}<span class="co">%</span></span> -<span id="cb381-5"><a href="#cb381-5" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb381-6"><a href="#cb381-6" aria-hidden="true"></a>}</span> -<span id="cb381-7"><a href="#cb381-7" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb381-8"><a href="#cb381-8" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb381-9"><a href="#cb381-9" aria-hidden="true"></a></span> -<span id="cb381-10"><a href="#cb381-10" aria-hidden="true"></a>_Foo_ bar!</span> -<span id="cb381-11"><a href="#cb381-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb381-12"><a href="#cb381-12" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb382"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb382-1"><a href="#cb382-1" aria-hidden="true"></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> +<h4 data-number="2.3.1.3" id="interblock-separator-renderer"><span +class="header-section-number">2.3.1.3</span> Interblock Separator +Renderer</h4> +<p>The <code>\markdownRendererInterblockSeparator</code> macro +represents a separator between two markdown block elements. The macro +receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-18">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb383"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb383-1"><a href="#cb383-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb383-2"><a href="#cb383-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-3"><a href="#cb383-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb383-4"><a href="#cb383-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb383-5"><a href="#cb383-5" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb383-6"><a href="#cb383-6" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb383-7"><a href="#cb383-7" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span> -<span id="cb383-8"><a href="#cb383-8" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb383-9"><a href="#cb383-9" aria-hidden="true"></a> },</span> -<span id="cb383-10"><a href="#cb383-10" aria-hidden="true"></a> },</span> -<span id="cb383-11"><a href="#cb383-11" aria-hidden="true"></a>}</span> -<span id="cb383-12"><a href="#cb383-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb383-13"><a href="#cb383-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-14"><a href="#cb383-14" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb383-15"><a href="#cb383-15" aria-hidden="true"></a></span> -<span id="cb383-16"><a href="#cb383-16" aria-hidden="true"></a>_Foo_ bar!</span> -<span id="cb383-17"><a href="#cb383-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb383-18"><a href="#cb383-18" aria-hidden="true"></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"></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> +<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>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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-33">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="cb385"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb385-1"><a href="#cb385-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb385-2"><a href="#cb385-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb385-3"><a href="#cb385-3" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb385-4"><a href="#cb385-4" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span> -<span id="cb385-5"><a href="#cb385-5" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb385-6"><a href="#cb385-6" aria-hidden="true"></a>}</span> -<span id="cb385-7"><a href="#cb385-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb385-8"><a href="#cb385-8" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb385-9"><a href="#cb385-9" aria-hidden="true"></a>Hello *world*!</span> -<span id="cb385-10"><a href="#cb385-10" aria-hidden="true"></a></span> -<span id="cb385-11"><a href="#cb385-11" aria-hidden="true"></a>_Foo_ bar!</span> -<span id="cb385-12"><a href="#cb385-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb385-13"><a href="#cb385-13" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-33">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h4 data-number="2.3.1.4" id="line-break-renderer"><span class="header-section-number">2.3.1.4</span> Line Break Renderer</h4> -<p>The <code>\markdownRendererLineBreak</code> macro represents a forced line break. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-19">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="cb387"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb387-1"><a href="#cb387-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb387-2"><a href="#cb387-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span> -<span id="cb387-3"><a href="#cb387-3" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb387-4"><a href="#cb387-4" aria-hidden="true"></a> {<span class="fu">\it</span>(A forced linebreak)}<span class="co">%</span></span> -<span id="cb387-5"><a href="#cb387-5" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb387-6"><a href="#cb387-6" aria-hidden="true"></a>}</span> -<span id="cb387-7"><a href="#cb387-7" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb387-8"><a href="#cb387-8" aria-hidden="true"></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 limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> +<h4 data-number="2.3.1.4" id="line-break-renderer"><span +class="header-section-number">2.3.1.4</span> Line Break Renderer</h4> +<p>The <code>\markdownRendererLineBreak</code> macro represents a forced +line break. The macro receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-19">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="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> +<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 +limitations of the <span class="tex">T<sub>e</sub>X</span> input +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="cb388"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb388-1"><a href="#cb388-1" aria-hidden="true"></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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(A forced linebreak)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 class="unnumbered" data-number="" 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>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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb389-2"><a href="#cb389-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb389-3"><a href="#cb389-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb389-4"><a href="#cb389-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb389-5"><a href="#cb389-5" aria-hidden="true"></a> lineBreak = {<span class="co">%</span></span> -<span id="cb389-6"><a href="#cb389-6" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb389-7"><a href="#cb389-7" aria-hidden="true"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span> -<span id="cb389-8"><a href="#cb389-8" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb389-9"><a href="#cb389-9" aria-hidden="true"></a> },</span> -<span id="cb389-10"><a href="#cb389-10" aria-hidden="true"></a> },</span> -<span id="cb389-11"><a href="#cb389-11" aria-hidden="true"></a>}</span> -<span id="cb389-12"><a href="#cb389-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb389-13"><a href="#cb389-13" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb389-14"><a href="#cb389-14" aria-hidden="true"></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 limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> +<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="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> +<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 +limitations of the <span class="tex">T<sub>e</sub>X</span> input +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="cb390"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb390-1"><a href="#cb390-1" aria-hidden="true"></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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(A forced linebreak)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-34">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="cb391"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb391-1"><a href="#cb391-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb391-2"><a href="#cb391-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span> -<span id="cb391-3"><a href="#cb391-3" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb391-4"><a href="#cb391-4" aria-hidden="true"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span> -<span id="cb391-5"><a href="#cb391-5" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb391-6"><a href="#cb391-6" aria-hidden="true"></a>}</span> -<span id="cb391-7"><a href="#cb391-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb391-8"><a href="#cb391-8" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span> -<span id="cb391-9"><a href="#cb391-9" aria-hidden="true"></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 limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p> +<h5 class="unnumbered" id="context-example-34">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="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> +<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 +limitations of the <span class="tex">T<sub>e</sub>X</span> input +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"></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> +<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> <p>Hello <em>world</em>!</p> <p><em>(A forced linebreak)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h4 data-number="2.3.1.5" id="ellipsis-renderer"><span class="header-section-number">2.3.1.5</span> Ellipsis Renderer</h4> -<p>The <code>\markdownRendererEllipsis</code> macro replaces any occurance of ASCII ellipses in the input text. This macro will only be produced, when the <strong><code>smartEllipses</code></strong> option is enabled. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-20">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="cb393"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb393-1"><a href="#cb393-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb393-2"><a href="#cb393-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span> -<span id="cb393-3"><a href="#cb393-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{{<span class="fu">\it</span> SHAZAM}!}</span> -<span id="cb393-4"><a href="#cb393-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb393-5"><a href="#cb393-5" aria-hidden="true"></a>The secret word is ...</span> -<span id="cb393-6"><a href="#cb393-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb393-7"><a href="#cb393-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<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"></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> +<h4 data-number="2.3.1.5" id="ellipsis-renderer"><span +class="header-section-number">2.3.1.5</span> Ellipsis Renderer</h4> +<p>The <code>\markdownRendererEllipsis</code> macro replaces any +occurance of ASCII ellipses in the input text. This macro will only be +produced, when the <strong><code>smartEllipses</code></strong> option is +enabled. The macro receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-20">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="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> +<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> +<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" data-number="" 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="cb395"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb395-1"><a href="#cb395-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb395-2"><a href="#cb395-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span> -<span id="cb395-3"><a href="#cb395-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb395-4"><a href="#cb395-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb395-5"><a href="#cb395-5" aria-hidden="true"></a> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</span> -<span id="cb395-6"><a href="#cb395-6" aria-hidden="true"></a> },</span> -<span id="cb395-7"><a href="#cb395-7" aria-hidden="true"></a>}</span> -<span id="cb395-8"><a href="#cb395-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb395-9"><a href="#cb395-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb395-10"><a href="#cb395-10" aria-hidden="true"></a>The secret word is ...</span> -<span id="cb395-11"><a href="#cb395-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb395-12"><a href="#cb395-12" aria-hidden="true"></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="cb396"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb396-1"><a href="#cb396-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-35">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="cb397"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb397-1"><a href="#cb397-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb397-2"><a href="#cb397-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[smartEllipses = yes]</span> -<span id="cb397-3"><a href="#cb397-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{<span class="fu">\emph</span>{SHAZAM}!}</span> -<span id="cb397-4"><a href="#cb397-4" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb397-5"><a href="#cb397-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb397-6"><a href="#cb397-6" aria-hidden="true"></a>The secret word is ...</span> -<span id="cb397-7"><a href="#cb397-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb397-8"><a href="#cb397-8" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-35">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>Hello <em>world</em>!</p> <p><em>(The end of a block)</em></p> <p><em>Foo</em> bar!</p> </blockquote> -<h4 data-number="2.3.1.6" id="non-breaking-space-renderer"><span 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" data-number="" 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.bib</code> with the following content:</p> -<div class="sourceCode" id="cb399"><pre class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb399-1"><a href="#cb399-1" aria-hidden="true"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span> -<span id="cb399-2"><a href="#cb399-2" aria-hidden="true"></a> <span class="dt">author</span> = "<span class="st">Knuth, Donald Ervin</span>",</span> -<span id="cb399-3"><a href="#cb399-3" aria-hidden="true"></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="cb399-4"><a href="#cb399-4" aria-hidden="true"></a> <span class="dt">publisher</span> = "<span class="st">Addison-Wesley</span>",</span> -<span id="cb399-5"><a href="#cb399-5" aria-hidden="true"></a> <span class="dt">year</span> = "<span class="st">1984</span>"</span> -<span id="cb399-6"><a href="#cb399-6" aria-hidden="true"></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="cb400"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb400-1"><a href="#cb400-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb400-2"><a href="#cb400-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[</span> -<span id="cb400-3"><a href="#cb400-3" aria-hidden="true"></a> citations,</span> -<span id="cb400-4"><a href="#cb400-4" aria-hidden="true"></a> citationNbsps,</span> -<span id="cb400-5"><a href="#cb400-5" aria-hidden="true"></a>]{<span class="ex">markdown</span>}</span> -<span id="cb400-6"><a href="#cb400-6" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb400-7"><a href="#cb400-7" aria-hidden="true"></a> renderers = {</span> -<span id="cb400-8"><a href="#cb400-8" aria-hidden="true"></a> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</span> -<span id="cb400-9"><a href="#cb400-9" aria-hidden="true"></a> },</span> -<span id="cb400-10"><a href="#cb400-10" aria-hidden="true"></a>}</span> -<span id="cb400-11"><a href="#cb400-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb400-12"><a href="#cb400-12" aria-hidden="true"></a></span> -<span id="cb400-13"><a href="#cb400-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb400-14"><a href="#cb400-14" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span> -<span id="cb400-15"><a href="#cb400-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb400-16"><a href="#cb400-16" aria-hidden="true"></a></span> -<span id="cb400-17"><a href="#cb400-17" aria-hidden="true"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span> -<span id="cb400-18"><a href="#cb400-18" aria-hidden="true"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span> -<span id="cb400-19"><a href="#cb400-19" aria-hidden="true"></a></span> -<span id="cb400-20"><a href="#cb400-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div> +<h4 data-number="2.3.1.6" id="non-breaking-space-renderer"><span +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 +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> +<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> <p>Next, invoke LuaTeX and BibTeX from the terminal:</p> -<div class="sourceCode" id="cb401"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb401-1"><a href="#cb401-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb401-2"><a href="#cb401-2" aria-hidden="true"></a><span class="ex">bibtex</span> document.aux</span> -<span id="cb401-3"><a href="#cb401-3" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb401-4"><a href="#cb401-4" aria-hidden="true"></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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>The TeXbook [1, p.·123·and·130] is good.</p> <h3 id="references-2">References</h3> -<p><a href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a> Donald Ervin Knuth. <em>The TeXbook, volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p> -</blockquote> -<h4 data-number="2.3.1.7" id="special-character-renderers"><span class="header-section-number">2.3.1.7</span> Special Character Renderers</h4> -<p>The following macros replace any special plain <span class="tex">T<sub>e</sub>X</span> characters, including the active pipe character (<code>|</code>) of Con<span class="tex">T<sub>e</sub>X</span>t, in the input text:</p> +<p><a +href="https://datatracker.ietf.org/doc/html/rfc3986#section-4.2">1</a> +Donald Ervin Knuth. <em>The TeXbook, volume A of Computers and +typesetting.</em> Addison-Wesley, 1984.</p> +</blockquote> +<h4 data-number="2.3.1.7" id="special-character-renderers"><span +class="header-section-number">2.3.1.7</span> Special Character +Renderers</h4> +<p>The following macros replace any special plain <span +class="tex">T<sub>e</sub>X</span> characters, including the active pipe +character (<code>|</code>) of Con<span +class="tex">T<sub>e</sub>X</span>t, in the input text:</p> <ul> -<li><code>\markdownRendererAmpersand</code> replaces the ampersand (<code>&</code>).</li> -<li><code>\markdownRendererBackslash</code> replaces the backslash (<code>\</code>).</li> -<li><code>\markdownRendererCircumflex</code> replaces the circumflex (<code>^</code>).</li> -<li><code>\markdownRendererDollarSign</code> replaces the dollar sign (<code>$</code>).</li> -<li><code>\markdownRendererHash</code> replaces the hash sign (<code>#</code>).</li> -<li><code>\markdownRendererLeftBrace</code> replaces the left brace (<code>{</code>).</li> -<li><code>\markdownRendererPercentSign</code> replaces the percent sign (<code>%</code>).</li> -<li><code>\markdownRendererPipe</code> replaces the pipe character (<code>|</code>).</li> -<li><code>\markdownRendererRightBrace</code> replaces the right brace (<code>}</code>).</li> -<li><code>\markdownRendererTilde</code> replaces the tilde (<code>~</code>).</li> -<li><code>\markdownRendererUnderscore</code> replaces the underscore (<code>_</code>).</li> +<li><code>\markdownRendererAmpersand</code> replaces the ampersand +(<code>&</code>).</li> +<li><code>\markdownRendererBackslash</code> replaces the backslash +(<code>\</code>).</li> +<li><code>\markdownRendererCircumflex</code> replaces the circumflex +(<code>^</code>).</li> +<li><code>\markdownRendererDollarSign</code> replaces the dollar sign +(<code>$</code>).</li> +<li><code>\markdownRendererHash</code> replaces the hash sign +(<code>#</code>).</li> +<li><code>\markdownRendererLeftBrace</code> replaces the left brace +(<code>{</code>).</li> +<li><code>\markdownRendererPercentSign</code> replaces the percent sign +(<code>%</code>).</li> +<li><code>\markdownRendererPipe</code> replaces the pipe character +(<code>|</code>).</li> +<li><code>\markdownRendererRightBrace</code> replaces the right brace +(<code>}</code>).</li> +<li><code>\markdownRendererTilde</code> replaces the tilde +(<code>~</code>).</li> +<li><code>\markdownRendererUnderscore</code> replaces the underscore +(<code>_</code>).</li> </ul> -<h5 class="unnumbered" data-number="" id="plain-tex-example-21">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. 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="cb402"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb402-1"><a href="#cb402-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb402-2"><a href="#cb402-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span> -<span id="cb402-3"><a href="#cb402-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb402-4"><a href="#cb402-4" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb402-5"><a href="#cb402-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb402-6"><a href="#cb402-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb403"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb403-1"><a href="#cb403-1" aria-hidden="true"></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> +<h5 class="unnumbered" id="plain-tex-example-21">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. 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="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> +<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> +<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" data-number="" 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. 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="cb404"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb404-1"><a href="#cb404-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb404-2"><a href="#cb404-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb404-3"><a href="#cb404-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb404-4"><a href="#cb404-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb404-5"><a href="#cb404-5" aria-hidden="true"></a> tilde = ~,</span> -<span id="cb404-6"><a href="#cb404-6" aria-hidden="true"></a> },</span> -<span id="cb404-7"><a href="#cb404-7" aria-hidden="true"></a>}</span> -<span id="cb404-8"><a href="#cb404-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb404-9"><a href="#cb404-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb404-10"><a href="#cb404-10" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb404-11"><a href="#cb404-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb404-12"><a href="#cb404-12" aria-hidden="true"></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="cb405"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb405-1"><a href="#cb405-1" aria-hidden="true"></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> +<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.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> +<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> +<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" data-number="" id="context-example-36">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. 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="cb406"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb406-1"><a href="#cb406-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb406-2"><a href="#cb406-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span> -<span id="cb406-3"><a href="#cb406-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb406-4"><a href="#cb406-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb406-5"><a href="#cb406-5" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span> -<span id="cb406-6"><a href="#cb406-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb406-7"><a href="#cb406-7" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-36">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. 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="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> +<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> +<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> -<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 code span in the input text. It receives a single argument that corresponds to the inlined code span.</p> -<h5 class="unnumbered" data-number="" 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="cb408"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb408-1"><a href="#cb408-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb408-2"><a href="#cb408-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span> -<span id="cb408-3"><a href="#cb408-3" aria-hidden="true"></a></span> -<span id="cb408-4"><a href="#cb408-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span> -<span id="cb408-5"><a href="#cb408-5" aria-hidden="true"></a></span> -<span id="cb408-6"><a href="#cb408-6" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb408-7"><a href="#cb408-7" aria-hidden="true"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> -<span id="cb408-8"><a href="#cb408-8" aria-hidden="true"></a></span> -<span id="cb408-9"><a href="#cb408-9" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb408-10"><a href="#cb408-10" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb408-11"><a href="#cb408-11" aria-hidden="true"></a></span> -<span id="cb408-12"><a href="#cb408-12" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span> -<span id="cb408-13"><a href="#cb408-13" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb408-14"><a href="#cb408-14" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb408-15"><a href="#cb408-15" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb408-16"><a href="#cb408-16" aria-hidden="true"></a></span> -<span id="cb408-17"><a href="#cb408-17" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<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 +code span in the input text. It receives a single argument that +corresponds to the inlined 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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</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" data-number="" 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.tex</code> with the following content:</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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb410-2"><a href="#cb410-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span> -<span id="cb410-3"><a href="#cb410-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb410-4"><a href="#cb410-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb410-5"><a href="#cb410-5" aria-hidden="true"></a> codeSpan = {#1},</span> -<span id="cb410-6"><a href="#cb410-6" aria-hidden="true"></a> },</span> -<span id="cb410-7"><a href="#cb410-7" aria-hidden="true"></a>}</span> -<span id="cb410-8"><a href="#cb410-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb410-9"><a href="#cb410-9" aria-hidden="true"></a></span> -<span id="cb410-10"><a href="#cb410-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb410-11"><a href="#cb410-11" aria-hidden="true"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span> -<span id="cb410-12"><a href="#cb410-12" aria-hidden="true"></a></span> -<span id="cb410-13"><a href="#cb410-13" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb410-14"><a href="#cb410-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb410-15"><a href="#cb410-15" aria-hidden="true"></a></span> -<span id="cb410-16"><a href="#cb410-16" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span> -<span id="cb410-17"><a href="#cb410-17" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span> -<span id="cb410-18"><a href="#cb410-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb410-19"><a href="#cb410-19" aria-hidden="true"></a></span> -<span id="cb410-20"><a href="#cb410-20" aria-hidden="true"></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="cb411"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb411-1"><a href="#cb411-1" aria-hidden="true"></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> +<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:</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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</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" data-number="" id="context-example-37">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="cb412"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb412-1"><a href="#cb412-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb412-2"><a href="#cb412-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span> -<span id="cb412-3"><a href="#cb412-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb412-4"><a href="#cb412-4" aria-hidden="true"></a></span> -<span id="cb412-5"><a href="#cb412-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb412-6"><a href="#cb412-6" aria-hidden="true"></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-7"><a href="#cb412-7" aria-hidden="true"></a></span> -<span id="cb412-8"><a href="#cb412-8" aria-hidden="true"></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-9"><a href="#cb412-9" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb412-10"><a href="#cb412-10" aria-hidden="true"></a></span> -<span id="cb412-11"><a href="#cb412-11" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[hybrid = yes]</span> -<span id="cb412-12"><a href="#cb412-12" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb412-13"><a href="#cb412-13" aria-hidden="true"></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-14"><a href="#cb412-14" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb412-15"><a href="#cb412-15" aria-hidden="true"></a></span> -<span id="cb412-16"><a href="#cb412-16" aria-hidden="true"></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"></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> +<h5 class="unnumbered" id="context-example-37">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>$\sqrt{-1}$ *equals* $i$.</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.3.1.9" id="link-renderer"><span class="header-section-number">2.3.1.9</span> Link Renderer</h4> -<p>The <code>\markdownRendererLink</code> macro represents a hyperlink. It 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" data-number="" id="plain-tex-example-23">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="cb414"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb414-1"><a href="#cb414-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb414-2"><a href="#cb414-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb414-3"><a href="#cb414-3" aria-hidden="true"></a> #1 {<span class="fu">\tt</span>#2} titled {<span class="fu">\it</span>#4}<span class="co">%</span></span> -<span id="cb414-4"><a href="#cb414-4" aria-hidden="true"></a>}</span> -<span id="cb414-5"><a href="#cb414-5" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb414-6"><a href="#cb414-6" aria-hidden="true"></a>Please visit [the link][ctan].</span> -<span id="cb414-7"><a href="#cb414-7" aria-hidden="true"></a></span> -<span id="cb414-8"><a href="#cb414-8" aria-hidden="true"></a> [ctan]: https://ctan.org/</span> -<span id="cb414-9"><a href="#cb414-9" aria-hidden="true"></a> (the Comprehensive TeX Archive Network)</span> -<span id="cb414-10"><a href="#cb414-10" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb414-11"><a href="#cb414-11" aria-hidden="true"></a><span class="fu">\bye</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"></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>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> -</blockquote> -<h5 class="unnumbered" data-number="" 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:</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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb416-2"><a href="#cb416-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb416-3"><a href="#cb416-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb416-4"><a href="#cb416-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb416-5"><a href="#cb416-5" aria-hidden="true"></a> link = {<span class="co">%</span></span> -<span id="cb416-6"><a href="#cb416-6" aria-hidden="true"></a> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span> -<span id="cb416-7"><a href="#cb416-7" aria-hidden="true"></a> },</span> -<span id="cb416-8"><a href="#cb416-8" aria-hidden="true"></a> },</span> -<span id="cb416-9"><a href="#cb416-9" aria-hidden="true"></a>}</span> -<span id="cb416-10"><a href="#cb416-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb416-11"><a href="#cb416-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb416-12"><a href="#cb416-12" aria-hidden="true"></a>Please visit [the link][ctan].</span> -<span id="cb416-13"><a href="#cb416-13" aria-hidden="true"></a></span> -<span id="cb416-14"><a href="#cb416-14" aria-hidden="true"></a> [ctan]: https://ctan.org/</span> -<span id="cb416-15"><a href="#cb416-15" aria-hidden="true"></a> (the Comprehensive TeX Archive Network)</span> -<span id="cb416-16"><a href="#cb416-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb416-17"><a href="#cb416-17" aria-hidden="true"></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="cb417"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb417-1"><a href="#cb417-1" aria-hidden="true"></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>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> -</blockquote> -<h5 class="unnumbered" data-number="" id="context-example-38">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="cb418"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb418-1"><a href="#cb418-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb418-2"><a href="#cb418-2" aria-hidden="true"></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"></a> #1 {<span class="fu">\tt</span>#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span> -<span id="cb418-4"><a href="#cb418-4" aria-hidden="true"></a>}</span> -<span id="cb418-5"><a href="#cb418-5" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb418-6"><a href="#cb418-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb418-7"><a href="#cb418-7" aria-hidden="true"></a>Please visit [the link][ctan].</span> -<span id="cb418-8"><a href="#cb418-8" aria-hidden="true"></a></span> -<span id="cb418-9"><a href="#cb418-9" aria-hidden="true"></a> [ctan]: https://ctan.org/</span> -<span id="cb418-10"><a href="#cb418-10" aria-hidden="true"></a> (the Comprehensive TeX Archive Network)</span> -<span id="cb418-11"><a href="#cb418-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb418-12"><a href="#cb418-12" aria-hidden="true"></a><span class="fu">\stoptext</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"></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>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p> -</blockquote> -<h4 data-number="2.3.1.10" id="image-renderer"><span class="header-section-number">2.3.1.10</span> Image Renderer</h4> -<p>The <code>\markdownRendererImage</code> macro represents an image. It 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" data-number="" 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="cb420"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb420-1"><a href="#cb420-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb420-2"><a href="#cb420-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb420-3"><a href="#cb420-3" aria-hidden="true"></a><span class="fu">\begingroup</span></span> -<span id="cb420-4"><a href="#cb420-4" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</span> -<span id="cb420-5"><a href="#cb420-5" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span> -<span id="cb420-6"><a href="#cb420-6" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</span> -<span id="cb420-7"><a href="#cb420-7" aria-hidden="true"></a><span class="fu">\global\def\markdownRendererImage</span>#1#2#3#4{^^A</span> -<span id="cb420-8"><a href="#cb420-8" aria-hidden="true"></a> <span class="fu">\immediate\write</span>18{^^A</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"></a> <span class="kw">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> -q ^http<span class="kw">;</span> <span class="kw">then</span></span> -<span id="cb421-2"><a href="#cb421-2" aria-hidden="true"></a> <span class="va">OUTPUT=</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="ex">md5sum</span> <span class="kw">|</span> <span class="fu">cut</span> -d<span class="st">' '</span> -f1<span class="va">)</span><span class="st">.^^A</span></span> -<span id="cb421-3"><a href="#cb421-3" aria-hidden="true"></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> -<span id="cb421-4"><a href="#cb421-4" aria-hidden="true"></a> <span class="kw">if</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">then</span></span> -<span id="cb421-5"><a href="#cb421-5" aria-hidden="true"></a> <span class="fu">wget</span> -O <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="cb421-6"><a href="#cb421-6" aria-hidden="true"></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="cb421-7"><a href="#cb421-7" aria-hidden="true"></a> <span class="kw">fi</span>;</span> -<span id="cb421-8"><a href="#cb421-8" aria-hidden="true"></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> \jobname.fetched<span class="kw">;</span></span> -<span id="cb421-9"><a href="#cb421-9" aria-hidden="true"></a> <span class="kw">else</span></span> -<span id="cb421-10"><a href="#cb421-10" aria-hidden="true"></a> <span class="bu">printf</span> <span class="st">'%s%%'</span> <span class="st">"#3"</span> <span class="op">></span> \jobname.fetched<span class="kw">;</span></span> -<span id="cb421-11"><a href="#cb421-11" aria-hidden="true"></a> <span class="kw">fi</span>^^<span class="ex">A</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"></a> }^^A</span> -<span id="cb422-2"><a href="#cb422-2" aria-hidden="true"></a> {^^A</span> -<span id="cb422-3"><a href="#cb422-3" aria-hidden="true"></a> <span class="fu">\everyeof</span>={<span class="fu">\noexpand</span>}^^A</span> -<span id="cb422-4"><a href="#cb422-4" aria-hidden="true"></a> <span class="fu">\edef\filename</span>{<span class="fu">\_</span>_markdowninput"<span class="fu">\jobname</span>.fetched" }^^A</span> -<span id="cb422-5"><a href="#cb422-5" aria-hidden="true"></a> <span class="bu">\includegraphics</span>[width=<span class="fu">\textwidth</span>]{<span class="fu">\filename</span>}^^A</span> -<span id="cb422-6"><a href="#cb422-6" aria-hidden="true"></a> }^^A</span> -<span id="cb422-7"><a href="#cb422-7" aria-hidden="true"></a>}</span> -<span id="cb422-8"><a href="#cb422-8" aria-hidden="true"></a><span class="fu">\endgroup</span></span> -<span id="cb422-9"><a href="#cb422-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb422-10"><a href="#cb422-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb422-11"><a href="#cb422-11" aria-hidden="true"></a>![TUGboat](https://tug.org/tugboat/noword.jpg)</span> -<span id="cb422-12"><a href="#cb422-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb422-13"><a href="#cb422-13" aria-hidden="true"></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="cb423"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb423-1"><a href="#cb423-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape 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 of the current user. It also assumes that the <code>md5sum</code>, <code>wget</code>, and <code>convert</code> binaries are installed and 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> -</blockquote> -<h4 data-number="2.3.1.11" id="texcontentblockrenderers"><span class="header-section-number">2.3.1.11</span> Content Block Renderers</h4> -<p>The <code>\markdownRendererContentBlock</code> macro represents an iA Writer content block. It receives four arguments: the local file or online image filename extension cast to the lower case, 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 content block.</p> -<p>The <code>\markdownRendererContentBlockOnlineImage</code> macro represents an iA Writer online image content block. The macro receives the same arguments as <code>\markdownRendererContentBlock</code>.</p> -<p>The <code>\markdownRendererContentBlockCode</code> macro represents 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 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 class="math inline"> = <em>k</em></span> is considered to be in a known programming language <span class="math inline"><em>v</em></span>. The macro receives five arguments: the local file name extension <span class="math inline"><em>s</em></span> cast to the lower case, the language <span class="math inline"><em>v</em></span>, 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 content block.</p> -<p>Note that you will need to place place a <code>markdown-languages.json</code> file inside your working directory or inside your local <span class="tex">T<sub>e</sub>X</span> directory structure. In this file, you will define a mapping between filename extensions and the language names recognized by your favorite syntax highlighter; there may exist other creative uses beside syntax highlighting. <a href="https://github.com/iainc/Markdown-Content-Blocks" title="File transclusion syntax for Markdown">The <code>Languages.json</code> file provided by Anton Sotkov</a> is a good starting point.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-24">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="cb424"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb424-1"><a href="#cb424-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb424-2"><a href="#cb424-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span> -<span id="cb424-3"><a href="#cb424-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb424-4"><a href="#cb424-4" aria-hidden="true"></a> This is {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb424-5"><a href="#cb424-5" aria-hidden="true"></a>}</span> -<span id="cb424-6"><a href="#cb424-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb424-7"><a href="#cb424-7" aria-hidden="true"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb424-8"><a href="#cb424-8" aria-hidden="true"></a>}</span> -<span id="cb424-9"><a href="#cb424-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span> -<span id="cb424-10"><a href="#cb424-10" aria-hidden="true"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span> -<span id="cb424-11"><a href="#cb424-11" aria-hidden="true"></a>}</span> -<span id="cb424-12"><a href="#cb424-12" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb424-13"><a href="#cb424-13" aria-hidden="true"></a>/document.tex (the document that we are currently typesetting)</span> -<span id="cb424-14"><a href="#cb424-14" aria-hidden="true"></a>/markdown-languages.json (the mapping between filename extensions</span> -<span id="cb424-15"><a href="#cb424-15" aria-hidden="true"></a> and programming language names)</span> -<span id="cb424-16"><a href="#cb424-16" aria-hidden="true"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> -<span id="cb424-17"><a href="#cb424-17" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb424-18"><a href="#cb424-18" aria-hidden="true"></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="cb425"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb425-1"><a href="#cb425-1" aria-hidden="true"></a>{</span> -<span id="cb425-2"><a href="#cb425-2" aria-hidden="true"></a> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></span> -<span id="cb425-3"><a href="#cb425-3" aria-hidden="true"></a>}</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb426"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb426-1"><a href="#cb426-1" aria-hidden="true"></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 <code>document.tex</code>, the document that we are currently typesetting.</p> -<p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename 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" data-number="" 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="cb427"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb427-1"><a href="#cb427-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb427-2"><a href="#cb427-2" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{markdown-languages.json}</span> -<span id="cb427-3"><a href="#cb427-3" aria-hidden="true"></a>{</span> -<span id="cb427-4"><a href="#cb427-4" aria-hidden="true"></a> "json": "JavaScript Object Notation",</span> -<span id="cb427-5"><a href="#cb427-5" aria-hidden="true"></a>}</span> -<span id="cb427-6"><a href="#cb427-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span> -<span id="cb427-7"><a href="#cb427-7" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span> -<span id="cb427-8"><a href="#cb427-8" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb427-9"><a href="#cb427-9" aria-hidden="true"></a> renderers = {</span> -<span id="cb427-10"><a href="#cb427-10" aria-hidden="true"></a> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</span> -<span id="cb427-11"><a href="#cb427-11" aria-hidden="true"></a> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</span> -<span id="cb427-12"><a href="#cb427-12" aria-hidden="true"></a> contentBlockCode = {<span class="co">%</span></span> -<span id="cb427-13"><a href="#cb427-13" aria-hidden="true"></a> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</span> -<span id="cb427-14"><a href="#cb427-14" aria-hidden="true"></a> },</span> -<span id="cb427-15"><a href="#cb427-15" aria-hidden="true"></a> },</span> -<span id="cb427-16"><a href="#cb427-16" aria-hidden="true"></a>}</span> -<span id="cb427-17"><a href="#cb427-17" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb427-18"><a href="#cb427-18" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb427-19"><a href="#cb427-19" aria-hidden="true"></a>/document.tex (the document that we are currently typesetting)</span> -<span id="cb427-20"><a href="#cb427-20" aria-hidden="true"></a>/markdown-languages.json (the mapping between filename extensions</span> -<span id="cb427-21"><a href="#cb427-21" aria-hidden="true"></a> and programming language names)</span> -<span id="cb427-22"><a href="#cb427-22" aria-hidden="true"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> -<span id="cb427-23"><a href="#cb427-23" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb427-24"><a href="#cb427-24" aria-hidden="true"></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="cb428"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb428-1"><a href="#cb428-1" aria-hidden="true"></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 <code>document.tex</code>, the document that we are currently typesetting.</p> -<p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename 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" data-number="" id="context-example-39">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="cb429"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb429-1"><a href="#cb429-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb429-2"><a href="#cb429-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[contentBlocks = yes]</span> -<span id="cb429-3"><a href="#cb429-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb429-4"><a href="#cb429-4" aria-hidden="true"></a> This is {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb429-5"><a href="#cb429-5" aria-hidden="true"></a>}</span> -<span id="cb429-6"><a href="#cb429-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb429-7"><a href="#cb429-7" aria-hidden="true"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span> -<span id="cb429-8"><a href="#cb429-8" aria-hidden="true"></a>}</span> -<span id="cb429-9"><a href="#cb429-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span> -<span id="cb429-10"><a href="#cb429-10" aria-hidden="true"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span> -<span id="cb429-11"><a href="#cb429-11" aria-hidden="true"></a>}</span> -<span id="cb429-12"><a href="#cb429-12" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb429-13"><a href="#cb429-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb429-14"><a href="#cb429-14" aria-hidden="true"></a>/document.tex (the document that we are currently typesetting)</span> -<span id="cb429-15"><a href="#cb429-15" aria-hidden="true"></a>/markdown-languages.json (the mapping between filename extensions</span> -<span id="cb429-16"><a href="#cb429-16" aria-hidden="true"></a> and programming language names)</span> -<span id="cb429-17"><a href="#cb429-17" aria-hidden="true"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span> -<span id="cb429-18"><a href="#cb429-18" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb429-19"><a href="#cb429-19" aria-hidden="true"></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="cb430"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb430-1"><a href="#cb430-1" aria-hidden="true"></a>{</span> -<span id="cb430-2"><a href="#cb430-2" aria-hidden="true"></a> <span class="st">"json"</span><span class="op">:</span> <span class="st">"JavaScript Object Notation"</span><span class="op">,</span></span> -<span id="cb430-3"><a href="#cb430-3" aria-hidden="true"></a>}</span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb431"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb431-1"><a href="#cb431-1" aria-hidden="true"></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 <code>document.tex</code>, the document that we are currently typesetting.</p> -<p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename 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> -<h4 data-number="2.3.1.12" id="bullet-list-renderers"><span class="header-section-number">2.3.1.12</span> Bullet List Renderers</h4> -<p>The <code>\markdownRendererUlBegin</code> macro represents the beginning of a bulleted list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> -<p>The <code>\markdownRendererUlBeginTight</code> macro represents the beginning of a bulleted list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererUlItem</code> macro represents an item in a bulleted list. The macro receives no arguments.</p> -<p>The <code>\markdownRendererUlItemEnd</code> macro represents the end of an item in a bulleted list. The macro receives no arguments.</p> -<p>The <code>\markdownRendererUlEnd</code> macro represents the end of a bulleted list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> -<p>The <code>\markdownRendererUlEndTight</code> macro represents the end of a bulleted list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is disabled. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-25">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="cb432"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb432-1"><a href="#cb432-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb432-2"><a href="#cb432-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> -<span id="cb432-3"><a href="#cb432-3" aria-hidden="true"></a></span> -<span id="cb432-4"><a href="#cb432-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb432-5"><a href="#cb432-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span> -<span id="cb432-6"><a href="#cb432-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb432-7"><a href="#cb432-7" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb432-8"><a href="#cb432-8" aria-hidden="true"></a> ,</span> -<span id="cb432-9"><a href="#cb432-9" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> -<span id="cb432-10"><a href="#cb432-10" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb432-11"><a href="#cb432-11" aria-hidden="true"></a>}</span> -<span id="cb432-12"><a href="#cb432-12" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span> -<span id="cb432-13"><a href="#cb432-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span> -<span id="cb432-14"><a href="#cb432-14" aria-hidden="true"></a></span> -<span id="cb432-15"><a href="#cb432-15" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb432-16"><a href="#cb432-16" aria-hidden="true"></a>This is a tight list</span> -<span id="cb432-17"><a href="#cb432-17" aria-hidden="true"></a></span> -<span id="cb432-18"><a href="#cb432-18" aria-hidden="true"></a>- the first item</span> -<span id="cb432-19"><a href="#cb432-19" aria-hidden="true"></a>- the second item</span> -<span id="cb432-20"><a href="#cb432-20" aria-hidden="true"></a>- the third item</span> -<span id="cb432-21"><a href="#cb432-21" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb432-22"><a href="#cb432-22" aria-hidden="true"></a></span> -<span id="cb432-23"><a href="#cb432-23" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb432-24"><a href="#cb432-24" aria-hidden="true"></a> :<span class="fu">\par</span></span> -<span id="cb432-25"><a href="#cb432-25" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb432-26"><a href="#cb432-26" aria-hidden="true"></a>}</span> -<span id="cb432-27"><a href="#cb432-27" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBegin</span>{}</span> -<span id="cb432-28"><a href="#cb432-28" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{--<span class="fu">\kern</span> 0.5em}</span> -<span id="cb432-29"><a href="#cb432-29" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.<span class="fu">\par</span>}</span> -<span id="cb432-30"><a href="#cb432-30" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEnd</span>{}</span> -<span id="cb432-31"><a href="#cb432-31" aria-hidden="true"></a></span> -<span id="cb432-32"><a href="#cb432-32" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb432-33"><a href="#cb432-33" aria-hidden="true"></a>This is a loose list</span> -<span id="cb432-34"><a href="#cb432-34" aria-hidden="true"></a></span> -<span id="cb432-35"><a href="#cb432-35" aria-hidden="true"></a>- This is the first item</span> -<span id="cb432-36"><a href="#cb432-36" aria-hidden="true"></a></span> -<span id="cb432-37"><a href="#cb432-37" aria-hidden="true"></a>- This is the second item</span> -<span id="cb432-38"><a href="#cb432-38" aria-hidden="true"></a></span> -<span id="cb432-39"><a href="#cb432-39" aria-hidden="true"></a>- This is the third item</span> -<span id="cb432-40"><a href="#cb432-40" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb432-41"><a href="#cb432-41" aria-hidden="true"></a></span> -<span id="cb432-42"><a href="#cb432-42" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div> -<p>Next, invoke LuaTeX from the terminal:</p> -<div class="sourceCode" id="cb433"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb433-1"><a href="#cb433-1" aria-hidden="true"></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 a tight list (the first item, the second item, and the third item).</p> +<h4 data-number="2.3.1.9" id="link-renderer"><span +class="header-section-number">2.3.1.9</span> Link Renderer</h4> +<p>The <code>\markdownRendererLink</code> macro represents a hyperlink. +It 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="plain-tex-example-23">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>Please visit the link <a href="https://ctan.org/" +class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX +Archive Network</em>.</p> +</blockquote> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>Please visit the link <a href="https://ctan.org/" +class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX +Archive Network</em>.</p> +</blockquote> +<h5 class="unnumbered" id="context-example-38">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>Please visit the link <a href="https://ctan.org/" +class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX +Archive Network</em>.</p> +</blockquote> +<h4 data-number="2.3.1.10" id="image-renderer"><span +class="header-section-number">2.3.1.10</span> Image Renderer</h4> +<p>The <code>\markdownRendererImage</code> macro represents an image. It +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 +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> +<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> +<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 +of the current user. It also assumes that the <code>md5sum</code>, +<code>wget</code>, and <code>convert</code> binaries are installed and +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> +</blockquote> +<h4 data-number="2.3.1.11" id="texcontentblockrenderers"><span +class="header-section-number">2.3.1.11</span> Content Block +Renderers</h4> +<p>The <code>\markdownRendererContentBlock</code> macro represents an iA +Writer content block. It receives four arguments: the local file or +online image filename extension cast to the lower case, 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 content block.</p> +<p>The <code>\markdownRendererContentBlockOnlineImage</code> macro +represents an iA Writer online image content block. The macro receives +the same arguments as <code>\markdownRendererContentBlock</code>.</p> +<p>The <code>\markdownRendererContentBlockCode</code> macro represents +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 +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 +class="math inline"> = <em>k</em></span> is considered to be in a known +programming language <span class="math inline"><em>v</em></span>. The +macro receives five arguments: the local file name extension <span +class="math inline"><em>s</em></span> cast to the lower case, the +language <span class="math inline"><em>v</em></span>, 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 content +block.</p> +<p>Note that you will need to place place a +<code>markdown-languages.json</code> file inside your working directory +or inside your local <span class="tex">T<sub>e</sub>X</span> directory +structure. In this file, you will define a mapping between filename +extensions and the language names recognized by your favorite syntax +highlighter; there may exist other creative uses beside syntax +highlighting. <a href="https://github.com/iainc/Markdown-Content-Blocks" +title="File transclusion syntax for Markdown">The +<code>Languages.json</code> file provided by Anton Sotkov</a> is a good +starting point.</p> +<h5 class="unnumbered" id="plain-tex-example-24">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="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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is <code>document.tex</code>, the document that we are currently +typesetting.</p> +<p>This is the JavaScript Object Notation (JSON) document +<code>markdown-languages.json</code>, the mapping between filename +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is <code>document.tex</code>, the document that we are currently +typesetting.</p> +<p>This is the JavaScript Object Notation (JSON) document +<code>markdown-languages.json</code>, the mapping between filename +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="context-example-39">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="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> +<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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is <code>document.tex</code>, the document that we are currently +typesetting.</p> +<p>This is the JavaScript Object Notation (JSON) document +<code>markdown-languages.json</code>, the mapping between filename +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> +<h4 data-number="2.3.1.12" id="bullet-list-renderers"><span +class="header-section-number">2.3.1.12</span> Bullet List Renderers</h4> +<p>The <code>\markdownRendererUlBegin</code> macro represents the +beginning of a bulleted list that contains an item with several +paragraphs of text (the list is not tight). The macro receives no +arguments.</p> +<p>The <code>\markdownRendererUlBeginTight</code> macro represents the +beginning of a bulleted list that contains no item with several +paragraphs of text (the list is tight). This macro will only be +produced, when the <strong><code>tightLists</code></strong> option is +disabled. The macro receives no arguments.</p> +<p>The <code>\markdownRendererUlItem</code> macro represents an item in +a bulleted list. The macro receives no arguments.</p> +<p>The <code>\markdownRendererUlItemEnd</code> macro represents the end +of an item in a bulleted list. The macro receives no arguments.</p> +<p>The <code>\markdownRendererUlEnd</code> macro represents the end of a +bulleted list that contains an item with several paragraphs of text (the +list is not tight). The macro receives no arguments.</p> +<p>The <code>\markdownRendererUlEndTight</code> macro represents the end +of a bulleted list that contains no item with several paragraphs of text +(the list is tight). This macro will only be produced, when the +<strong><code>tightLists</code></strong> option is disabled. The macro +receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-25">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a tight list (the first item, the second item, and the third +item).</p> <p>This is a loose list:</p> <ul> <li><p>This is the first item.</p></li> @@ -5261,60 +7431,66 @@ Thomas,Edison,1847</code></pre> <li><p>This is the third item.</p></li> </ul> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb434"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb434-1"><a href="#cb434-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb434-2"><a href="#cb434-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</span> -<span id="cb434-3"><a href="#cb434-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb434-4"><a href="#cb434-4" aria-hidden="true"></a></span> -<span id="cb434-5"><a href="#cb434-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb434-6"><a href="#cb434-6" aria-hidden="true"></a> renderers = {</span> -<span id="cb434-7"><a href="#cb434-7" aria-hidden="true"></a> interblockSeparator = {},</span> -<span id="cb434-8"><a href="#cb434-8" aria-hidden="true"></a> ulBeginTight = { (},</span> -<span id="cb434-9"><a href="#cb434-9" aria-hidden="true"></a> ulItem = {<span class="co">%</span></span> -<span id="cb434-10"><a href="#cb434-10" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb434-11"><a href="#cb434-11" aria-hidden="true"></a> ,</span> -<span id="cb434-12"><a href="#cb434-12" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> -<span id="cb434-13"><a href="#cb434-13" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb434-14"><a href="#cb434-14" aria-hidden="true"></a> },</span> -<span id="cb434-15"><a href="#cb434-15" aria-hidden="true"></a> ulItemEnd = {},</span> -<span id="cb434-16"><a href="#cb434-16" aria-hidden="true"></a> ulEndTight = {).},</span> -<span id="cb434-17"><a href="#cb434-17" aria-hidden="true"></a> },</span> -<span id="cb434-18"><a href="#cb434-18" aria-hidden="true"></a>}</span> -<span id="cb434-19"><a href="#cb434-19" aria-hidden="true"></a>This is a tight list</span> -<span id="cb434-20"><a href="#cb434-20" aria-hidden="true"></a></span> -<span id="cb434-21"><a href="#cb434-21" aria-hidden="true"></a>- the first item</span> -<span id="cb434-22"><a href="#cb434-22" aria-hidden="true"></a>- the second item</span> -<span id="cb434-23"><a href="#cb434-23" aria-hidden="true"></a>- the third item</span> -<span id="cb434-24"><a href="#cb434-24" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb434-25"><a href="#cb434-25" aria-hidden="true"></a></span> -<span id="cb434-26"><a href="#cb434-26" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb434-27"><a href="#cb434-27" aria-hidden="true"></a> renderers = {</span> -<span id="cb434-28"><a href="#cb434-28" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb434-29"><a href="#cb434-29" aria-hidden="true"></a> :<span class="fu">\par</span></span> -<span id="cb434-30"><a href="#cb434-30" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb434-31"><a href="#cb434-31" aria-hidden="true"></a> },</span> -<span id="cb434-32"><a href="#cb434-32" aria-hidden="true"></a> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</span> -<span id="cb434-33"><a href="#cb434-33" aria-hidden="true"></a> ulItem = {<span class="fu">\item</span>},</span> -<span id="cb434-34"><a href="#cb434-34" aria-hidden="true"></a> ulItemEnd = {.},</span> -<span id="cb434-35"><a href="#cb434-35" aria-hidden="true"></a> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span> -<span id="cb434-36"><a href="#cb434-36" aria-hidden="true"></a> },</span> -<span id="cb434-37"><a href="#cb434-37" aria-hidden="true"></a>}</span> -<span id="cb434-38"><a href="#cb434-38" aria-hidden="true"></a>This is a loose list</span> -<span id="cb434-39"><a href="#cb434-39" aria-hidden="true"></a></span> -<span id="cb434-40"><a href="#cb434-40" aria-hidden="true"></a>- This is the first item</span> -<span id="cb434-41"><a href="#cb434-41" aria-hidden="true"></a></span> -<span id="cb434-42"><a href="#cb434-42" aria-hidden="true"></a>- This is the second item</span> -<span id="cb434-43"><a href="#cb434-43" aria-hidden="true"></a></span> -<span id="cb434-44"><a href="#cb434-44" aria-hidden="true"></a>- This is the third item</span> -<span id="cb434-45"><a href="#cb434-45" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb434-46"><a href="#cb434-46" aria-hidden="true"></a></span> -<span id="cb434-47"><a href="#cb434-47" aria-hidden="true"></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="cb435"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb435-1"><a href="#cb435-1" aria-hidden="true"></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 a tight list (the first item, the second item, and the third item).</p> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a tight list (the first item, the second item, and the third +item).</p> <p>This is a loose list:</p> <ul> <li><p>This is the first item.</p></li> @@ -5322,56 +7498,62 @@ Thomas,Edison,1847</code></pre> <li><p>This is the third item.</p></li> </ul> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-40">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="cb436"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb436-1"><a href="#cb436-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb436-2"><a href="#cb436-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[tightLists = yes]</span> -<span id="cb436-3"><a href="#cb436-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb436-4"><a href="#cb436-4" aria-hidden="true"></a></span> -<span id="cb436-5"><a href="#cb436-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb436-6"><a href="#cb436-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span> -<span id="cb436-7"><a href="#cb436-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb436-8"><a href="#cb436-8" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span> -<span id="cb436-9"><a href="#cb436-9" aria-hidden="true"></a> ,</span> -<span id="cb436-10"><a href="#cb436-10" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span> -<span id="cb436-11"><a href="#cb436-11" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb436-12"><a href="#cb436-12" aria-hidden="true"></a>}</span> -<span id="cb436-13"><a href="#cb436-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span> -<span id="cb436-14"><a href="#cb436-14" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span> -<span id="cb436-15"><a href="#cb436-15" aria-hidden="true"></a></span> -<span id="cb436-16"><a href="#cb436-16" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb436-17"><a href="#cb436-17" aria-hidden="true"></a>This is a tight list</span> -<span id="cb436-18"><a href="#cb436-18" aria-hidden="true"></a></span> -<span id="cb436-19"><a href="#cb436-19" aria-hidden="true"></a>- the first item</span> -<span id="cb436-20"><a href="#cb436-20" aria-hidden="true"></a>- the second item</span> -<span id="cb436-21"><a href="#cb436-21" aria-hidden="true"></a>- the third item</span> -<span id="cb436-22"><a href="#cb436-22" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb436-23"><a href="#cb436-23" aria-hidden="true"></a></span> -<span id="cb436-24"><a href="#cb436-24" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb436-25"><a href="#cb436-25" aria-hidden="true"></a> :<span class="fu">\par</span></span> -<span id="cb436-26"><a href="#cb436-26" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb436-27"><a href="#cb436-27" aria-hidden="true"></a>}</span> -<span id="cb436-28"><a href="#cb436-28" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBegin</span>{<span class="fu">\startitemize</span>}</span> -<span id="cb436-29"><a href="#cb436-29" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="fu">\item</span>}</span> -<span id="cb436-30"><a href="#cb436-30" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.}</span> -<span id="cb436-31"><a href="#cb436-31" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEnd</span>{<span class="fu">\stopitemize</span>}</span> -<span id="cb436-32"><a href="#cb436-32" aria-hidden="true"></a></span> -<span id="cb436-33"><a href="#cb436-33" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb436-34"><a href="#cb436-34" aria-hidden="true"></a>This is a loose list</span> -<span id="cb436-35"><a href="#cb436-35" aria-hidden="true"></a></span> -<span id="cb436-36"><a href="#cb436-36" aria-hidden="true"></a>- This is the first item</span> -<span id="cb436-37"><a href="#cb436-37" aria-hidden="true"></a></span> -<span id="cb436-38"><a href="#cb436-38" aria-hidden="true"></a>- This is the second item</span> -<span id="cb436-39"><a href="#cb436-39" aria-hidden="true"></a></span> -<span id="cb436-40"><a href="#cb436-40" aria-hidden="true"></a>- This is the third item</span> -<span id="cb436-41"><a href="#cb436-41" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb436-42"><a href="#cb436-42" aria-hidden="true"></a></span> -<span id="cb436-43"><a href="#cb436-43" aria-hidden="true"></a><span class="fu">\stoptext</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"></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 a tight list (the first item, the second item, and the third item).</p> +<h5 class="unnumbered" id="context-example-40">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a tight list (the first item, the second item, and the third +item).</p> <p>This is a loose list:</p> <ul> <li><p>This is the first item.</p></li> @@ -5379,88 +7561,164 @@ Thomas,Edison,1847</code></pre> <li><p>This is the third item.</p></li> </ul> </blockquote> -<h4 data-number="2.3.1.13" id="ordered-list-renderers"><span class="header-section-number">2.3.1.13</span> Ordered List Renderers</h4> -<p>The <code>\markdownRendererOlBegin</code> macro represents the beginning of an ordered list that contains an item with several paragraphs of text (the list is not tight). This macro will only be produced, when the <strong><code>fancyLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererOlBeginTight</code> macro represents the beginning of an ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is enabled and the <strong><code>fancyLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererFancyOlBegin</code> macro represents the beginning of a fancy ordered list that contains an item with several paragraphs of text (the list is not tight). This macro will only be produced, when the <strong><code>fancyLists</code></strong> option is enabled. The macro receives two arguments: the style of the list item labels (<code>Decimal</code>, <code>LowerRoman</code>, <code>UpperRoman</code>, <code>LowerAlpha</code>, and <code>UpperAlpha</code>), and the style of delimiters between list item labels and texts (<code>Default</code>, <code>OneParen</code>, and <code>Period</code>).</p> -<p>The <code>\markdownRendererFancyOlBeginTight</code> macro represents the beginning of a fancy ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>fancyLists</code></strong> and <strong><code>tightLists</code></strong> options are enabled. The macro receives two arguments: the style of the list item labels, and the style of delimiters between list item labels and texts. See the <code>\markdownRendererFancyOlBegin</code> macro for the valid style values.</p> -<p>The <code>\markdownRendererOlItem</code> macro represents an item in an ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> option is disabled and the <strong><code>fancyLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererOlItemEnd</code> macro represents the end of an item in an ordered list. This macro will only be produced, when the <strong><code>fancyLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererOlItemWithNumber</code> macro represents an item in an ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> option is enabled and the <strong><code>fancyLists</code></strong> option is disabled. The macro receives a single numeric argument that corresponds to the item number.</p> -<p>The <code>\markdownRendererFancyOlItem</code> macro represents an item in a fancy ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> option is disabled and the <strong><code>fancyLists</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererFancyOlItemEnd</code> macro represents the end of an item in a fancy ordered list. This macro will only be produced, when the <strong><code>fancyLists</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererFancyOlItemWithNumber</code> macro represents an item in a fancy ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> and <strong><code>fancyLists</code></strong> options are enabled. The macro receives a single numeric argument that corresponds to the item number.</p> -<p>The <code>\markdownRendererOlEnd</code> macro represents the end of an ordered list that contains an item with several paragraphs of text (the list is not tight). This macro will only be produced, when the <strong><code>fancyLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererOlEndTight</code> macro represents the end of an ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is enabled and the <strong><code>fancyLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererFancyOlEnd</code> macro represents the end of a fancy ordered list that contains an item with several paragraphs of text (the list is not tight). This macro will only be produced, when the <strong><code>fancyLists</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererFancyOlEndTight</code> macro represents the end of a fancy ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>fancyLists</code></strong> and <strong><code>tightLists</code></strong> options are enabled. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-26">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="cb438"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb438-1"><a href="#cb438-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb438-2"><a href="#cb438-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> -<span id="cb438-3"><a href="#cb438-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionStartNumber</span>{true}</span> -<span id="cb438-4"><a href="#cb438-4" aria-hidden="true"></a></span> -<span id="cb438-5"><a href="#cb438-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb438-6"><a href="#cb438-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span> -<span id="cb438-7"><a href="#cb438-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb438-8"><a href="#cb438-8" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb438-9"><a href="#cb438-9" aria-hidden="true"></a> the first</span> -<span id="cb438-10"><a href="#cb438-10" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb438-11"><a href="#cb438-11" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb438-12"><a href="#cb438-12" aria-hidden="true"></a> , the second</span> -<span id="cb438-13"><a href="#cb438-13" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb438-14"><a href="#cb438-14" aria-hidden="true"></a> , and the third</span> -<span id="cb438-15"><a href="#cb438-15" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb438-16"><a href="#cb438-16" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb438-17"><a href="#cb438-17" aria-hidden="true"></a>}</span> -<span id="cb438-18"><a href="#cb438-18" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span> -<span id="cb438-19"><a href="#cb438-19" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span> -<span id="cb438-20"><a href="#cb438-20" aria-hidden="true"></a></span> -<span id="cb438-21"><a href="#cb438-21" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb438-22"><a href="#cb438-22" aria-hidden="true"></a>This is a tight list</span> -<span id="cb438-23"><a href="#cb438-23" aria-hidden="true"></a></span> -<span id="cb438-24"><a href="#cb438-24" aria-hidden="true"></a>1. item</span> -<span id="cb438-25"><a href="#cb438-25" aria-hidden="true"></a>2. item</span> -<span id="cb438-26"><a href="#cb438-26" aria-hidden="true"></a>3. item</span> -<span id="cb438-27"><a href="#cb438-27" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb438-28"><a href="#cb438-28" aria-hidden="true"></a></span> -<span id="cb438-29"><a href="#cb438-29" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb438-30"><a href="#cb438-30" aria-hidden="true"></a> :<span class="fu">\par</span></span> -<span id="cb438-31"><a href="#cb438-31" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb438-32"><a href="#cb438-32" aria-hidden="true"></a>}</span> -<span id="cb438-33"><a href="#cb438-33" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBegin</span>{}</span> -<span id="cb438-34"><a href="#cb438-34" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb438-35"><a href="#cb438-35" aria-hidden="true"></a> #1.<span class="fu">\kern</span> 0.5em<span class="co">%</span></span> -<span id="cb438-36"><a href="#cb438-36" aria-hidden="true"></a> This is the</span> -<span id="cb438-37"><a href="#cb438-37" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb438-38"><a href="#cb438-38" aria-hidden="true"></a> first</span> -<span id="cb438-39"><a href="#cb438-39" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb438-40"><a href="#cb438-40" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb438-41"><a href="#cb438-41" aria-hidden="true"></a> second</span> -<span id="cb438-42"><a href="#cb438-42" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb438-43"><a href="#cb438-43" aria-hidden="true"></a> third</span> -<span id="cb438-44"><a href="#cb438-44" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb438-45"><a href="#cb438-45" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb438-46"><a href="#cb438-46" aria-hidden="true"></a>}</span> -<span id="cb438-47"><a href="#cb438-47" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span> -<span id="cb438-48"><a href="#cb438-48" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEnd</span>{}</span> -<span id="cb438-49"><a href="#cb438-49" aria-hidden="true"></a></span> -<span id="cb438-50"><a href="#cb438-50" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb438-51"><a href="#cb438-51" aria-hidden="true"></a>This is a loose list</span> -<span id="cb438-52"><a href="#cb438-52" aria-hidden="true"></a></span> -<span id="cb438-53"><a href="#cb438-53" aria-hidden="true"></a>1. item</span> -<span id="cb438-54"><a href="#cb438-54" aria-hidden="true"></a></span> -<span id="cb438-55"><a href="#cb438-55" aria-hidden="true"></a>2. item</span> -<span id="cb438-56"><a href="#cb438-56" aria-hidden="true"></a></span> -<span id="cb438-57"><a href="#cb438-57" aria-hidden="true"></a>3. item</span> -<span id="cb438-58"><a href="#cb438-58" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb438-59"><a href="#cb438-59" aria-hidden="true"></a></span> -<span id="cb438-60"><a href="#cb438-60" aria-hidden="true"></a><span class="fu">\bye</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"></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 a tight list (the first item, the second item, and the third item).</p> +<h4 data-number="2.3.1.13" id="ordered-list-renderers"><span +class="header-section-number">2.3.1.13</span> Ordered List +Renderers</h4> +<p>The <code>\markdownRendererOlBegin</code> macro represents the +beginning of an ordered list that contains an item with several +paragraphs of text (the list is not tight). This macro will only be +produced, when the <strong><code>fancyLists</code></strong> option is +disabled. The macro receives no arguments.</p> +<p>The <code>\markdownRendererOlBeginTight</code> macro represents the +beginning of an ordered list that contains no item with several +paragraphs of text (the list is tight). This macro will only be +produced, when the <strong><code>tightLists</code></strong> option is +enabled and the <strong><code>fancyLists</code></strong> option is +disabled. The macro receives no arguments.</p> +<p>The <code>\markdownRendererFancyOlBegin</code> macro represents the +beginning of a fancy ordered list that contains an item with several +paragraphs of text (the list is not tight). This macro will only be +produced, when the <strong><code>fancyLists</code></strong> option is +enabled. The macro receives two arguments: the style of the list item +labels (<code>Decimal</code>, <code>LowerRoman</code>, +<code>UpperRoman</code>, <code>LowerAlpha</code>, and +<code>UpperAlpha</code>), and the style of delimiters between list item +labels and texts (<code>Default</code>, <code>OneParen</code>, and +<code>Period</code>).</p> +<p>The <code>\markdownRendererFancyOlBeginTight</code> macro represents +the beginning of a fancy ordered list that contains no item with several +paragraphs of text (the list is tight). This macro will only be +produced, when the <strong><code>fancyLists</code></strong> and +<strong><code>tightLists</code></strong> options are enabled. The macro +receives two arguments: the style of the list item labels, and the style +of delimiters between list item labels and texts. See the +<code>\markdownRendererFancyOlBegin</code> macro for the valid style +values.</p> +<p>The <code>\markdownRendererOlItem</code> macro represents an item in +an ordered list. This macro will only be produced, when the +<strong><code>startNumber</code></strong> option is disabled and the +<strong><code>fancyLists</code></strong> option is disabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererOlItemEnd</code> macro represents the end +of an item in an ordered list. This macro will only be produced, when +the <strong><code>fancyLists</code></strong> option is disabled. The +macro receives no arguments.</p> +<p>The <code>\markdownRendererOlItemWithNumber</code> macro represents +an item in an ordered list. This macro will only be produced, when the +<strong><code>startNumber</code></strong> option is enabled and the +<strong><code>fancyLists</code></strong> option is disabled. The macro +receives a single numeric argument that corresponds to the item +number.</p> +<p>The <code>\markdownRendererFancyOlItem</code> macro represents an +item in a fancy ordered list. This macro will only be produced, when the +<strong><code>startNumber</code></strong> option is disabled and the +<strong><code>fancyLists</code></strong> option is enabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererFancyOlItemEnd</code> macro represents the +end of an item in a fancy ordered list. This macro will only be +produced, when the <strong><code>fancyLists</code></strong> option is +enabled. The macro receives no arguments.</p> +<p>The <code>\markdownRendererFancyOlItemWithNumber</code> macro +represents an item in a fancy ordered list. This macro will only be +produced, when the <strong><code>startNumber</code></strong> and +<strong><code>fancyLists</code></strong> options are enabled. The macro +receives a single numeric argument that corresponds to the item +number.</p> +<p>The <code>\markdownRendererOlEnd</code> macro represents the end of +an ordered list that contains an item with several paragraphs of text +(the list is not tight). This macro will only be produced, when the +<strong><code>fancyLists</code></strong> option is disabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererOlEndTight</code> macro represents the end +of an ordered list that contains no item with several paragraphs of text +(the list is tight). This macro will only be produced, when the +<strong><code>tightLists</code></strong> option is enabled and the +<strong><code>fancyLists</code></strong> option is disabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererFancyOlEnd</code> macro represents the end +of a fancy ordered list that contains an item with several paragraphs of +text (the list is not tight). This macro will only be produced, when the +<strong><code>fancyLists</code></strong> option is enabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererFancyOlEndTight</code> macro represents +the end of a fancy ordered list that contains no item with several +paragraphs of text (the list is tight). This macro will only be +produced, when the <strong><code>fancyLists</code></strong> and +<strong><code>tightLists</code></strong> options are enabled. The macro +receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-26">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a tight list (the first item, the second item, and the third +item).</p> <p>This is a loose list:</p> <ol type="1"> <li><p>This is the first item.</p></li> @@ -5468,76 +7726,82 @@ Thomas,Edison,1847</code></pre> <li><p>This is the third item.</p></li> </ol> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb440"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb440-1"><a href="#cb440-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb440-2"><a href="#cb440-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</span> -<span id="cb440-3"><a href="#cb440-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb440-4"><a href="#cb440-4" aria-hidden="true"></a></span> -<span id="cb440-5"><a href="#cb440-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb440-6"><a href="#cb440-6" aria-hidden="true"></a> renderers = {</span> -<span id="cb440-7"><a href="#cb440-7" aria-hidden="true"></a> interblockSeparator = {},</span> -<span id="cb440-8"><a href="#cb440-8" aria-hidden="true"></a> olBeginTight = { (},</span> -<span id="cb440-9"><a href="#cb440-9" aria-hidden="true"></a> olItemWithNumber = {<span class="co">%</span></span> -<span id="cb440-10"><a href="#cb440-10" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb440-11"><a href="#cb440-11" aria-hidden="true"></a> the first</span> -<span id="cb440-12"><a href="#cb440-12" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb440-13"><a href="#cb440-13" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb440-14"><a href="#cb440-14" aria-hidden="true"></a> , the second</span> -<span id="cb440-15"><a href="#cb440-15" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb440-16"><a href="#cb440-16" aria-hidden="true"></a> , and the third</span> -<span id="cb440-17"><a href="#cb440-17" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb440-18"><a href="#cb440-18" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb440-19"><a href="#cb440-19" aria-hidden="true"></a> },</span> -<span id="cb440-20"><a href="#cb440-20" aria-hidden="true"></a> olItemEnd = {},</span> -<span id="cb440-21"><a href="#cb440-21" aria-hidden="true"></a> olEndTight = {).},</span> -<span id="cb440-22"><a href="#cb440-22" aria-hidden="true"></a> },</span> -<span id="cb440-23"><a href="#cb440-23" aria-hidden="true"></a>}</span> -<span id="cb440-24"><a href="#cb440-24" aria-hidden="true"></a>This is a tight list</span> -<span id="cb440-25"><a href="#cb440-25" aria-hidden="true"></a></span> -<span id="cb440-26"><a href="#cb440-26" aria-hidden="true"></a>1. item</span> -<span id="cb440-27"><a href="#cb440-27" aria-hidden="true"></a>2. item</span> -<span id="cb440-28"><a href="#cb440-28" aria-hidden="true"></a>3. item</span> -<span id="cb440-29"><a href="#cb440-29" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb440-30"><a href="#cb440-30" aria-hidden="true"></a></span> -<span id="cb440-31"><a href="#cb440-31" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb440-32"><a href="#cb440-32" aria-hidden="true"></a> renderers = {</span> -<span id="cb440-33"><a href="#cb440-33" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb440-34"><a href="#cb440-34" aria-hidden="true"></a> :<span class="fu">\par</span></span> -<span id="cb440-35"><a href="#cb440-35" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb440-36"><a href="#cb440-36" aria-hidden="true"></a> },</span> -<span id="cb440-37"><a href="#cb440-37" aria-hidden="true"></a> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</span> -<span id="cb440-38"><a href="#cb440-38" aria-hidden="true"></a> olItemWithNumber = {<span class="co">%</span></span> -<span id="cb440-39"><a href="#cb440-39" aria-hidden="true"></a> <span class="fu">\item</span> This is the</span> -<span id="cb440-40"><a href="#cb440-40" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb440-41"><a href="#cb440-41" aria-hidden="true"></a> first</span> -<span id="cb440-42"><a href="#cb440-42" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb440-43"><a href="#cb440-43" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb440-44"><a href="#cb440-44" aria-hidden="true"></a> second</span> -<span id="cb440-45"><a href="#cb440-45" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb440-46"><a href="#cb440-46" aria-hidden="true"></a> third</span> -<span id="cb440-47"><a href="#cb440-47" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb440-48"><a href="#cb440-48" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb440-49"><a href="#cb440-49" aria-hidden="true"></a> },</span> -<span id="cb440-50"><a href="#cb440-50" aria-hidden="true"></a> olItemEnd = {.},</span> -<span id="cb440-51"><a href="#cb440-51" aria-hidden="true"></a> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</span> -<span id="cb440-52"><a href="#cb440-52" aria-hidden="true"></a> },</span> -<span id="cb440-53"><a href="#cb440-53" aria-hidden="true"></a>}</span> -<span id="cb440-54"><a href="#cb440-54" aria-hidden="true"></a>This is a loose list</span> -<span id="cb440-55"><a href="#cb440-55" aria-hidden="true"></a></span> -<span id="cb440-56"><a href="#cb440-56" aria-hidden="true"></a>1. item</span> -<span id="cb440-57"><a href="#cb440-57" aria-hidden="true"></a></span> -<span id="cb440-58"><a href="#cb440-58" aria-hidden="true"></a>2. item</span> -<span id="cb440-59"><a href="#cb440-59" aria-hidden="true"></a></span> -<span id="cb440-60"><a href="#cb440-60" aria-hidden="true"></a>3. item</span> -<span id="cb440-61"><a href="#cb440-61" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb440-62"><a href="#cb440-62" aria-hidden="true"></a></span> -<span id="cb440-63"><a href="#cb440-63" aria-hidden="true"></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="cb441"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb441-1"><a href="#cb441-1" aria-hidden="true"></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 a tight list (the first item, the second item, and the third item).</p> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a tight list (the first item, the second item, and the third +item).</p> <p>This is a loose list:</p> <ol type="1"> <li><p>This is the first item.</p></li> @@ -5545,77 +7809,83 @@ Thomas,Edison,1847</code></pre> <li><p>This is the third item.</p></li> </ol> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-41">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="cb442"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb442-1"><a href="#cb442-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb442-2"><a href="#cb442-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb442-3"><a href="#cb442-3" aria-hidden="true"></a> [</span> -<span id="cb442-4"><a href="#cb442-4" aria-hidden="true"></a> tightLists = yes,</span> -<span id="cb442-5"><a href="#cb442-5" aria-hidden="true"></a> startNumber = yes,</span> -<span id="cb442-6"><a href="#cb442-6" aria-hidden="true"></a> ]</span> -<span id="cb442-7"><a href="#cb442-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb442-8"><a href="#cb442-8" aria-hidden="true"></a></span> -<span id="cb442-9"><a href="#cb442-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb442-10"><a href="#cb442-10" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span> -<span id="cb442-11"><a href="#cb442-11" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb442-12"><a href="#cb442-12" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb442-13"><a href="#cb442-13" aria-hidden="true"></a> the first</span> -<span id="cb442-14"><a href="#cb442-14" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb442-15"><a href="#cb442-15" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb442-16"><a href="#cb442-16" aria-hidden="true"></a> , the second</span> -<span id="cb442-17"><a href="#cb442-17" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb442-18"><a href="#cb442-18" aria-hidden="true"></a> , and the third</span> -<span id="cb442-19"><a href="#cb442-19" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb442-20"><a href="#cb442-20" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb442-21"><a href="#cb442-21" aria-hidden="true"></a>}</span> -<span id="cb442-22"><a href="#cb442-22" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span> -<span id="cb442-23"><a href="#cb442-23" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span> -<span id="cb442-24"><a href="#cb442-24" aria-hidden="true"></a></span> -<span id="cb442-25"><a href="#cb442-25" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb442-26"><a href="#cb442-26" aria-hidden="true"></a>This is a tight list</span> -<span id="cb442-27"><a href="#cb442-27" aria-hidden="true"></a></span> -<span id="cb442-28"><a href="#cb442-28" aria-hidden="true"></a>1. item</span> -<span id="cb442-29"><a href="#cb442-29" aria-hidden="true"></a>2. item</span> -<span id="cb442-30"><a href="#cb442-30" aria-hidden="true"></a>3. item</span> -<span id="cb442-31"><a href="#cb442-31" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb442-32"><a href="#cb442-32" aria-hidden="true"></a></span> -<span id="cb442-33"><a href="#cb442-33" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb442-34"><a href="#cb442-34" aria-hidden="true"></a> :<span class="fu">\par</span></span> -<span id="cb442-35"><a href="#cb442-35" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb442-36"><a href="#cb442-36" aria-hidden="true"></a>}</span> -<span id="cb442-37"><a href="#cb442-37" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBegin</span>{<span class="fu">\startitemize</span>}</span> -<span id="cb442-38"><a href="#cb442-38" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span> -<span id="cb442-39"><a href="#cb442-39" aria-hidden="true"></a> <span class="fu">\sym</span>{#1.}</span> -<span id="cb442-40"><a href="#cb442-40" aria-hidden="true"></a> This is the</span> -<span id="cb442-41"><a href="#cb442-41" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span> -<span id="cb442-42"><a href="#cb442-42" aria-hidden="true"></a> first</span> -<span id="cb442-43"><a href="#cb442-43" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb442-44"><a href="#cb442-44" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span> -<span id="cb442-45"><a href="#cb442-45" aria-hidden="true"></a> second</span> -<span id="cb442-46"><a href="#cb442-46" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb442-47"><a href="#cb442-47" aria-hidden="true"></a> third</span> -<span id="cb442-48"><a href="#cb442-48" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb442-49"><a href="#cb442-49" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb442-50"><a href="#cb442-50" aria-hidden="true"></a>}</span> -<span id="cb442-51"><a href="#cb442-51" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span> -<span id="cb442-52"><a href="#cb442-52" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEnd</span>{<span class="fu">\stopitemize</span>}</span> -<span id="cb442-53"><a href="#cb442-53" aria-hidden="true"></a></span> -<span id="cb442-54"><a href="#cb442-54" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb442-55"><a href="#cb442-55" aria-hidden="true"></a>This is a loose list</span> -<span id="cb442-56"><a href="#cb442-56" aria-hidden="true"></a></span> -<span id="cb442-57"><a href="#cb442-57" aria-hidden="true"></a>1. item</span> -<span id="cb442-58"><a href="#cb442-58" aria-hidden="true"></a></span> -<span id="cb442-59"><a href="#cb442-59" aria-hidden="true"></a>2. item</span> -<span id="cb442-60"><a href="#cb442-60" aria-hidden="true"></a></span> -<span id="cb442-61"><a href="#cb442-61" aria-hidden="true"></a>3. item</span> -<span id="cb442-62"><a href="#cb442-62" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb442-63"><a href="#cb442-63" aria-hidden="true"></a></span> -<span id="cb442-64"><a href="#cb442-64" aria-hidden="true"></a><span class="fu">\stoptext</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"></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 a tight list (the first item, the second item, and the third item).</p> +<h5 class="unnumbered" id="context-example-41">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a tight list (the first item, the second item, and the third +item).</p> <p>This is a loose list:</p> <ol type="1"> <li><p>This is the first item.</p></li> @@ -5623,99 +7893,127 @@ Thomas,Edison,1847</code></pre> <li><p>This is the third item.</p></li> </ol> </blockquote> -<h4 data-number="2.3.1.14" id="definition-list-renderers"><span class="header-section-number">2.3.1.14</span> Definition List Renderers</h4> -<p>The following macros are only produced, when the <strong><code>definitionLists</code></strong> option is enabled.</p> -<p>The <code>\markdownRendererDlBegin</code> macro represents the beginning of a definition list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> -<p>The <code>\markdownRendererDlBeginTight</code> macro represents the beginning of a definition list that contains an item with several paragraphs of text (the list is not tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is disabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererDlItem</code> macro represents a term in a definition list. The macro receives a single argument that corresponds to the term being defined.</p> -<p>The <code>\markdownRendererDlItemEnd</code> macro represents the end of a list of definitions for a single term.</p> -<p>The <code>\markdownRendererDlDefinitionBegin</code> macro represents the beginning of a definition in a definition list. There can be several definitions for a single term.</p> -<p>The <code>\markdownRendererDlDefinitionEnd</code> macro represents the end of a definition in a definition list. There can be several definitions for a single term.</p> -<p>The <code>\markdownRendererDlEnd</code> macro represents the end of a definition list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p> -<p>The <code>\markdownRendererDlEndTight</code> macro represents the end of a definition list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is disabled. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-27">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="cb444"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb444-1"><a href="#cb444-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb444-2"><a href="#cb444-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionDefinitionLists</span>{true}</span> -<span id="cb444-3"><a href="#cb444-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span> -<span id="cb444-4"><a href="#cb444-4" aria-hidden="true"></a></span> -<span id="cb444-5"><a href="#cb444-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb444-6"><a href="#cb444-6" aria-hidden="true"></a> :<span class="co">%</span></span> -<span id="cb444-7"><a href="#cb444-7" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb444-8"><a href="#cb444-8" aria-hidden="true"></a>}</span> -<span id="cb444-9"><a href="#cb444-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{<span class="co">%</span></span> -<span id="cb444-10"><a href="#cb444-10" aria-hidden="true"></a> <span class="fu">\begingroup</span></span> -<span id="cb444-11"><a href="#cb444-11" aria-hidden="true"></a> <span class="fu">\parindent</span>=0pt</span> -<span id="cb444-12"><a href="#cb444-12" aria-hidden="true"></a>}</span> -<span id="cb444-13"><a href="#cb444-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb444-14"><a href="#cb444-14" aria-hidden="true"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span> -<span id="cb444-15"><a href="#cb444-15" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb444-16"><a href="#cb444-16" aria-hidden="true"></a> ,</span> -<span id="cb444-17"><a href="#cb444-17" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb444-18"><a href="#cb444-18" aria-hidden="true"></a> , and</span> -<span id="cb444-19"><a href="#cb444-19" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> -<span id="cb444-20"><a href="#cb444-20" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb444-21"><a href="#cb444-21" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb444-22"><a href="#cb444-22" aria-hidden="true"></a>}</span> -<span id="cb444-23"><a href="#cb444-23" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> -<span id="cb444-24"><a href="#cb444-24" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\par</span>--<span class="fu">\kern</span> 0.5em}</span> -<span id="cb444-25"><a href="#cb444-25" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEndTight</span>{<span class="fu">\endgroup</span>}</span> -<span id="cb444-26"><a href="#cb444-26" aria-hidden="true"></a></span> -<span id="cb444-27"><a href="#cb444-27" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb444-28"><a href="#cb444-28" aria-hidden="true"></a>This is a tight definition list</span> -<span id="cb444-29"><a href="#cb444-29" aria-hidden="true"></a></span> -<span id="cb444-30"><a href="#cb444-30" aria-hidden="true"></a>Coffee</span> -<span id="cb444-31"><a href="#cb444-31" aria-hidden="true"></a>: black hot drink</span> -<span id="cb444-32"><a href="#cb444-32" aria-hidden="true"></a>: prepared from roasted coffee beans</span> -<span id="cb444-33"><a href="#cb444-33" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb444-34"><a href="#cb444-34" aria-hidden="true"></a></span> -<span id="cb444-35"><a href="#cb444-35" aria-hidden="true"></a>Milk</span> -<span id="cb444-36"><a href="#cb444-36" aria-hidden="true"></a>: white cold drink</span> -<span id="cb444-37"><a href="#cb444-37" aria-hidden="true"></a>: nutrient-rich</span> -<span id="cb444-38"><a href="#cb444-38" aria-hidden="true"></a>: produced on an industrial scale</span> -<span id="cb444-39"><a href="#cb444-39" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb444-40"><a href="#cb444-40" aria-hidden="true"></a></span> -<span id="cb444-41"><a href="#cb444-41" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb444-42"><a href="#cb444-42" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb444-43"><a href="#cb444-43" aria-hidden="true"></a>}</span> -<span id="cb444-44"><a href="#cb444-44" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span> -<span id="cb444-45"><a href="#cb444-45" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb444-46"><a href="#cb444-46" aria-hidden="true"></a> . #1 is a</span> -<span id="cb444-47"><a href="#cb444-47" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb444-48"><a href="#cb444-48" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb444-49"><a href="#cb444-49" aria-hidden="true"></a> ,</span> -<span id="cb444-50"><a href="#cb444-50" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> -<span id="cb444-51"><a href="#cb444-51" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb444-52"><a href="#cb444-52" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb444-53"><a href="#cb444-53" aria-hidden="true"></a>}</span> -<span id="cb444-54"><a href="#cb444-54" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> -<span id="cb444-55"><a href="#cb444-55" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span> -<span id="cb444-56"><a href="#cb444-56" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span> -<span id="cb444-57"><a href="#cb444-57" aria-hidden="true"></a></span> -<span id="cb444-58"><a href="#cb444-58" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb444-59"><a href="#cb444-59" aria-hidden="true"></a>This is a loose definition list</span> -<span id="cb444-60"><a href="#cb444-60" aria-hidden="true"></a></span> -<span id="cb444-61"><a href="#cb444-61" aria-hidden="true"></a>Coffee</span> -<span id="cb444-62"><a href="#cb444-62" aria-hidden="true"></a></span> -<span id="cb444-63"><a href="#cb444-63" aria-hidden="true"></a>: black hot drink</span> -<span id="cb444-64"><a href="#cb444-64" aria-hidden="true"></a></span> -<span id="cb444-65"><a href="#cb444-65" aria-hidden="true"></a>: prepared from roasted coffee beans</span> -<span id="cb444-66"><a href="#cb444-66" aria-hidden="true"></a></span> -<span id="cb444-67"><a href="#cb444-67" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb444-68"><a href="#cb444-68" aria-hidden="true"></a></span> -<span id="cb444-69"><a href="#cb444-69" aria-hidden="true"></a>Milk</span> -<span id="cb444-70"><a href="#cb444-70" aria-hidden="true"></a></span> -<span id="cb444-71"><a href="#cb444-71" aria-hidden="true"></a>: white cold drink</span> -<span id="cb444-72"><a href="#cb444-72" aria-hidden="true"></a></span> -<span id="cb444-73"><a href="#cb444-73" aria-hidden="true"></a>: nutrient-rich</span> -<span id="cb444-74"><a href="#cb444-74" aria-hidden="true"></a></span> -<span id="cb444-75"><a href="#cb444-75" aria-hidden="true"></a>: produced on an industrial scale</span> -<span id="cb444-76"><a href="#cb444-76" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb444-77"><a href="#cb444-77" aria-hidden="true"></a></span> -<span id="cb444-78"><a href="#cb444-78" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.1.14" id="definition-list-renderers"><span +class="header-section-number">2.3.1.14</span> Definition List +Renderers</h4> +<p>The following macros are only produced, when the +<strong><code>definitionLists</code></strong> option is enabled.</p> +<p>The <code>\markdownRendererDlBegin</code> macro represents the +beginning of a definition list that contains an item with several +paragraphs of text (the list is not tight). The macro receives no +arguments.</p> +<p>The <code>\markdownRendererDlBeginTight</code> macro represents the +beginning of a definition list that contains an item with several +paragraphs of text (the list is not tight). This macro will only be +produced, when the <strong><code>tightLists</code></strong> option is +disabled. The macro receives no arguments.</p> +<p>The <code>\markdownRendererDlItem</code> macro represents a term in a +definition list. The macro receives a single argument that corresponds +to the term being defined.</p> +<p>The <code>\markdownRendererDlItemEnd</code> macro represents the end +of a list of definitions for a single term.</p> +<p>The <code>\markdownRendererDlDefinitionBegin</code> macro represents +the beginning of a definition in a definition list. There can be several +definitions for a single term.</p> +<p>The <code>\markdownRendererDlDefinitionEnd</code> macro represents +the end of a definition in a definition list. There can be several +definitions for a single term.</p> +<p>The <code>\markdownRendererDlEnd</code> macro represents the end of a +definition list that contains an item with several paragraphs of text +(the list is not tight). The macro receives no arguments.</p> +<p>The <code>\markdownRendererDlEndTight</code> macro represents the end +of a definition list that contains no item with several paragraphs of +text (the list is tight). This macro will only be produced, when the +<strong><code>tightLists</code></strong> option is disabled. The macro +receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-27">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>This is a tight definition list:</p> <p><strong>Coffee</strong></p> @@ -5730,93 +8028,101 @@ Thomas,Edison,1847</code></pre> <li>nutrient-rich, and</li> <li>produced on an industrial scale.</li> </ul> -<p>This is a loose definition list. Coffee is a black hot drink, 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" data-number="" 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="cb446"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb446-1"><a href="#cb446-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb446-2"><a href="#cb446-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</span> -<span id="cb446-3"><a href="#cb446-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb446-4"><a href="#cb446-4" aria-hidden="true"></a></span> -<span id="cb446-5"><a href="#cb446-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb446-6"><a href="#cb446-6" aria-hidden="true"></a> renderers = {</span> -<span id="cb446-7"><a href="#cb446-7" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb446-8"><a href="#cb446-8" aria-hidden="true"></a> :<span class="co">%</span></span> -<span id="cb446-9"><a href="#cb446-9" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb446-10"><a href="#cb446-10" aria-hidden="true"></a> },</span> -<span id="cb446-11"><a href="#cb446-11" aria-hidden="true"></a> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</span> -<span id="cb446-12"><a href="#cb446-12" aria-hidden="true"></a> dlItem = {<span class="co">%</span></span> -<span id="cb446-13"><a href="#cb446-13" aria-hidden="true"></a> <span class="fu">\item</span>[#1]</span> -<span id="cb446-14"><a href="#cb446-14" aria-hidden="true"></a> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</span> -<span id="cb446-15"><a href="#cb446-15" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb446-16"><a href="#cb446-16" aria-hidden="true"></a> ,</span> -<span id="cb446-17"><a href="#cb446-17" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb446-18"><a href="#cb446-18" aria-hidden="true"></a> , and</span> -<span id="cb446-19"><a href="#cb446-19" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> -<span id="cb446-20"><a href="#cb446-20" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb446-21"><a href="#cb446-21" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb446-22"><a href="#cb446-22" aria-hidden="true"></a> },</span> -<span id="cb446-23"><a href="#cb446-23" aria-hidden="true"></a> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span> -<span id="cb446-24"><a href="#cb446-24" aria-hidden="true"></a> dlDefinitionBegin = <span class="fu">\item</span>,</span> -<span id="cb446-25"><a href="#cb446-25" aria-hidden="true"></a> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</span> -<span id="cb446-26"><a href="#cb446-26" aria-hidden="true"></a> },</span> -<span id="cb446-27"><a href="#cb446-27" aria-hidden="true"></a>}</span> -<span id="cb446-28"><a href="#cb446-28" aria-hidden="true"></a>This is a tight definition list</span> -<span id="cb446-29"><a href="#cb446-29" aria-hidden="true"></a></span> -<span id="cb446-30"><a href="#cb446-30" aria-hidden="true"></a>Coffee</span> -<span id="cb446-31"><a href="#cb446-31" aria-hidden="true"></a>: black hot drink</span> -<span id="cb446-32"><a href="#cb446-32" aria-hidden="true"></a>: prepared from roasted coffee beans</span> -<span id="cb446-33"><a href="#cb446-33" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb446-34"><a href="#cb446-34" aria-hidden="true"></a></span> -<span id="cb446-35"><a href="#cb446-35" aria-hidden="true"></a>Milk</span> -<span id="cb446-36"><a href="#cb446-36" aria-hidden="true"></a>: white cold drink</span> -<span id="cb446-37"><a href="#cb446-37" aria-hidden="true"></a>: nutrient-rich</span> -<span id="cb446-38"><a href="#cb446-38" aria-hidden="true"></a>: produced on an industrial scale</span> -<span id="cb446-39"><a href="#cb446-39" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb446-40"><a href="#cb446-40" aria-hidden="true"></a></span> -<span id="cb446-41"><a href="#cb446-41" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb446-42"><a href="#cb446-42" aria-hidden="true"></a> renderers = {</span> -<span id="cb446-43"><a href="#cb446-43" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span> -<span id="cb446-44"><a href="#cb446-44" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb446-45"><a href="#cb446-45" aria-hidden="true"></a> },</span> -<span id="cb446-46"><a href="#cb446-46" aria-hidden="true"></a> dlBegin = {},</span> -<span id="cb446-47"><a href="#cb446-47" aria-hidden="true"></a> dlItem = {<span class="co">%</span></span> -<span id="cb446-48"><a href="#cb446-48" aria-hidden="true"></a> . #1 is a</span> -<span id="cb446-49"><a href="#cb446-49" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb446-50"><a href="#cb446-50" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb446-51"><a href="#cb446-51" aria-hidden="true"></a> ,</span> -<span id="cb446-52"><a href="#cb446-52" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> -<span id="cb446-53"><a href="#cb446-53" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb446-54"><a href="#cb446-54" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb446-55"><a href="#cb446-55" aria-hidden="true"></a> },</span> -<span id="cb446-56"><a href="#cb446-56" aria-hidden="true"></a> dlItemEnd = {},</span> -<span id="cb446-57"><a href="#cb446-57" aria-hidden="true"></a> dlDefinitionEnd = {},</span> -<span id="cb446-58"><a href="#cb446-58" aria-hidden="true"></a> dlEnd = {.},</span> -<span id="cb446-59"><a href="#cb446-59" aria-hidden="true"></a> },</span> -<span id="cb446-60"><a href="#cb446-60" aria-hidden="true"></a>}</span> -<span id="cb446-61"><a href="#cb446-61" aria-hidden="true"></a>This is a loose definition list</span> -<span id="cb446-62"><a href="#cb446-62" aria-hidden="true"></a></span> -<span id="cb446-63"><a href="#cb446-63" aria-hidden="true"></a>Coffee</span> -<span id="cb446-64"><a href="#cb446-64" aria-hidden="true"></a></span> -<span id="cb446-65"><a href="#cb446-65" aria-hidden="true"></a>: black hot drink</span> -<span id="cb446-66"><a href="#cb446-66" aria-hidden="true"></a></span> -<span id="cb446-67"><a href="#cb446-67" aria-hidden="true"></a>: prepared from roasted coffee beans</span> -<span id="cb446-68"><a href="#cb446-68" aria-hidden="true"></a></span> -<span id="cb446-69"><a href="#cb446-69" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb446-70"><a href="#cb446-70" aria-hidden="true"></a></span> -<span id="cb446-71"><a href="#cb446-71" aria-hidden="true"></a>Milk</span> -<span id="cb446-72"><a href="#cb446-72" aria-hidden="true"></a></span> -<span id="cb446-73"><a href="#cb446-73" aria-hidden="true"></a>: white cold drink</span> -<span id="cb446-74"><a href="#cb446-74" aria-hidden="true"></a></span> -<span id="cb446-75"><a href="#cb446-75" aria-hidden="true"></a>: nutrient-rich</span> -<span id="cb446-76"><a href="#cb446-76" aria-hidden="true"></a></span> -<span id="cb446-77"><a href="#cb446-77" aria-hidden="true"></a>: produced on an industrial scale</span> -<span id="cb446-78"><a href="#cb446-78" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb446-79"><a href="#cb446-79" aria-hidden="true"></a></span> -<span id="cb446-80"><a href="#cb446-80" aria-hidden="true"></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="cb447"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb447-1"><a href="#cb447-1" aria-hidden="true"></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> +<p>This is a loose definition list. Coffee is a black hot drink, +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>This is a tight definition list:</p> <p><strong>Coffee</strong></p> @@ -5831,93 +8137,101 @@ Thomas,Edison,1847</code></pre> <li>nutrient-rich, and</li> <li>produced on an industrial scale.</li> </ul> -<p>This is a loose definition list. Coffee is a black hot drink, 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" data-number="" id="context-example-42">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="cb448"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb448-1"><a href="#cb448-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb448-2"><a href="#cb448-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span></span> -<span id="cb448-3"><a href="#cb448-3" aria-hidden="true"></a> [</span> -<span id="cb448-4"><a href="#cb448-4" aria-hidden="true"></a> definitionLists = yes,</span> -<span id="cb448-5"><a href="#cb448-5" aria-hidden="true"></a> tightLists = yes,</span> -<span id="cb448-6"><a href="#cb448-6" aria-hidden="true"></a> ]</span> -<span id="cb448-7"><a href="#cb448-7" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb448-8"><a href="#cb448-8" aria-hidden="true"></a></span> -<span id="cb448-9"><a href="#cb448-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb448-10"><a href="#cb448-10" aria-hidden="true"></a> :<span class="co">%</span></span> -<span id="cb448-11"><a href="#cb448-11" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb448-12"><a href="#cb448-12" aria-hidden="true"></a>}</span> -<span id="cb448-13"><a href="#cb448-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{}</span> -<span id="cb448-14"><a href="#cb448-14" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb448-15"><a href="#cb448-15" aria-hidden="true"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span> -<span id="cb448-16"><a href="#cb448-16" aria-hidden="true"></a> <span class="fu">\startitemize</span></span> -<span id="cb448-17"><a href="#cb448-17" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb448-18"><a href="#cb448-18" aria-hidden="true"></a> ,</span> -<span id="cb448-19"><a href="#cb448-19" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span> -<span id="cb448-20"><a href="#cb448-20" aria-hidden="true"></a> , and</span> -<span id="cb448-21"><a href="#cb448-21" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span> -<span id="cb448-22"><a href="#cb448-22" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb448-23"><a href="#cb448-23" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb448-24"><a href="#cb448-24" aria-hidden="true"></a>}</span> -<span id="cb448-25"><a href="#cb448-25" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{<span class="fu">\stopitemize</span>}</span> -<span id="cb448-26"><a href="#cb448-26" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\item</span>}</span> -<span id="cb448-27"><a href="#cb448-27" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEndTight</span>{}</span> -<span id="cb448-28"><a href="#cb448-28" aria-hidden="true"></a></span> -<span id="cb448-29"><a href="#cb448-29" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb448-30"><a href="#cb448-30" aria-hidden="true"></a>This is a tight definition list</span> -<span id="cb448-31"><a href="#cb448-31" aria-hidden="true"></a></span> -<span id="cb448-32"><a href="#cb448-32" aria-hidden="true"></a>Coffee</span> -<span id="cb448-33"><a href="#cb448-33" aria-hidden="true"></a>: black hot drink</span> -<span id="cb448-34"><a href="#cb448-34" aria-hidden="true"></a>: prepared from roasted coffee beans</span> -<span id="cb448-35"><a href="#cb448-35" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb448-36"><a href="#cb448-36" aria-hidden="true"></a></span> -<span id="cb448-37"><a href="#cb448-37" aria-hidden="true"></a>Milk</span> -<span id="cb448-38"><a href="#cb448-38" aria-hidden="true"></a>: white cold drink</span> -<span id="cb448-39"><a href="#cb448-39" aria-hidden="true"></a>: nutrient-rich</span> -<span id="cb448-40"><a href="#cb448-40" aria-hidden="true"></a>: produced on an industrial scale</span> -<span id="cb448-41"><a href="#cb448-41" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb448-42"><a href="#cb448-42" aria-hidden="true"></a></span> -<span id="cb448-43"><a href="#cb448-43" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb448-44"><a href="#cb448-44" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span> -<span id="cb448-45"><a href="#cb448-45" aria-hidden="true"></a>}</span> -<span id="cb448-46"><a href="#cb448-46" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span> -<span id="cb448-47"><a href="#cb448-47" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span> -<span id="cb448-48"><a href="#cb448-48" aria-hidden="true"></a> . #1 is a</span> -<span id="cb448-49"><a href="#cb448-49" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb448-50"><a href="#cb448-50" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span> -<span id="cb448-51"><a href="#cb448-51" aria-hidden="true"></a> ,</span> -<span id="cb448-52"><a href="#cb448-52" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span> -<span id="cb448-53"><a href="#cb448-53" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb448-54"><a href="#cb448-54" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb448-55"><a href="#cb448-55" aria-hidden="true"></a>}</span> -<span id="cb448-56"><a href="#cb448-56" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span> -<span id="cb448-57"><a href="#cb448-57" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span> -<span id="cb448-58"><a href="#cb448-58" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span> -<span id="cb448-59"><a href="#cb448-59" aria-hidden="true"></a></span> -<span id="cb448-60"><a href="#cb448-60" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb448-61"><a href="#cb448-61" aria-hidden="true"></a>This is a loose definition list</span> -<span id="cb448-62"><a href="#cb448-62" aria-hidden="true"></a></span> -<span id="cb448-63"><a href="#cb448-63" aria-hidden="true"></a>Coffee</span> -<span id="cb448-64"><a href="#cb448-64" aria-hidden="true"></a></span> -<span id="cb448-65"><a href="#cb448-65" aria-hidden="true"></a>: black hot drink</span> -<span id="cb448-66"><a href="#cb448-66" aria-hidden="true"></a></span> -<span id="cb448-67"><a href="#cb448-67" aria-hidden="true"></a>: prepared from roasted coffee beans</span> -<span id="cb448-68"><a href="#cb448-68" aria-hidden="true"></a></span> -<span id="cb448-69"><a href="#cb448-69" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span> -<span id="cb448-70"><a href="#cb448-70" aria-hidden="true"></a></span> -<span id="cb448-71"><a href="#cb448-71" aria-hidden="true"></a>Milk</span> -<span id="cb448-72"><a href="#cb448-72" aria-hidden="true"></a></span> -<span id="cb448-73"><a href="#cb448-73" aria-hidden="true"></a>: white cold drink</span> -<span id="cb448-74"><a href="#cb448-74" aria-hidden="true"></a></span> -<span id="cb448-75"><a href="#cb448-75" aria-hidden="true"></a>: nutrient-rich</span> -<span id="cb448-76"><a href="#cb448-76" aria-hidden="true"></a></span> -<span id="cb448-77"><a href="#cb448-77" aria-hidden="true"></a>: produced on an industrial scale</span> -<span id="cb448-78"><a href="#cb448-78" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb448-79"><a href="#cb448-79" aria-hidden="true"></a></span> -<span id="cb448-80"><a href="#cb448-80" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<p>This is a loose definition list. Coffee is a black hot drink, +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="context-example-42">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>This is a tight definition list:</p> <p><strong>Coffee</strong></p> @@ -5932,825 +8246,1135 @@ Thomas,Edison,1847</code></pre> <li>nutrient-rich, and</li> <li>produced on an industrial scale.</li> </ul> -<p>This is a loose definition list. Coffee is a black hot drink, 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> -<h4 data-number="2.3.1.15" id="emphasis-renderers"><span class="header-section-number">2.3.1.15</span> Emphasis Renderers</h4> -<p>The <code>\markdownRendererEmphasis</code> macro represents an emphasized span of text. The macro receives a single argument that corresponds to the emphasized span of text.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-28">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="cb450"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb450-1"><a href="#cb450-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb450-2"><a href="#cb450-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{{<span class="fu">\it</span>#1}}</span> -<span id="cb450-3"><a href="#cb450-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{{<span class="fu">\bf</span>#1}}</span> -<span id="cb450-4"><a href="#cb450-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb450-5"><a href="#cb450-5" aria-hidden="true"></a>This is *emphasis*.</span> -<span id="cb450-6"><a href="#cb450-6" aria-hidden="true"></a></span> -<span id="cb450-7"><a href="#cb450-7" aria-hidden="true"></a>This is **strong emphasis**.</span> -<span id="cb450-8"><a href="#cb450-8" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb450-9"><a href="#cb450-9" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<p>This is a loose definition list. Coffee is a black hot drink, +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> +<h4 data-number="2.3.1.15" id="emphasis-renderers"><span +class="header-section-number">2.3.1.15</span> Emphasis Renderers</h4> +<p>The <code>\markdownRendererEmphasis</code> macro represents an +emphasized span of text. The macro receives a single argument that +corresponds to the emphasized span of text.</p> +<h5 class="unnumbered" id="plain-tex-example-28">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="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> +<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> +<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" data-number="" 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="cb452"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb452-1"><a href="#cb452-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb452-2"><a href="#cb452-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb452-3"><a href="#cb452-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb452-4"><a href="#cb452-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb452-5"><a href="#cb452-5" aria-hidden="true"></a> emphasis = {<span class="fu">\emph</span>{#1}},</span> -<span id="cb452-6"><a href="#cb452-6" aria-hidden="true"></a> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</span> -<span id="cb452-7"><a href="#cb452-7" aria-hidden="true"></a> },</span> -<span id="cb452-8"><a href="#cb452-8" aria-hidden="true"></a>}</span> -<span id="cb452-9"><a href="#cb452-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb452-10"><a href="#cb452-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb452-11"><a href="#cb452-11" aria-hidden="true"></a>This is *emphasis*.</span> -<span id="cb452-12"><a href="#cb452-12" aria-hidden="true"></a></span> -<span id="cb452-13"><a href="#cb452-13" aria-hidden="true"></a>This is **strong emphasis**.</span> -<span id="cb452-14"><a href="#cb452-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb452-15"><a href="#cb452-15" aria-hidden="true"></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="cb453"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb453-1"><a href="#cb453-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-43">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="cb454"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb454-1"><a href="#cb454-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb454-2"><a href="#cb454-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{<span class="fu">\emph</span>{#1}}</span> -<span id="cb454-3"><a href="#cb454-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{<span class="fu">\bold</span>{#1}}</span> -<span id="cb454-4"><a href="#cb454-4" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb454-5"><a href="#cb454-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb454-6"><a href="#cb454-6" aria-hidden="true"></a>This is *emphasis*.</span> -<span id="cb454-7"><a href="#cb454-7" aria-hidden="true"></a></span> -<span id="cb454-8"><a href="#cb454-8" aria-hidden="true"></a>This is **strong emphasis**.</span> -<span id="cb454-9"><a href="#cb454-9" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb454-10"><a href="#cb454-10" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-43">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="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> +<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> +<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> -<p>The <code>\markdownRendererStrongEmphasis</code> macro represents a strongly emphasized span of text. The macro receives a single argument that corresponds to the emphasized span of text.</p> -<h4 data-number="2.3.1.16" id="block-quote-renderers"><span class="header-section-number">2.3.1.16</span> Block Quote Renderers</h4> -<p>The <code>\markdownRendererBlockQuoteBegin</code> macro represents the beginning of a block quote. The macro receives no arguments.</p> -<p>The <code>\markdownRendererBlockQuoteEnd</code> macro represents the end of a block quote. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-29">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="cb456"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb456-1"><a href="#cb456-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb456-2"><a href="#cb456-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="co">%</span></span> -<span id="cb456-3"><a href="#cb456-3" aria-hidden="true"></a> <span class="fu">\begingroup</span></span> -<span id="cb456-4"><a href="#cb456-4" aria-hidden="true"></a> <span class="fu">\vskip\parindent</span></span> -<span id="cb456-5"><a href="#cb456-5" aria-hidden="true"></a> <span class="fu">\leftskip</span>=2<span class="fu">\parindent</span></span> -<span id="cb456-6"><a href="#cb456-6" aria-hidden="true"></a> <span class="fu">\parindent</span>=0pt</span> -<span id="cb456-7"><a href="#cb456-7" aria-hidden="true"></a>}</span> -<span id="cb456-8"><a href="#cb456-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="co">%</span></span> -<span id="cb456-9"><a href="#cb456-9" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb456-10"><a href="#cb456-10" aria-hidden="true"></a> <span class="fu">\vskip\parindent</span></span> -<span id="cb456-11"><a href="#cb456-11" aria-hidden="true"></a> <span class="fu">\endgroup</span></span> -<span id="cb456-12"><a href="#cb456-12" aria-hidden="true"></a>}</span> -<span id="cb456-13"><a href="#cb456-13" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb456-14"><a href="#cb456-14" aria-hidden="true"></a>A quote from William Shakespeare's King Lear:</span> -<span id="cb456-15"><a href="#cb456-15" aria-hidden="true"></a></span> -<span id="cb456-16"><a href="#cb456-16" aria-hidden="true"></a>> This is the excellent foppery of the world that when we are</span> -<span id="cb456-17"><a href="#cb456-17" aria-hidden="true"></a>> sick in fortune---often the surfeit of our own behavior---we</span> -<span id="cb456-18"><a href="#cb456-18" aria-hidden="true"></a>> make guilty of our disasters the sun, the moon, and the</span> -<span id="cb456-19"><a href="#cb456-19" aria-hidden="true"></a>> stars [...]</span> -<span id="cb456-20"><a href="#cb456-20" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb456-21"><a href="#cb456-21" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<p>The <code>\markdownRendererStrongEmphasis</code> macro represents a +strongly emphasized span of text. The macro receives a single argument +that corresponds to the emphasized span of text.</p> +<h4 data-number="2.3.1.16" id="block-quote-renderers"><span +class="header-section-number">2.3.1.16</span> Block Quote Renderers</h4> +<p>The <code>\markdownRendererBlockQuoteBegin</code> macro represents +the beginning of a block quote. The macro receives no arguments.</p> +<p>The <code>\markdownRendererBlockQuoteEnd</code> macro represents the +end of a block quote. The macro receives no arguments.</p> +<h5 class="unnumbered" id="plain-tex-example-29">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>A quote from William Shakespeare’s King Lear:</p> <blockquote> -<p>This is the excellent foppery of the world that when we are sick in 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" data-number="" 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="cb458"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb458-1"><a href="#cb458-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb458-2"><a href="#cb458-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb458-3"><a href="#cb458-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb458-4"><a href="#cb458-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb458-5"><a href="#cb458-5" aria-hidden="true"></a> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span> -<span id="cb458-6"><a href="#cb458-6" aria-hidden="true"></a> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span> -<span id="cb458-7"><a href="#cb458-7" aria-hidden="true"></a> },</span> -<span id="cb458-8"><a href="#cb458-8" aria-hidden="true"></a>}</span> -<span id="cb458-9"><a href="#cb458-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb458-10"><a href="#cb458-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb458-11"><a href="#cb458-11" aria-hidden="true"></a>A quote from William Shakespeare's King Lear:</span> -<span id="cb458-12"><a href="#cb458-12" aria-hidden="true"></a></span> -<span id="cb458-13"><a href="#cb458-13" aria-hidden="true"></a>> This is the excellent foppery of the world that when we are</span> -<span id="cb458-14"><a href="#cb458-14" aria-hidden="true"></a>> sick in fortune---often the surfeit of our own behavior---we</span> -<span id="cb458-15"><a href="#cb458-15" aria-hidden="true"></a>> make guilty of our disasters the sun, the moon, and the</span> -<span id="cb458-16"><a href="#cb458-16" aria-hidden="true"></a>> stars [...]</span> -<span id="cb458-17"><a href="#cb458-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb458-18"><a href="#cb458-18" aria-hidden="true"></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="cb459"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb459-1"><a href="#cb459-1" aria-hidden="true"></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> +<p>This is the excellent foppery of the world that when we are sick in +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>A quote from William Shakespeare’s King Lear:</p> <blockquote> -<p>This is the excellent foppery of the world that when we are sick in 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" data-number="" id="context-example-44">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="cb460"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb460-1"><a href="#cb460-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb460-2"><a href="#cb460-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="fu">\startquotation</span>}</span> -<span id="cb460-3"><a href="#cb460-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="fu">\stopquotation</span>}</span> -<span id="cb460-4"><a href="#cb460-4" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb460-5"><a href="#cb460-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb460-6"><a href="#cb460-6" aria-hidden="true"></a>A quote from William Shakespeare's King Lear:</span> -<span id="cb460-7"><a href="#cb460-7" aria-hidden="true"></a></span> -<span id="cb460-8"><a href="#cb460-8" aria-hidden="true"></a>> This is the excellent foppery of the world that when we are</span> -<span id="cb460-9"><a href="#cb460-9" aria-hidden="true"></a>> sick in fortune---often the surfeit of our own behavior---we</span> -<span id="cb460-10"><a href="#cb460-10" aria-hidden="true"></a>> make guilty of our disasters the sun, the moon, and the</span> -<span id="cb460-11"><a href="#cb460-11" aria-hidden="true"></a>> stars [...]</span> -<span id="cb460-12"><a href="#cb460-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb460-13"><a href="#cb460-13" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<p>This is the excellent foppery of the world that when we are sick in +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="context-example-44">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>A quote from William Shakespeare’s King Lear:</p> <blockquote> -<p>This is the excellent foppery of the world that when we are sick in fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p> -</blockquote> -</blockquote> -<h4 data-number="2.3.1.17" id="code-block-renderers"><span class="header-section-number">2.3.1.17</span> Code Block Renderers</h4> -<p>The <code>\markdownRendererInputVerbatim</code> macro represents a code block. The macro receives a single argument that corresponds to the filename of a file contaning the code block contents.</p> -<p>The <code>\markdownRendererInputFencedCode</code> macro represents a 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" data-number="" 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="cb462"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb462-1"><a href="#cb462-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb462-2"><a href="#cb462-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span> -<span id="cb462-3"><a href="#cb462-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</span> -<span id="cb462-4"><a href="#cb462-4" aria-hidden="true"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span> -<span id="cb462-5"><a href="#cb462-5" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb462-6"><a href="#cb462-6" aria-hidden="true"></a> renderers = {</span> -<span id="cb462-7"><a href="#cb462-7" aria-hidden="true"></a> interblockSeparator = {</span> -<span id="cb462-8"><a href="#cb462-8" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb462-9"><a href="#cb462-9" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb462-10"><a href="#cb462-10" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb462-11"><a href="#cb462-11" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span> -<span id="cb462-12"><a href="#cb462-12" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb462-13"><a href="#cb462-13" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb462-14"><a href="#cb462-14" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb462-15"><a href="#cb462-15" aria-hidden="true"></a> }<span class="co">%</span></span> -<span id="cb462-16"><a href="#cb462-16" aria-hidden="true"></a> },</span> -<span id="cb462-17"><a href="#cb462-17" aria-hidden="true"></a> inputVerbatim = {</span> -<span id="cb462-18"><a href="#cb462-18" aria-hidden="true"></a> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></span> -<span id="cb462-19"><a href="#cb462-19" aria-hidden="true"></a> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></span> -<span id="cb462-20"><a href="#cb462-20" aria-hidden="true"></a> },</span> -<span id="cb462-21"><a href="#cb462-21" aria-hidden="true"></a> inputFencedCode = {</span> -<span id="cb462-22"><a href="#cb462-22" aria-hidden="true"></a> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></span> -<span id="cb462-23"><a href="#cb462-23" aria-hidden="true"></a> },</span> -<span id="cb462-24"><a href="#cb462-24" aria-hidden="true"></a> },</span> -<span id="cb462-25"><a href="#cb462-25" aria-hidden="true"></a>}</span> -<span id="cb462-26"><a href="#cb462-26" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb462-27"><a href="#cb462-27" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb462-28"><a href="#cb462-28" aria-hidden="true"></a>The following code</span> -<span id="cb462-29"><a href="#cb462-29" aria-hidden="true"></a></span> -<span id="cb462-30"><a href="#cb462-30" aria-hidden="true"></a> def foo(bar):</span> -<span id="cb462-31"><a href="#cb462-31" aria-hidden="true"></a> if len(bar) <= 1:</span> -<span id="cb462-32"><a href="#cb462-32" aria-hidden="true"></a> return bar[0]</span> -<span id="cb462-33"><a href="#cb462-33" aria-hidden="true"></a> elif len(bar) == 2:</span> -<span id="cb462-34"><a href="#cb462-34" aria-hidden="true"></a> return sorted(bar)</span> -<span id="cb462-35"><a href="#cb462-35" aria-hidden="true"></a> else:</span> -<span id="cb462-36"><a href="#cb462-36" aria-hidden="true"></a> baz = len(bar) // 2</span> -<span id="cb462-37"><a href="#cb462-37" aria-hidden="true"></a> return foo(bar[baz:], bar[:baz])</span> -<span id="cb462-38"><a href="#cb462-38" aria-hidden="true"></a></span> -<span id="cb462-39"><a href="#cb462-39" aria-hidden="true"></a>The following code</span> -<span id="cb462-40"><a href="#cb462-40" aria-hidden="true"></a></span> -<span id="cb462-41"><a href="#cb462-41" aria-hidden="true"></a>~~~ Python</span> -<span id="cb462-42"><a href="#cb462-42" aria-hidden="true"></a>>>> foo([4, 2, 1, 3])</span> -<span id="cb462-43"><a href="#cb462-43" aria-hidden="true"></a>[1, 2, 3, 4]</span> -<span id="cb462-44"><a href="#cb462-44" aria-hidden="true"></a>~~~~~~~~~~</span> -<span id="cb462-45"><a href="#cb462-45" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb462-46"><a href="#cb462-46" aria-hidden="true"></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"></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="cb464"><pre class="sourceCode py"><code class="sourceCode python"><span id="cb464-1"><a href="#cb464-1" aria-hidden="true"></a><span class="kw">def</span> foo(bar):</span> -<span id="cb464-2"><a href="#cb464-2" aria-hidden="true"></a> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op"><=</span> <span class="dv">1</span>:</span> -<span id="cb464-3"><a href="#cb464-3" aria-hidden="true"></a> <span class="cf">return</span> bar[:<span class="dv">1</span>]</span> -<span id="cb464-4"><a href="#cb464-4" aria-hidden="true"></a> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</span> -<span id="cb464-5"><a href="#cb464-5" aria-hidden="true"></a> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</span> -<span id="cb464-6"><a href="#cb464-6" aria-hidden="true"></a> <span class="cf">else</span>:</span> -<span id="cb464-7"><a href="#cb464-7" aria-hidden="true"></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="cb464-8"><a href="#cb464-8" aria-hidden="true"></a> <span class="cf">return</span> (</span> -<span id="cb464-9"><a href="#cb464-9" aria-hidden="true"></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="cb464-10"><a href="#cb464-10" aria-hidden="true"></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="cb464-11"><a href="#cb464-11" aria-hidden="true"></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="cb465"><pre class="sourceCode py"><code class="sourceCode python"><span id="cb465-1"><a href="#cb465-1" aria-hidden="true"></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="cb465-2"><a href="#cb465-2" aria-hidden="true"></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 Renderers</h4> -<p>The <code>\markdownRendererJekyllDataBegin</code> macro represents the beginning of a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererJekyllDataEnd</code> macro represents the end of a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererJekyllDataMappingBegin</code> macro represents the beginning of a mapping in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules, and the number of items in the mapping.</p> -<p>The <code>\markdownRendererJekyllDataMappingEnd</code> macro represents the end of a mapping in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererJekyllDataSequenceBegin</code> macro represents the beginning of a sequence in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules, and the number of items in the sequence.</p> -<p>The <code>\markdownRendererJekyllDataSequenceEnd</code> macro represents the end of a sequence in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p> -<p>The <code>\markdownRendererJekyllDataBoolean</code> macro represents a boolean scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, and the scalar value, both cast to a string following <abbr>yaml</abbr> serialization rules.</p> -<p>The <code>\markdownRendererJekyllDataNumber</code> macro represents a numeric scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, and the scalar value, both cast to a string following <abbr>yaml</abbr> serialization rules.</p> -<p>The <code>\markdownRendererJekyllDataString</code> macro represents a string scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules, and the scalar value.</p> -<p>The <code>\markdownRendererJekyllDataEmpty</code> macro represents an empty scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives one argument: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-30">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="cb466"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb466-1"><a href="#cb466-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb466-2"><a href="#cb466-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> -<span id="cb466-3"><a href="#cb466-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span> -<span id="cb466-4"><a href="#cb466-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span> -<span id="cb466-5"><a href="#cb466-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb466-6"><a href="#cb466-6" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb466-7"><a href="#cb466-7" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb466-8"><a href="#cb466-8" aria-hidden="true"></a>---</span> -<span id="cb466-9"><a href="#cb466-9" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb466-10"><a href="#cb466-10" aria-hidden="true"></a>age: 99</span> -<span id="cb466-11"><a href="#cb466-11" aria-hidden="true"></a>---</span> -<span id="cb466-12"><a href="#cb466-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb466-13"><a href="#cb466-13" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<p>This is the excellent foppery of the world that when we are sick in +fortune—often the surfeit of our own behavior—we make guilty of our +disasters the sun, the moon, and the stars […]</p> +</blockquote> +</blockquote> +<h4 data-number="2.3.1.17" id="code-block-renderers"><span +class="header-section-number">2.3.1.17</span> Code Block Renderers</h4> +<p>The <code>\markdownRendererInputVerbatim</code> macro represents a +code block. The macro receives a single argument that corresponds to the +filename of a file contaning the code block contents.</p> +<p>The <code>\markdownRendererInputFencedCode</code> macro represents a +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 +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> +<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> +<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> +<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> +</blockquote> +<h4 data-number="2.3.1.18" id="yamlmetadatarenderers"><span +class="header-section-number">2.3.1.18</span> YAML Metadata +Renderers</h4> +<p>The <code>\markdownRendererJekyllDataBegin</code> macro represents +the beginning of a <abbr>yaml</abbr> document. This macro will only be +produced when the <strong><code>jekyllData</code></strong> option is +enabled. The macro receives no arguments.</p> +<p>The <code>\markdownRendererJekyllDataEnd</code> macro represents the +end of a <abbr>yaml</abbr> document. This macro will only be produced +when the <strong><code>jekyllData</code></strong> option is enabled. The +macro receives no arguments.</p> +<p>The <code>\markdownRendererJekyllDataMappingBegin</code> macro +represents the beginning of a mapping in a <abbr>yaml</abbr> document. +This macro will only be produced when the +<strong><code>jekyllData</code></strong> option is enabled. The macro +receives two arguments: the scalar key in the parent structure, cast to +a string following <abbr>yaml</abbr> serialization rules, and the number +of items in the mapping.</p> +<p>The <code>\markdownRendererJekyllDataMappingEnd</code> macro +represents the end of a mapping in a <abbr>yaml</abbr> document. This +macro will only be produced when the +<strong><code>jekyllData</code></strong> option is enabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererJekyllDataSequenceBegin</code> macro +represents the beginning of a sequence in a <abbr>yaml</abbr> document. +This macro will only be produced when the +<strong><code>jekyllData</code></strong> option is enabled. The macro +receives two arguments: the scalar key in the parent structure, cast to +a string following <abbr>yaml</abbr> serialization rules, and the number +of items in the sequence.</p> +<p>The <code>\markdownRendererJekyllDataSequenceEnd</code> macro +represents the end of a sequence in a <abbr>yaml</abbr> document. This +macro will only be produced when the +<strong><code>jekyllData</code></strong> option is enabled. The macro +receives no arguments.</p> +<p>The <code>\markdownRendererJekyllDataBoolean</code> macro represents +a boolean scalar value in a <abbr>yaml</abbr> document. This macro will +only be produced when the <strong><code>jekyllData</code></strong> +option is enabled. The macro receives two arguments: the scalar key in +the parent structure, and the scalar value, both cast to a string +following <abbr>yaml</abbr> serialization rules.</p> +<p>The <code>\markdownRendererJekyllDataNumber</code> macro represents a +numeric scalar value in a <abbr>yaml</abbr> document. This macro will +only be produced when the <strong><code>jekyllData</code></strong> +option is enabled. The macro receives two arguments: the scalar key in +the parent structure, and the scalar value, both cast to a string +following <abbr>yaml</abbr> serialization rules.</p> +<p>The <code>\markdownRendererJekyllDataString</code> macro represents a +string scalar value in a <abbr>yaml</abbr> document. This macro will +only be produced when the <strong><code>jekyllData</code></strong> +option is enabled. The macro receives two arguments: the scalar key in +the parent structure, cast to a string following <abbr>yaml</abbr> +serialization rules, and the scalar value.</p> +<p>The <code>\markdownRendererJekyllDataEmpty</code> macro represents an +empty scalar value in a <abbr>yaml</abbr> document. This macro will only +be produced when the <strong><code>jekyllData</code></strong> option is +enabled. The macro receives one argument: the scalar key in the parent +structure, cast to a string following <abbr>yaml</abbr> serialization +rules.</p> +<h5 class="unnumbered" id="plain-tex-example-30">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="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> +<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> +<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" data-number="" 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="cb468"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb468-1"><a href="#cb468-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb468-2"><a href="#cb468-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb468-3"><a href="#cb468-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb468-4"><a href="#cb468-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb468-5"><a href="#cb468-5" aria-hidden="true"></a> jekyllDataString = {<span class="fu">\gdef\name</span>{#2}},</span> -<span id="cb468-6"><a href="#cb468-6" aria-hidden="true"></a> jekyllDataNumber = {<span class="fu">\gdef\age</span>{#2}},</span> -<span id="cb468-7"><a href="#cb468-7" aria-hidden="true"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> -<span id="cb468-8"><a href="#cb468-8" aria-hidden="true"></a> }</span> -<span id="cb468-9"><a href="#cb468-9" aria-hidden="true"></a>}</span> -<span id="cb468-10"><a href="#cb468-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb468-11"><a href="#cb468-11" aria-hidden="true"></a></span> -<span id="cb468-12"><a href="#cb468-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb468-13"><a href="#cb468-13" aria-hidden="true"></a>---</span> -<span id="cb468-14"><a href="#cb468-14" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb468-15"><a href="#cb468-15" aria-hidden="true"></a>age: 99</span> -<span id="cb468-16"><a href="#cb468-16" aria-hidden="true"></a>---</span> -<span id="cb468-17"><a href="#cb468-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb468-18"><a href="#cb468-18" aria-hidden="true"></a></span> -<span id="cb468-19"><a href="#cb468-19" aria-hidden="true"></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="cb469"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb469-1"><a href="#cb469-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-45">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="cb470"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb470-1"><a href="#cb470-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb470-2"><a href="#cb470-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> -<span id="cb470-3"><a href="#cb470-3" aria-hidden="true"></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"></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"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb470-6"><a href="#cb470-6" aria-hidden="true"></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"></a><span class="fu">\starttext</span></span> -<span id="cb470-8"><a href="#cb470-8" aria-hidden="true"></a></span> -<span id="cb470-9"><a href="#cb470-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb470-10"><a href="#cb470-10" aria-hidden="true"></a>---</span> -<span id="cb470-11"><a href="#cb470-11" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb470-12"><a href="#cb470-12" aria-hidden="true"></a>age: 99</span> -<span id="cb470-13"><a href="#cb470-13" aria-hidden="true"></a>---</span> -<span id="cb470-14"><a href="#cb470-14" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb470-15"><a href="#cb470-15" aria-hidden="true"></a></span> -<span id="cb470-16"><a href="#cb470-16" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-45">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="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> +<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> +<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> -<h4 data-number="2.3.1.19" id="heading-renderers"><span class="header-section-number">2.3.1.19</span> Heading Renderers</h4> -<p>The <code>\markdownRendererHeadingOne</code> macro represents a first level heading. The macro receives a single argument that corresponds to the heading text.</p> -<p>The <code>\markdownRendererHeadingTwo</code> macro represents a second level heading. The macro receives a single argument that corresponds to the heading text.</p> -<p>The <code>\markdownRendererHeadingThree</code> macro represents a third level heading. The macro receives a single argument that corresponds to the heading text.</p> -<p>The <code>\markdownRendererHeadingFour</code> macro represents a fourth level heading. The macro receives a single argument that corresponds to the heading text.</p> -<p>The <code>\markdownRendererHeadingFive</code> macro represents a fifth level heading. The macro receives a single argument that corresponds to the heading text.</p> -<p>The <code>\markdownRendererHeadingSix</code> macro represents a sixth level heading. The macro receives a single argument that corresponds to the heading text.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-31">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="cb472"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb472-1"><a href="#cb472-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb472-2"><a href="#cb472-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb472-3"><a href="#cb472-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span> -<span id="cb472-4"><a href="#cb472-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span> -<span id="cb472-5"><a href="#cb472-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span> -<span id="cb472-6"><a href="#cb472-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span> -<span id="cb472-7"><a href="#cb472-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span> -<span id="cb472-8"><a href="#cb472-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span> -<span id="cb472-9"><a href="#cb472-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb472-10"><a href="#cb472-10" aria-hidden="true"></a>######</span> -<span id="cb472-11"><a href="#cb472-11" aria-hidden="true"></a>#####</span> -<span id="cb472-12"><a href="#cb472-12" aria-hidden="true"></a>#####</span> -<span id="cb472-13"><a href="#cb472-13" aria-hidden="true"></a>###</span> -<span id="cb472-14"><a href="#cb472-14" aria-hidden="true"></a>######</span> -<span id="cb472-15"><a href="#cb472-15" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb472-16"><a href="#cb472-16" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.1.19" id="heading-renderers"><span +class="header-section-number">2.3.1.19</span> Heading Renderers</h4> +<p>The <code>\markdownRendererHeadingOne</code> macro represents a first +level heading. The macro receives a single argument that corresponds to +the heading text.</p> +<p>The <code>\markdownRendererHeadingTwo</code> macro represents a +second level heading. The macro receives a single argument that +corresponds to the heading text.</p> +<p>The <code>\markdownRendererHeadingThree</code> macro represents a +third level heading. The macro receives a single argument that +corresponds to the heading text.</p> +<p>The <code>\markdownRendererHeadingFour</code> macro represents a +fourth level heading. The macro receives a single argument that +corresponds to the heading text.</p> +<p>The <code>\markdownRendererHeadingFive</code> macro represents a +fifth level heading. The macro receives a single argument that +corresponds to the heading text.</p> +<p>The <code>\markdownRendererHeadingSix</code> macro represents a sixth +level heading. The macro receives a single argument that corresponds to +the heading text.</p> +<h5 class="unnumbered" id="plain-tex-example-31">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="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> +<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> +<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" data-number="" 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="cb474"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb474-1"><a href="#cb474-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb474-2"><a href="#cb474-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb474-3"><a href="#cb474-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb474-4"><a href="#cb474-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb474-5"><a href="#cb474-5" aria-hidden="true"></a> interblockSeparator = {},</span> -<span id="cb474-6"><a href="#cb474-6" aria-hidden="true"></a> headingOne = 1,</span> -<span id="cb474-7"><a href="#cb474-7" aria-hidden="true"></a> headingTwo = 2,</span> -<span id="cb474-8"><a href="#cb474-8" aria-hidden="true"></a> headingThree = 3,</span> -<span id="cb474-9"><a href="#cb474-9" aria-hidden="true"></a> headingFour = 4,</span> -<span id="cb474-10"><a href="#cb474-10" aria-hidden="true"></a> headingFive = 5,</span> -<span id="cb474-11"><a href="#cb474-11" aria-hidden="true"></a> headingSix = 6,</span> -<span id="cb474-12"><a href="#cb474-12" aria-hidden="true"></a> },</span> -<span id="cb474-13"><a href="#cb474-13" aria-hidden="true"></a>}</span> -<span id="cb474-14"><a href="#cb474-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb474-15"><a href="#cb474-15" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb474-16"><a href="#cb474-16" aria-hidden="true"></a>######</span> -<span id="cb474-17"><a href="#cb474-17" aria-hidden="true"></a>#####</span> -<span id="cb474-18"><a href="#cb474-18" aria-hidden="true"></a>#####</span> -<span id="cb474-19"><a href="#cb474-19" aria-hidden="true"></a>###</span> -<span id="cb474-20"><a href="#cb474-20" aria-hidden="true"></a>######</span> -<span id="cb474-21"><a href="#cb474-21" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb474-22"><a href="#cb474-22" aria-hidden="true"></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="cb475"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb475-1"><a href="#cb475-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-46">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="cb476"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb476-1"><a href="#cb476-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb476-2"><a href="#cb476-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span> -<span id="cb476-3"><a href="#cb476-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span> -<span id="cb476-4"><a href="#cb476-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span> -<span id="cb476-5"><a href="#cb476-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span> -<span id="cb476-6"><a href="#cb476-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span> -<span id="cb476-7"><a href="#cb476-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span> -<span id="cb476-8"><a href="#cb476-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span> -<span id="cb476-9"><a href="#cb476-9" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb476-10"><a href="#cb476-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb476-11"><a href="#cb476-11" aria-hidden="true"></a>######</span> -<span id="cb476-12"><a href="#cb476-12" aria-hidden="true"></a>#####</span> -<span id="cb476-13"><a href="#cb476-13" aria-hidden="true"></a>#####</span> -<span id="cb476-14"><a href="#cb476-14" aria-hidden="true"></a>###</span> -<span id="cb476-15"><a href="#cb476-15" aria-hidden="true"></a>######</span> -<span id="cb476-16"><a href="#cb476-16" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb476-17"><a href="#cb476-17" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-46">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="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> +<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> +<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 Renderer</h4> -<p>The <code>\markdownRendererHorizontalRule</code> macro represents a horizontal rule. The macro receives no arguments.</p> -<h5 class="unnumbered" data-number="" 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="cb478"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb478-1"><a href="#cb478-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb478-2"><a href="#cb478-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererHorizontalRule</span>{<span class="fu">\vfil\break</span>}</span> -<span id="cb478-3"><a href="#cb478-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb478-4"><a href="#cb478-4" aria-hidden="true"></a>This is the first page.</span> -<span id="cb478-5"><a href="#cb478-5" aria-hidden="true"></a></span> -<span id="cb478-6"><a href="#cb478-6" aria-hidden="true"></a>***</span> -<span id="cb478-7"><a href="#cb478-7" aria-hidden="true"></a></span> -<span id="cb478-8"><a href="#cb478-8" aria-hidden="true"></a>This is the second page.</span> -<span id="cb478-9"><a href="#cb478-9" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb478-10"><a href="#cb478-10" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.1.20" id="horizontal-rule-renderer"><span +class="header-section-number">2.3.1.20</span> Horizontal Rule +Renderer</h4> +<p>The <code>\markdownRendererHorizontalRule</code> macro represents a +horizontal rule. 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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>This is the first page.</p> <hr /> <p>This is the second page.</p> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb480"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb480-1"><a href="#cb480-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb480-2"><a href="#cb480-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb480-3"><a href="#cb480-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb480-4"><a href="#cb480-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb480-5"><a href="#cb480-5" aria-hidden="true"></a> horizontalRule = <span class="fu">\newpage</span>,</span> -<span id="cb480-6"><a href="#cb480-6" aria-hidden="true"></a> },</span> -<span id="cb480-7"><a href="#cb480-7" aria-hidden="true"></a>}</span> -<span id="cb480-8"><a href="#cb480-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb480-9"><a href="#cb480-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb480-10"><a href="#cb480-10" aria-hidden="true"></a>This is the first page.</span> -<span id="cb480-11"><a href="#cb480-11" aria-hidden="true"></a></span> -<span id="cb480-12"><a href="#cb480-12" aria-hidden="true"></a>***</span> -<span id="cb480-13"><a href="#cb480-13" aria-hidden="true"></a></span> -<span id="cb480-14"><a href="#cb480-14" aria-hidden="true"></a>This is the second page.</span> -<span id="cb480-15"><a href="#cb480-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb480-16"><a href="#cb480-16" aria-hidden="true"></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="cb481"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb481-1"><a href="#cb481-1" aria-hidden="true"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>This is the first page.</p> <hr /> <p>This is the second page.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-47">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="cb482"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb482-1"><a href="#cb482-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb482-2"><a href="#cb482-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererHorizontalRule</span>{<span class="fu">\page</span>[yes]}</span> -<span id="cb482-3"><a href="#cb482-3" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb482-4"><a href="#cb482-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb482-5"><a href="#cb482-5" aria-hidden="true"></a>This is the first page.</span> -<span id="cb482-6"><a href="#cb482-6" aria-hidden="true"></a></span> -<span id="cb482-7"><a href="#cb482-7" aria-hidden="true"></a>***</span> -<span id="cb482-8"><a href="#cb482-8" aria-hidden="true"></a></span> -<span id="cb482-9"><a href="#cb482-9" aria-hidden="true"></a>This is the second page.</span> -<span id="cb482-10"><a href="#cb482-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb482-11"><a href="#cb482-11" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-47">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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <p>This is the first page.</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> -<h5 class="unnumbered" data-number="" 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="cb484"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb484-1"><a href="#cb484-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb484-2"><a href="#cb484-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFootnotes</span>{true}</span> -<span id="cb484-3"><a href="#cb484-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererFootnote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span> -<span id="cb484-4"><a href="#cb484-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb484-5"><a href="#cb484-5" aria-hidden="true"></a>This is some text[^1] and this is some other text[^2].</span> -<span id="cb484-6"><a href="#cb484-6" aria-hidden="true"></a></span> -<span id="cb484-7"><a href="#cb484-7" aria-hidden="true"></a> [^1]: this is a footnote</span> -<span id="cb484-8"><a href="#cb484-8" aria-hidden="true"></a></span> -<span id="cb484-9"><a href="#cb484-9" aria-hidden="true"></a> [^2]: this is some other footnote</span> -<span id="cb484-10"><a href="#cb484-10" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb484-11"><a href="#cb484-11" aria-hidden="true"></a><span class="fu">\bye</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"></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> -</blockquote> -<h5 class="unnumbered" data-number="" 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="cb486"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb486-1"><a href="#cb486-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb486-2"><a href="#cb486-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</span> -<span id="cb486-3"><a href="#cb486-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb486-4"><a href="#cb486-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb486-5"><a href="#cb486-5" aria-hidden="true"></a> footnote = { (and <span class="fu">\MakeLowercase</span>{#1})},</span> -<span id="cb486-6"><a href="#cb486-6" aria-hidden="true"></a> },</span> -<span id="cb486-7"><a href="#cb486-7" aria-hidden="true"></a>}</span> -<span id="cb486-8"><a href="#cb486-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb486-9"><a href="#cb486-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb486-10"><a href="#cb486-10" aria-hidden="true"></a>This is some text[^1] and this is some other text[^2].</span> -<span id="cb486-11"><a href="#cb486-11" aria-hidden="true"></a></span> -<span id="cb486-12"><a href="#cb486-12" aria-hidden="true"></a> [^1]: this is a footnote</span> -<span id="cb486-13"><a href="#cb486-13" aria-hidden="true"></a></span> -<span id="cb486-14"><a href="#cb486-14" aria-hidden="true"></a> [^2]: this is some other footnote</span> -<span id="cb486-15"><a href="#cb486-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb486-16"><a href="#cb486-16" aria-hidden="true"></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="cb487"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb487-1"><a href="#cb487-1" aria-hidden="true"></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> -</blockquote> -<h5 class="unnumbered" data-number="" 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="cb488"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb488-1"><a href="#cb488-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb488-2"><a href="#cb488-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[footnotes = yes]</span> -<span id="cb488-3"><a href="#cb488-3" aria-hidden="true"></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"></a><span class="fu">\starttext</span></span> -<span id="cb488-5"><a href="#cb488-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb488-6"><a href="#cb488-6" aria-hidden="true"></a>This is some text[^1] and this is some other text[^2].</span> -<span id="cb488-7"><a href="#cb488-7" aria-hidden="true"></a></span> -<span id="cb488-8"><a href="#cb488-8" aria-hidden="true"></a> [^1]: this is a footnote</span> -<span id="cb488-9"><a href="#cb488-9" aria-hidden="true"></a></span> -<span id="cb488-10"><a href="#cb488-10" aria-hidden="true"></a> [^2]: this is some other footnote</span> -<span id="cb488-11"><a href="#cb488-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb488-12"><a href="#cb488-12" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> -</blockquote> -<h4 data-number="2.3.1.22" id="parenthesized-citations-renderer"><span class="header-section-number">2.3.1.22</span> Parenthesized Citations Renderer</h4> -<p>The <code>\markdownRendererCite</code> macro represents a string of one or more parenthetical citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is enabled. The macro receives the parameter <code>{</code>⟨<em>number of citations</em>⟩<code>}</code> followed by ⟨<em>suppress author</em>⟩ <code>{</code>⟨<em>prenote</em>⟩<code>}{</code>⟨<em>postnote</em>⟩<code>}{</code>⟨<em>name</em>⟩<code>}</code> 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" data-number="" 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="cb490"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb490-1"><a href="#cb490-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb490-2"><a href="#cb490-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> -<span id="cb490-3"><a href="#cb490-3" aria-hidden="true"></a><span class="fu">\newcount\citationsCounter</span></span> -<span id="cb490-4"><a href="#cb490-4" aria-hidden="true"></a><span class="fu">\newcount\citationsTotal</span></span> -<span id="cb490-5"><a href="#cb490-5" aria-hidden="true"></a><span class="fu">\makeatletter</span></span> -<span id="cb490-6"><a href="#cb490-6" aria-hidden="true"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb490-7"><a href="#cb490-7" aria-hidden="true"></a> a parenthesized citation <span class="fu">\emph</span>{#4}</span> -<span id="cb490-8"><a href="#cb490-8" aria-hidden="true"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb490-9"><a href="#cb490-9" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span> -<span id="cb490-10"><a href="#cb490-10" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb490-11"><a href="#cb490-11" aria-hidden="true"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb490-12"><a href="#cb490-12" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb490-13"><a href="#cb490-13" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb490-14"><a href="#cb490-14" aria-hidden="true"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span> -<span id="cb490-15"><a href="#cb490-15" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb490-16"><a href="#cb490-16" aria-hidden="true"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb490-17"><a href="#cb490-17" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb490-18"><a href="#cb490-18" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb490-19"><a href="#cb490-19" aria-hidden="true"></a> <span class="fu">\ifnum\citationsCounter</span>><span class="fu">\citationsTotal\relax</span></span> -<span id="cb490-20"><a href="#cb490-20" aria-hidden="true"></a> .<span class="co">%</span></span> -<span id="cb490-21"><a href="#cb490-21" aria-hidden="true"></a> <span class="fu">\expandafter\@gobble</span></span> -<span id="cb490-22"><a href="#cb490-22" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb490-23"><a href="#cb490-23" aria-hidden="true"></a> , and</span> -<span id="cb490-24"><a href="#cb490-24" aria-hidden="true"></a> <span class="fu">\fi\citations</span>}</span> -<span id="cb490-25"><a href="#cb490-25" aria-hidden="true"></a><span class="fu">\makeatother</span></span> -<span id="cb490-26"><a href="#cb490-26" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb490-27"><a href="#cb490-27" aria-hidden="true"></a> renderers = {</span> -<span id="cb490-28"><a href="#cb490-28" aria-hidden="true"></a> cite = {<span class="co">%</span></span> -<span id="cb490-29"><a href="#cb490-29" aria-hidden="true"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span> -<span id="cb490-30"><a href="#cb490-30" aria-hidden="true"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span> -<span id="cb490-31"><a href="#cb490-31" aria-hidden="true"></a> This is</span> -<span id="cb490-32"><a href="#cb490-32" aria-hidden="true"></a> <span class="fu">\expandafter\citations</span></span> -<span id="cb490-33"><a href="#cb490-33" aria-hidden="true"></a> },</span> -<span id="cb490-34"><a href="#cb490-34" aria-hidden="true"></a> },</span> -<span id="cb490-35"><a href="#cb490-35" aria-hidden="true"></a>}</span> -<span id="cb490-36"><a href="#cb490-36" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb490-37"><a href="#cb490-37" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb490-38"><a href="#cb490-38" aria-hidden="true"></a>[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</span> -<span id="cb490-39"><a href="#cb490-39" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb490-40"><a href="#cb490-40" aria-hidden="true"></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"></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 a parenthesized citation <em>abrahams90</em> with a prefix see and a postfix <em>pp. 12</em>, and a citation <em>eijkhout91</em> with a postfix <em>pp. 34</em>.</p> -</blockquote> -<h4 data-number="2.3.1.23" id="text-citations-renderer"><span class="header-section-number">2.3.1.23</span> Text Citations Renderer</h4> -<p>The <code>\markdownRendererTextCite</code> macro represents a string 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" data-number="" 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="cb492"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb492-1"><a href="#cb492-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb492-2"><a href="#cb492-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span> -<span id="cb492-3"><a href="#cb492-3" aria-hidden="true"></a><span class="fu">\newcount\citationsCounter</span></span> -<span id="cb492-4"><a href="#cb492-4" aria-hidden="true"></a><span class="fu">\newcount\citationsTotal</span></span> -<span id="cb492-5"><a href="#cb492-5" aria-hidden="true"></a><span class="fu">\makeatletter</span></span> -<span id="cb492-6"><a href="#cb492-6" aria-hidden="true"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span> -<span id="cb492-7"><a href="#cb492-7" aria-hidden="true"></a> a text citation <span class="fu">\emph</span>{#4}</span> -<span id="cb492-8"><a href="#cb492-8" aria-hidden="true"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb492-9"><a href="#cb492-9" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span> -<span id="cb492-10"><a href="#cb492-10" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb492-11"><a href="#cb492-11" aria-hidden="true"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb492-12"><a href="#cb492-12" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb492-13"><a href="#cb492-13" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb492-14"><a href="#cb492-14" aria-hidden="true"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span> -<span id="cb492-15"><a href="#cb492-15" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span> -<span id="cb492-16"><a href="#cb492-16" aria-hidden="true"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span> -<span id="cb492-17"><a href="#cb492-17" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb492-18"><a href="#cb492-18" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb492-19"><a href="#cb492-19" aria-hidden="true"></a> <span class="fu">\ifnum\citationsCounter</span>><span class="fu">\citationsTotal\relax</span></span> -<span id="cb492-20"><a href="#cb492-20" aria-hidden="true"></a> .<span class="co">%</span></span> -<span id="cb492-21"><a href="#cb492-21" aria-hidden="true"></a> <span class="fu">\expandafter\@gobble</span></span> -<span id="cb492-22"><a href="#cb492-22" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb492-23"><a href="#cb492-23" aria-hidden="true"></a> , and</span> -<span id="cb492-24"><a href="#cb492-24" aria-hidden="true"></a> <span class="fu">\fi\citations</span>}</span> -<span id="cb492-25"><a href="#cb492-25" aria-hidden="true"></a><span class="fu">\makeatother</span></span> -<span id="cb492-26"><a href="#cb492-26" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb492-27"><a href="#cb492-27" aria-hidden="true"></a> renderers = {</span> -<span id="cb492-28"><a href="#cb492-28" aria-hidden="true"></a> textCite = {<span class="co">%</span></span> -<span id="cb492-29"><a href="#cb492-29" aria-hidden="true"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span> -<span id="cb492-30"><a href="#cb492-30" aria-hidden="true"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span> -<span id="cb492-31"><a href="#cb492-31" aria-hidden="true"></a> This is</span> -<span id="cb492-32"><a href="#cb492-32" aria-hidden="true"></a> <span class="fu">\expandafter\citations</span></span> -<span id="cb492-33"><a href="#cb492-33" aria-hidden="true"></a> },</span> -<span id="cb492-34"><a href="#cb492-34" aria-hidden="true"></a> },</span> -<span id="cb492-35"><a href="#cb492-35" aria-hidden="true"></a>}</span> -<span id="cb492-36"><a href="#cb492-36" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb492-37"><a href="#cb492-37" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb492-38"><a href="#cb492-38" aria-hidden="true"></a>@abrahams90 [pp. 12; also @eijkhout91]</span> -<span id="cb492-39"><a href="#cb492-39" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb492-40"><a href="#cb492-40" aria-hidden="true"></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="cb493"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb493-1"><a href="#cb493-1" aria-hidden="true"></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 a text citation <em>abrahams90</em> with a postfix <em>pp. 12</em>, and a citation <em>eijkhout91</em> with a prefix <em>also</em>.</p> -</blockquote> -<h4 data-number="2.3.1.24" id="table-renderer"><span class="header-section-number">2.3.1.24</span> Table Renderer</h4> -<p>The <code>\markdownRendererTable</code> macro represents a table. This macro will only be produced, when the <strong><code>pipeTables</code></strong> option is enabled. The macro receives the parameters <code>{</code>⟨<em>caption</em>⟩<code>}{</code>⟨<em>number of rows</em>⟩<code>}{</code>⟨<em>number of columns</em>⟩<code>}</code> followed by <code>{</code>⟨<em>alignments</em>⟩<code>}</code> and then by <code>{</code>⟨<em>row</em>⟩<code>}</code> repeated ⟨<em>number of rows</em>⟩ times, where ⟨<em>row</em>⟩ is <code>{</code>⟨<em>column</em>⟩<code>}</code> repeated ⟨<em>number of columns</em>⟩ times, ⟨<em>alignments</em>⟩ is ⟨<em>alignment</em>⟩ repeated ⟨<em>number of columns</em>⟩ times, and ⟨<em>alignment</em>⟩ is one of the following:</p> +<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> +<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> +<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> +<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> +</blockquote> +<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="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> +<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> +<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> +</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> +<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> +<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> +</blockquote> +<h4 data-number="2.3.1.22" id="parenthesized-citations-renderer"><span +class="header-section-number">2.3.1.22</span> Parenthesized Citations +Renderer</h4> +<p>The <code>\markdownRendererCite</code> macro represents a string of +one or more parenthetical citations. This macro will only be produced, +when the <strong><code>citations</code></strong> option is enabled. The +macro receives the parameter <code>{</code>⟨<em>number of +citations</em>⟩<code>}</code> followed by ⟨<em>suppress author</em>⟩ +<code>{</code>⟨<em>prenote</em>⟩<code>}{</code>⟨<em>postnote</em>⟩<code>}{</code>⟨<em>name</em>⟩<code>}</code> +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a parenthesized citation <em>abrahams90</em> with a prefix +see and a postfix <em>pp. 12</em>, and a citation <em>eijkhout91</em> +with a postfix <em>pp. 34</em>.</p> +</blockquote> +<h4 data-number="2.3.1.23" id="text-citations-renderer"><span +class="header-section-number">2.3.1.23</span> Text Citations +Renderer</h4> +<p>The <code>\markdownRendererTextCite</code> macro represents a string +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a text citation <em>abrahams90</em> with a postfix +<em>pp. 12</em>, and a citation <em>eijkhout91</em> with a prefix +<em>also</em>.</p> +</blockquote> +<h4 data-number="2.3.1.24" id="table-renderer"><span +class="header-section-number">2.3.1.24</span> Table Renderer</h4> +<p>The <code>\markdownRendererTable</code> macro represents a table. +This macro will only be produced, when the +<strong><code>pipeTables</code></strong> option is enabled. The macro +receives the parameters +<code>{</code>⟨<em>caption</em>⟩<code>}{</code>⟨<em>number of +rows</em>⟩<code>}{</code>⟨<em>number of columns</em>⟩<code>}</code> +followed by <code>{</code>⟨<em>alignments</em>⟩<code>}</code> and then +by <code>{</code>⟨<em>row</em>⟩<code>}</code> repeated ⟨<em>number of +rows</em>⟩ times, where ⟨<em>row</em>⟩ is +<code>{</code>⟨<em>column</em>⟩<code>}</code> repeated ⟨<em>number of +columns</em>⟩ times, ⟨<em>alignments</em>⟩ is ⟨<em>alignment</em>⟩ +repeated ⟨<em>number of columns</em>⟩ times, and ⟨<em>alignment</em>⟩ is +one of the following:</p> <ul> -<li><code>d</code> – The corresponding column has an unspecified (default) alignment.</li> +<li><code>d</code> – The corresponding column has an unspecified +(default) alignment.</li> <li><code>l</code> – The corresponding column is left-aligned.</li> <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" data-number="" 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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb494-2"><a href="#cb494-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span> -<span id="cb494-3"><a href="#cb494-3" aria-hidden="true"></a><span class="fu">\newcount\rowCounter</span></span> -<span id="cb494-4"><a href="#cb494-4" aria-hidden="true"></a><span class="fu">\newcount\columnCounter</span></span> -<span id="cb494-5"><a href="#cb494-5" aria-hidden="true"></a><span class="fu">\makeatletter</span></span> -<span id="cb494-6"><a href="#cb494-6" aria-hidden="true"></a><span class="fu">\def\processRow</span>#1{<span class="co">%</span></span> -<span id="cb494-7"><a href="#cb494-7" aria-hidden="true"></a> <span class="fu">\columnCounter</span>=1<span class="co">%</span></span> -<span id="cb494-8"><a href="#cb494-8" aria-hidden="true"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span> -<span id="cb494-9"><a href="#cb494-9" aria-hidden="true"></a> As for the alignment,</span> -<span id="cb494-10"><a href="#cb494-10" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb494-11"><a href="#cb494-11" aria-hidden="true"></a> In row <span class="fu">\the\rowCounter</span>,</span> -<span id="cb494-12"><a href="#cb494-12" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb494-13"><a href="#cb494-13" aria-hidden="true"></a> <span class="fu">\processColumn</span>#1</span> -<span id="cb494-14"><a href="#cb494-14" aria-hidden="true"></a> <span class="fu">\advance\rowCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb494-15"><a href="#cb494-15" aria-hidden="true"></a> <span class="fu">\ifnum\rowCounter</span>><span class="fu">\rowTotal\relax</span></span> -<span id="cb494-16"><a href="#cb494-16" aria-hidden="true"></a> <span class="fu">\expandafter\@gobble</span></span> -<span id="cb494-17"><a href="#cb494-17" aria-hidden="true"></a> <span class="fu">\fi\processRow</span>}<span class="co">%</span></span> -<span id="cb494-18"><a href="#cb494-18" aria-hidden="true"></a><span class="fu">\def\processColumn</span>#1{<span class="co">%</span></span> -<span id="cb494-19"><a href="#cb494-19" aria-hidden="true"></a> column number <span class="fu">\the\columnCounter</span>{}</span> -<span id="cb494-20"><a href="#cb494-20" aria-hidden="true"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span> -<span id="cb494-21"><a href="#cb494-21" aria-hidden="true"></a> <span class="fu">\if</span>#1d{}has default alignment<span class="fu">\fi</span></span> -<span id="cb494-22"><a href="#cb494-22" aria-hidden="true"></a> <span class="fu">\if</span>#1l{}is left-aligned<span class="fu">\fi</span></span> -<span id="cb494-23"><a href="#cb494-23" aria-hidden="true"></a> <span class="fu">\if</span>#1c{}is centered<span class="fu">\fi</span></span> -<span id="cb494-24"><a href="#cb494-24" aria-hidden="true"></a> <span class="fu">\if</span>#1r{}is right-aligned<span class="fu">\fi</span></span> -<span id="cb494-25"><a href="#cb494-25" aria-hidden="true"></a> <span class="fu">\else</span></span> -<span id="cb494-26"><a href="#cb494-26" aria-hidden="true"></a> says <span class="fu">\emph</span>{#1}<span class="co">%</span></span> -<span id="cb494-27"><a href="#cb494-27" aria-hidden="true"></a> <span class="fu">\fi</span></span> -<span id="cb494-28"><a href="#cb494-28" aria-hidden="true"></a> <span class="fu">\advance\columnCounter</span> by 1<span class="fu">\relax</span></span> -<span id="cb494-29"><a href="#cb494-29" aria-hidden="true"></a> <span class="fu">\ifnum\columnCounter</span><<span class="fu">\columnTotal\relax</span>, <span class="fu">\fi</span></span> -<span id="cb494-30"><a href="#cb494-30" aria-hidden="true"></a> <span class="fu">\ifnum\columnCounter</span>=<span class="fu">\columnTotal\relax</span>, and <span class="fu">\fi</span></span> -<span id="cb494-31"><a href="#cb494-31" aria-hidden="true"></a> <span class="fu">\ifnum\columnCounter</span>><span class="fu">\columnTotal\relax</span></span> -<span id="cb494-32"><a href="#cb494-32" aria-hidden="true"></a> .<span class="fu">\expandafter\@gobble</span></span> -<span id="cb494-33"><a href="#cb494-33" aria-hidden="true"></a> <span class="fu">\fi\processColumn</span>}<span class="co">%</span></span> -<span id="cb494-34"><a href="#cb494-34" aria-hidden="true"></a><span class="fu">\makeatother</span></span> -<span id="cb494-35"><a href="#cb494-35" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb494-36"><a href="#cb494-36" aria-hidden="true"></a> renderers = {</span> -<span id="cb494-37"><a href="#cb494-37" aria-hidden="true"></a> table = {<span class="co">%</span></span> -<span id="cb494-38"><a href="#cb494-38" aria-hidden="true"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</span> -<span id="cb494-39"><a href="#cb494-39" aria-hidden="true"></a> and #2 rows long.</span> -<span id="cb494-40"><a href="#cb494-40" aria-hidden="true"></a> <span class="fu">\rowCounter</span>=0<span class="co">%</span></span> -<span id="cb494-41"><a href="#cb494-41" aria-hidden="true"></a> <span class="fu">\def\rowTotal</span>{#2}<span class="co">%</span></span> -<span id="cb494-42"><a href="#cb494-42" aria-hidden="true"></a> <span class="fu">\def\columnTotal</span>{#3}<span class="co">%</span></span> -<span id="cb494-43"><a href="#cb494-43" aria-hidden="true"></a> <span class="fu">\processRow</span></span> -<span id="cb494-44"><a href="#cb494-44" aria-hidden="true"></a> },</span> -<span id="cb494-45"><a href="#cb494-45" aria-hidden="true"></a> },</span> -<span id="cb494-46"><a href="#cb494-46" aria-hidden="true"></a>}</span> -<span id="cb494-47"><a href="#cb494-47" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb494-48"><a href="#cb494-48" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb494-49"><a href="#cb494-49" aria-hidden="true"></a>| Right | Left | Default | Center |</span> -<span id="cb494-50"><a href="#cb494-50" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span> -<span id="cb494-51"><a href="#cb494-51" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span> -<span id="cb494-52"><a href="#cb494-52" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span> -<span id="cb494-53"><a href="#cb494-53" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span> -<span id="cb494-54"><a href="#cb494-54" aria-hidden="true"></a></span> -<span id="cb494-55"><a href="#cb494-55" aria-hidden="true"></a> : Demonstration of pipe table syntax</span> -<span id="cb494-56"><a href="#cb494-56" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb494-57"><a href="#cb494-57" aria-hidden="true"></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"></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 a table with caption <em>Demonstration of pipe table syntax</em> that is 4 colums wide and 4 rows long. As for the alignment, column number 1 is right-aligned, column number 2 is left-aligned, column number 3 has default alignment, and column number 4 is centered. In row 1, column number 1 says <em>Right</em>, column number 2 says <em>Left</em>, column number 3 says <em>Default</em>, and column number 4 says <em>Center</em>. In row 2, column number 1 says <em>12</em>, column number 2 says <em>12</em>, column number 3 says <em>12</em>, and column number 4 says <em>12</em>. In row 3, column number 1 says <em>123</em>, column number 2 says <em>123</em>, column number 3 says <em>123</em>, and column number 4 says <em>123</em>. In row 4, column number 1 says <em>1</em>, column number 2 says <em>1</em>, column number 3 says <em>1</em>, and column number 4 says <em>1</em>.</p> -</blockquote> -<h4 data-number="2.3.1.25" id="html-comment-renderers"><span class="header-section-number">2.3.1.25</span> HTML Comment Renderers</h4> -<p>The <code>\markdownRendererInlineHtmlComment</code> macro represents the contents of an inline <abbr>HTML</abbr> comment. This macro will only be produced, when the <strong><code>html</code></strong> option is enabled. The macro receives a single argument that corresponds to the contents of the <abbr>HTML</abbr> comment.</p> -<p>The <code>\markdownRendererBlockHtmlCommentBegin</code> and <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" data-number="" 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"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb496-2"><a href="#cb496-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span> -<span id="cb496-3"><a href="#cb496-3" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span> -<span id="cb496-4"><a href="#cb496-4" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb496-5"><a href="#cb496-5" aria-hidden="true"></a> renderers = {</span> -<span id="cb496-6"><a href="#cb496-6" aria-hidden="true"></a> inlineHtmlComment = {<span class="fu">\marginnote</span>{#1}},</span> -<span id="cb496-7"><a href="#cb496-7" aria-hidden="true"></a> blockHtmlCommentBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span> -<span id="cb496-8"><a href="#cb496-8" aria-hidden="true"></a> blockHtmlCommentEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span> -<span id="cb496-9"><a href="#cb496-9" aria-hidden="true"></a> },</span> -<span id="cb496-10"><a href="#cb496-10" aria-hidden="true"></a>}</span> -<span id="cb496-11"><a href="#cb496-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb496-12"><a href="#cb496-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb496-13"><a href="#cb496-13" aria-hidden="true"></a>A useful use of inline HTML comments are side notes.</span> -<span id="cb496-14"><a href="#cb496-14" aria-hidden="true"></a><!-- Side notes are displayed in the horizontal margins next to the relevant</span> -<span id="cb496-15"><a href="#cb496-15" aria-hidden="true"></a>passages, which makes them *easier for the reader to find* than footnotes. --></span> -<span id="cb496-16"><a href="#cb496-16" aria-hidden="true"></a></span> -<span id="cb496-17"><a href="#cb496-17" aria-hidden="true"></a>We can render block HTML comments as blockquotes:</span> -<span id="cb496-18"><a href="#cb496-18" aria-hidden="true"></a></span> -<span id="cb496-19"><a href="#cb496-19" aria-hidden="true"></a><!--</span> -<span id="cb496-20"><a href="#cb496-20" aria-hidden="true"></a>Here is a block HTML comment with a code example that a programmer might understand:</span> -<span id="cb496-21"><a href="#cb496-21" aria-hidden="true"></a></span> -<span id="cb496-22"><a href="#cb496-22" aria-hidden="true"></a> foo = bar + baz - 42</span> -<span id="cb496-23"><a href="#cb496-23" aria-hidden="true"></a>--></span> -<span id="cb496-24"><a href="#cb496-24" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb496-25"><a href="#cb496-25" aria-hidden="true"></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"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb497-2"><a href="#cb497-2" aria-hidden="true"></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> +<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="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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> +<blockquote> +<p>This is a table with caption <em>Demonstration of pipe table +syntax</em> that is 4 colums wide and 4 rows long. As for the alignment, +column number 1 is right-aligned, column number 2 is left-aligned, +column number 3 has default alignment, and column number 4 is centered. +In row 1, column number 1 says <em>Right</em>, column number 2 says +<em>Left</em>, column number 3 says <em>Default</em>, and column number +4 says <em>Center</em>. In row 2, column number 1 says <em>12</em>, +column number 2 says <em>12</em>, column number 3 says <em>12</em>, and +column number 4 says <em>12</em>. In row 3, column number 1 says +<em>123</em>, column number 2 says <em>123</em>, column number 3 says +<em>123</em>, and column number 4 says <em>123</em>. In row 4, column +number 1 says <em>1</em>, column number 2 says <em>1</em>, column number +3 says <em>1</em>, and column number 4 says <em>1</em>.</p> +</blockquote> +<h4 data-number="2.3.1.25" id="html-comment-renderers"><span +class="header-section-number">2.3.1.25</span> HTML Comment +Renderers</h4> +<p>The <code>\markdownRendererInlineHtmlComment</code> macro represents +the contents of an inline <abbr>HTML</abbr> comment. This macro will +only be produced, when the <strong><code>html</code></strong> option is +enabled. The macro receives a single argument that corresponds to the +contents of the <abbr>HTML</abbr> comment.</p> +<p>The <code>\markdownRendererBlockHtmlCommentBegin</code> and +<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 +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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following body text:</p> <blockquote> <p>A useful use of HTML comments are side notes.</p> <p>We can render block HTML comments as blockquotes:</p> <blockquote> -<p>Here is a block HTML comment with a code example that a programmer might understand:</p> +<p>Here is a block HTML comment with a code example that a programmer +might understand:</p> <pre><code>foo = bar + baz - 42</code></pre> </blockquote> </blockquote> <p>The horizontal margins should contain the following text:</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> -</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 Renderers</h4> -<p>The <code>\markdownRendererInlineHtmlTag</code> macro represents an opening, closing, or empty inline <abbr>HTML</abbr> tag. This macro will only be produced, when the <strong><code>html</code></strong> option is enabled. The macro receives a single argument that corresponds to the contents of the <abbr>HTML</abbr> tag.</p> -<p>The <code>\markdownRendererInputBlockHtmlElement</code> macro 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" data-number="" 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="cb499"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb499-1"><a href="#cb499-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb499-2"><a href="#cb499-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span> -<span id="cb499-3"><a href="#cb499-3" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span> -<span id="cb499-4"><a href="#cb499-4" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span> -<span id="cb499-5"><a href="#cb499-5" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb499-6"><a href="#cb499-6" aria-hidden="true"></a> renderers = {</span> -<span id="cb499-7"><a href="#cb499-7" aria-hidden="true"></a> inlineHtmlTag = {<span class="fu">\textbf</span>{#1}},</span> -<span id="cb499-8"><a href="#cb499-8" aria-hidden="true"></a> inputBlockHtmlElement = {<span class="fu">\verbatiminput</span>{#1}},</span> -<span id="cb499-9"><a href="#cb499-9" aria-hidden="true"></a> },</span> -<span id="cb499-10"><a href="#cb499-10" aria-hidden="true"></a>}</span> -<span id="cb499-11"><a href="#cb499-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb499-12"><a href="#cb499-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb499-13"><a href="#cb499-13" aria-hidden="true"></a><b>_Hello,_ world!</b><br/></span> -<span id="cb499-14"><a href="#cb499-14" aria-hidden="true"></a></span> -<span id="cb499-15"><a href="#cb499-15" aria-hidden="true"></a><div>_Hello,_ world!</div></span> -<span id="cb499-16"><a href="#cb499-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb499-17"><a href="#cb499-17" aria-hidden="true"></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="cb500"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb500-1"><a href="#cb500-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span> -<span id="cb500-2"><a href="#cb500-2" aria-hidden="true"></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> +<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> +</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 +Renderers</h4> +<p>The <code>\markdownRendererInlineHtmlTag</code> macro represents an +opening, closing, or empty inline <abbr>HTML</abbr> tag. This macro will +only be produced, when the <strong><code>html</code></strong> option is +enabled. The macro receives a single argument that corresponds to the +contents of the <abbr>HTML</abbr> tag.</p> +<p>The <code>\markdownRendererInputBlockHtmlElement</code> macro +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following body text:</p> <blockquote> <p><strong><b></strong>_Hello,_ world!<strong></b><br/></strong></p> <pre><code><div>_Hello,_ world!</div></code></pre> </blockquote> -<h4 data-number="2.3.1.27" id="attribute-renderers"><span class="header-section-number">2.3.1.27</span> Attribute Renderers</h4> -<p>The following macros are only produced, when the <strong><code>headerAttributes</code></strong> option is enabled.</p> -<p><code>\markdownRendererAttributeIdentifier</code> represents the ⟨<em>identifier</em>⟩ of a markdown element (<code>id="</code>⟨<em>identifier</em>⟩<code>"</code> in HTML and <code>#</code>⟨<em>identifier</em>⟩ in Markdown’s <strong><code>headerAttributes</code></strong> syntax extension). The macro receives a single attribute that corresponds to the ⟨<em>identifier</em>⟩.</p> -<p><code>\markdownRendererAttributeClassName</code> represents the ⟨<em>class name</em>⟩ of a markdown element (<code>class="</code>⟨<em>class name</em>⟩ …<code>"</code> in HTML and <code>.</code>⟨<em>class name</em>⟩ in Markdown’s <strong><code>headerAttributes</code></strong> syntax extension). The macro receives a single attribute that corresponds to the .</p> -<p><code>\markdownRendererAttributeKeyValue</code> represents a HTML 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" data-number="" 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="cb502"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb502-1"><a href="#cb502-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb502-2"><a href="#cb502-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[headerAttributes, underscores=false]{<span class="ex">markdown</span>}</span> -<span id="cb502-3"><a href="#cb502-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb502-4"><a href="#cb502-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb502-5"><a href="#cb502-5" aria-hidden="true"></a> attributeIdentifier = {<span class="co">%</span></span> -<span id="cb502-6"><a href="#cb502-6" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb502-7"><a href="#cb502-7" aria-hidden="true"></a> <span class="fu">\emph</span>{(Identifier: #1)}</span> -<span id="cb502-8"><a href="#cb502-8" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb502-9"><a href="#cb502-9" aria-hidden="true"></a> },</span> -<span id="cb502-10"><a href="#cb502-10" aria-hidden="true"></a> attributeClassName = {<span class="co">%</span></span> -<span id="cb502-11"><a href="#cb502-11" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb502-12"><a href="#cb502-12" aria-hidden="true"></a> <span class="fu">\emph</span>{(Class name: #1)}</span> -<span id="cb502-13"><a href="#cb502-13" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb502-14"><a href="#cb502-14" aria-hidden="true"></a> },</span> -<span id="cb502-15"><a href="#cb502-15" aria-hidden="true"></a> attributeKeyValue = {<span class="co">%</span></span> -<span id="cb502-16"><a href="#cb502-16" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb502-17"><a href="#cb502-17" aria-hidden="true"></a> <span class="fu">\emph</span>{(Key: #1, Value: #2)}</span> -<span id="cb502-18"><a href="#cb502-18" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb502-19"><a href="#cb502-19" aria-hidden="true"></a> },</span> -<span id="cb502-20"><a href="#cb502-20" aria-hidden="true"></a> },</span> -<span id="cb502-21"><a href="#cb502-21" aria-hidden="true"></a>}</span> -<span id="cb502-22"><a href="#cb502-22" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb502-23"><a href="#cb502-23" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb502-24"><a href="#cb502-24" aria-hidden="true"></a></span> -<span id="cb502-25"><a href="#cb502-25" aria-hidden="true"></a># First top-level heading {jane=doe}</span> -<span id="cb502-26"><a href="#cb502-26" aria-hidden="true"></a></span> -<span id="cb502-27"><a href="#cb502-27" aria-hidden="true"></a>## A subheading {#identifier}</span> -<span id="cb502-28"><a href="#cb502-28" aria-hidden="true"></a></span> -<span id="cb502-29"><a href="#cb502-29" aria-hidden="true"></a># Second top-level heading {.class_name}</span> -<span id="cb502-30"><a href="#cb502-30" aria-hidden="true"></a></span> -<span id="cb502-31"><a href="#cb502-31" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb502-32"><a href="#cb502-32" aria-hidden="true"></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="cb503"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb503-1"><a href="#cb503-1" aria-hidden="true"></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> +<h4 data-number="2.3.1.27" id="attribute-renderers"><span +class="header-section-number">2.3.1.27</span> Attribute Renderers</h4> +<p>The following macros are only produced, when the +<strong><code>headerAttributes</code></strong> option is enabled.</p> +<p><code>\markdownRendererAttributeIdentifier</code> represents the +⟨<em>identifier</em>⟩ of a markdown element +(<code>id="</code>⟨<em>identifier</em>⟩<code>"</code> in HTML and +<code>#</code>⟨<em>identifier</em>⟩ in Markdown’s +<strong><code>headerAttributes</code></strong> syntax extension). The +macro receives a single attribute that corresponds to the +⟨<em>identifier</em>⟩.</p> +<p><code>\markdownRendererAttributeClassName</code> represents the +⟨<em>class name</em>⟩ of a markdown element +(<code>class="</code>⟨<em>class name</em>⟩ …<code>"</code> in HTML and +<code>.</code>⟨<em>class name</em>⟩ in Markdown’s +<strong><code>headerAttributes</code></strong> syntax extension). The +macro receives a single attribute that corresponds to the .</p> +<p><code>\markdownRendererAttributeKeyValue</code> represents a HTML +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 +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> +<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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="first-top-level-heading">First top-level heading</h1> <p><em>(Key: Jane, Value: Doe)</em></p> @@ -6759,41 +9383,52 @@ Thomas,Edison,1847</code></pre> <h1 id="second-top-level-heading">Second top-level heading</h1> <p><em>(Class name: class_name)</em></p> </blockquote> -<h4 data-number="2.3.1.28" id="header-attribute-context-renderers"><span class="header-section-number">2.3.1.28</span> Header Attribute Context Renderers</h4> -<p>The following macros are only produced, when the <strong><code>headerAttributes</code></strong> option is enabled.</p> -<p>The <code>\markdownRendererHeaderAttributeContextBegin</code> and <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" data-number="" 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="cb504"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb504-1"><a href="#cb504-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb504-2"><a href="#cb504-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span> -<span id="cb504-3"><a href="#cb504-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb504-4"><a href="#cb504-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb504-5"><a href="#cb504-5" aria-hidden="true"></a> headerAttributeContextBegin = {<span class="co">%</span></span> -<span id="cb504-6"><a href="#cb504-6" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb504-7"><a href="#cb504-7" aria-hidden="true"></a> <span class="fu">\emph</span>{(The beginning of a header attribute context)}</span> -<span id="cb504-8"><a href="#cb504-8" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb504-9"><a href="#cb504-9" aria-hidden="true"></a> },</span> -<span id="cb504-10"><a href="#cb504-10" aria-hidden="true"></a> headerAttributeContextBegin = {<span class="co">%</span></span> -<span id="cb504-11"><a href="#cb504-11" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb504-12"><a href="#cb504-12" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a header attribute context)}</span> -<span id="cb504-13"><a href="#cb504-13" aria-hidden="true"></a> <span class="fu">\par</span></span> -<span id="cb504-14"><a href="#cb504-14" aria-hidden="true"></a> },</span> -<span id="cb504-15"><a href="#cb504-15" aria-hidden="true"></a> },</span> -<span id="cb504-16"><a href="#cb504-16" aria-hidden="true"></a>}</span> -<span id="cb504-17"><a href="#cb504-17" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb504-18"><a href="#cb504-18" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb504-19"><a href="#cb504-19" aria-hidden="true"></a></span> -<span id="cb504-20"><a href="#cb504-20" aria-hidden="true"></a># First top-level heading</span> -<span id="cb504-21"><a href="#cb504-21" aria-hidden="true"></a></span> -<span id="cb504-22"><a href="#cb504-22" aria-hidden="true"></a>## A subheading {#identifier}</span> -<span id="cb504-23"><a href="#cb504-23" aria-hidden="true"></a></span> -<span id="cb504-24"><a href="#cb504-24" aria-hidden="true"></a># Second top-level heading {.class_name}</span> -<span id="cb504-25"><a href="#cb504-25" aria-hidden="true"></a></span> -<span id="cb504-26"><a href="#cb504-26" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb504-27"><a href="#cb504-27" aria-hidden="true"></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"></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> +<h4 data-number="2.3.1.28" id="header-attribute-context-renderers"><span +class="header-section-number">2.3.1.28</span> Header Attribute Context +Renderers</h4> +<p>The following macros are only produced, when the +<strong><code>headerAttributes</code></strong> option is enabled.</p> +<p>The <code>\markdownRendererHeaderAttributeContextBegin</code> and +<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 +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> +<p>A PDF document named <code>document.pdf</code> should be produced and +contain the following text:</p> <blockquote> <h1 id="first-top-level-heading-1">First top-level heading</h1> <p><em>(The beginning of a header attribute context)</em></p> @@ -6803,350 +9438,465 @@ Thomas,Edison,1847</code></pre> <h1 id="second-top-level-heading-1">Second top-level heading</h1> <p><em>(The end of a header attribute context)</em></p> </blockquote> -<h4 data-number="2.3.1.29" id="strike-through-renderer"><span class="header-section-number">2.3.1.29</span> Strike-Through Renderer</h4> -<p>The <code>\markdownRendererStrikeThrough</code> macro represents a strike-through span of text. The macro receives a single argument that corresponds to the striked-out span of text. This macro will only be produced, when the <strong><code>strikeThrough</code></strong> option is enabled.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-34">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="cb506"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb506-1"><a href="#cb506-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb506-2"><a href="#cb506-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionStrikeThrough</span>{true}</span> -<span id="cb506-3"><a href="#cb506-3" aria-hidden="true"></a><span class="fu">\input</span> soulutf8.sty</span> -<span id="cb506-4"><a href="#cb506-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\st</span>{#1}}</span> -<span id="cb506-5"><a href="#cb506-5" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb506-6"><a href="#cb506-6" aria-hidden="true"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb506-7"><a href="#cb506-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb506-8"><a href="#cb506-8" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.1.29" id="strike-through-renderer"><span +class="header-section-number">2.3.1.29</span> Strike-Through +Renderer</h4> +<p>The <code>\markdownRendererStrikeThrough</code> macro represents a +strike-through span of text. The macro receives a single argument that +corresponds to the striked-out span of text. This macro will only be +produced, when the <strong><code>strikeThrough</code></strong> option is +enabled.</p> +<h5 class="unnumbered" id="plain-tex-example-34">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="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> +<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> +<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" data-number="" 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="cb508"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb508-1"><a href="#cb508-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb508-2"><a href="#cb508-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[strikeThrough]{<span class="ex">markdown</span>}</span> -<span id="cb508-3"><a href="#cb508-3" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">soulutf8</span>}</span> -<span id="cb508-4"><a href="#cb508-4" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb508-5"><a href="#cb508-5" aria-hidden="true"></a> renderers = {</span> -<span id="cb508-6"><a href="#cb508-6" aria-hidden="true"></a> strikeThrough = {<span class="fu">\st</span>{#1}},</span> -<span id="cb508-7"><a href="#cb508-7" aria-hidden="true"></a> },</span> -<span id="cb508-8"><a href="#cb508-8" aria-hidden="true"></a>}</span> -<span id="cb508-9"><a href="#cb508-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb508-10"><a href="#cb508-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb508-11"><a href="#cb508-11" aria-hidden="true"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb508-12"><a href="#cb508-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb508-13"><a href="#cb508-13" aria-hidden="true"></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"></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> +<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="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> +<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> <p>This is <del>a lunar roving vehicle</del> strike-through text.</p> </blockquote> -<h5 class="unnumbered" data-number="" id="context-example-49">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="cb510"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb510-1"><a href="#cb510-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb510-2"><a href="#cb510-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[strikeThrough = yes]</span> -<span id="cb510-3"><a href="#cb510-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrikeThrough</span>#1{<span class="fu">\overstrikes</span>{#1}}</span> -<span id="cb510-4"><a href="#cb510-4" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb510-5"><a href="#cb510-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb510-6"><a href="#cb510-6" aria-hidden="true"></a>This is ~~a lunar roving vehicle~~ strike-through text.</span> -<span id="cb510-7"><a href="#cb510-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb510-8"><a href="#cb510-8" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-49">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="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> +<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> +<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.3.1.30" id="superscript-renderer"><span class="header-section-number">2.3.1.30</span> Superscript Renderer</h4> -<p>The <code>\markdownRendererSuperscript</code> macro represents a superscript span of text. The macro receives a single argument that corresponds to the superscript span of text. This macro will only be produced, when the <strong><code>superscripts</code></strong> option is enabled.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-35">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="cb512"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb512-1"><a href="#cb512-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb512-2"><a href="#cb512-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionSuperscripts</span>{true}</span> -<span id="cb512-3"><a href="#cb512-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererSuperscript</span>#1{ taken to the power of #1}</span> -<span id="cb512-4"><a href="#cb512-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb512-5"><a href="#cb512-5" aria-hidden="true"></a>2^10^ is 1024.</span> -<span id="cb512-6"><a href="#cb512-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb512-7"><a href="#cb512-7" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.1.30" id="superscript-renderer"><span +class="header-section-number">2.3.1.30</span> Superscript Renderer</h4> +<p>The <code>\markdownRendererSuperscript</code> macro represents a +superscript span of text. The macro receives a single argument that +corresponds to the superscript span of text. This macro will only be +produced, when the <strong><code>superscripts</code></strong> option is +enabled.</p> +<h5 class="unnumbered" id="plain-tex-example-35">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="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> +<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> +<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" data-number="" 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="cb514"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb514-1"><a href="#cb514-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb514-2"><a href="#cb514-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[superscripts]{<span class="ex">markdown</span>}</span> -<span id="cb514-3"><a href="#cb514-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb514-4"><a href="#cb514-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb514-5"><a href="#cb514-5" aria-hidden="true"></a> superscript = { taken to the power of #1},</span> -<span id="cb514-6"><a href="#cb514-6" aria-hidden="true"></a> },</span> -<span id="cb514-7"><a href="#cb514-7" aria-hidden="true"></a>}</span> -<span id="cb514-8"><a href="#cb514-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb514-9"><a href="#cb514-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb514-10"><a href="#cb514-10" aria-hidden="true"></a>2^10^ is 1024.</span> -<span id="cb514-11"><a href="#cb514-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb514-12"><a href="#cb514-12" aria-hidden="true"></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="cb515"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb515-1"><a href="#cb515-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-50">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="cb516"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb516-1"><a href="#cb516-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb516-2"><a href="#cb516-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[superscripts = yes]</span> -<span id="cb516-3"><a href="#cb516-3" aria-hidden="true"></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"></a><span class="fu">\starttext</span></span> -<span id="cb516-5"><a href="#cb516-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb516-6"><a href="#cb516-6" aria-hidden="true"></a>2^10^ is 1024.</span> -<span id="cb516-7"><a href="#cb516-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb516-8"><a href="#cb516-8" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-50">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="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> +<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> +<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> -<h4 data-number="2.3.1.31" id="subscript-renderer"><span class="header-section-number">2.3.1.31</span> Subscript Renderer</h4> -<p>The <code>\markdownRendererSubscript</code> macro represents a subscript span of text. The macro receives a single argument that corresponds to the subscript span of text. This macro will only be produced, when the <strong><code>subscripts</code></strong> option is enabled.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-36">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="cb518"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb518-1"><a href="#cb518-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb518-2"><a href="#cb518-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionSubscripts</span>{true}</span> -<span id="cb518-3"><a href="#cb518-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererSubscript</span>#1{ (#1 moles) and }</span> -<span id="cb518-4"><a href="#cb518-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb518-5"><a href="#cb518-5" aria-hidden="true"></a>H~2~O is a liquid.</span> -<span id="cb518-6"><a href="#cb518-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb518-7"><a href="#cb518-7" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.1.31" id="subscript-renderer"><span +class="header-section-number">2.3.1.31</span> Subscript Renderer</h4> +<p>The <code>\markdownRendererSubscript</code> macro represents a +subscript span of text. The macro receives a single argument that +corresponds to the subscript span of text. This macro will only be +produced, when the <strong><code>subscripts</code></strong> option is +enabled.</p> +<h5 class="unnumbered" id="plain-tex-example-36">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="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> +<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> +<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> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb520"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb520-1"><a href="#cb520-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb520-2"><a href="#cb520-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[subscripts]{<span class="ex">markdown</span>}</span> -<span id="cb520-3"><a href="#cb520-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb520-4"><a href="#cb520-4" aria-hidden="true"></a> renderers = {</span> -<span id="cb520-5"><a href="#cb520-5" aria-hidden="true"></a> subscript = { (#1 moles) and },</span> -<span id="cb520-6"><a href="#cb520-6" aria-hidden="true"></a> },</span> -<span id="cb520-7"><a href="#cb520-7" aria-hidden="true"></a>}</span> -<span id="cb520-8"><a href="#cb520-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb520-9"><a href="#cb520-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb520-10"><a href="#cb520-10" aria-hidden="true"></a>H~2~O is a liquid.</span> -<span id="cb520-11"><a href="#cb520-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb520-12"><a href="#cb520-12" aria-hidden="true"></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="cb521"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb521-1"><a href="#cb521-1" aria-hidden="true"></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> +<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="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> +<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> +<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> </blockquote> -<h5 class="unnumbered" data-number="" 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="cb522"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb522-1"><a href="#cb522-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb522-2"><a href="#cb522-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[subscripts = yes]</span> -<span id="cb522-3"><a href="#cb522-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererSubscript</span>#1{ (#1 moles) and }</span> -<span id="cb522-4"><a href="#cb522-4" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb522-5"><a href="#cb522-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb522-6"><a href="#cb522-6" aria-hidden="true"></a>H~2~O is a liquid.</span> -<span id="cb522-7"><a href="#cb522-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb522-8"><a href="#cb522-8" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<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> +<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> +<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> </blockquote> -<h3 data-number="2.3.2" id="texrendererprototypes"><span class="header-section-number">2.3.2</span> Token Renderer Prototypes</h3> -<p>By default, token renderers point to package-defined <span class="tex">T<sub>e</sub>X</span> macros, further referred to as <em>prototypes</em>, which provide useful default definitions.</p> -<h5 class="unnumbered" data-number="" id="plain-tex-example-37">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="cb524"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb524-1"><a href="#cb524-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb524-2"><a href="#cb524-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span> -<span id="cb524-3"><a href="#cb524-3" aria-hidden="true"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span> -<span id="cb524-4"><a href="#cb524-4" aria-hidden="true"></a>}</span> -<span id="cb524-5"><a href="#cb524-5" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb524-6"><a href="#cb524-6" aria-hidden="true"></a>~</span> -<span id="cb524-7"><a href="#cb524-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb524-8"><a href="#cb524-8" aria-hidden="true"></a></span> -<span id="cb524-9"><a href="#cb524-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span> -<span id="cb524-10"><a href="#cb524-10" aria-hidden="true"></a> User-defined token renderers take precedence.<span class="co">%</span></span> -<span id="cb524-11"><a href="#cb524-11" aria-hidden="true"></a>}</span> -<span id="cb524-12"><a href="#cb524-12" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb524-13"><a href="#cb524-13" aria-hidden="true"></a>~</span> -<span id="cb524-14"><a href="#cb524-14" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb524-15"><a href="#cb524-15" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h3 data-number="2.3.2" id="texrendererprototypes"><span +class="header-section-number">2.3.2</span> Token Renderer +Prototypes</h3> +<p>By default, token renderers point to package-defined <span +class="tex">T<sub>e</sub>X</span> macros, further referred to as +<em>prototypes</em>, which provide useful default definitions.</p> +<h5 class="unnumbered" id="plain-tex-example-37">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="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> +<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> +<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" data-number="" 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="cb526"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb526-1"><a href="#cb526-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb526-2"><a href="#cb526-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span> -<span id="cb526-3"><a href="#cb526-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb526-4"><a href="#cb526-4" aria-hidden="true"></a> rendererPrototypes = {</span> -<span id="cb526-5"><a href="#cb526-5" aria-hidden="true"></a> tilde = {Packages can specify token renderer prototypes.},</span> -<span id="cb526-6"><a href="#cb526-6" aria-hidden="true"></a> },</span> -<span id="cb526-7"><a href="#cb526-7" aria-hidden="true"></a>}</span> -<span id="cb526-8"><a href="#cb526-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb526-9"><a href="#cb526-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb526-10"><a href="#cb526-10" aria-hidden="true"></a>~</span> -<span id="cb526-11"><a href="#cb526-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb526-12"><a href="#cb526-12" aria-hidden="true"></a></span> -<span id="cb526-13"><a href="#cb526-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span> -<span id="cb526-14"><a href="#cb526-14" aria-hidden="true"></a> renderers = {</span> -<span id="cb526-15"><a href="#cb526-15" aria-hidden="true"></a> tilde = {User-defined token renderers take precedence.},</span> -<span id="cb526-16"><a href="#cb526-16" aria-hidden="true"></a> },</span> -<span id="cb526-17"><a href="#cb526-17" aria-hidden="true"></a>}</span> -<span id="cb526-18"><a href="#cb526-18" aria-hidden="true"></a>~</span> -<span id="cb526-19"><a href="#cb526-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span> -<span id="cb526-20"><a href="#cb526-20" aria-hidden="true"></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="cb527"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb527-1"><a href="#cb527-1" aria-hidden="true"></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> +<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="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> +<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> +<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" data-number="" id="context-example-52">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="cb528"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb528-1"><a href="#cb528-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb528-2"><a href="#cb528-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span> -<span id="cb528-3"><a href="#cb528-3" aria-hidden="true"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span> -<span id="cb528-4"><a href="#cb528-4" aria-hidden="true"></a>}</span> -<span id="cb528-5"><a href="#cb528-5" aria-hidden="true"></a><span class="fu">\starttext</span></span> -<span id="cb528-6"><a href="#cb528-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb528-7"><a href="#cb528-7" aria-hidden="true"></a>~</span> -<span id="cb528-8"><a href="#cb528-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb528-9"><a href="#cb528-9" aria-hidden="true"></a></span> -<span id="cb528-10"><a href="#cb528-10" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span> -<span id="cb528-11"><a href="#cb528-11" aria-hidden="true"></a> User-defined token renderers take precedence.<span class="co">%</span></span> -<span id="cb528-12"><a href="#cb528-12" aria-hidden="true"></a>}</span> -<span id="cb528-13"><a href="#cb528-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb528-14"><a href="#cb528-14" aria-hidden="true"></a>~</span> -<span id="cb528-15"><a href="#cb528-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb528-16"><a href="#cb528-16" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-52">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="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> +<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> +<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> -<h4 data-number="2.3.2.1" id="expl3yamlmetadata"><span class="header-section-number">2.3.2.1</span> YAML Metadata Renderer 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> -<h5 class="unnumbered" data-number="" 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="cb530"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb530-1"><a href="#cb530-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span> -<span id="cb530-2"><a href="#cb530-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span> -<span id="cb530-3"><a href="#cb530-3" aria-hidden="true"></a><span class="fu">\ExplSyntaxOn</span></span> -<span id="cb530-4"><a href="#cb530-4" aria-hidden="true"></a><span class="fu">\keys</span>_define:nn</span> -<span id="cb530-5"><a href="#cb530-5" aria-hidden="true"></a> { markdown/jekyllData }</span> -<span id="cb530-6"><a href="#cb530-6" aria-hidden="true"></a> {</span> -<span id="cb530-7"><a href="#cb530-7" aria-hidden="true"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> -<span id="cb530-8"><a href="#cb530-8" aria-hidden="true"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> -<span id="cb530-9"><a href="#cb530-9" aria-hidden="true"></a> }</span> -<span id="cb530-10"><a href="#cb530-10" aria-hidden="true"></a><span class="fu">\ExplSyntaxOff</span></span> -<span id="cb530-11"><a href="#cb530-11" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb530-12"><a href="#cb530-12" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span> -<span id="cb530-13"><a href="#cb530-13" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span> -<span id="cb530-14"><a href="#cb530-14" aria-hidden="true"></a>---</span> -<span id="cb530-15"><a href="#cb530-15" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb530-16"><a href="#cb530-16" aria-hidden="true"></a>age: 99</span> -<span id="cb530-17"><a href="#cb530-17" aria-hidden="true"></a>---</span> -<span id="cb530-18"><a href="#cb530-18" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span> -<span id="cb530-19"><a href="#cb530-19" aria-hidden="true"></a><span class="fu">\bye</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"></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> +<h4 data-number="2.3.2.1" id="expl3yamlmetadata"><span +class="header-section-number">2.3.2.1</span> YAML Metadata Renderer +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> +<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> +<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" data-number="" 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="cb532"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb532-1"><a href="#cb532-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span> -<span id="cb532-2"><a href="#cb532-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span> -<span id="cb532-3"><a href="#cb532-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span> -<span id="cb532-4"><a href="#cb532-4" aria-hidden="true"></a> jekyllDataRenderers = {</span> -<span id="cb532-5"><a href="#cb532-5" aria-hidden="true"></a> name = {<span class="fu">\gdef\name</span>{#1}},</span> -<span id="cb532-6"><a href="#cb532-6" aria-hidden="true"></a> code = {<span class="fu">\gdef\age</span>{#1}},</span> -<span id="cb532-7"><a href="#cb532-7" aria-hidden="true"></a> },</span> -<span id="cb532-8"><a href="#cb532-8" aria-hidden="true"></a> renderers = {</span> -<span id="cb532-9"><a href="#cb532-9" aria-hidden="true"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span> -<span id="cb532-10"><a href="#cb532-10" aria-hidden="true"></a> }</span> -<span id="cb532-11"><a href="#cb532-11" aria-hidden="true"></a>}</span> -<span id="cb532-12"><a href="#cb532-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span> -<span id="cb532-13"><a href="#cb532-13" aria-hidden="true"></a></span> -<span id="cb532-14"><a href="#cb532-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span> -<span id="cb532-15"><a href="#cb532-15" aria-hidden="true"></a>---</span> -<span id="cb532-16"><a href="#cb532-16" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb532-17"><a href="#cb532-17" aria-hidden="true"></a>age: 99</span> -<span id="cb532-18"><a href="#cb532-18" aria-hidden="true"></a>---</span> -<span id="cb532-19"><a href="#cb532-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span> -<span id="cb532-20"><a href="#cb532-20" aria-hidden="true"></a></span> -<span id="cb532-21"><a href="#cb532-21" aria-hidden="true"></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"></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> +<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="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> +<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" data-number="" id="context-example-53">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="cb534"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb534-1"><a href="#cb534-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span> -<span id="cb534-2"><a href="#cb534-2" aria-hidden="true"></a><span class="fu">\setupmarkdown</span>[jekyllData = yes]</span> -<span id="cb534-3"><a href="#cb534-3" aria-hidden="true"></a><span class="fu">\ExplSyntaxOn</span></span> -<span id="cb534-4"><a href="#cb534-4" aria-hidden="true"></a><span class="fu">\keys</span>_define:nn</span> -<span id="cb534-5"><a href="#cb534-5" aria-hidden="true"></a> { markdown/jekyllData }</span> -<span id="cb534-6"><a href="#cb534-6" aria-hidden="true"></a> {</span> -<span id="cb534-7"><a href="#cb534-7" aria-hidden="true"></a> name .code:n = { <span class="fu">\gdef\name</span>{#1} },</span> -<span id="cb534-8"><a href="#cb534-8" aria-hidden="true"></a> age .code:n = { <span class="fu">\gdef\age</span>{#1} },</span> -<span id="cb534-9"><a href="#cb534-9" aria-hidden="true"></a> }</span> -<span id="cb534-10"><a href="#cb534-10" aria-hidden="true"></a><span class="fu">\ExplSyntaxOff</span></span> -<span id="cb534-11"><a href="#cb534-11" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span> -<span id="cb534-12"><a href="#cb534-12" aria-hidden="true"></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"></a><span class="fu">\starttext</span></span> -<span id="cb534-14"><a href="#cb534-14" aria-hidden="true"></a></span> -<span id="cb534-15"><a href="#cb534-15" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span> -<span id="cb534-16"><a href="#cb534-16" aria-hidden="true"></a>---</span> -<span id="cb534-17"><a href="#cb534-17" aria-hidden="true"></a>name: Jane Doe</span> -<span id="cb534-18"><a href="#cb534-18" aria-hidden="true"></a>age: 99</span> -<span id="cb534-19"><a href="#cb534-19" aria-hidden="true"></a>---</span> -<span id="cb534-20"><a href="#cb534-20" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span> -<span id="cb534-21"><a href="#cb534-21" aria-hidden="true"></a></span> -<span id="cb534-22"><a href="#cb534-22" aria-hidden="true"></a><span class="fu">\stoptext</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"></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> +<h5 class="unnumbered" id="context-example-53">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="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> +<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> -<section class="footnotes" role="doc-endnotes"> +<section class="footnotes footnotes-end-of-document" +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 footnote.<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> +<p>Subsequent paragraphs are indented to show that they belong to the +previous footnote.</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 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> +<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 +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="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> +<p>Subsequent paragraphs are indented to show that they belong to the +previous footnote.</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 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 note.<a href="#fnref5" class="footnote-back" role="doc-backlink">↩︎</a></p></li> -<li id="fn6" 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 note.<a href="#fnref6" class="footnote-back" role="doc-backlink">↩︎</a></p></li> +<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 +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 +note.<a href="#fnref5" class="footnote-back" +role="doc-backlink">↩︎</a></p></li> +<li id="fn6" 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 +note.<a href="#fnref6" 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 b3ab782400..8d6d35f4b9 100644 --- a/macros/generic/markdown/markdown.pdf +++ b/macros/generic/markdown/markdown.pdf diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx index 1e6e286a73..2a1e2a8d5e 100644 --- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx +++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.dtx @@ -111,8 +111,8 @@ % \end{macrocode} % % \begin{macrocode} -\def\LaTeXFirstAidDate{2022/02/20} -\def\LaTeXFirstAidVersion{v1.0r} +\def\LaTeXFirstAidDate{2022/06/23} +\def\LaTeXFirstAidVersion{v1.0s} % \end{macrocode} % % \begin{macrocode} @@ -586,6 +586,27 @@ % \end{macrocode} % % +% \subsection{First aid for \pkg{memoir}} +% +% The introduction of \cs{stockheight} and \cs{stockwidth} into the +% kernel requires some first aid. This has to go in \emph{before} +% loading the class, so we cannot check the version string here. +% \begin{macrocode} +\AddToHook{file/memoir.cls/before}[firstaid]{% + \expandafter\def\expandafter\@tempa\string\dimen{}% + \edef\kernel@stockheight{\expandafter\@tempa\meaning\stockheight}% + \edef\kernel@stockwidth{\expandafter\@tempa\meaning\stockwidth}% + \let\stockheight\@undefined + \let\stockwidth\@undefined +} +\AddToHook{file/memoir.cls/after}[firstaid]{% + \dimen\kernel@stockheight=\stockheight + \dimen\kernel@stockwidth=\stockwidth + \dimendef\stockheight=\kernel@stockheight + \dimendef\stockwidth=\kernel@stockwidth +} +% \end{macrocode} +% % % \subsection[Temporary fixes for the kernel (until the next % patch-level release)] diff --git a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf Binary files differindex b1d179b6ed..04325d3fe5 100644 --- a/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf +++ b/macros/latex-dev/required/firstaid/latex2e-first-aid-for-external-files.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README index 03fc943a6a..2204ba29df 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README @@ -46,6 +46,9 @@ instructions. == CHANGES == +* V. 1.27 (2022-10-03): + - Fix once more plauthor check with non-ASCII chars and macros. + * V. 1.26 (2022-01-05): - Provide means to add peer review information. - Add a data model (*.dbx) file. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf Binary files differindex 449d209f27..168b332893 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex index d36ea6480b..e1b2115212 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex @@ -102,7 +102,7 @@ \thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}% } -\date{Version 1.26 2022/01/05} +\date{Version 1.27 2022/10/03} \maketitle \begin{abstract} @@ -625,15 +625,22 @@ which has to be passed to \jfcsmacro{printbibliography}, as in: This will effectively print only publications which have been authored or edited by the person(s) specified as via \jcsmacro{plauthorname} (or the corresponding option). -Of course, you can also use other filter possibilities provided by -\bibltx, such as filtering by type or by keyword. So if you want -to extract all of your articles from a larger database with entries +If you do not use reverse numbering (see below), you can also use other filter +possibilities provided by \bibltx, such as filtering by type or by keyword. +So if you want to extract all of your articles from a larger database with entries of diverse type and authors, specify: \begin{lstlisting}[moretexcs={[1]{printbibliography}}] \printbibliography[heading=none,filter=mine,type=article] \end{lstlisting} % -Note that several reruns of \texttt{latex} might be required to fix the numbering. +Note that this method sometimes requires several reruns of \texttt{latex} +to fix the numbering (with standard ascending numbers). + +With reverse (descending) numbering (\joption{reversenumbering=true}), +the numbering does not correctly work if you filter by type or keyword. +If you need descending numbering, please resort to separated bibliography databases +(as advised in sec.~\ref{sec:example}) rather than to \joption{type} or +\joption{keyword} filtering! \section{Sorting\label{sec:sorting}} @@ -709,6 +716,11 @@ or \begin{description} + \item [{V. 1.27 (2022-10-03):}]~ + \begin{itemize} + \item Fix once more plauthor check with non-ASCII chars and macros. + \end{itemize} + \item [{V. 1.26 (2022-01-05):}]~ \begin{itemize} \item Provide means to add peer review information (see section~\ref{sec:peerreview}). @@ -969,9 +981,9 @@ Gregorio.% Thanks go to Enrico Gregorio (egreg on \emph{tex.stackexchange.com}) for helping me with correct name parsing (actually, the code the package uses is completely his), user gusbrs on \emph{tex.stackexchange.com}, -Marko Budii\'{c}, Ulrike Fischer, Clea F. Rees, Yannick Kalff, Moritz Wemheuer and many -other users for testing, bug reports and suggestions, Nicolas Markey for -\emph{publist.bst} and of course Philipp Lehman and the current +Marko Budii\'{c}, David Carlisle, Ulrike Fischer, Clea F. Rees, Yannick Kalff, +Moritz Wemheuer and many other users for testing, bug reports and suggestions, +Nicolas Markey for \emph{publist.bst} and of course Philipp Lehman and the current \bibltx\ team (Philipp Kime, Moritz Wemheuer, Audrey Boruvka and Joseph Wright) for \bibltx. diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx index d8309df788..c89a6f821f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx @@ -25,8 +25,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{1.26} -\def\bpl@rdate{2022/01/05} +\def\bpl@version{1.27} +\def\bpl@rdate{2022/10/03} \ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space biblatex bibliography style (JSP)] @@ -285,7 +285,7 @@ % 2. Fully expanded macro content comparison \NewExpandableDocumentCommand{\bpl@ifstreq}{ m m m m } { - \str_if_eq:eeTF { #1 } { #2 } { #3 } { #4 } + \str_if_eq:eeTF { \text_purify:n { #1 } } { \text_purify:n { #2 } } { #3 } { #4 } } \ExplSyntaxOff @@ -1512,24 +1512,10 @@ % Link titles if so requested \AtBeginDocument{% -\iftoggle{bpl@linktitle}{% - \DeclareStyleSourcemap{ - \maps[datatype=bibtex]{ - \map[overwrite=true]{ - \step[fieldsource=title, - match=\regexp{(.*)}, - replace=\regexp{\\usebibmacro{bpl:linked}{$1}}, - final=true] - } - \map[overwrite=true]{ - \step[fieldsource=subtitle, - match=\regexp{(.*)}, - replace=\regexp{\\usebibmacro{bpl:linked}{$1}}, - final=true] - } - } - } -}{} + \iftoggle{bpl@linktitle}{% + \DeclareFieldInputHandler{title}{\def\NewValue{\usebibmacro{bpl:linked}{#1}}} + \DeclareFieldInputHandler{subtitle}{\def\NewValue{\usebibmacro{bpl:linked}{#1}}} + }{} } diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx index 06b5b151c6..2de500984f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx @@ -26,8 +26,8 @@ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\bpl@version{1.26} -\def\bpl@rdate{2022/01/05} +\def\bpl@version{1.27} +\def\bpl@rdate{2022/10/03} \ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space biblatex citation style (JSP)] diff --git a/macros/latex/contrib/clicks/LICENSE.txt b/macros/latex/contrib/clicks/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/clicks/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/clicks/README.md b/macros/latex/contrib/clicks/README.md index f77fe27323..5357152b3b 100644 --- a/macros/latex/contrib/clicks/README.md +++ b/macros/latex/contrib/clicks/README.md @@ -1,4 +1,4 @@ -[![make](https://github.com/yegor256/clicks/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/clicks/actions/workflows/latexmk.yml) +[![make](https://github.com/yegor256/clicks/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/clicks/actions/workflows/l3build.yml) [![CTAN](https://img.shields.io/ctan/v/clicks)](https://ctan.org/pkg/clicks) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/clicks/blob/master/LICENSE.txt) @@ -20,9 +20,6 @@ And then live happily ever after. \end{document} ``` -The full example and all commands are available in the -[`clicks.tex`](https://github.com/yegor256/clicks/blob/master/clicks.tex) file. - If you want to contribute yourself, make a fork, then create a branch, then run `make` in the root directory. It should compile everything without errors. If not, submit an issue and wait. diff --git a/macros/latex/contrib/clicks/clicks.dtx b/macros/latex/contrib/clicks/clicks.dtx new file mode 100644 index 0000000000..d103ee064f --- /dev/null +++ b/macros/latex/contrib/clicks/clicks.dtx @@ -0,0 +1,234 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{clicks.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{clicks.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{clicks} +%<*package> +[2022-10-03 0.4.1 Slide Deck Animation] +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{clicks} +\usepackage{href-ul} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{clicks.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|clicks|: \LaTeX{} Package \\ for Slide Deck Animation\thanks{The sources are in GitHub at \href{https://github.com/yegor256/clicks}{yegor256/clicks}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps simulate animation in PDF documents. You put +% some content on the page, then you ``click'' and the pages ends, +% while the content gets copied to the next page. There, you add new +% content. In the full-screen presentation mode this will look +% like animation, similar to what you can get with MS PowerPoint: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{clicks} +\begin{document} +\print{Here is your wedding plan:}\click +\print{1. Buy a ring}\click +\print{2. Propose}\click +\print{3. Get married}\flush +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% You can make it shorter, with the help of +% |\plick| and |\plush| commands: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{clicks} +\begin{document} +\plick[2]{Here is your wedding plan:} +\plick[3]{1. Buy a ring} +\plick[5]{2. Propose} +\plush[1]{3. Get married} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% The optional parameters at |\plick| and |\plush| +% are the minutes: how long you are planning to stay at this animation. +% The minutes are accumulated in the |minutes| counter, which +% you can show, for example, at your header. This will help you track +% time during the presentation. The commands +% |\click| and |\flush| also have the +% same optional arguments. + +% \section{Package Options} + +% \begin{macro}{static} +% If you need to render the document without animation, just +% use the |static| package option. +% \end{macro} + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.1.0}{2021/09/13}{Initial version} + +% First, we include a few packages: +% \begin{macrocode} +\RequirePackage{xkeyval} +\RequirePackage{etoolbox} +% \end{macrocode} + +% Then, we parse package options: +% \begin{macrocode} +\makeatletter +\newif\ifclicks@static +\DeclareOption{static}{\clicks@statictrue} +\makeatother +\ProcessOptions\relax +% \end{macrocode} + +% Then, we define a few supplementary commands: +% \begin{macrocode} +\makeatletter\newcommand*\clicks@body{}\makeatother +\makeatletter\newcommand\clicks@flush{% + \clicks@body\vspace*{0pt}\newpage% +}\makeatother +% \end{macrocode} + +% Then, we declare a counter of minutes: +% \begin{macrocode} +\newcounter{minutes} +% \end{macrocode} + +% \begin{macro}{\print} +% Then, we define |\print| command: +% \begin{macrocode} +\makeatletter\newcommand\print[1]{% + \gappto\clicks@body{{#1\par}}% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\flush} +% Then, we define |\flush| command: +% \begin{macrocode} +\makeatletter\newcommand\flush[1][1]{% + \ifx\clicks@body\empty\else% + \clicks@flush% + \renewcommand*\clicks@body{}% + \fi% + \ifclicks@static\else% + \addtocounter{minutes}{#1}% + \fi% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\click} +% Then, we define |\click| command: +% \begin{macrocode} +\makeatletter\newcommand\click[1][0]{% + \ifclicks@static\else% + \addtocounter{minutes}{#1}% + \fi% + \ifclicks@static\else% + \clicks@flush% + \fi% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\plush} +% Then, we define |\plush| command: +% \begin{macrocode} +\newcommand\plush[2][1]{% + \print{#2}% + \flush[#1]% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\plick} +% Then, we define |\plick| command: +% \begin{macrocode} +\newcommand\plick[2][1]{% + \print{#2}% + \click[#1]% +} +% \end{macrocode} +% \end{macro} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/clicks/clicks.ins b/macros/latex/contrib/clicks/clicks.ins new file mode 100644 index 0000000000..28083d43ef --- /dev/null +++ b/macros/latex/contrib/clicks/clicks.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/clicks} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{clicks.sty}{\from{clicks.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.} +\endbatchfile diff --git a/macros/latex/contrib/clicks/clicks.pdf b/macros/latex/contrib/clicks/clicks.pdf Binary files differindex 41a3696a45..9f26f16493 100644 --- a/macros/latex/contrib/clicks/clicks.pdf +++ b/macros/latex/contrib/clicks/clicks.pdf diff --git a/macros/latex/contrib/clicks/clicks.sty b/macros/latex/contrib/clicks/clicks.sty deleted file mode 100644 index b2aa13ff69..0000000000 --- a/macros/latex/contrib/clicks/clicks.sty +++ /dev/null @@ -1,82 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{clicks}[2022/09/13 0.3.1 Clicks] - -\RequirePackage{xkeyval} -\RequirePackage{etoolbox} - -\makeatletter\newif\ifclicks@static\makeatother -\makeatletter\DeclareOption{static}{\clicks@statictrue}\makeatother -\ProcessOptions\relax - -\makeatletter\newcommand*\clicks@body{}\makeatother -\makeatletter\newcommand\clicks@flush{% - \clicks@body\vspace*{0pt}\newpage% -}\makeatother - -\newcounter{minutes} - -% Print the content as is. -\makeatletter\newcommand\print[1]{% - \gappto\clicks@body{{#1\par}}% -}\makeatother - -% Flush the page: print the entire content. -\makeatletter\newcommand\flush[1][1]{% - \ifx\clicks@body\empty\else% - \clicks@flush% - \renewcommand*\clicks@body{}% - \fi% - \ifclicks@static\else% - \addtocounter{minutes}{#1}% - \fi% -} - -% Print the content and wait for more. -\makeatletter\newcommand\click[1][0]{% - \ifclicks@static\else% - \addtocounter{minutes}{#1}% - \fi% - \ifclicks@static\else% - \clicks@flush% - \fi% -}\makeatother - -% Print and flush -% [1]: How many minutes to stay here -% {1}: The content to print -\newcommand\plush[2][1]{% - \print{#2}% - \flush[#1]% -} - -% Print and click -% [1]: How many minutes to stay here -% {1}: The content to print -\newcommand\plick[2][1]{% - \print{#2}% - \click[#1]% -} - -\endinput diff --git a/macros/latex/contrib/clicks/clicks.tex b/macros/latex/contrib/clicks/clicks.tex deleted file mode 100644 index 7967601410..0000000000 --- a/macros/latex/contrib/clicks/clicks.tex +++ /dev/null @@ -1,92 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage[T1]{fontenc} -\usepackage[tt=false,type1=true]{libertine} -\usepackage{clicks} -\usepackage{ffcode} - -\title{\ff{clicks}: \LaTeX{} Package \\ for Slide Deck Animation} -\author{Yegor Bugayenko} -\date{0.3.1 2022/09/13} - -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} - -\maketitle - -\section[Intro]{Introduction} - -This package helps simulate animation in PDF documents. You put -some content on the page, then you ``click'' and the pages ends, -while the content gets copied to the next page. There, you add new -content. In the full-screen presentation mode this will look -like animation, similar to what you can get with MS PowerPoint. - -\begin{ffcode} -\documentclass{article} -\usepackage{clicks} -\begin{document} -\print{Here is your wedding plan:}\click -\print{1. Buy a ring}\click -\print{2. Propose}\click -\print{3. Get married}\flush -\end{document} -\end{ffcode} - -You can make it shorter, with the help of -\ff{\char`\\plick\{\}} and \ff{\char`\\plush\{\}} commands: - -\begin{ffcode} -\documentclass{article} -\usepackage{clicks} -\begin{document} -\plick[2]{Here is your wedding plan:} -\plick[3]{1. Buy a ring} -\plick[5]{2. Propose} -\plush[1]{3. Get married} -\end{document} -\end{ffcode} - -If you need to render the document without animation, just -use the \ff{static} package option. - -The optional parameters at \ff{\char`\\plick\{\}} and \ff{\char`\\plush\{\}} -are the minutes: how long you are planning to stay at this animation. -The minutes are accumulated in the \ff{minutes} counter, which -you can show, for example, at your header. This will help you track -time during the presentation. The commands -\ff{\char`\\click\{\}} and \ff{\char`\\flush\{\}} also have the -same optional arguments. - -More details about this package you can find -in the \ff{yegor256/clicks} GitHub repository. - -If you want to add a feature or fix a bug, you are welcome -to submit an issue or make a pull request. - -\end{document} diff --git a/macros/latex/contrib/crumbs/DEPENDS.txt b/macros/latex/contrib/crumbs/DEPENDS.txt index 78c5e550c1..abac7d8497 100644 --- a/macros/latex/contrib/crumbs/DEPENDS.txt +++ b/macros/latex/contrib/crumbs/DEPENDS.txt @@ -1,3 +1,3 @@ hard xkeyval hard etoolbox -hard catchfile +hard catchfile
\ No newline at end of file diff --git a/macros/latex/contrib/crumbs/LICENSE.txt b/macros/latex/contrib/crumbs/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/crumbs/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/crumbs/README.md b/macros/latex/contrib/crumbs/README.md index d01b1cc418..121ee434bb 100644 --- a/macros/latex/contrib/crumbs/README.md +++ b/macros/latex/contrib/crumbs/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/crumbs/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/crumbs/actions/workflows/latexmk.yml) +[![make](https://github.com/yegor256/crumbs/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/crumbs/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/crumbs)](https://ctan.org/pkg/crumbs) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/crumbs/blob/master/LICENSE.txt) This LaTeX package adds nagivation crumbs to your document, which diff --git a/macros/latex/contrib/crumbs/crumbs.dtx b/macros/latex/contrib/crumbs/crumbs.dtx new file mode 100644 index 0000000000..ee9a6b168c --- /dev/null +++ b/macros/latex/contrib/crumbs/crumbs.dtx @@ -0,0 +1,351 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{crumbs.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{crumbs.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{crumbs} +%<*package> +[2022-10-03 0.4.1 Inputable Shell Executions] +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{crumbs} +\usepackage{href-ul} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{crumbs.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|crumbs|: \LaTeX{} Package \\ for Navigation Crumbs\thanks{The sources are in GitHub at \href{https://github.com/yegor256/crumbs}{yegor256/crumbs}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps you add navigation crumbs to your document, +% which is most useful for presentations and slide decks: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{crumbs} +\usepackage{fancyhdr} + \fancyhf{} + \pagestyle{fancy} + \fancyhead[L]{\crumbs / \subcrumbs} +\begin{document} +\section{Introduction} +Some text here. +\section{Related Works} +Some other text here. +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi + +% \begin{macro}{\crumb} +% You may redefine |\crumb{}| and |\subcrumb{}| +% commands, if you want your crumbs to look nicer, for example: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\renewcommand\crumb[2]{{ + \ifnum\value{section}=\value{crumbi} + \color{orange} + \fi + #1 +}} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} +% The command will be called by |\crumbs| with two arguments. The first one +% will be the short name of the crumb, the second one will be the long one. +% The counter |crumbi| will be equal to the position of the crumb +% being rendered, starting from zero. + +% \begin{macro}{\subcrumb} +% The same for |\subcrumb{}|, but the comparison should be +% done not between |section| and |crumbi|, but between +% |subsection| and |subcrumbi| counters. +% \end{macro} + +% \begin{macro}{\section} +% The first parameter of both |\crumb{}| and |\subcrumb{}| +% is the optional parameter of |\section{}| and |\subsection{}| +% calls respectively. The second one is the mandatory parameter of them, which +% is the full text of the section and sub-section. +% When you use |crumbs| package, you can use |\section| and |\subsection| with +% an optional argument, which will be used in the crumbs, e.g.: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\section[Details]{More Details About The Method} +\subsection[SLR]{Systematic Literature Review} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \section{Package Options} + +% \begin{macro}{dry} +% You may turn on the ``dry'' mode, which will prohibit the package to +% renew |\section{}| and |\subsection{}| commands. +% You will still be able to use the crumbs mechanism through +% |\crumbection{}| and |\subcrumbection{}| commands, for example: +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage[dry]{crumbs} +\begin{document} +\crumbection[Intro]{Introduction} % Add it to \crumbs +\section{Introduction} % Print it to the page +Hello, world! +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% \end{macro} + +% \begin{macro}{increment} +% You can also instruct it to increment +% |\section{}| and |\subsection{}| +% on each call to |\crumbection{}| and |\subcrumbection{}| +% respectively. Just use the |increment| package option. +% \end{macro} + +% \section{How It Works} + +% On the first run, a new file |jobname.crumbs| is created, +% where all |\section| and |\subsection| commands +% are being logged. + +% On the second run, the file is loaded and two commands are being +% created: |\crumbs| and |\subcrumbs|. The first +% one is a collection of |\crumb{}| calls, while the second +% one is a collection of |\subcrumb{}| ones. + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.2.0}{2021/07/10}{Initial version} + +% \iffalse +\RequirePackage{xkeyval} +\RequirePackage{etoolbox} +\makeatletter\newif\ifcrumbs@dry\makeatother +\makeatletter\DeclareOption{dry}{\crumbs@drytrue}\makeatother +\makeatletter\newif\ifcrumbs@increment\makeatother +\makeatletter\DeclareOption{increment}{\crumbs@incrementtrue}\makeatother +\ProcessOptions\relax +% \fi + +% \begin{macro}{\crumbs} +% It is implemented with the help of |catchfile| package. First, +% we define special commands for special characters inside the +% |jobname.crumbs| files, as suggested \href{https://tex.stackexchange.com/a/12414/1449}{here}: +% \begin{macrocode} +\makeatletter\newcommand\crumbs@back{\@backslashchar}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\appendtofile} +% Then, we define a new command |\appendtofile|: +% \begin{macrocode} +\RequirePackage{catchfile} + \newwrite\appendwrite + \ExplSyntaxOn\cs_new:Npn\appendtofile#1#2{% + \begingroup + \IfFileExists{#1}% + {\CatchFileDef{\filecontent}{#1}{\endlinechar=`^^J\catcode\endlinechar=12\relax}}% keep existing end-of-lines + {\let\filecontent\empty}% + \immediate\openout\appendwrite=#1\relax + \immediate\write\appendwrite{\unexpanded\expandafter{\filecontent} \text_purify:n{#2}}% + \immediate\closeout\appendwrite + \endgroup + }\ExplSyntaxOff +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\subcrumbs} +% The command |\subcrumbs| prints all sub-crumbs for the current subsection: +% \begin{macrocode} +\newcommand\subcrumbs{% + \ifnum\value{section}=0\else% + \expandafter\ifcsname crumbs\romannumeral\the\value{section}\endcsname% + \csname crumbs\romannumeral\the\value{section}\endcsname{}% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\crumbection} +% The command |\crumbection| registers a new crumb: +% \begin{macrocode} +\makeatletter\newcommand\crumbection[2][]{% + \def\temp{#1}% + \ifx\crumbs\empty% + \appendtofile{\jobname.crumbs}{% + \crumbs@back ifx\crumbs@back crumbs\crumbs@back empty% + \crumbs@back gappto\crumbs@back crumbs\{\crumbs@back setcounter\{crumbi\}\{0\}\}% + \crumbs@back fi% + \crumbs@back gappto\crumbs@back crumbs\{\crumbs@back stepcounter\{crumbi\}\crumbs@back crumb{\ifx\temp\empty \{#2\}\else \{#1\}\fi}{\{#2\}}\}% + }% + \fi% + \ifcrumbs@increment\stepcounter{section}\fi% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\subcrumbection} +% The command |\subcrumbection| registers a new subcrumb: +% \begin{macrocode} +\makeatletter\newcommand\subcrumbection[2][]{% + \def\temp{#1}% + \ifx\crumbs\empty% + \appendtofile{\jobname.crumbs}{% + \crumbs@back ifcsname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\crumbs@back else + \crumbs@back expandafter\crumbs@back newcommand\crumbs@back csname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\{% + \crumbs@back setcounter\{subcrumbi\}\{0\}% + \}% + \crumbs@back fi% + \crumbs@back expandafter\crumbs@back gappto\crumbs@back csname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\{% + \crumbs@back stepcounter\{subcrumbi\}% + \crumbs@back subcrumb{\ifx\temp\empty \{#2\}\else \{#1\}\fi}{\{#2\}}\}% + }% + \fi% + \ifcrumbs@increment\stepcounter{subsection}\fi% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\section} +% We also redefined |\section| and |\subsection| commands: +% \begin{macrocode} +\makeatletter\ifcrumbs@dry% + \message{Since "dry" mode is ON we don't renew "section" and "subsection" commands}% +\else% + \NewCommandCopy\crumbs@oldsection\section + \renewcommand\section[2][]{% + \crumbection[#1]{#2}% + \crumbs@oldsection{#2}% + } + \NewCommandCopy\crumbs@oldsubsection\subsection + \renewcommand\subsection[2][]{% + \subcrumbection[#1]{#2}% + \crumbs@oldsubsection{#2}% + } +\fi\makeatletter +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\crumb} +% We define default implementations of |\crumb| command: +% \begin{macrocode} +\ifcsname crumb\endcsname% + \message{The command "crumb" is already defined}% +\else% + \newcommand\crumb[2]{#1}% +\fi% +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\subcrumb} +% We define default implementations of |\subcrumb| command: +% \begin{macrocode} +\ifcsname subcrumb\endcsname% + \message{The command "subcrumb" is already defined}% +\else% + \newcommand\subcrumb[2]{#1}% +\fi% +% \end{macrocode} +% \end{macro} + +% \begin{macro}{crumbi} +% We also define a few counters: +% \begin{macrocode} +\newcommand*\crumbs{} +\newcounter{crumbi} +\newcounter{subcrumbi} +% \end{macrocode} +% \end{macro} + +% Finally, we load the file into the document: +% \begin{macrocode} +\AtBeginDocument{\IfFileExists{\jobname.crumbs}{\input{\jobname.crumbs}}{}} +% \end{macrocode} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/crumbs/crumbs.ins b/macros/latex/contrib/crumbs/crumbs.ins new file mode 100644 index 0000000000..019bc22d00 --- /dev/null +++ b/macros/latex/contrib/crumbs/crumbs.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/crumbs} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{crumbs.sty}{\from{crumbs.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.} +\endbatchfile diff --git a/macros/latex/contrib/crumbs/crumbs.pdf b/macros/latex/contrib/crumbs/crumbs.pdf Binary files differindex 9b06354575..93341aca89 100644 --- a/macros/latex/contrib/crumbs/crumbs.pdf +++ b/macros/latex/contrib/crumbs/crumbs.pdf diff --git a/macros/latex/contrib/crumbs/crumbs.sty b/macros/latex/contrib/crumbs/crumbs.sty deleted file mode 100644 index dc35f811c2..0000000000 --- a/macros/latex/contrib/crumbs/crumbs.sty +++ /dev/null @@ -1,120 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{crumbs}[2022/09/21 0.3.2 Navigation Crumbs] - -\RequirePackage{xkeyval} -\RequirePackage{etoolbox} - -\makeatletter\newif\ifcrumbs@dry\makeatother -\makeatletter\DeclareOption{dry}{\crumbs@drytrue}\makeatother -\makeatletter\newif\ifcrumbs@increment\makeatother -\makeatletter\DeclareOption{increment}{\crumbs@incrementtrue}\makeatother -\ProcessOptions\relax - -% see https://tex.stackexchange.com/a/12414/1449 -\makeatletter\newcommand\crumbs@back{\@backslashchar}\makeatother -% \makeatletter\newcommand\crumbs@percent{\@percentchar}\makeatother -\RequirePackage{catchfile} - \newwrite\appendwrite - \ExplSyntaxOn\cs_new:Npn\appendtofile#1#2{% - \begingroup - \IfFileExists{#1}% - {\CatchFileDef{\filecontent}{#1}{\endlinechar=`^^J\catcode\endlinechar=12\relax}}% keep existing end-of-lines - {\let\filecontent\empty}% - \immediate\openout\appendwrite=#1\relax - \immediate\write\appendwrite{\unexpanded\expandafter{\filecontent} \text_purify:n{#2}}% - \immediate\closeout\appendwrite - \endgroup - }\ExplSyntaxOff - -\newcommand\subcrumbs{% - \ifnum\value{section}=0\else% - \expandafter\ifcsname crumbs\romannumeral\the\value{section}\endcsname% - \csname crumbs\romannumeral\the\value{section}\endcsname{}% - \fi% - \fi% -} - -\makeatletter\newcommand\crumbection[2][]{% - \def\temp{#1}% - \ifx\crumbs\empty% - \appendtofile{\jobname.crumbs}{% - \crumbs@back ifx\crumbs@back crumbs\crumbs@back empty% - \crumbs@back gappto\crumbs@back crumbs\{\crumbs@back setcounter\{crumbi\}\{0\}\}% - \crumbs@back fi% - \crumbs@back gappto\crumbs@back crumbs\{\crumbs@back stepcounter\{crumbi\}\crumbs@back crumb{\ifx\temp\empty \{#2\}\else \{#1\}\fi}{\{#2\}}\}% - }% - \fi% - \ifcrumbs@increment\stepcounter{section}\fi% -}\makeatother - -\makeatletter\newcommand\subcrumbection[2][]{% - \def\temp{#1}% - \ifx\crumbs\empty% - \appendtofile{\jobname.crumbs}{% - \crumbs@back ifcsname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\crumbs@back else - \crumbs@back expandafter\crumbs@back newcommand\crumbs@back csname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\{% - \crumbs@back setcounter\{subcrumbi\}\{0\}% - \}% - \crumbs@back fi% - \crumbs@back expandafter\crumbs@back gappto\crumbs@back csname crumbs\romannumeral\the\value{section}\crumbs@back endcsname\{% - \crumbs@back stepcounter\{subcrumbi\}% - \crumbs@back subcrumb{\ifx\temp\empty \{#2\}\else \{#1\}\fi}{\{#2\}}\}% - }% - \fi% - \ifcrumbs@increment\stepcounter{subsection}\fi% -}\makeatother - -\makeatletter\ifcrumbs@dry% - \message{Since "dry" mode is ON we don't renew "section" and "subsection" commands}% -\else% - \NewCommandCopy\crumbs@oldsection\section - \renewcommand\section[2][]{% - \crumbection[#1]{#2}% - \crumbs@oldsection{#2}% - } - \NewCommandCopy\crumbs@oldsubsection\subsection - \renewcommand\subsection[2][]{% - \subcrumbection[#1]{#2}% - \crumbs@oldsubsection{#2}% - } -\fi\makeatletter - -\ifcsname crumb\endcsname% - \message{The command "crumb" is already defined}% -\else% - \newcommand\crumb[2]{#1}% -\fi% -\ifcsname subcrumb\endcsname% - \message{The command "subcrumb" is already defined}% -\else% - \newcommand\subcrumb[2]{#1}% -\fi% - -\newcommand*\crumbs{} -\newcounter{crumbi} -\newcounter{subcrumbi} -\AtBeginDocument{\IfFileExists{\jobname.crumbs}{\input{\jobname.crumbs}}{}} - -\endinput diff --git a/macros/latex/contrib/crumbs/crumbs.tex b/macros/latex/contrib/crumbs/crumbs.tex deleted file mode 100644 index 8a76e866e6..0000000000 --- a/macros/latex/contrib/crumbs/crumbs.tex +++ /dev/null @@ -1,155 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage[T1]{fontenc} -\usepackage[tt=false,type1=true]{libertine} -\usepackage{ffcode} -\usepackage{xcolor} -\usepackage{crumbs} -\usepackage{fancyhdr} - \fancyhf{} - \setlength{\headheight}{1.2in} - \renewcommand{\headrulewidth}{1pt} - \renewcommand\crumb[2]{{\sffamily[{\ifnum\value{section}=\value{crumbi}\color{orange}\fi#1}]\quad}} - \renewcommand\subcrumb[2]{{\sffamily[{\ifnum\value{subsection}=\value{subcrumbi}\color{orange}\fi#1}]$\;$}} - \fancyhead[L]{ - \ff{\char`\\crumbs}: \crumbs - \\[3pt] - \small\ff{\char`\\subcrumbs}: \subcrumbs - \\[3pt] - \footnotesize\ttfamily section=\the\value{section}, crumbi=\the\value{crumbi}, subcrumbi=\the\value{subcrumbi} - } - -\title{\ff{crumbs}: \LaTeX{} Package \\ for Navigation Crumbs} -\author{Yegor Bugayenko} -\date{0.3.2 2022/09/21} - -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} - -\maketitle -\pagestyle{fancy} -\thispagestyle{fancy} - -Before the first \ff{\char`\\section} command: - -\ff{\char`\\crumbs}: \crumbs -\\[3pt] -\small\ff{\char`\\subcrumbs}: \subcrumbs - -\section[Intro]{Introduction} - -This package helps you add navigation crumbs to your document, -which is most useful for presentation and slide decks: - -\begin{ffcode} -\documentclass{article} -\usepackage{crumbs} -\usepackage{fancyhdr} - \fancyhf{} - \pagestyle{fancy} - \fancyhead[L]{\crumbs / \subcrumbs} -\begin{document} -\section{Introduction} -Some text here. -\section{Related Works} -Some other text here. -\end{document} -\end{ffcode} - -You may redefine \ff{\char`\\crumb\{\}} and \ff{\char`\\subcrumb\{\}} -commands, if you want your crumbs to look nicer, for example: - -\begin{ffcode} -\renewcommand\crumb[2]{ - { - \ifnum\value{section}=\value{crumbi} - \color{orange} - \fi - #1 - } -} -\end{ffcode} - -The same for \ff{\char`\\subcrumb\{\}}, but the comparison should be -done not between \ff{section} and \ff{crumbi}, but between -\ff{subsection} and \ff{subcrumbi} counters. - -The first parameter of both \ff{\char`\\crumb\{\}} and \ff{\char`\\subcrumb\{\}} -is the optional parameter of \ff{\char`\\section\{\}} and \ff{\char`\\subsection\{\}} -calls respectively. The second one is the mandatory parameter of them, which -is the full text of the section and sub-section. - -You can use \ff{\char`\\section} and \ff{\char`\\subsection} with -an optional argument, which will be used in the crumbs, e.g.: - -\begin{ffcode} -\section[Details]{More Details About The Method} -\subsection[SLR]{Systematic Literature Review} -\end{ffcode} - -\subsection{How to Contribute} - -You may turn on the ``dry'' mode, which will prohibit the package to -renew \ff{\char`\\section\{\}} and \ff{\char`\\subsection\{\}} commands. -You will still be able to use the crumbs mechanism through -\ff{\char`\\crumbection\{\}} and \ff{\char`\\subcrumbection\{\}} -commands, for example: - -\begin{ffcode} -\documentclass{article} -\usepackage[dry]{crumbs} -\begin{document} -\crumbection[Intro]{Introduction} % Add it to \crumbs -\section{Introduction} % Print it to the page -Hello, world! -\end{document} -\end{ffcode} - -You can also instruct it to increment -\ff{\char`\\section\{\}} and \ff{\char`\\subsection\{\}} -on each call to \ff{\char`\\crumbection\{\}} and \ff{\char`\\subcrumbection\{\}} -respectively. Just use the \ff{increment} package option. - -More details about this package you can find -in the \ff{yegor256/crumbs} GitHub repository. - -If you want to add a feature or fix a bug, you are welcome -to submit an issue or make a pull request. - -\section{How It Works} - -On the first run, a new file \ff{\char`\\jobname.crumbs} is created, -where all \ff{\char`\\section} and \ff{\char`\\subsection} commands -are being logged. - -On the second run, the file is loaded and two commands are being -created: \ff{\char`\\crumbs} and \ff{\char`\\subcrumbs}. The first -one is a collection of \ff{\char`\\crumb\{\}} calls, while the second -one is a collection of \ff{\char`\\subcrumb\{\}} ones. - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/debate/DEPENDS.txt b/macros/latex/contrib/debate/DEPENDS.txt index a468679b1f..7a17e9bd3f 100644 --- a/macros/latex/contrib/debate/DEPENDS.txt +++ b/macros/latex/contrib/debate/DEPENDS.txt @@ -1,3 +1,6 @@ +hard xkeyval hard xcolor hard tcolorbox -hard xkeyval +hard pdfcol +hard listings +hard listingsutf8
\ No newline at end of file diff --git a/macros/latex/contrib/debate/LICENSE.txt b/macros/latex/contrib/debate/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/debate/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/debate/README.md b/macros/latex/contrib/debate/README.md index 3d8d0294c0..ff457dfa4b 100644 --- a/macros/latex/contrib/debate/README.md +++ b/macros/latex/contrib/debate/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/debate/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/debate/actions/workflows/latexmk.yml) +[![make](https://github.com/yegor256/debate/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/debate/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/debate)](https://ctan.org/pkg/debate) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/debate/blob/master/LICENSE.txt) This LaTeX package helps you organize debates between a few reviewers diff --git a/macros/latex/contrib/debate/debate.dtx b/macros/latex/contrib/debate/debate.dtx new file mode 100644 index 0000000000..955229ae6f --- /dev/null +++ b/macros/latex/contrib/debate/debate.dtx @@ -0,0 +1,178 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{debate.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{debate.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{debate} +%<*package> +[2022-10-03 0.2.0 Debates Between Reviewers] +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{multicol} +\usepackage{debate} +\usepackage{href-ul} +\usepackage{xcolor} +\usepackage{microtype} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{debate.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|debate|: \LaTeX{} Package \\ for Debates Between Reviewers\thanks{The sources are in GitHub at \href{https://github.com/yegor256/debate}{yegor256/debate}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps you organize debates between a few people +% right inside your documents: + +% \begin{multicols}{2} +% \raggedcolumns +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage{debate} +\begin{document} +I think apples are tastier +\debate[Jeff]{I don't think it's true!} +\debate[Anna]{It is indeed true!} +than pears! + +And I don't want to argue with me. +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% +% \columnbreak +% +% I think apples are tastier +% \debate[Jeff]{I don't think it's true!} +% \debate[Anna]{It is indeed true!} +% than pears! +% +% And I don't want to argue with me. +% \end{multicols} + +% \textbf{NB!} +% If you want to use |tcolorbox| package, make sure you include +% |debate| first. + +% \section{Package Options} + +% \begin{macro}{hide} +% You can hide them all using |hide| package option. +% \end{macro} + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.1.0}{2021/09/26}{Initial version} + +% First, we include a few packages: +% \begin{macrocode} +\RequirePackage{xcolor} +\PassOptionsToPackage{most}{tcolorbox} +\RequirePackage{tcolorbox} +% \end{macrocode} + +% Then, we parse package options: +% \begin{macrocode} +\RequirePackage{xkeyval} +\makeatletter +\newif\ifdebate@hide +\DeclareOptionX{hide}{\debate@hidetrue} +\ProcessOptionsX\relax +\makeatother +% \end{macrocode} + +% \begin{macro}{\debate} +% Finally, we define |\debate| command: +% \begin{macrocode} +\makeatletter\newcommand\debate[2][Reviewer]{% + \ifdebate@hide% + #1% + \else% + {% + \begin{tcolorbox}[frame hidden,sharp corners,enhanced,borderline west={1pt}{0pt}{red},interior hidden,boxsep=0pt,left=0pt,right=0pt,top=0pt,bottom=0pt,beforeafter skip balanced=0pt] + \sffamily\color{gray}% + \raggedright% + \addtolength\leftskip{18pt}\setlength\parskip{0pt}\setlength\parindent{0pt}% + \textcolor{red}{\bfseries\scshape #1}: #2 + \end{tcolorbox} + \vspace{-\parskip} + }% + \fi% +}\makeatother +% \end{macrocode} +% \end{macro} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/debate/debate.ins b/macros/latex/contrib/debate/debate.ins new file mode 100644 index 0000000000..b1e10ebfcf --- /dev/null +++ b/macros/latex/contrib/debate/debate.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/debate} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{debate.sty}{\from{debate.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.} +\endbatchfile diff --git a/macros/latex/contrib/debate/debate.pdf b/macros/latex/contrib/debate/debate.pdf Binary files differindex b6ac58b76f..336aed0d9f 100644 --- a/macros/latex/contrib/debate/debate.pdf +++ b/macros/latex/contrib/debate/debate.pdf diff --git a/macros/latex/contrib/debate/debate.sty b/macros/latex/contrib/debate/debate.sty deleted file mode 100644 index 6650f4bfc5..0000000000 --- a/macros/latex/contrib/debate/debate.sty +++ /dev/null @@ -1,53 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{debate}[2021/10/10 0.1.1 Debates Between Reviewers] - -\RequirePackage{xcolor} -\PassOptionsToPackage{most}{tcolorbox} -\RequirePackage{tcolorbox} - -\RequirePackage{xkeyval} -\makeatletter -\newif\ifdebate@hide -\DeclareOptionX{hide}{\debate@hidetrue} -\ProcessOptionsX\relax -\makeatother - -\makeatletter\newcommand\debate[2][Author]{% - \ifdebate@hide% - #1% - \else% - {% - \begin{tcolorbox}[frame hidden,sharp corners,enhanced,borderline west={1pt}{0pt}{red},interior hidden,boxsep=0pt,left=0pt,right=0pt,top=0pt,bottom=0pt,beforeafter skip balanced=0pt] - \sffamily\color{gray}% - \raggedright% - \addtolength\leftskip{18pt}\setlength\parskip{0pt}\setlength\parindent{0pt}% - \textcolor{red}{\bfseries\scshape #1}: #2 - \end{tcolorbox} - \vspace{-\parskip} - }% - \fi% -}\makeatother - -\endinput diff --git a/macros/latex/contrib/debate/debate.tex b/macros/latex/contrib/debate/debate.tex deleted file mode 100644 index e6d09c3a34..0000000000 --- a/macros/latex/contrib/debate/debate.tex +++ /dev/null @@ -1,80 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage[T1]{fontenc} -\usepackage[tt=false,type1=true]{libertine} -\usepackage{multicol} -\usepackage{debate} -\usepackage{ffcode} -\usepackage{xcolor} -\usepackage{microtype} -\title{\ff{debate}: \LaTeX{} Package \\ for Debates Between Reviewers} -\author{Yegor Bugayenko} -\date{0.1.1 2021/10/10} -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} -\maketitle - -This package helps you organize debates between a few people -right inside your documents: - -\begin{multicols}{2} -\scriptsize -\raggedcolumns -\begin{verbatim} -\documentclass{article} -\usepackage[T1]{fontenc} -\usepackage{debate} -\begin{document} -I think apples are tastier -\debate[Jeff]{I don't think it's true!} -\debate[Anna]{It is indeed true!} -than pears! - -And I don't want to argue with me. -\end{document} -\end{verbatim} - -\columnbreak - -I think apples are tastier -\debate[Jeff]{I don't think it's true!} -\debate[Anna]{It is indeed true!} -than pears! - -And I don't want to argue with me. -\end{multicols} - -You can hide them all using \ff{hide} package option. - -If you want to use \ff{tcolorbox} package, make sure you include -\ff{debate} first. - -More details about this package you can find -in the \ff{yegor256/debate} GitHub repository. - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/ffcode/DEPENDS.txt b/macros/latex/contrib/ffcode/DEPENDS.txt index 935840f850..52a46fbc48 100644 --- a/macros/latex/contrib/ffcode/DEPENDS.txt +++ b/macros/latex/contrib/ffcode/DEPENDS.txt @@ -1,3 +1,5 @@ hard xkeyval hard minted hard tcolorbox +hard pgf +hard environ diff --git a/macros/latex/contrib/ffcode/LICENSE.txt b/macros/latex/contrib/ffcode/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/ffcode/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/ffcode/README.md b/macros/latex/contrib/ffcode/README.md index 13e012d767..fe0332ddfe 100644 --- a/macros/latex/contrib/ffcode/README.md +++ b/macros/latex/contrib/ffcode/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/ffcode/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/ffcode/actions/workflows/latexmk.yml) +[![make](https://github.com/yegor256/ffcode/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/ffcode/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/ffcode)](https://ctan.org/pkg/ffcode) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/ffcode/blob/master/LICENSE.txt) This LaTeX package helps you write source code in your academic papers diff --git a/macros/latex/contrib/ffcode/ffcode.dtx b/macros/latex/contrib/ffcode/ffcode.dtx new file mode 100644 index 0000000000..c6d717c7b5 --- /dev/null +++ b/macros/latex/contrib/ffcode/ffcode.dtx @@ -0,0 +1,383 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{ffcode.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{ffcode.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{ffcode} +%<*package> +[03.10.2022 0.5.0 Fixed Font Code] +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage[tt=false,type1=true]{libertine} +\usepackage{microtype} +\usepackage{href-ul} +\usepackage{ffcode} +\usepackage{amsmath} +\usepackage{multicol} +\usepackage{xcolor} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{ffcode.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|ffcode|: \LaTeX{} Package \\ for Fixed-Font Code Blocks\thanks{The sources are in GitHub at \href{https://github.com/yegor256/ffcode}{yegor256/ffcode}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps you write source code in your articles +% and make sure it looks nice. Install it from CTAN and then +% use like this (pay attention to |\ff| command +% and |ffcode| environment): +% \begin{multicols}{2} +% \setlength{\parskip}{0pt} +% \raggedcolumns +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{ffcode} +\begin{document} +The function \ff{fibo()} +is recursive: +\begin{ffcode} +int fibo(int n) { + if (n < 2) { + return n; |$\label{ln:ret}$| + } + return fibo(n-1)+fibo(n-2); +} +\end{ffcode} +The line no.~\ref{ln:ret} +terminates it. +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% +% \columnbreak +% +% The function \ff{fibo()} is recursive: +% +%\iffalse +%<*verb> +%\fi +\begin{ffcode} +int fibo(int n) { + if (n < 2) { + return n; |$\label{ln:ret}$| + } + return fibo(n-1)+fibo(n-2); +} +\end{ffcode} +%\iffalse +%</verb> +%\fi +% +% The line no.~\ref{ln:ret} terminates it. +% \end{multicols} + +% \section{Package Options} + +% \begin{macro}{nopygments} +% You have to run |pdflatex| with |--shell-escape| flag +% in order to let |minted| (the package we use) to run Pygments +% and format the code. If you don't want this to happen, +% just use |nopygments| option. +% \end{macro} + +% \begin{macro}{noframes} +% If you want to omit the light gray frames around |\ff| +% texts, use the package option |noframes|. +% \end{macro} + +% \begin{macro}{nobars} +% To omit the vertical gray bar at the left side of each snippet, +% use |nobars| option of the package. +% \end{macro} + +% \begin{macro}{nonumbers} +% To omit the line numbers, use |nonumbers| option of the package. +% \end{macro} + +% \begin{macro}{nocn} +% By default, the numbering is continuous: line numbers start at the +% first snippet and increment until the end of the document. If you +% want them to start from one at each snippet, use |nocn| +% (stands for ``no continuous numbering'') +% option of the package. +% \end{macro} + +% \section{Typesetting} + +% By the way, the package correctly formats low-height texts, for example, just +% a dot: \ff{.} + +% A pair of vertical lines decorate a TeX command inside the snippet. +% If you want to print a single vertical line, use this: +% \ff{|\char`\\vert|}. + +% The command |\ff| behaves differently in math mode --- it doesn't +% add gray frames: +% \begin{multicols}{2} +% \setlength{\parskip}{0pt} +% \raggedcolumns +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{ffcode} +\begin{document} +\begin{equation} +x = \int_\ff{home}^N f(x). +\end{equation} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% +% \columnbreak +% +%\iffalse +%<*verb> +%\fi +% \begin{equation} +% x = \int_\ff{home}^N f(x). +% \end{equation} +%\iffalse +%</verb> +%\fi +% \end{multicols} + +% \section{Line Highlighting} + +% You can highlight some lines in your |ffcode| environment, +% or can use any other additional configuration parameters from +% |minted| package: + +% \begin{multicols}{2} +% \setlength{\parskip}{0pt} +% \raggedcolumns +%\iffalse +%<*verb> +%\fi +\begin{verbatim} +\documentclass{article} +\usepackage{ffcode} +\begin{document} +\begin{ffcode*} + {highlightlines={1,4-5}} +while (true) { + print("Hello!") + print("Enter your name:") + scan(x) + print("You name is " + x) +} +\end{ffcode*} +\end{document} +\end{verbatim} +%\iffalse +%</verb> +%\fi +% +% \columnbreak +% +%\iffalse +%<*verb> +%\fi +\begin{ffcode*}{highlightlines={7,10-11}} +while (true) { + print("Hello!") + print("Enter your name:") + scan(x) + print("You name is " + x) +} +\end{ffcode*} +%\iffalse +%</verb> +%\fi +% \end{multicols} + +% Using this second argument of |ffcode*| (with the trailing asterisk), +% you can provide any other options from |minted| package to the +% snippet. + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.2.0}{2021/07/10}{Initial version} + +% First, we parse package options: +% \begin{macrocode} +\RequirePackage{xkeyval} +\makeatletter +\DeclareOptionX{nopygments}{\PassOptionsToPackage{draft=true}{minted}} +\newif\ifff@noframes +\DeclareOptionX{noframes}{\ff@noframestrue} +\newif\ifff@nobars +\DeclareOptionX{nobars}{\ff@nobarstrue} +\newif\ifff@nonumbers +\DeclareOptionX{nonumbers}{\ff@nonumberstrue} +\newif\ifff@nocn +\DeclareOptionX{nocn}{\ff@nocntrue} +\ProcessOptionsX\relax +\makeatother +% \end{macrocode} + +% Then, we configure |minted| package: +% \begin{macrocode} +\RequirePackage{minted} +\setminted{breaklines} +\setminted{escapeinside=||,mathescape} +\setminted{highlightcolor=gray!25} +\usemintedstyle{bw} +% \end{macrocode} + +% \begin{macro}{ffcode} +% Then, we define |ffcode| environment: +% \begin{macrocode} +\makeatletter\ifff@nonumbers + \ifff@nobars + \newminted[ffcode]{text}{} + \else + \newminted[ffcode]{text}{framesep=6pt, + framerule=1pt,rulecolor=gray,frame=leftline} + \fi +\else + \renewcommand{\theFancyVerbLine}{\textcolor{gray} + {\tiny\oldstylenums{\ttfamily\arabic{FancyVerbLine}}}} + \ifff@nocn + \ifff@nobars + \newminted[ffcode]{text}{ + linenos,numbersep=2pt + } + \else + \newminted[ffcode]{text}{ + framesep=6pt,framerule=1pt,rulecolor=gray, + frame=leftline,linenos,numbersep=2pt + } + \fi + \else + \ifff@nobars + \newminted[ffcode]{text}{ + firstnumber=last,linenos,numbersep=2pt + } + \else + \newminted[ffcode]{text}{ + framesep=6pt,framerule=1pt,rulecolor=gray, + frame=leftline,firstnumber=last,linenos,numbersep=2pt + } + \fi + \fi +\fi\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ff@print} +% Then, we define supplementary commands |\ff@print| and |\ff@printx|: +% \begin{macrocode} +\makeatletter +\newcommand\ff@print{\begingroup\obeyspaces\ff@printx} +\newcommand\ff@printx[1]{\texttt{#1}\endgroup} +\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ff@rule} +% Then, we define supplementary command |\ff@rule|: +% \begin{macrocode} +\makeatletter\newcommand\ff@rule + {\vrule height 6pt depth 1pt width 0pt} +\makeatother +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\ff} +% Finally, we define |\ff| command: +% \begin{macrocode} +\makeatletter\ifff@noframes + \newcommand\ff[1]{\ff@rule\ff@print{#1}} +\else + \RequirePackage{tcolorbox} + \newtcbox\ff@box{nobeforeafter,colframe=gray!80!white, + colback=gray!5!white,boxrule=0.1pt,arc=1pt, + boxsep=1.2pt,left=0.5pt,right=0.5pt,top=0.2pt,bottom=0.2pt, + tcbox raise base} + \newcommand\ff[1]{\relax\ifmmode% + {\ff@rule\ff@print{#1}}% + \else% + {\ff@box{\ff@rule\ff@print{#1}}} + \fi} +\fi\makeatother +% \end{macrocode} +% \end{macro} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/ffcode/ffcode.ins b/macros/latex/contrib/ffcode/ffcode.ins new file mode 100644 index 0000000000..758b0a2a81 --- /dev/null +++ b/macros/latex/contrib/ffcode/ffcode.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/ffcode} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +\endpreamble +\generate{\file{ffcode.sty}{\from{ffcode.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.} +\endbatchfile diff --git a/macros/latex/contrib/ffcode/ffcode.pdf b/macros/latex/contrib/ffcode/ffcode.pdf Binary files differindex 9f63f91545..1533df9d95 100644 --- a/macros/latex/contrib/ffcode/ffcode.pdf +++ b/macros/latex/contrib/ffcode/ffcode.pdf diff --git a/macros/latex/contrib/ffcode/ffcode.sty b/macros/latex/contrib/ffcode/ffcode.sty deleted file mode 100644 index ee3c25fed7..0000000000 --- a/macros/latex/contrib/ffcode/ffcode.sty +++ /dev/null @@ -1,100 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ffcode}[2022/09/12 0.4.4 Fixed Font Code] - -\RequirePackage{xkeyval} - -\makeatletter -\DeclareOptionX{nopygments}{\PassOptionsToPackage{draft=true}{minted}} -\newif\ifff@noframes -\DeclareOptionX{noframes}{\ff@noframestrue} -\newif\ifff@nobars -\DeclareOptionX{nobars}{\ff@nobarstrue} -\newif\ifff@nonumbers -\DeclareOptionX{nonumbers}{\ff@nonumberstrue} -\newif\ifff@nocn -\DeclareOptionX{nocn}{\ff@nocntrue} -\ProcessOptionsX\relax -\makeatother - -\RequirePackage{minted} - -\setminted{breaklines} -\setminted{escapeinside=||,mathescape} -\setminted{highlightcolor=gray!30} -\usemintedstyle{bw} - -\makeatletter\ifff@nonumbers - \ifff@nobars - \newminted[ffcode]{text}{} - \else - \newminted[ffcode]{text}{ - framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline - } - \fi -\else - \renewcommand{\theFancyVerbLine}{\textcolor{gray}{\tiny\oldstylenums{\ttfamily\arabic{FancyVerbLine}}}} - \ifff@nocn - \ifff@nobars - \newminted[ffcode]{text}{ - linenos,numbersep=2pt - } - \else - \newminted[ffcode]{text}{ - framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline, - linenos,numbersep=2pt - } - \fi - \else - \ifff@nobars - \newminted[ffcode]{text}{ - firstnumber=last,linenos,numbersep=2pt - } - \else - \newminted[ffcode]{text}{ - framesep=6pt,framerule=1pt,rulecolor=gray,frame=leftline, - firstnumber=last,linenos,numbersep=2pt - } - \fi - \fi -\fi\makeatother - -\makeatletter -\newcommand\ff@print{\begingroup\obeyspaces\ff@printx} -\newcommand\ff@printx[1]{\texttt{#1}\endgroup} -\makeatother - -\makeatletter\newcommand\ff@rule{\vrule height 6pt depth 1pt width 0pt} -\makeatletter\ifff@noframes - \newcommand\ff[1]{\ff@rule\ff@print{#1}} -\else - \RequirePackage{tcolorbox} - \newtcbox\ff@box{nobeforeafter,colframe=gray!80!white, - colback=gray!5!white,boxrule=0.1pt,arc=1pt, - boxsep=1.2pt,left=0.5pt,right=0.5pt,top=0.2pt,bottom=0.2pt, - tcbox raise base} - \newcommand\ff[1]{\relax\ifmmode{\ff@rule\ff@print{#1}}\else{\ff@box{\ff@rule\ff@print{#1}}}\fi} -\fi\makeatother - -\endinput diff --git a/macros/latex/contrib/ffcode/ffcode.tex b/macros/latex/contrib/ffcode/ffcode.tex deleted file mode 100644 index 1d73cc21bb..0000000000 --- a/macros/latex/contrib/ffcode/ffcode.tex +++ /dev/null @@ -1,155 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021-2022 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage[T1]{fontenc} -\usepackage[tt=false,type1=true]{libertine} -\usepackage{amsmath} -\usepackage{multicol} -\usepackage{ffcode} -\usepackage{xcolor} -\usepackage{microtype} -\title{\ff{ffcode}: \LaTeX{} Package \\ for Fixed-Font Code Blocks} -\author{Yegor Bugayenko} -\date{0.4.4 2022/09/12} -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} -\maketitle - -This package helps you write source code in your articles -and make sure it looks nice. Install it from CTAN and then -use like this (pay attention to \ff{\char`\\ff} command -and \ff{ffcode} environment): - -\begin{multicols}{2} -\setlength{\parskip}{0pt} -\scriptsize -\raggedcolumns -\begin{verbatim} -\documentclass{article} -\usepackage[T1]{fontenc} -\usepackage{ffcode} -\begin{document} -The function \ff{fibo()} is recursive: -\begin{ffcode} -int fibo(int n) { - if (n < 2) { - return n; |$\label{ln:ret}$| - } - return fibo(n - 1) + fibo(n - 2); -} -\end{ffcode} -The line no.~\ref{ln:ret} terminates it. -\end{document} -\end{verbatim} - -\columnbreak - -The function \ff{fibo()} is recursive: - -\begin{ffcode} -int fibo(int n) { - if (n < 2) { - return n; |$\label{ln:ret}$| - } - return fibo(n - 1) + fibo(n - 2); -} -\end{ffcode} - -The line no.~\ref{ln:ret} terminates it. -\end{multicols} - -You have to run \ff{pdflatex} with \ff{--shell-escape} flag -in order to let \ff{minted} (the package we use) to run Pygments -and format the code. If you don't want this to happen, -just use \ff{nopygments} option. - -A pair of vertical lines decorate a TeX command inside the snippet. -If you want to print a single vertical line, use this: -\ff{|\char`\\vert|}. - -If you want to omit the light gray frames around \ff{\char`\\ff} -texts, use the package option \ff{noframes}. - -The command \ff{\char`\\ff\char`\{...\char`\}} behaves differently in math mode: it doesn't -add gray frames: -\begin{equation} -x = \int_\ff{home}^N f(x). -\end{equation} - -To omit the vertical gray bar at the left side of each snippet, -use \ff{nobars} option of the package. - -To omit the line numbers, use \ff{nonumbers} option of the package. - -By default, the numbering is continuous: line numbers start at the -first snippet and increment until the end of the document. If you -want them to start from one at each snippet, use \ff{nocn} -(stands for ``no continuous numbering'') -option of the package. - -You can highlight some lines in your \ff{ffcode} environment, -or can use any other additional configuration parameters from -\ff{minted} package: - -\begin{multicols}{2} -\setlength{\parskip}{0pt} -\scriptsize -\raggedcolumns -\begin{verbatim} -\begin{ffcode*}{highlightlines={1,4-5}} -while (true) { - print("Hello!") - print("Enter your name:") - scan(x) - print("You name is " + x) -} -\end{ffcode*} -\end{verbatim} - -\columnbreak - -\begin{ffcode*}{highlightlines={7,10-11}} -while (true) { - print("Hello!") - print("Enter your name:") - scan(x) - print("You name is " + x) -} -\end{ffcode*} -\end{multicols} - -Using this second argument of \ff{ffcode*} (with the trailing asterisk), -you can provide any other options from \ff{minted} package to the -snippet. - -By the way, the package correctly formats low-height texts, for example, just -a dot: \ff{.} - -More details about this package you can find -in \ff{yegor256/ffcode} GitHub repository. - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/href-ul/LICENSE.txt b/macros/latex/contrib/href-ul/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/href-ul/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/href-ul/README.md b/macros/latex/contrib/href-ul/README.md index 67b18d010e..c508666cf1 100644 --- a/macros/latex/contrib/href-ul/README.md +++ b/macros/latex/contrib/href-ul/README.md @@ -1,7 +1,8 @@ -[![make](https://github.com/yegor256/href-ul/actions/workflows/make.yml/badge.svg)](https://github.com/yegor256/href-ul/actions/workflows/make.yml) +[![make](https://github.com/yegor256/href-ul/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/href-ul/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/href-ul)](https://ctan.org/pkg/href-ul) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/href-ul/blob/master/LICENSE.txt) -This LaTeX package makes hyperlinks underscored. +This LaTeX package makes hyperlinks underlined. The package uses [`hyperref`](https://ctan.org/pkg/hyperref) and [`ulem`](https://ctan.org/pkg/ulem) packages. diff --git a/macros/latex/contrib/href-ul/href-ul.dtx b/macros/latex/contrib/href-ul/href-ul.dtx new file mode 100644 index 0000000000..41d4a9d0b5 --- /dev/null +++ b/macros/latex/contrib/href-ul/href-ul.dtx @@ -0,0 +1,144 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{href-ul.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{href-ul.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{href-ul} +%<*package> +[03.10.2022 0.2.0 Underlined Hyperlinks] +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{microtype} +\usepackage{href-ul} +\usepackage{xcolor} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{href-ul.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|href-ul|: \LaTeX{} Package \\ That Makes Underscored Links\thanks{The sources are in GitHub at \href{https://github.com/yegor256/href-ul}{yegor256/href-ul}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps you make your hyperlinks underlined: +% +% \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} + +% Changing the {\color{red}\href{https://github.com/yegor256/href-ul}{color}} of the text also changes the color of the line. + +% Changing the {\Large\href{https://github.com/yegor256/href-ul}{size}} of the text doesn't change the height of the line. + +% \StopEventually{} + +% \section{Implementation} + +% \changes{v0.2.0}{2021/06/11}{Initial version} + +% First, we include two packages: +% \begin{macrocode} +\PassOptionsToPackage{normalem}{ulem} +\RequirePackage{ulem} +\PassOptionsToPackage{hidelinks}{hyperref} +\RequirePackage{hyperref} +% \end{macrocode} + +% \begin{macro}{\href} +% Then, we define the |\href| command: +% \begin{macrocode} +\makeatletter\begingroup% +\catcode`\$=6 % +\catcode`\#=12 % +\gdef\href@split$1#$2#$3\\$4{% + \hyper@@link{$1}{$2}{\uline{$4}}% + \endgroup% +}% +\endgroup\makeatother +% \end{macrocode} +% \end{macro} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/href-ul/href-ul.ins b/macros/latex/contrib/href-ul/href-ul.ins new file mode 100644 index 0000000000..582fd9ba13 --- /dev/null +++ b/macros/latex/contrib/href-ul/href-ul.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/href-ul} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +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.} +\endbatchfile diff --git a/macros/latex/contrib/href-ul/href-ul.pdf b/macros/latex/contrib/href-ul/href-ul.pdf Binary files differindex f480b994d3..37a3867c0e 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/href-ul/href-ul.sty b/macros/latex/contrib/href-ul/href-ul.sty deleted file mode 100644 index 570f4ca51a..0000000000 --- a/macros/latex/contrib/href-ul/href-ul.sty +++ /dev/null @@ -1,40 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{href-ul}[2021/06/13 0.1.0 Underscored Hyperlinks] - -\PassOptionsToPackage{normalem}{ulem} -\RequirePackage{ulem} -\PassOptionsToPackage{hidelinks}{hyperref} -\RequirePackage{hyperref} - -\makeatletter\begingroup% -\catcode`\$=6 % -\catcode`\#=12 % -\gdef\href@split$1#$2#$3\\$4{% - \hyper@@link{$1}{$2}{\uline{$4}}% - \endgroup% -}% -\endgroup\makeatother - -\endinput diff --git a/macros/latex/contrib/href-ul/href-ul.tex b/macros/latex/contrib/href-ul/href-ul.tex deleted file mode 100644 index 3f60b3f3ea..0000000000 --- a/macros/latex/contrib/href-ul/href-ul.tex +++ /dev/null @@ -1,70 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage{href-ul} % the package from the current dir -\usepackage{ffcode} -\usepackage{multicol} -\usepackage{xcolor} -\title{\ff{href-ul}: \LaTeX{} Package \newline That Makes Underscored Links} -\author{Yegor Bugayenko} -\date{0.1.0 2021/06/13} - -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} -\maketitle - -This package helps you make your hyperlinks underscored: - -\begin{multicols}{2} -\setlength{\parskip}{0pt} -\scriptsize -\raggedcolumns -\begin{verbatim} -\documentclass{article} -\usepackage{href-ul} -\begin{document} -Go to \href{https://google.com}{Google}! -\end{document} -\end{verbatim} - -\columnbreak - -Go to \href{https://google.com}{Google}! -\end{multicols} - -Changing the {\color{red}\href{https://github.com/yegor256/href-ul}{color}} of the text also changes the color of the line. - -Changing the {\Large\href{https://github.com/yegor256/href-ul}{size}} of the text doesn't change the width of the line. - -The package uses -\ff{\href{https://ctan.org/pkg/hyperref}{hyperref}} -and \ff{\href{https://ctan.org/pkg/ulem}{ulem}} packages. - -More details about this package you can find -in the \ff{\href{https://github.com/yegor256/href-ul}{yegor256/href-ul}} GitHub repository. - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf Binary files differindex fb6a67967d..b050328eed 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex index 237021230d..d2df28ed97 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex @@ -18,6 +18,10 @@ \usepackage[group-minimum-digits=4]{siunitx} \usepackage{fancyvrb} \usepackage{fancyhdr} +\usepackage{multicol} +%\makeatletter +% \@addtoreset{section}{part} +%\makeatother %fancy \fancyhf{} \renewcommand{\headrulewidth}{0pt} @@ -57,8 +61,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\PLversion{1.2.7} -\def\PLdate{1\ier{} Octobre 2022} +\def\PLversion{1.2.9} +\def\PLdate{3 Octobre 2022} \tcbset{vignettes/.style={% nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% @@ -272,7 +276,9 @@ Des commandes pour effectuer des calculs de probas (lois binomiale, exponentiell \newpage -\section{Introduction} +\part{Introduction} + +\section{Le package ProfLycee} \subsection{\og Philosophie \fg{} du package} @@ -359,6 +365,8 @@ Les options précédentes sont cumulables, et, pour info, elles conditionnent le \end{itemize} \end{codeinfo} +\section{Compléments} + \subsection{Le système de \og clés/options \fg} \begin{codeidee} @@ -447,6 +455,8 @@ En dehors de cela, ce sont des tests multiples et variés qui permettront de dé \newpage +\part{Outils pour l'analyse} + \section{L'outil \og splinetikz \fg} \subsection{Courbe d'interpolation} @@ -465,11 +475,7 @@ On va utiliser les notions suivantes pour paramétrer le tracé \og automatique Pour déclarer les paramètres : % \begin{itemize} - \item liste des points de contrôle par : \verb|liste=x1/y1/d1§x2/y2/d2§...| - \begin{itemize} - \item il faut au-moins deux points ; - \item avec les points \pverb|(xi;yi)| et \vverb|f'(xi)=di|. - \end{itemize} + \item liste des points de contrôle (minimum 2 !!) par : \verb|liste=x1/y1/d1§x2/y2/d2§...| avec les points \pverb|(xi;yi)| et \vverb|f'(xi)=di| ; \item coefficients de contrôle par \verb|coeffs=...| : \begin{itemize} \item \averb|coeffs=x| pour mettre tous les coefficients à x ; @@ -499,7 +505,7 @@ Certains paramètres peuvent être gérés directement dans la commande \ctex{\t \item l'épaisseur de la courbe par la \textsf{clé} \Cle{epaisseur} ;\hfill{}défaut \Cle{1.25pt} \item du style supplémentaire pour la courbe peut être rajouté, grâce à la \textsf{clé} \Cle{style=} ;\hfill{}défaut \Cle{vide} \item les coefficients de \textit{compensation} gérés par la \textsf{clé} \Cle{coeffs} ;\hfill{}défaut \Cle{3} - \item les points de contrôle ne sont pas affichés par défaut, mais la \textsf{clé booléenne} \Cle{affpoints} permet de les afficher ;\hfill{}défaut \Cle{true} + \item les points de contrôle non affichés par défaut, mais la \textsf{clé booléenne} \Cle{affpoints} permet de les afficher ;\hfill{}défaut \Cle{true} \item la taille des points de contrôle est géré par la \textsf{clé} \Cle{taillepoints}.\hfill{}défaut \Cle{2pt} \end{itemize} \end{codecles} @@ -764,6 +770,179 @@ On obtient le résultat suivant (avec les éléments rajoutés utiles à la comp \newpage +\section{Suites récurrentes et \og toile \fg}\label{recurr} + +\subsection{Idée} + +\begin{codeidee} +L'idée est d'obtenir une commande pour tracer (en \TikZ) la \og toile \fg{} permettant d'obtenir -- graphiquement -- les termes d'une suite récurrente définie par une relation $u_{n+1}=f(u_n)$. + +\smallskip + +Comme pour les autres commandes \TikZ, l'idée est de laisser l'utilisateur définir et créer son environnement \TikZ, et d'insérer la commande \ctex{recurrPL} pour afficher la \og toile \fg. +\end{codeidee} + +\subsection{Commandes} + +\begin{codetex}[listing only] +... +\begin{tikzpicture}[<options>] + ... + \recurrPL[<clés>][<options du tracé>][<option supplémentaire des termes>] + ... +\end{tikzpicture} +\end{codetex} + +\begin{codecles} +Plusieurs \Cle{arguments} (optionnels) sont disponibles : + +\begin{itemize} + \item le premier argument optionnel définit les \Cle{Clés} de la commande : + \begin{itemize} + \item la clé \Cle{fct} qui définit la fonction $f$ ;\hfill{}défaut \Cle{vide} + \item la clé \Cle{nom} qui est le \textit{nom} de la suite ;\hfill{}défaut \Cle{u} + \item la clé \Cle{no} qui est l'indice initial ;\hfill{}défaut \Cle{0} + \item la clé \Cle{uno} qui est la valeur du terme initial ;\hfill{}défaut \Cle{vide} + \item la clé \Cle{nb} qui est le nombre de termes à construire ;\hfill{}défaut \Cle{5} + \item la clé \Cle{poslabel} qui correspond au placement des labels par rapport à l'axe des abscisses ;\hfill{}défaut \Cle{below} + \item la clé \Cle{decallabel} qui correspond au décalage des labels par rapport aux abscisses ;\hfill{}défaut \Cle{6pt} + \item la clé \Cle{taillelabel} qui correspond à la taille des labels ;\hfill{}défaut \Cle{small} + \item un booléen \Cle{afftermes} qui permet d'afficher les termes de la suite sur l'axe $(Ox)$.\hfill{}défaut \Cle{true} + \end{itemize} + \item le deuxième argument optionnel concerne les \Cle{options} du tracé de l'\textit{escalier} en \textit{langage \TikZ} ; + + \hfill{}défaut \Cle{thick,color=magenta} ; + \item le troisième argument optionnel concerne les \Cle{options} du tracé des termes en \textit{langage \TikZ}. + + \hfill{}défaut \Cle{dotted}. +\end{itemize} +\end{codecles} + +\begin{codeinfo} +Il est à noter que le \textsf{code} n'est pas autonome, et doit être intégré dans un environnement \ctex{tikzpicture}. + +\smallskip + +L'utilisateur est donc libre de définir ses styles pour l'affichage des éléments de son graphique, et il est libre également de rajouter des éléments en plus du tracé de la \textit{toile} ! + +\smallskip + +La macro ne permet -- pour le moment -- ni de tracer la bissectrice, ni de tracer la courbe$\ldots$ + +En effet, il y aurait trop d'options pour ces deux éléments, et l'idée est quand même de conserver une commande \textit{simple} ! Donc l'utilisateur se chargera de tracer et de personnaliser sa courbe et sa bissectrice ! +\end{codeinfo} + +\subsection{Exemples} + +\begin{codeinfo} +On va tracer la \textit{toile} des 4 premiers termes de la suite récurrente $\begin{dcases} u_1 = 1 \\ u_{n+1} = \sqrt{5u_n}+1 \text{ pour tout entier } n \geqslant 1\end{dcases}$. +\end{codeinfo} + +\begin{codetex}[tikz lower] +%code tikz +\def\x{1.5cm}\def\y{1.5cm} +\def\xmin{0}\def\xmax{10}\def\xgrille{1}\def\xgrilles{0.5} +\def\ymin{0}\def\ymax{8}\def\ygrille{1}\def\ygrilles{0.5} +%axes et grilles +\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); +\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ; +\draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ; +\foreach \x in {0,1,...,9} {\draw[darkgray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;} +\foreach \y in {0,1,...,7} {\draw[darkgray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;} +%fonction définie et réutilisable +\def\f{sqrt(5*\x)+1} +%toile +\recurrPL[fct={\f},no=1,uno=1,nb=4,decallabel=4pt] +%éléments supplémentaires +\draw[very thick,blue,domain=0:8,samples=250] plot (\x,{\f}) ; +\draw[very thick,ForestGreen,domain=0:8,samples=2] plot (\x,\x) ; +\end{codetex} + +\begin{codeinfo} +Peut-être que -- ultérieurement -- des options \textit{booléennes} seront disponibles pour un tracé \textit{générique} de la courbe et de la bissectrice, mais pour le moment la \textsf{macro} ne fait \textit{que} l'escalier. +\end{codeinfo} + +\subsection{Influence des paramètres} + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture}[x=4cm,y=3cm] + %axes + grilles + graduations + ... + %fonction + \def\f{-0.25*\x*\x+\x} + %tracés + \begin{scope} + \clip (0,0) rectangle (2.5,1.25) ; + \draw[line width=1.25pt,blue,domain=0:2.5,samples=200] plot (\x,{\f}) ; + \end{scope} + \recurrPL[fct={\f},no=0,uno=2,nb=5,poslabel=above right,decallabel=0pt] +\end{tikzpicture} +\end{center} +\end{codetex} + +\begin{codesortie} +\begin{center} + \begin{tikzpicture}[x=4cm,y=3cm] + \draw[xstep=0.25,ystep=0.25,line width=0.3pt,lightgray!50] (0,0) grid (2.5,1.25); + \draw[thick,->] (0,0)--(2.5,0) ; + \draw[thick,->] (0,0)--(0,1.25) ; + \foreach \x in {0,1,2} + \draw[line width=1.25pt] (\x,4pt) -- (\x,-4pt) node[below] {\num{\x}} ; + \foreach \y in {0,0.5,1.0} + \draw[line width=1.25pt] (4pt,\y) -- (-4pt,\y) node[left] {\num{\y}} ; + \draw[line width=1.25pt,red](0,0) -- (1.25,1.25) ; + %fonction + \def\f{-0.25*\x*\x+\x} + %tracés + \begin{scope} + \clip (0,0) rectangle (2.5,1.25) ; + \draw[line width=1.25pt,blue,domain=0:2.5,samples=200] plot (\x,{\f}) ; + \end{scope} + \recurrPL[fct={\f},no=0,uno=2,nb=5,poslabel=above right,decallabel=0pt] +\end{tikzpicture} +\end{center} +\end{codesortie} + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture}[x=5cm,y=1.5cm] + ... + \def\f{-0.25*\x*\x+\x} + \recurrPL% + [fct={\f},no=0,uno=1,nb=7,poslabel=above right,decallabel=0pt,afftermes=false]% + [line width=1.25pt,ForestGreen,densely dashed][] + \draw[line width=1.25pt,blue,domain=0:2.25,samples=2] plot(\x,{\x}); + \draw[line width=1.25pt,red,domain=0.8:2.5,samples=250] plot(\x,{\f}); + \end{tikzpicture} +\end{center} +\end{codetex} + +\begin{codesortie} +\begin{center} + \begin{tikzpicture}[x=5cm,y=1.5cm] + %axes et grille + \draw[xstep=0.5,ystep=0.25,line width=0.3pt,lightgray!50] (0,0) grid (2.5,2.25); + \draw[thick,->] (0,0)--(2.5,0) ; + \draw[thick,->] (0,0)--(0,2.25) ; + \foreach \x in {0,0.5,...,2} + \draw[line width=1.25pt] (\x,4pt) -- (\x,-4pt) node[below] {\num{\x}}; + \foreach \y in {0,0.5,...,2} + \draw[line width=1.25pt] (4pt,\y) -- (-4pt,\y) node[left] {\num{\y}}; + %fonction + \def\f{1+1/\x} + %tracés + \recurrPL[fct={\f},no=0,uno=1,nb=7,poslabel=above right,decallabel=0pt,afftermes=false][line width=1.25pt,ForestGreen,densely dashed][] + \draw[line width=1.25pt,blue,domain=0:2.25,samples=2] plot(\x,{\x}); + \draw[line width=1.25pt,red,domain=0.8:2.5,samples=250] plot(\x,{\f}); + \end{tikzpicture} +\end{center} +\end{codesortie} + +\newpage + +\part{Présentation de codes} + \section{L'outil \og Calcul Formel \fg} \subsection{Introduction} @@ -832,8 +1011,7 @@ Une fois les paramètres déclarés, il faut créer les différentes lignes, gr Les (quelques) \Cle{Clés} disponibles sont : \begin{itemize} - \item \Cle{hc} : hauteur de la ligne de commande d'entrée ;\hfill{}défaut \Cle{0.75} - \item \Cle{hr} : hauteur de la ligne de commande de sortie ;\hfill{}défaut \Cle{0.75} + \item \Cle{hc} et \Cle{hr}: hauteur de la ligne de commande d'entrée et de sortie ;\hfill{}défaut \Cle{0.75} \item deux \textsf{arguments}, celui de la commande d'entrée et celui de la commande de sortie. \end{itemize} % @@ -853,34 +1031,34 @@ Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niv Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les différents nœuds crées par les \textsf{macros}. \begin{center} - \begin{tikzpicture}[x=1cm,y=1cm,line width=1pt] + \begin{tikzpicture}[x=0.7cm,y=0.5cm,line width=1pt] \paramCF[larg=12cm,couleur=lightgray,esplg=12pt,menu=false] \ligneCF{}{} \ligneCF[hc=1,hr=1.25]{}{} %explications \foreach \noeud in {01,11,21,31,41,51,02,12,22,32,42,52} - \draw[blue] (A\noeud) node[font=\ttfamily] {A\noeud} ; + \draw[blue] (A\noeud) node[font=\footnotesize\ttfamily] {A\noeud} ; \end{tikzpicture} \end{center} \begin{center} - \begin{tikzpicture}[x=1cm,y=1cm,line width=1pt] + \begin{tikzpicture}[x=0.7cm,y=0.7cm,line width=1pt] \paramCF[titre=true,larg=12cm,esplg=10pt,premcol=0.5,hpremcol=0.7,couleur=lightgray] \ligneCF{COMMANDE 1}{RÉSULTAT 1} \ligneCF[hc=0.85,hr=1.05]{COMMANDE 2}{RÉSULTAT 2} %explications - \draw[CadetBlue,<->] ($(A22) + (0,-12pt)$) -- ($(A52) + (0,-12pt)$) node[midway,below,font=\sffamily] {\Cle{larg}} ; - \draw[CadetBlue,<->] ($(A51) + (12pt,0)$) -- ($(A32) + (12pt,0)$) node[midway,right,font=\sffamily] {\Cle{esplg}} ; - \draw[CadetBlue,<->] ($(A02) + (0,2pt)$) -- ($(A02) + (0,2pt) + ({-\CFpremcol},0) $) node[midway,above,font=\sffamily] {\Cle{premcol}} ; - \draw[CadetBlue,<->] ($(A02) + ({-\CFpremcol},0) + (-2pt,0)$) -- ($(A02) + ({-\CFpremcol},{-\CFhpremcol}) +(-2pt,0)$) node[midway,left,font=\sffamily] {\Cle{hpremcol}} ; - \draw[CadetBlue,<->] ($(A31) + (12pt,0)$) -- ($(A41) + (12pt,0)$) node[midway,right,font=\sffamily] {\Cle{hc}} ; - \draw[CadetBlue,<->] ($(A41) + (12pt,0)$) -- ($(A51) + (12pt,0)$) node[midway,right,font=\sffamily] {\Cle{hr}} ; - \draw[CadetBlue,<->] ($(A32) + (12pt,0)$) -- ($(A42) + (12pt,0)$) node[midway,right,font=\sffamily] {\Cle{hc}} ; - \draw[CadetBlue,<->] ($(A42) + (12pt,0)$) -- ($(A52) + (12pt,0)$) node[midway,right,font=\sffamily] {\Cle{hr}} ; - \draw[CadetBlue,->] ($(A12) + (0,-12pt)$) to[bend left=10] ($(A12) + (0,-12pt) + (-18pt,-12pt)$) node[below left,font=\sffamily] {\Cle{couleur}} ; - \draw[CadetBlue,->] ($(A52) + (-0.65,0.25)$) to[bend left=10] ($(A52) + (-0.65,0.25) + (-18pt,12pt)$) node[inner sep=0pt,above left=1pt,font=\sffamily] {\Cle{menu}} ; - \draw[CadetBlue,->] ($(A12) + (16pt,0)$) to[bend left=10] ($(A12) + (16pt,0) + (18pt,-12pt)$) node[inner sep=0pt,below right=1pt,font=\sffamily] {\Cle{sep}} ; - \draw[CadetBlue,->] ($(A01) + (8pt,2pt) + (0,1em)$) to[bend left=10] ($(A01) + (8pt,2pt) + (0,1em) + (-18pt,12pt)$) node[inner sep=0pt,above=1pt,font=\sffamily] {\Cle{titre} \& \Cle{tailletitre} \& \Cle{labeltitre}} ; + \draw[CadetBlue,<->] ($(A22) + (0,-12pt)$) -- ($(A52) + (0,-12pt)$) node[midway,below,font=\footnotesize\sffamily] {\Cle{larg}} ; + \draw[CadetBlue,<->] ($(A51) + (12pt,0)$) -- ($(A32) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{esplg}} ; + \draw[CadetBlue,<->] ($(A02) + (0,2pt)$) -- ($(A02) + (0,2pt) + ({-\CFpremcol},0) $) node[midway,above,font=\footnotesize\sffamily] {\Cle{premcol}} ; + \draw[CadetBlue,<->] ($(A02) + ({-\CFpremcol},0) + (-2pt,0)$) -- ($(A02) + ({-\CFpremcol},{-\CFhpremcol}) +(-2pt,0)$) node[midway,left,font=\footnotesize\sffamily] {\Cle{hpremcol}} ; + \draw[CadetBlue,<->] ($(A31) + (12pt,0)$) -- ($(A41) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{hc}} ; + \draw[CadetBlue,<->] ($(A41) + (12pt,0)$) -- ($(A51) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{hr}} ; + \draw[CadetBlue,<->] ($(A32) + (12pt,0)$) -- ($(A42) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{hc}} ; + \draw[CadetBlue,<->] ($(A42) + (12pt,0)$) -- ($(A52) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{hr}} ; + \draw[CadetBlue,->] ($(A12) + (0,-12pt)$) to[bend left=10] ($(A12) + (0,-12pt) + (-18pt,-12pt)$) node[below left,font=\footnotesize\sffamily] {\Cle{couleur}} ; + \draw[CadetBlue,->] ($(A52) + (-0.65,0.25)$) to[bend left=10] ($(A52) + (-0.65,0.25) + (-18pt,12pt)$) node[inner sep=0pt,above left=1pt,font=\footnotesize\sffamily] {\Cle{menu}} ; + \draw[CadetBlue,->] ($(A12) + (16pt,0)$) to[bend left=10] ($(A12) + (16pt,0) + (18pt,-12pt)$) node[inner sep=0pt,below right=1pt,font=\footnotesize\sffamily] {\Cle{sep}} ; + \draw[CadetBlue,->] ($(A01) + (8pt,2pt) + (0,1em)$) to[bend left=10] ($(A01) + (8pt,2pt) + (0,1em) + (-18pt,12pt)$) node[inner sep=0pt,above=1pt,font=\footnotesize\sffamily] {\Cle{titre} \& \Cle{tailletitre} \& \Cle{labeltitre}} ; \end{tikzpicture} \end{center} \end{codeinfo} @@ -1096,7 +1274,7 @@ Compte tenu de la \textit{relative complexité} pour gérer les options (par par Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une base \textit{pré}existante ! \end{codeinfo} -\subsection{Présentation de code Python via pythontex} +\subsection{Présentation de code Python via pythontex}\label{pythontex} \begin{codeidee} L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{tcolorbox} avec un style particulier. @@ -1150,9 +1328,7 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \end{envcodepythontex} \end{codesortie} -\newpage - -\subsection{Présentation de code Python via minted} +\subsection{Présentation de code Python via minted}\label{pytminted} \begin{codeinfo} Pour celles et ceux qui ne sont pas à l'aise avec le {package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le {package} \ctex{minted} qui permet de présenter du code, et notamment python (il nécessite quand même une compilation avec l'option \ctex{--shell-escape} ou \ctex{-write18}). @@ -1272,7 +1448,7 @@ Les \Cle{Clés} disponibles sont : \newpage -\section{Pseudo-Code} +\section{Pseudo-Code}\label{pseudocode} \subsection{Introduction} @@ -1389,7 +1565,7 @@ m = (*$\tfrac{\texttt{1}}{\texttt{2}}$*) \newpage -\section{Terminal Windows/UNiX/OSX} +\section{Terminal Windows/UNiX/OSX}\label{terms} \subsection{Introduction} @@ -1510,7 +1686,7 @@ PING ctan.org (5.35.249.60) 56(84) bytes of data. \newpage -\section{Cartouche Capytale} +\section{Cartouche Capytale}\label{capytale} \subsection{Introduction} @@ -1571,7 +1747,9 @@ Le \textsf{cartouche} peut être \og cliquable \fg{} grâce à \ctex{href}. \newpage -\section{Pavé droit \og simple \fg{}} +\part{Outils pour la géométrie} + +\section{Pavé droit \og simple \fg}\label{pave} \subsection{Introduction} @@ -1613,7 +1791,7 @@ Quelques \Cle{clés} sont disponibles pour cette commande : \begin{codetex}[tikz lower] %code tikz -\pavePL[cube,largeur=3] +\pavePL[cube,largeur=2] \end{codetex} \begin{codeinfo} @@ -1658,7 +1836,7 @@ Le code crée les nœuds relatifs aux sommets, et les nomme comme les sommets, c \newpage -\section{Tétraèdre \og simple \fg{}} +\section{Tétraèdre \og simple \fg}\label{tetra} \subsection{Introduction} @@ -1774,325 +1952,9 @@ Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les diff \newpage -\section{Fractions, ensembles} - -\subsection{Fractions} - -\begin{codeidee} -L'idée est d'obtenir une commande pour \textit{simplifier} un calcul sous forme de fraction irréductible. -\end{codeidee} - -\begin{codetex}[listing only] -\convertfraction[<option>]{<argument>} -\end{codetex} - -\begin{codecles} -Peu d'options pour ces commandes : - -\begin{itemize} - \item le premier argument, optionnel, permet de spécifier le mode de sortie de la fraction \textsf{[t]} pour \textsf{tfrac} et \textsf{[d]} pour \textsf{dfrac} ; - \item le second, mandataire, est le \textsf{calcul} ou la \textsf{division} à convertir. -\end{itemize} - -À noter que la macro est dans un bloc \textsf{ensuremath} donc les \textsf{\$\ldots\$} ne sont pas nécessaires. -\end{codecles} - -\begin{codetex}[listing only] -\convertfraction{111/2145} -\convertfraction{111/3} -$\frac{111}{2145}=\convertfraction{111/2145}$ -$\frac{3}{15}=\convertfraction[]{3/15}$ -$\tfrac{3}{15}=\convertfraction[t]{3/15}$ #formatage en \tfrac -$\dfrac{3}{15}=\convertfraction[d]{3/15}$ #formatage en \dfrac -$\dfrac{0,42}{0,015}=\convertfraction[d]{0.42/0.015}$ -$\dfrac{0,41}{0,015}=\convertfraction[d]{0.41/0.015}$ -$\dfrac{1}{7}+\dfrac{3}{8}=\convertfraction[d]{1/7+3/8}$ -$\convertfraction[d]{1+1/2}$ -$\convertfraction{0.1/0.7+30/80}$ -\end{codetex} - -\begin{codesortie} -\convertfraction{111/2145} - -\smallskip - -\convertfraction{111/3} - -\smallskip - -$\frac{111}{2145}=\convertfraction{111/2145}$ - -\smallskip - -$\frac{3}{15}=\convertfraction[]{3/15}$ - -\smallskip - -$\tfrac{3}{15}=\convertfraction[t]{3/15}$ - -\smallskip - -$\dfrac{3}{15}=\convertfraction[d]{3/15}$ - -\smallskip - -$\dfrac{0,42}{0,015}=\convertfraction[d]{0.42/0.015}$ - -\smallskip - -$\dfrac{0,41}{0,015}=\convertfraction[d]{0.41/0.015}$ - -\smallskip - -$\dfrac{1}{7}+\dfrac{3}{8}=\convertfraction[d]{1/7+3/8}$ - -\smallskip - -$\convertfraction[d]{1+1/2}$ - -\smallskip - -$\convertfraction{0.1/0.7+30/80}$ -\end{codesortie} - -\begin{codeinfo} -A priori le package \ctex{xint} permet de s'en sortir pour des calculs \og simples \fg, je ne garantis pas que tout calcul ou toute division donne un résultat \textit{satisfaisant} ! -\end{codeinfo} - -\pagebreak - -\subsection{Ensembles} - -\begin{codeidee} -L'idée est d'obtenir une commande pour simplifier l'écriture d'un ensemble d'éléments, en laissant gérer les espaces. - -Les délimiteurs de l'ensemble créé sont toujours \textsf{\{~~\}}. -\end{codeidee} - -\begin{codetex}[listing only] -\ensPL[<clés>]{<liste>} -\end{codetex} - -\begin{codecles} -Peu d'options pour ces commandes : - -\begin{itemize} - \item le premier argument, optionnel, permet de spécifier les \Cle{Clés} : - \begin{itemize} - \item clé \Cle{sep} qui correspond au délimiteur des éléments de l'ensemble ; \hfill{}défaut \Cle{;} - \item clé \Cle{option} qui est un code (par exemple \textsf{strut}\dots) inséré avant les éléments ;\hfill{}défaut \Cle{vide} - \item un booléen \Cle{mathpunct} qui permet de préciser si on utilise l'espacement mathématique \textsf{mathpunct};\hfill{}défaut \Cle{true} - \end{itemize} - \item le second, mandataire, est la \textsf{liste} des éléments, séparés par \textsf{/}. -\end{itemize} -\end{codecles} - -\begin{codetex}[listing only] -$\ensPL{a/b/c/d/e}$ -$\ensPL[mathpunct=false]{a/b/c/d/e}$ -$\ensPL[sep={,}]{a/b/c/d/e}$ -$\ensPL[option={\strut}]{a/b/c/d/e}$ % \strut pour "augmenter" un peu la hauteur des {} -$\ensPL{ \frac{1}{1+\frac{1}{3}} / b / c / d / \frac{1}{2} }$ -\end{codetex} - -\begin{codesortie} -$\ensPL{a/b/c/d/e}$ - -\smallskip - -$\ensPL[mathpunct=false]{a/b/c/d/e}$ - -\smallskip - -$\ensPL[sep={,}]{a/b/c/d/e}$ - -\smallskip - -$\ensPL[option={\strut}]{a/b/c/d/e}$ - -\smallskip - -$\ensPL{ \displaystyle\frac{1}{1+\frac{1}{3}} / b / c / d / \displaystyle\frac{1}{2} }$ -\end{codesortie} - -\begin{codeinfo} -Attention cependant au comportement de la commande avec des éléments en mode \textsf{mathématique}, ceux-ci peuvent générer une erreur si \textsf{displaystyle} n'est pas utilisé\ldots -\end{codeinfo} - -\newpage - -\section{Suites récurrentes et \og toile \fg} - -\subsection{Idée} - -\begin{codeidee} -L'idée est d'obtenir une commande pour tracer (en \TikZ) la \og toile \fg{} permettant d'obtenir -- graphiquement -- les termes d'une suite récurrente définie par une relation $u_{n+1}=f(u_n)$. - -\smallskip - -Comme pour les autres commandes \TikZ, l'idée est de laisser l'utilisateur définir et créer son environnement \TikZ, et d'insérer la commande \ctex{recurrPL} pour afficher la \og toile \fg. -\end{codeidee} - -\subsection{Commandes} - -\begin{codetex}[listing only] -... -\begin{tikzpicture}[<options>] - ... - \recurrPL[<clés>][<options du tracé>][<option supplémentaire des termes>] - ... -\end{tikzpicture} -\end{codetex} - -\begin{codecles} -Plusieurs \Cle{arguments} (optionnels) sont disponibles : - -\begin{itemize} - \item le premier argument optionnel définit les \Cle{Clés} de la commande : - \begin{itemize} - \item la clé \Cle{fct} qui définit la fonction $f$ ;\hfill{}défaut \Cle{vide} - \item la clé \Cle{nom} qui est le \textit{nom} de la suite ;\hfill{}défaut \Cle{u} - \item la clé \Cle{no} qui est l'indice initial ;\hfill{}défaut \Cle{0} - \item la clé \Cle{uno} qui est la valeur du terme initial ;\hfill{}défaut \Cle{vide} - \item la clé \Cle{nb} qui est le nombre de termes à construire ;\hfill{}défaut \Cle{5} - \item la clé \Cle{poslabel} qui correspond au placement des labels par rapport à l'axe des abscisses ;\hfill{}défaut \Cle{below} - \item la clé \Cle{decallabel} qui correspond au décalage des labels par rapport aux abscisses ;\hfill{}défaut \Cle{6pt} - \item la clé \Cle{taillelabel} qui correspond à la taille des labels ;\hfill{}défaut \Cle{small} - \item un booléen \Cle{afftermes} qui permet d'afficher les termes de la suite sur l'axe $(Ox)$.\hfill{}défaut \Cle{true} - \end{itemize} - \item le deuxième argument optionnel concerne les \Cle{options} du tracé de l'\textit{escalier} en \textit{langage \TikZ} ; - - \hfill{}défaut \Cle{thick,color=magenta} ; - \item le troisième argument optionnel concerne les \Cle{options} du tracé des termes en \textit{langage \TikZ}. - - \hfill{}défaut \Cle{dotted}. -\end{itemize} -\end{codecles} - -\begin{codeinfo} -Il est à noter que le \textsf{code} n'est pas autonome, et doit être intégré dans un environnement \ctex{tikzpicture}. - -\smallskip - -L'utilisateur est donc libre de définir ses styles pour l'affichage des éléments de son graphique, et il est libre également de rajouter des éléments en plus du tracé de la \textit{toile} ! - -\smallskip - -La macro ne permet -- pour le moment -- ni de tracer la bissectrice, ni de tracer la courbe$\ldots$ - -En effet, il y aurait trop d'options pour ces deux éléments, et l'idée est quand même de conserver une commande \textit{simple} ! Donc l'utilisateur se chargera de tracer et de personnaliser sa courbe et sa bissectrice ! -\end{codeinfo} - -\subsection{Exemples} - -\begin{codeinfo} -On va tracer la \textit{toile} des 4 premiers termes de la suite récurrente $\begin{dcases} u_1 = 1 \\ u_{n+1} = \sqrt{5u_n}+1 \text{ pour tout entier } n \geqslant 1\end{dcases}$. -\end{codeinfo} - -\begin{codetex}[tikz lower] -%code tikz -\def\x{1.5cm}\def\y{1.5cm} -\def\xmin{0}\def\xmax{10}\def\xgrille{1}\def\xgrilles{0.5} -\def\ymin{0}\def\ymax{8}\def\ygrille{1}\def\ygrilles{0.5} -%axes et grilles -\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); -\draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ; -\draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ; -\foreach \x in {0,1,...,9} {\draw[darkgray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;} -\foreach \y in {0,1,...,7} {\draw[darkgray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;} -%fonction définie et réutilisable -\def\f{sqrt(5*\x)+1} -%toile -\recurrPL[fct={\f},no=1,uno=1,nb=4,decallabel=4pt] -%éléments supplémentaires -\draw[very thick,blue,domain=0:8,samples=250] plot (\x,{\f}) ; -\draw[very thick,ForestGreen,domain=0:8,samples=2] plot (\x,\x) ; -\end{codetex} - -\begin{codeinfo} -Peut-être que -- ultérieurement -- des options \textit{booléennes} seront disponibles pour un tracé \textit{générique} de la courbe et de la bissectrice, mais pour le moment la \textsf{macro} ne fait \textit{que} l'escalier. -\end{codeinfo} - -\subsection{Influence des paramètres} - -\begin{codetex}[listing only] -\begin{center} - \begin{tikzpicture}[x=4cm,y=3cm] - %axes + grilles + graduations - ... - %fonction - \def\f{-0.25*\x*\x+\x} - %tracés - \begin{scope} - \clip (0,0) rectangle (2.5,1.25) ; - \draw[line width=1.25pt,blue,domain=0:2.5,samples=200] plot (\x,{\f}) ; - \end{scope} - \recurrPL[fct={\f},no=0,uno=2,nb=5,poslabel=above right,decallabel=0pt] -\end{tikzpicture} -\end{center} -\end{codetex} - -\begin{codesortie} -\begin{center} - \begin{tikzpicture}[x=4cm,y=3cm] - \draw[xstep=0.25,ystep=0.25,line width=0.3pt,lightgray!50] (0,0) grid (2.5,1.25); - \draw[thick,->] (0,0)--(2.5,0) ; - \draw[thick,->] (0,0)--(0,1.25) ; - \foreach \x in {0,1,2} - \draw[line width=1.25pt] (\x,4pt) -- (\x,-4pt) node[below] {\num{\x}} ; - \foreach \y in {0,0.5,1.0} - \draw[line width=1.25pt] (4pt,\y) -- (-4pt,\y) node[left] {\num{\y}} ; - \draw[line width=1.25pt,red](0,0) -- (1.25,1.25) ; - %fonction - \def\f{-0.25*\x*\x+\x} - %tracés - \begin{scope} - \clip (0,0) rectangle (2.5,1.25) ; - \draw[line width=1.25pt,blue,domain=0:2.5,samples=200] plot (\x,{\f}) ; - \end{scope} - \recurrPL[fct={\f},no=0,uno=2,nb=5,poslabel=above right,decallabel=0pt] -\end{tikzpicture} -\end{center} -\end{codesortie} - -\begin{codetex}[listing only] -\begin{center} - \begin{tikzpicture}[x=5cm,y=1.5cm] - ... - \def\f{-0.25*\x*\x+\x} - \recurrPL% - [fct={\f},no=0,uno=1,nb=7,poslabel=above right,decallabel=0pt,afftermes=false]% - [line width=1.25pt,ForestGreen,densely dashed][] - \draw[line width=1.25pt,blue,domain=0:2.25,samples=2] plot(\x,{\x}); - \draw[line width=1.25pt,red,domain=0.8:2.5,samples=250] plot(\x,{\f}); - \end{tikzpicture} -\end{center} -\end{codetex} - -\begin{codesortie} -\begin{center} - \begin{tikzpicture}[x=5cm,y=1.5cm] - %axes et grille - \draw[xstep=0.5,ystep=0.25,line width=0.3pt,lightgray!50] (0,0) grid (2.5,2.25); - \draw[thick,->] (0,0)--(2.5,0) ; - \draw[thick,->] (0,0)--(0,2.25) ; - \foreach \x in {0,0.5,...,2} - \draw[line width=1.25pt] (\x,4pt) -- (\x,-4pt) node[below] {\num{\x}}; - \foreach \y in {0,0.5,...,2} - \draw[line width=1.25pt] (4pt,\y) -- (-4pt,\y) node[left] {\num{\y}}; - %fonction - \def\f{1+1/\x} - %tracés - \recurrPL[fct={\f},no=0,uno=1,nb=7,poslabel=above right,decallabel=0pt,afftermes=false][line width=1.25pt,ForestGreen,densely dashed][] - \draw[line width=1.25pt,blue,domain=0:2.25,samples=2] plot(\x,{\x}); - \draw[line width=1.25pt,red,domain=0.8:2.5,samples=250] plot(\x,{\f}); - \end{tikzpicture} -\end{center} -\end{codesortie} - -\newpage - -\section{Cercle trigo} +%\newpage +% +\section{Cercle trigo}\label{cercletrigo} \subsection{Idée} @@ -2143,32 +2005,32 @@ Plusieurs \Cle{Clés} sont disponibles pour cette commande : \begin{codetex}[listing only] \begin{center} \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2.5,affvaleurs=false,decal=8pt] - \end{tikzpicture} + \cercletrigoPL[rayon=2.5,affvaleurs=false,decal=8pt] + \end{tikzpicture} ~~~~ \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2.5,affangles=false] - \end{tikzpicture} + \cercletrigoPL[rayon=2.5,affangles=false] + \end{tikzpicture} ~~~~ \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2.5,moinspi=false,couleurfond=orange!15] - \end{tikzpicture} + \cercletrigoPL[rayon=2.5,moinspi=false,couleurfond=orange!15] + \end{tikzpicture} \end{center} \end{codetex} \begin{codesortie} \begin{center} \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2.5,affvaleurs=false,decal=8pt] - \end{tikzpicture} + \cercletrigoPL[rayon=2.5,affvaleurs=false,decal=8pt] + \end{tikzpicture} ~~~~ \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2.5,affangles=false] - \end{tikzpicture} + \cercletrigoPL[rayon=2.5,affangles=false] + \end{tikzpicture} ~~~~ \begin{tikzpicture}[line join=bevel] - \cercletrigoPL[rayon=2.5,moinspi=false,couleurfond=orange!15,taillevaleurs=\tiny] - \end{tikzpicture} + \cercletrigoPL[rayon=2.5,moinspi=false,couleurfond=orange!15,taillevaleurs=\tiny] + \end{tikzpicture} \end{center} \end{codesortie} @@ -2234,209 +2096,7 @@ Les \Cle{Clés} pour cette possibilité sont : \newpage -\section{Petits schémas pour le signe d'une fonction affine ou d'un trinôme} - -\subsection{Idée} - -\begin{codeidee} -L'idée est d'obtenir une commande pour tracer (en \TikZ) un petit schéma pour \textit{visualiser} le signe d'une fonction affine ou d'un trinôme. - -Le code est très largement inspiré de celui du package \ctex{tnsana} même si la philosophie est légèrement différente. - -\smallskip - -Comme pour les autres commandes \TikZ, l'idée est de laisser l'utilisateur définir et créer son environnement \TikZ, et d'insérer la commande \ctex{aidesignePL} pour afficher le schéma. -\end{codeidee} - -\begin{codetex}[tikz lower] -%code tikz -\aidesignePL -\end{codetex} - -\subsection{Commandes} - -\begin{codetex}[listing only] -... -\begin{tikzpicture}[<options>] - ... - \aidesignePL[<clés>] - ... -\end{tikzpicture} -\end{codetex} - -\begin{codetex}[listing only] -... {\tikz[<options>] \aidesignePL[<clés>]}... -\end{codetex} - -\begin{codecles} -Plusieurs \Cle{Clés} sont disponibles pour cette commande : - -\begin{itemize} - \item la clé \Cle{code} qui permet de définir le type d'expression (voir en-dessous) ;\hfill{}défaut \Cle{da+} - \item la clé \Cle{couleur} qui donne la couleur de la représentation ;\hfill{}défaut \Cle{red} - \item la clé \Cle{racines} qui définit la ou les racines ;\hfill{}défaut \Cle{2} - \item la clé \Cle{largeur} qui est la largeur du schéma ;\hfill{}défaut \Cle{2} - \item la clé \Cle{hauteur} qui est la hauteur du schéma ;\hfill{}défaut \Cle{1} - \item un booléen \Cle{cadre} qui affiche un cadre autour du schéma.\hfill{}défaut \Cle{true} -\end{itemize} -\end{codecles} - -\begin{codecles} -Pour la clé \Cle{code}, il est construit par le type (\textsf{a} pour affine ou \textsf{p} comme parabole) puis les éléments caractéristiques (\textsf{a+} pour $a>0$, \textsf{d0} pour $\Delta=0$, etc) : - -\begin{itemize} - \item \Cle{code=da+} := une droite croissante ; - \item \Cle{code=da-} := une droite décroissante ; - \item \Cle{code=pa+d+} := une parabole \textit{souriante} avec deux racines ; - \item etc -\end{itemize} -\end{codecles} - -\pagebreak - -\begin{codetex}[listing only] - \begin{center} - \begin{tikzpicture} - \aidesignePL[code=da+,racines=-4] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=da-,racines={h},couleur=blue,largeur=3,cadre=false] - \end{tikzpicture} - \end{center} - % - \begin{center} - \begin{tikzpicture} - \aidesignePL[code=pa+d+,racines={1/2},couleur=orange] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa+d-,couleur=ForestGreen] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa+d0,racines={5},couleur=purple] - \end{tikzpicture} - \end{center} - % - \begin{center} - \begin{tikzpicture} - \aidesignePL[code=pa-d+,racines={-3/0},couleur=yellow] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa-d-,couleur=cyan] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa-d0,racines={-1},couleur=magenta] - \end{tikzpicture} - \end{center} -\end{codetex} - -\begin{codesortie} -\begin{center} - \begin{tikzpicture} - \aidesignePL[code=da+,racines=-4] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=da-,racines={h},couleur=blue,largeur=3,cadre=false] - \end{tikzpicture} -\end{center} -% -\begin{center} - \begin{tikzpicture} - \aidesignePL[code=pa+d+,racines={1/2},couleur=orange] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa+d-,couleur=ForestGreen] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa+d0,racines={5},couleur=purple] - \end{tikzpicture} -\end{center} -% -\begin{center} - \begin{tikzpicture} - \aidesignePL[code=pa-d+,racines={-3/0},couleur=yellow] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa-d-,couleur=cyan] - \end{tikzpicture} - ~~~~ - \begin{tikzpicture} - \aidesignePL[code=pa-d0,racines={-1},couleur=magenta] - \end{tikzpicture} -\end{center} -\end{codesortie} - -\begin{codetex}[tikz lower] -%code tikz - \aidesignePL[largeur=3.5,hauteur=1.5,code=da-,racines=\tfrac{-b}{a},couleur=Plum] -\end{codetex} - -\subsection{Intégration avec tkz-tab} - -\begin{codeidee} -Ces schémas peuvent être de plus utilisés, via la commande \ctex{aidesignetkztabPL} pour illustrer les signes obtenus dans un tableau de signes présentés grâce au package \ctex{tkz-tab}. - -Pour des raisons internes, le fonctionnement de la commande \ctex{aidesignetkztabPL} est légèrement différent et, pour des raisons que j'ignore, le code est légèrement différent en \textit{interne} (avec une \textit{déconnexion} des caractères \textsf{:} et \textsf{\textbackslash}) pour que la librairie \TikZ{} \ctex{calc} puisse fonctionner (mystère pour le moment\ldots) -\end{codeidee} - -\begin{codetex}[listing only] -\begin{tikzpicture} - %commandes tkztab - \aidesignetkztabPL[<options>]{<numligne>}[<echelle>][<décalage horizontal>] -\end{tikzpicture} -\end{codetex} - -\begin{codecles} -Les \Cle{Clés} pour le premier argument optionnel sont les mêmes que pour la version \textit{initiale} de la commande précédente. - -En ce qui concerne les autres arguments : - -\begin{itemize} - \item le deuxième argument, mandataire, est le numéro de la ligne à côté de laquelle placer le schéma ; - \item le troisième argument, optionnel et valant \Cle{0.85} par défaut, est l'échelle à appliquer sur l'ensemble du schéma (à ajuster en fonction de la hauteur de la ligne) ; - \item le quatrième argument, optionnel et valant \Cle{1.5} par défait, est lié à l'écart horizontal entre le bord de la ligne du tableau et le schéma. -\end{itemize} - -À noter que si l'un des arguments optionnels (le n°3 et/ou le n°4) sont utilisés, il vaut mieux préciser les 2 ! -\end{codecles} - -\begin{codetex}[listing only] -\begin{center} - \begin{tikzpicture} - \tkzTabInit[]{$x$/1,$-2x+5$/1,$2x+4$/1,$p(x)$/1}{$-\infty$,$-2$,${2,5}$,$+\infty$} - \tkzTabLine{,+,t,+,z,-,} - \tkzTabLine{,-,z,+,t,+,} - \tkzTabLine{,-,z,+,z,-,} - \aidesignetkztabPL[code=da-,racines={2,5},couleur=blue]{1} - \aidesignetkztabPL[code=da+,racines={-2},couleur=purple]{2} - \aidesignetkztabPL[code=pa-d+,racines={-2/2,5},couleur=orange]{3}[0.85][2] - \end{tikzpicture} -\end{center} -\end{codetex} - -\begin{codesortie} -\begin{center} - \begin{tikzpicture} - \tkzTabInit[]{$x$/1,$-2x+5$/1,$2x+4$/1,$p(x)$/1}{$-\infty$,$-2$,${2,5}$,$+\infty$} - \tkzTabLine{,+,t,+,z,-,} - \tkzTabLine{,-,z,+,t,+,} - \tkzTabLine{,-,z,+,z,-,} - \aidesignetkztabPL[code=da-,racines={2,5},couleur=blue]{1} - \aidesignetkztabPL[code=da+,racines={-2},couleur=purple]{2} - \aidesignetkztabPL[code=pa-d+,racines={-2/2,5},couleur=orange]{3}[0.85][2] - \end{tikzpicture} -\end{center} -\end{codesortie} - -\newpage +\part{Outils pour les probabilités et les statistiques}\label{reglin} \section{Paramètres d'une régression linéaire par la méthode des moindres carrés} @@ -2490,6 +2150,9 @@ Quelques \Cle{Clés} sont disponibles pour cette commande, essentiellement pour \def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010} \def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649} \PLreglin{\LLX}{\LLY} +\end{codetex} + +\begin{codetex}[listing only] %vérif des calculs (noms non modifiables...) Liste des X := \showitems\LX. Liste des Y := \showitems\LY. @@ -2596,8 +2259,6 @@ Le coefficient de corrélation linéaire est $r=\arrond[4]{\TESTr}$, et son carr \hfill~\includegraphics[height=3cm]{./graphics/pl-doc-stats_d}~~\includegraphics[height=3cm]{./graphics/pl-doc-stats_e}\hfill~ \end{codeinfo} -\pagebreak - \subsection{Intégration dans un environnement \TikZ} \begin{codeinfo} @@ -2694,8 +2355,6 @@ La commande étant \og autonome \fg{}, elle va pouvoir être intégrée dans des \end{tikzpicture} \end{codesortie} -\pagebreak - \begin{codeinfo} IL existe également une commande auxiliaire, \ctex{PLreglinpts} pour afficher le nuage de points avec quelques options, dans un environnement \TikZ{} classique (sans \textsf{pgfplot})\ldots \end{codeinfo} @@ -3390,7 +3049,7 @@ Les commandes sont de deux natures : \item des commandes pour formater le résultat de \ctex{xintexpr}, grâce à \ctex{siunitx}. \end{itemize} -De ce fait, les options de \ctex{siunitx} de l'utilisateur affecterons les formatage du résultat, la commande va \og forcer \fg{} les arrondis et l'écriture scientifique. +De ce fait, les options de \ctex{siunitx} de l'utilisateur affecterons les formatages du résultat, la commande va \og forcer \fg{} les arrondis et l'écriture scientifique. \end{codeinfo} \subsection{Calculs \og simples \fg} @@ -3554,7 +3213,362 @@ $P(15\leqslant X\leqslant25) \approx \numPbinomC[10]{100}{0.02}{15}{25} \approx \newpage -\section{Conversions binaire/hexadécimal/décimal} +\part{Outils divers et variés} + +\section{Fractions, ensembles} + +\subsection{Fractions}\label{convfrac} + +\begin{codeidee} +L'idée est d'obtenir une commande pour \textit{simplifier} un calcul sous forme de fraction irréductible. +\end{codeidee} + +\begin{codetex}[listing only] +\convertfraction[<option>]{<argument>} +\end{codetex} + +\begin{codecles} +Peu d'options pour ces commandes : + +\begin{itemize} +\item le premier argument, optionnel, permet de spécifier le mode de sortie de la fraction \textsf{[t]} pour \textsf{tfrac} et \textsf{[d]} pour \textsf{dfrac} ; +\item le second, mandataire, est le \textsf{calcul} ou la \textsf{division} à convertir. +\end{itemize} + +À noter que la macro est dans un bloc \textsf{ensuremath} donc les \textsf{\$\ldots\$} ne sont pas nécessaires. +\end{codecles} + +\begin{codetex}[listing only] +\convertfraction{111/2145} +\convertfraction{111/3} +$\frac{111}{2145}=\convertfraction{111/2145}$ +$\frac{3}{15}=\convertfraction[]{3/15}$ +$\tfrac{3}{15}=\convertfraction[t]{3/15}$ %formatage en \tfrac +$\dfrac{3}{15}=\convertfraction[d]{3/15}$ %formatage en \dfrac +$\dfrac{0,42}{0,015}=\convertfraction[d]{0.42/0.015}$ +$\dfrac{0,41}{0,015}=\convertfraction[d]{0.41/0.015}$ +$\dfrac{1}{7}+\dfrac{3}{8}=\convertfraction[d]{1/7+3/8}$ +$\convertfraction[d]{1+1/2}$ +$\convertfraction{0.1/0.7+30/80}$ +\end{codetex} + +\begin{codesortie} +\begin{multicols}{2} +\convertfraction{111/2145} + +\smallskip + +\convertfraction{111/3} + +\smallskip + +$\frac{111}{2145}=\convertfraction{111/2145}$ + +\smallskip + +$\frac{3}{15}=\convertfraction[]{3/15}$ + +\smallskip + +$\tfrac{3}{15}=\convertfraction[t]{3/15}$ + +\smallskip + +$\dfrac{3}{15}=\convertfraction[d]{3/15}$ + +\smallskip + +$\dfrac{0,42}{0,015}=\convertfraction[d]{0.42/0.015}$ + +\smallskip + +$\dfrac{0,41}{0,015}=\convertfraction[d]{0.41/0.015}$ + +\smallskip + +$\dfrac{1}{7}+\dfrac{3}{8}=\convertfraction[d]{1/7+3/8}$ + +\smallskip + +$\convertfraction[d]{1+1/2}$ + +\smallskip + +$\convertfraction{0.1/0.7+30/80}$ +\end{multicols} + +~ +\end{codesortie} + +\begin{codeinfo} +A priori le package \ctex{xint} permet de s'en sortir pour des calculs \og simples \fg, je ne garantis pas que tout calcul ou toute division donne un résultat \textit{satisfaisant} ! +\end{codeinfo} + +\pagebreak + +\subsection{Ensembles}\label{ensembles} + +\begin{codeidee} +L'idée est d'obtenir une commande pour simplifier l'écriture d'un ensemble d'éléments, en laissant gérer les espaces. + +Les délimiteurs de l'ensemble créé sont toujours \textsf{\{~~\}}. +\end{codeidee} + +\begin{codetex}[listing only] +\ensPL[<clés>]{<liste>} +\end{codetex} + +\begin{codecles} +Peu d'options pour ces commandes : + +\begin{itemize} +\item le premier argument, optionnel, permet de spécifier les \Cle{Clés} : +\begin{itemize} + \item clé \Cle{sep} qui correspond au délimiteur des éléments de l'ensemble ; \hfill{}défaut \Cle{;} + \item clé \Cle{option} qui est un code (par exemple \textsf{strut}\dots) inséré avant les éléments ;\hfill{}défaut \Cle{vide} + \item un booléen \Cle{mathpunct} qui permet de préciser si on utilise l'espacement mathématique \textsf{mathpunct};\hfill{}défaut \Cle{true} +\end{itemize} +\item le second, mandataire, est la \textsf{liste} des éléments, séparés par \textsf{/}. +\end{itemize} +\end{codecles} + +\begin{codetex}[listing only] +$\ensPL{a/b/c/d/e}$ +$\ensPL[mathpunct=false]{a/b/c/d/e}$ +$\ensPL[sep={,}]{a/b/c/d/e}$ +$\ensPL[option={\strut}]{a/b/c/d/e}$ % \strut pour "augmenter" un peu la hauteur des {} +$\ensPL{ \frac{1}{1+\frac{1}{3}} / b / c / d / \frac{1}{2} }$ +\end{codetex} + +\begin{codesortie} +$\ensPL{a/b/c/d/e}$ + +\smallskip + +$\ensPL[mathpunct=false]{a/b/c/d/e}$ + +\smallskip + +$\ensPL[sep={,}]{a/b/c/d/e}$ + +\smallskip + +$\ensPL[option={\strut}]{a/b/c/d/e}$ + +\smallskip + +$\ensPL{ \displaystyle\frac{1}{1+\frac{1}{3}} / b / c / d / \displaystyle\frac{1}{2} }$ +\end{codesortie} + +\begin{codeinfo} +Attention cependant au comportement de la commande avec des éléments en mode \textsf{mathématique}, ceux-ci peuvent générer une erreur si \textsf{displaystyle} n'est pas utilisé\ldots +\end{codeinfo} + +\newpage + +\section{Petits schémas pour le signe d'une fonction affine ou d'un trinôme}\label{aidesigne} + +\subsection{Idée} + +\begin{codeidee} +L'idée est d'obtenir une commande pour tracer (en \TikZ) un petit schéma pour \textit{visualiser} le signe d'une fonction affine ou d'un trinôme. + +Le code est très largement inspiré de celui du package \ctex{tnsana} même si la philosophie est légèrement différente. + +\smallskip + +Comme pour les autres commandes \TikZ, l'idée est de laisser l'utilisateur définir et créer son environnement \TikZ, et d'insérer la commande \ctex{aidesignePL} pour afficher le schéma. +\end{codeidee} + +\begin{codetex}[tikz lower] +%code tikz +\aidesignePL +\end{codetex} + +\subsection{Commandes} + +\begin{codetex}[listing only] +... +\begin{tikzpicture}[<options>] + ... + \aidesignePL[<clés>] + ... +\end{tikzpicture} +\end{codetex} + +\begin{codetex}[listing only] +... {\tikz[<options>] \aidesignePL[<clés>]}... +\end{codetex} + +\begin{codecles} +Plusieurs \Cle{Clés} sont disponibles pour cette commande : + +\begin{itemize} + \item la clé \Cle{code} qui permet de définir le type d'expression (voir en-dessous) ;\hfill{}défaut \Cle{da+} + \item la clé \Cle{couleur} qui donne la couleur de la représentation ;\hfill{}défaut \Cle{red} + \item la clé \Cle{racines} qui définit la ou les racines ;\hfill{}défaut \Cle{2} + \item la clé \Cle{largeur} qui est la largeur du schéma ;\hfill{}défaut \Cle{2} + \item la clé \Cle{hauteur} qui est la hauteur du schéma ;\hfill{}défaut \Cle{1} + \item un booléen \Cle{cadre} qui affiche un cadre autour du schéma.\hfill{}défaut \Cle{true} +\end{itemize} +\end{codecles} + +\begin{codecles} +Pour la clé \Cle{code}, il est construit par le type (\textsf{a} pour affine ou \textsf{p} comme parabole) puis les éléments caractéristiques (\textsf{a+} pour $a>0$, \textsf{d0} pour $\Delta=0$, etc) : + +\begin{itemize} + \item \Cle{code=da+} := une droite croissante ; + \item \Cle{code=da-} := une droite décroissante ; + \item \Cle{code=pa+d+} := une parabole \textit{souriante} avec deux racines ; + \item etc +\end{itemize} +\end{codecles} + +\pagebreak + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=da+,racines=-4] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=da-,racines={h},couleur=blue,largeur=3,cadre=false] + \end{tikzpicture} +\end{center} +% +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa+d+,racines={1/2},couleur=orange] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d-,couleur=ForestGreen] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d0,racines={5},couleur=purple] + \end{tikzpicture} +\end{center} +% +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa-d+,racines={-3/0},couleur=yellow] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d-,couleur=cyan] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d0,racines={-1},couleur=magenta] + \end{tikzpicture} +\end{center} +\end{codetex} + +\begin{codesortie} +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=da+,racines=-4] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=da-,racines={h},couleur=blue,largeur=3,cadre=false] + \end{tikzpicture} +\end{center} +% +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa+d+,racines={1/2},couleur=orange] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d-,couleur=ForestGreen] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa+d0,racines={5},couleur=purple] + \end{tikzpicture} +\end{center} +% +\begin{center} + \begin{tikzpicture} + \aidesignePL[code=pa-d+,racines={-3/0},couleur=yellow] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d-,couleur=cyan] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \aidesignePL[code=pa-d0,racines={-1},couleur=magenta] + \end{tikzpicture} +\end{center} +\end{codesortie} + +\begin{codetex}[tikz lower] +%code tikz +\aidesignePL[largeur=3.5,hauteur=1.5,code=da-,racines=\tfrac{-b}{a},couleur=Plum] +\end{codetex} + +\subsection{Intégration avec tkz-tab} + +\begin{codeidee} +Ces schémas peuvent être de plus utilisés, via la commande \ctex{aidesignetkztabPL} pour illustrer les signes obtenus dans un tableau de signes présentés grâce au package \ctex{tkz-tab}. + +Pour des raisons internes, le fonctionnement de la commande \ctex{aidesignetkztabPL} est légèrement différent et, pour des raisons que j'ignore, le code est légèrement différent en \textit{interne} (avec une \textit{déconnexion} des caractères \textsf{:} et \textsf{\textbackslash}) pour que la librairie \TikZ{} \ctex{calc} puisse fonctionner (mystère pour le moment\ldots) +\end{codeidee} + +\begin{codetex}[listing only] +\begin{tikzpicture} + %commandes tkztab + \aidesignetkztabPL[<options>]{<numligne>}[<echelle>][<décalage horizontal>] +\end{tikzpicture} +\end{codetex} + +\begin{codecles} +Les \Cle{Clés} pour le premier argument optionnel sont les mêmes que pour la version \textit{initiale} de la commande précédente. + +En ce qui concerne les autres arguments : + +\begin{itemize} + \item le deuxième argument, mandataire, est le numéro de la ligne à côté de laquelle placer le schéma ; + \item le troisième argument, optionnel et valant \Cle{0.85} par défaut, est l'échelle à appliquer sur l'ensemble du schéma (à ajuster en fonction de la hauteur de la ligne) ; + \item le quatrième argument, optionnel et valant \Cle{1.5} par défait, est lié à l'écart horizontal entre le bord de la ligne du tableau et le schéma. +\end{itemize} + +À noter que si l'un des arguments optionnels (le n°3 et/ou le n°4) sont utilisés, il vaut mieux préciser les 2 ! +\end{codecles} + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture} + \tkzTabInit[]{$x$/1,$-2x+5$/1,$2x+4$/1,$p(x)$/1}{$-\infty$,$-2$,${2,5}$,$+\infty$} + \tkzTabLine{,+,t,+,z,-,} + \tkzTabLine{,-,z,+,t,+,} + \tkzTabLine{,-,z,+,z,-,} + \aidesignetkztabPL[code=da-,racines={2,5},couleur=blue]{1} + \aidesignetkztabPL[code=da+,racines={-2},couleur=purple]{2} + \aidesignetkztabPL[code=pa-d+,racines={-2/2,5},couleur=orange]{3}[0.85][2] + \end{tikzpicture} +\end{center} +\end{codetex} + +\begin{codesortie} +\begin{center} + \begin{tikzpicture} + \tkzTabInit[]{$x$/1,$-2x+5$/1,$2x+4$/1,$p(x)$/1}{$-\infty$,$-2$,${2,5}$,$+\infty$} + \tkzTabLine{,+,t,+,z,-,} + \tkzTabLine{,-,z,+,t,+,} + \tkzTabLine{,-,z,+,z,-,} + \aidesignetkztabPL[code=da-,racines={2,5},couleur=blue]{1} + \aidesignetkztabPL[code=da+,racines={-2},couleur=purple]{2} + \aidesignetkztabPL[code=pa-d+,racines={-2/2,5},couleur=orange]{3}[0.85][2] + \end{tikzpicture} +\end{center} +\end{codesortie} + +\section{Conversions binaire/hexadécimal/décimal}\label{conversions} \subsection{Idée} @@ -3758,7 +3772,7 @@ $\PLconvtodec[zeros=false,basedep=16]{AC0DC}$ \newpage -\section{Style \og main levée \fg{} en \TikZ} +\section{Style \og main levée \fg{} en \TikZ}\label{mainlevee} \subsection{Idée} @@ -3827,6 +3841,8 @@ Les valeurs \Cle{mainlevee=5mm et 0.6pt} donnent des résultats -- à mon sens - \newpage +\part{Jeux et récréations} + \section{PixelART via un fichier csv, en \TikZ}\label{pixelart} \subsection{Introduction} @@ -4313,7 +4329,11 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 \newpage -\section{Historique} +\part{Historique} + +{\small \bverb|v1.2.9|~:~~~~Correction des commandes avec simplekv + +{\small \bverb|v1.2.8|~:~~~~Ajout d'une librairie \TikZ{} oubliée, et remise en forme de la documentation {\small \bverb|v1.2.7|~:~~~~Ajout de commandes pour des calculs de probabilités (page \pageref{calcprobas}) @@ -4333,37 +4353,37 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 {\small \bverb|v1.1.9|~:~~~~Pixelart en \TikZ{} (page \pageref{pixelart}) -{\small \bverb|v1.1.8|~:~~~~Style "Mainlevée" basique pour \TikZ +{\small \bverb|v1.1.8|~:~~~~Style "Mainlevée" basique pour \TikZ (page \pageref{mainlevee}) -{\small \bverb|v1.1.7|~:~~~~Conversions bin/hex/dec (basées sur \ctex{xintbinhex}) avec quelques détails +{\small \bverb|v1.1.7|~:~~~~Conversions bin/hex/dec (basées sur \ctex{xintbinhex}) avec quelques détails (page \pageref{conversions}) -{\small \bverb|v1.1.6|~:~~~~Ajout d'une commande \textsf{PLreglin} pour déterminer les paramètres d'une régression linéaire par moindres carrés +{\small \bverb|v1.1.6|~:~~~~Ajout d'une commande pour déterminer les paramètres d'une régression linéaire par moindres carrés (page \pageref{reglin}) -{\small \bverb|v1.1.5|~:~~~~Ajout de deux commandes \textsf{aidesignePL} et \textsf{aidesignetkztabPL} pour, en \TikZ, créer des petits schémas \og de signe \fg +{\small \bverb|v1.1.5|~:~~~~Ajout de deux commandes pour, en \TikZ, créer des petits schémas \og de signe \fg{} (page \pageref{aidesigne}) -{\small \bverb|v1.1.4|~:~~~~Ajout d'une commande \textsf{cercletrigoPL} pour, en \TikZ, créer facilement un cercle trigo avec \textit{options} +{\small \bverb|v1.1.4|~:~~~~Ajout d'une commande pour, en \TikZ, créer facilement un cercle trigo avec \textit{options} (page \pageref{cercletrigo}) -{\small \bverb|v1.1.3|~:~~~~Ajout des commandes \textsf{convertfraction}, \textsf{ensPL} et \textsf{recurrPL} +{\small \bverb|v1.1.3|~:~~~~Ajout des commandes pour fractions, ensembles et récurrence (pages \pageref{convfrac}, \pageref{ensembles} et \pageref{recurr}) -{\small \bverb|v1.1.1|~:~~~~Modification mineure de l'environnement \textsf{ligneCF} (calcul formel), avec prise de charge de la taille du texte ! +{\small \bverb|v1.1.1|~:~~~~Modification mineure de l'environnement calcul formel, avec prise de charge de la taille du texte -{\small \bverb|v1.1.0|~:~~~~Ajout d'une commande \textsf{tetraPL} pour créer des tétraèdres (avec nœuds) en \TikZ +{\small \bverb|v1.1.0|~:~~~~Ajout d'une commande pour créer des tétraèdres (avec nœuds) en \TikZ{} (page \pageref{tetra}) -{\small \bverb|v1.0.9|~:~~~~Ajout d'une commande \textsf{pavePL} pour créer des pavés droits (avec nœuds) en \TikZ +{\small \bverb|v1.0.9|~:~~~~Ajout d'une commande pour créer des pavés droits (avec nœuds) en \TikZ{} (page \pageref{pave}) -{\small \bverb|v1.0.8|~:~~~~Ajout d'une commande \textsf{liencapytale} pour créer des cartouches de lien "comme capytale" +{\small \bverb|v1.0.8|~:~~~~Ajout d'une commande pour créer des cartouches de lien "comme capytale" (page \pageref{capytale}) -{\small \bverb|v1.0.7|~:~~~~Ajout d'une option \textsf{build} pour placer certains fichiers auxiliaires dans un répertoire \textsf{./build} +{\small \bverb|v1.0.7|~:~~~~Ajout d'une option \textsf{build} pour placer certains fichiers auxiliaires dans un répertoire externe -{\small \bverb|v1.0.6|~:~~~~Ajout d'une option \textsf{nominted} pour ne pas charger \ctex{minted} (pas besoin de compiler avec \textsf{shell-escape}) +{\small \bverb|v1.0.6|~:~~~~Ajout d'une option \textsf{nominted} pour ne pas charger (pas besoin de compiler avec \textsf{shell-escape}) -{\small \bverb|v1.0.5|~:~~~~Ajout d'un environnement pour Python (minted) +{\small \bverb|v1.0.5|~:~~~~Ajout d'un environnement pour Python (minted) (page \pageref{pytminted}) -{\small \bverb|v1.0.4|~:~~~~Ajout des environnements pour Terminal (win, osx, unix) +{\small \bverb|v1.0.4|~:~~~~Ajout des environnements pour Terminal (win, osx, unix) (page \pageref{terms}) -{\small \bverb|v1.0.3|~:~~~~Ajout des environnements pour PseudoCode +{\small \bverb|v1.0.3|~:~~~~Ajout des environnements pour PseudoCode (page \pageref{pseudocode}) -{\small \bverb|v1.0.2|~:~~~~Ajout des environnements pour Python (pythontex) +{\small \bverb|v1.0.2|~:~~~~Ajout des environnements pour Python (pythontex) (page \pageref{pythontex}) {\small \bverb|v1.0.1|~:~~~~Modification mineure liée au chargement de \ctex{xcolor} diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty index 708ef7b813..e13bf2a31e 100644 --- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty +++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty @@ -3,7 +3,9 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/10/01 v1.2.7 - Aide pour l'utilisation de LaTeX en lycee] +\ProvidesPackage{ProfLycee}[2022/10/03 v1.2.9 - Aide pour l'utilisation de LaTeX en lycee] +% 1.2.9 Correction d'une incompatibilité avec simplekv (clés vides...) +% 1.2.8 Correction de l'oubli d'une librairie tikz et remise en forme de la documentation % 1.2.7 Calculs de probas pour des lois classiques % 1.2.6 Ajout d'un environnement tikz pour des sudomaths personnalisés % 1.2.5 Ajout d'une commande pour des boites à moustaches, en tikz @@ -83,6 +85,8 @@ \usetikzlibrary{decorations.markings} \usetikzlibrary{arrows,arrows.meta} \usetikzlibrary{babel} +\usetikzlibrary{shapes.geometric} +\usetikzlibrary{decorations.pathmorphing} %tcolorbox \RequirePackage[most]{tcolorbox} %divers @@ -123,14 +127,14 @@ } \setKVdefault[spline]{% - liste=,% + spline={},% width=1.25pt,% couleur=red,% coeffs=3,% couleurpoints=black,% taillepoints=2pt,% affpoints=false,% - style= + style={} } \newcommand\splinetikz[1][]{% @@ -190,11 +194,11 @@ } \setKVdefault[tgte]{ - liste=,% + liste={},% width=1.25pt,% couleur=red,% xl=0.5,xr=0.5,% - style=,% + style={},% point=1 } @@ -923,8 +927,8 @@ \setKVdefault[kvensemble]{% sep={;},% - option=,% - mathpunct=true + mathpunct=true,% + option={} } \newcommand\ensPL[2][1]{% @@ -1762,7 +1766,7 @@ police=\normalsize\normalfont,% labelx=$x$,% labely=$y$,% - afflabel=,% + afflabel=z,% poslabelx=right,% poslabely=above,% echellefleche=1,% @@ -2191,7 +2195,7 @@ {\def\BorneInf{0}} {} \ifthenelse{\equal{#4}{*}}% - {\def\BorneSup{#4}} + {\def\BorneSup{#1}} {} \xintFloatToDecimal{\xintfloateval{add(binomial(#1,i)*#2^i*(1-#2)^(#1-i), i=\BorneInf..\BorneSup)}} } diff --git a/macros/latex/contrib/teubner/README b/macros/latex/contrib/teubner/README index 065a7a3c92..d1b6912675 100644 --- a/macros/latex/contrib/teubner/README +++ b/macros/latex/contrib/teubner/README @@ -1,4 +1,5 @@ -This accompanies the teubner bundle version 5.x dated November 2020 or later. +This README file accompanies the teubner bundle version 5.x dated +November 2020 or later. Copyright 2010-2022 Claudio Beccari diff --git a/macros/latex/contrib/teubner/teubner-doc.pdf b/macros/latex/contrib/teubner/teubner-doc.pdf Binary files differindex 1facc3adc6..b95983eb0c 100644 --- a/macros/latex/contrib/teubner/teubner-doc.pdf +++ b/macros/latex/contrib/teubner/teubner-doc.pdf diff --git a/macros/latex/contrib/teubner/teubner-doc.tex b/macros/latex/contrib/teubner/teubner-doc.tex index aed4713fcf..2fcc2b241d 100644 --- a/macros/latex/contrib/teubner/teubner-doc.tex +++ b/macros/latex/contrib/teubner/teubner-doc.tex @@ -46,7 +46,7 @@ An extension for Greek philology\\ User manual} \author{Claudio Beccari\thanks{\texttt{claudio dot beccari at gmail dot com}}} -\date{October 2022}% <---- this is the date of the teubenr-doc document! +\date{October 2022}% <---- this is the date of the teubner-doc document! \def\comando#1{\expandafter\texttt\expandafter{\string#1}} \def\cs#1{\texttt{\char92#1}} \def\ARG#1{\texttt{\char123}\meta{#1}\texttt{\char125}} @@ -568,18 +568,6 @@ if you type \texttt{\comando\AtticNumeral\{1999\}} you get \textLipsias{\AtticNu if you type \texttt{\comando\AtticNumeral\{55555\}} you get \textLipsias{\AtticNumeral{55555}} \end{quote} -\section{New commands} -This package introduces many new commands for typesetting Greek in a philological way. Most such commands are collected in table~\ref{t:extcomandi}. - -A short remark on the command \comando\ap: this useful command inserts \emph{anything} as a superscript of anything else; it works both in text mode and in math mode\footnote{Numerical superscripts or apices do not require math mode; numerical footnote labels are automatically inserted by \LaTeX's \comando\footnote\ command; non numerical footnote labels are easily inserted with \LaTeX's \comando\footnotemark\ and \comando\footnotetext\ commands with their optional arguments.}. In particular while typesetting a philological text in different languages and with different alphabets, \comando\ap\ typesets the superscript with the current language and alphabet; if any change is required, the \comando\ap's argument can contain any language or alphabet specific declaration. You can typeset something such as \textLipsias{Baq\'ulides\,\ap{\textlatin{a}}} by switching language and alphabet as required; the specific declarations and the commands contained in table~\ref{t:extcomandi} come handy also in these cases. - -Please, read the \file{teubner.pdf} file for what concerns command \cs{LLadd}; it accepts two optional kerning values in order to adapt the internal spaces in accordance with the nature of the \meta{text} argument; with capital letters and/or sloping fonts, such kerning values may come handy for a perfect final result. -Its new syntax is the following: -\begin{quote} -\cs{LLadd}\oarg{left kerning}\marg{text}\oarg{right kerning} -\end{quote} -where both kerning values imply a reduction of space if they are specified as positive values; use o font size units, such as \texttt{ex} or \texttt{em} are recommended, since they assure the automatic correct value even when changing font size. - \begin{table}[!p]\thrule \let\c\comando @@ -636,6 +624,18 @@ with the homonymous math command; this is now resolved. Thank you Ansten.\par} \caption{Extended commands}\label{t:extcomandi} \end{table} +\section{New commands} +This package introduces many new commands for typesetting Greek in a philological way. Most such commands are collected in table~\ref{t:extcomandi}. + +A short remark on the command \comando\ap: this useful command inserts \emph{anything} as a superscript of anything else; it works both in text mode and in math mode\footnote{Numerical superscripts or apices do not require math mode; numerical footnote labels are automatically inserted by \LaTeX's \comando\footnote\ command; non numerical footnote labels are easily inserted with \LaTeX's \comando\footnotemark\ and \comando\footnotetext\ commands with their optional arguments.}. In particular while typesetting a philological text in different languages and with different alphabets, \comando\ap\ typesets the superscript with the current language and alphabet; if any change is required, the \comando\ap's argument can contain any language or alphabet specific declaration. You can typeset something such as \textLipsias{Baq\'ulides\,\ap{\textlatin{a}}} by switching language and alphabet as required; the specific declarations and the commands contained in table~\ref{t:extcomandi} come handy also in these cases. + +Please, read the \file{teubner.pdf} file for what concerns command \cs{LLadd}; it accepts two \emph{optional} kerning values in order to adapt the internal spaces in accordance with the nature of the \meta{text} argument; with capital letters and/or sloping fonts, such kerning values may come handy for a perfect final result. Nevertheless a lot of attention was used to cope with such situations so as to avoid the above described corrections. +Its new syntax is the following: +\begin{quote} +\cs{LLadd}\oarg{left kerning}\marg{text}\oarg{right kerning} +\end{quote} +where both kerning values imply a \emph{reduction} of space if they are specified as positive values; therefore if you specify negative values, the space is increased. Using of font size units, such as \texttt{ex} or \texttt{em} is recommended, since xuch units assure the automatic correct value even when changing font size. + \section{Metrics} Philological writings often require the description of metrics; diff --git a/macros/latex/contrib/teubner/teubner.dtx b/macros/latex/contrib/teubner/teubner.dtx index 6a3e029252..bd656ecbda 100644 --- a/macros/latex/contrib/teubner/teubner.dtx +++ b/macros/latex/contrib/teubner/teubner.dtx @@ -43,7 +43,7 @@ See the end of the file. %<package>\ProvidesPackage{teubner}[% %<tbtx>\ProvidesPackage{teubnertx}[% %<*driver,package,tbtx> -2022/10/01 v.5.7.1 +2022/10/03 v.5.7.3 %<package>Extensions for Greek philology] %<tbtx>Access to the LGR encoded Greek fonts that match the TX fonts] %</driver,package,tbtx> @@ -84,7 +84,7 @@ See the end of the file. %</driver> % \fi % -% \CheckSum{4190} +% \CheckSum{4206} % \begin{multicols}{2}\tableofcontents\end{multicols} % % @@ -618,7 +618,9 @@ Type X <return> to exit.}% \DeclareFontShape{U}{mtr}{m}{it}{<->ssub*mtr/m/n}{}% \DeclareFontShape{U}{mtr}{b}{it}{<->ssub*mtr/m/n}{}% \DeclareFontShape{U}{mtr}{bx}{n}{<->ssub*mtr/m/n}{}% -\newcommand*\metricsfont{\fontencoding{U}\fontfamily{mtr}\normalshape} +\DeclareRobustCommand*\metricsfont{% + \fontencoding{U}\fontfamily{mtr}\normalshape} +\DeclareTextFontCommand{\textmtr}{\metricsfont} % \end{macrocode} % \end{macro} Next we require the package for extensible math fonts; % it might be strange to use extensible math fonts in Greek philology, @@ -1024,16 +1026,16 @@ Type X <return> to exit.}% \ProvideDocumentEnvironment{GRL}{m}{}{} \RenewDocumentEnvironment{GRL}{o}{\begin{otherlanguage*}{greek}% -\@ifclassloaded{memoir}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax} -\@ifclassloaded{scrbook}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax} +\@ifclassloaded{memoir}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax}% +\@ifclassloaded{scrbook}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax}% \IfValueTF{#1}{\fontseries{#1}}{}% - \fontshape{li}\selectfont}{\end{otherlanguage*}} + \fontshape{li}\selectfont}{\end{otherlanguage*}}% \RenewDocumentEnvironment{GRD}{o}{\begin{otherlanguage*}{greek}% -\@ifclassloaded{memoir}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax} -\@ifclassloaded{scrbook}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax} +\@ifclassloaded{memoir}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax}% +\@ifclassloaded{scrbook}{\def\bfseries{\fontseries{bx}\selectfont}}{\relax}% \IfValueTF{#1}{\fontseries{#1}}{}% - \fontshape{up}\selectfont}{\end{otherlanguage*}} + \fontshape{up}\selectfont}{\end{otherlanguage*}}% } % \end{macrocode} %\end{environment} @@ -1066,9 +1068,9 @@ Type X <return> to exit.}% %\begin{macro}{\textui} %\begin{macro}{\rsshape} %\begin{macro}{\textrs} -% The other switching font macros for using the other shapes that are available -% with the CB fonts are working only when typesetting in Greek and the default -% encoding is therefore LGR. +% The other switching font macros for using the other shapes that are +% available with the CB fonts are working only when typesetting in +% Greek and the default encoding is therefore LGR. % \begin{macrocode} \DeclareRobustCommand\uishape{% \ifthenelse{\equal{\f@encoding}{\GRenc@name}}% @@ -2220,7 +2222,9 @@ Type X <return> to exit.}% % designed as to be higher and deeper than the font total height, so as % not to interfere with Greek accents and to accomodate for at least one % level of nesting (for example square brackets enclosing lower part of -% square brackets. The single glyphs may be used directly by the +% square brackets. +% +% The single glyphs may be used directly by the % typesetter, but we think that the commands requiring some text are % far more useful. |\Ladd| and its double version |\LLadd| enclose text % that should be added for sure. |\ladd| and its double version |\lladd| @@ -2229,20 +2233,29 @@ Type X <return> to exit.}% % with the lower part of open and closed square brackets. |\mqs| surrounds % some text with the upper part of open and closed square brackets. % See \texttt{teubenr-doc.pdf} for samples of such commands. +% % Command |\LLadd| has been modified since |teubner| previous version -% because it contained a spurios space; in addition it has been +% because it contained a spurious space; in addition it has been % rewritten with the |\NewDocumentCommand| in \LaTeX\,3 language, so as % to accept two optional kerning values so as to get the double square -% brackets closer to the enclosed text; it syntax is now +% brackets closer to the enclosed text; its syntax is now %\begin{sintassi} %\cs{LLadd}\oarg{left kerning}\marg{text}\oarg{right kerning} %\end{sintassi} -% Both kerning values are positive in order to get the square brackets +% Both kerning values are positive in order to get the angle brackets % closer to the text; this facility is especially useful with slanted % text. In any case such kernings should be set only while reviewing the % document draft. We suggest to use units of measure depending on the -% font body (|ex| or |em|) so that if the body is changed the corrections -% keep working properly. +% font size (|ex| or |em|) so that if the size is changed the corrections +% keep working properly. Some settings are already part of the code in +% order to kern the angle brackets and the \meta{text} depending on the +% font slant; but, when capital letters appear at the beginning or at +% the end of the \meta{text} string, some small correction might be +% necessary; similar small corrections might be different if the capital +% is inscribed in a triangle, as A, T, Y, V, and the like; in substance +% such small corrections might result necessary while reviewing the +% document drafts, because they depend too much from the particular +% \meta{text} string. % \begin{macrocode} \DeclareRobustCommand{\lbrk}{{\metricsfont\posthindspace[\negthinspace}} \DeclareRobustCommand{\rbrk}{{\metricsfont]}} @@ -2253,13 +2266,15 @@ Type X <return> to exit.}% \DeclareRobustCommand\mqi[1]{\posthinspace\lmqi\negthinspace {#1\/}\rmqi}\let\mezzeq\mqi \DeclareRobustCommand\mqs[1]{\lmqs{#1\/}\rmqs} -\DeclareRobustCommand{\Ladd}[1]{{\metricsfont<}{\!\!#1\/}% - {\metricsfont>}}% litterae certe addendae +\DeclareRobustCommand{\Ladd}[1]{% + \textmtr{<}{\!\!#1\/}\textmtr{>}}% litterae certe addendae \providecommand\LLadd{} -\RenewDocumentCommand{\LLadd}{O{0pt}m O{0pt}}{% - {\metricsfont<\kern-0.3ex<\kern-0.3ex}{\kern-#1\relax#2\kern-#3}% - {\metricsfont>\kern-0.3ex>}% -}% litterae certe addendae +\DeclareRobustCommand\LLaddKern[2]% + {\ifdim\fontdimen1\font=\z@\kern#1\else\kern#2\fi} +\RenewDocumentCommand{\LLadd}{O{0pt} m O{0pt}}{% litterae certe addendae + \textmtr{<\kern-0.3ex<}{\LLaddKern{-0.1ex}{-0.3ex}% + \kern-#1\relax#2\/\LLaddKern{\z@}{0.1ex}\kern-#3}\textmtr{>\kern-0.3ex>}% +}% \DeclareRobustCommand{\ladd}[1]{{\metricsfont\kern.15ex[\negthinspace}% {#1\/}{\metricsfont]\kern-.15ex}}% litterae addendae \DeclareRobustCommand{\lladd}[1]{{\metricsfont\kern.15ex[\kern-.3ex[% diff --git a/macros/latex/contrib/teubner/teubner.pdf b/macros/latex/contrib/teubner/teubner.pdf Binary files differindex ab9ec25648..5368b72abe 100644 --- a/macros/latex/contrib/teubner/teubner.pdf +++ b/macros/latex/contrib/teubner/teubner.pdf diff --git a/macros/latex/contrib/teubner/teubner.txt b/macros/latex/contrib/teubner/teubner.txt index 5bbd82c191..788df7def9 100644 --- a/macros/latex/contrib/teubner/teubner.txt +++ b/macros/latex/contrib/teubner/teubner.txt @@ -1,5 +1,5 @@ - THE TEUBNER PACKAGE VERSION 5.7 OF OCTOBER 2022 + THE TEUBNER PACKAGE VERSION 5.7.3 OF OCTOBER 2022 EXTENSION FOR PHILOLOGICAL TYPESETTING @@ -39,7 +39,7 @@ through the packages txfonts and pxfonts, are already built in; the compatibility with the Latin Modern fonts was already available with version 2.x of this package. -With the upgrade of the Greek support to babel through file greek.ldf +With the upgrade of the Greek support for babel through file greek.ldf version 1.10, teubner package versions previous to 5.0 became unable to transform Arabic numerals into the classical Milesian and Attic number representations. From version 5.0 the teubner package has been patched @@ -74,22 +74,22 @@ specified the TX fonts by calling the txfonts package. In order to use this extension package with LaTeX you have to install it. May be the very installation of your (recent) TeX system distribution already provided for this task; may be your TeX system is configured to -load missing packages on the fly. In any case you can check and possibly -run your Package Manager: with MiKTeX follow the path: - Programs|MiKTeX Settings|Packages; -with TeXlive and MacTeX (if their installation configuration was not +load missing packages on the fly. In any case with MiKTeX you can check +and possibly run your Package Manager: X follow the path: + Programs|MiKTeX Settings|Packages. +With TeXlive and MacTeX (if their installation configuration was not the default complete one) run tlmgr. If you feel more comfortable to do everything by yourself and/or want to make a personal installation, run teubner.dtx through pdflatex; the generated files are teubner.sty and the aforementioned teubnertx.sty file; they must be moved where TeX-the-program can find them. This -depends very much on your particular implementation of the TeX system, -but if your system copes with the TDS (standard TeX Directory Structure) -and has a multiplicity of different TeX directory trees, you probably -have a \localtexmf rooted TDS, or a /texmf one in your Home directory +depends very much on your particular installation of the TeX system, +but if your system copes with the TDS (standard TeX Directory Structure) +and has a multiplicity of different TeX directory trees, you probably +have a \localtexmf rooted TDS, or a /texmf one in your Home directory containing a /tex directory tree which on turn contains a latex directory. -Under the latter one create a new directory named, say, teubner, and +Under the latter one create a new directory named, say, teubner, and move to this folder the teubner.sty, and teubnertx.sty files. I suggest to create a directory /teubner in the /doc directory of the @@ -100,8 +100,7 @@ For what concerns fonts, they should already be installed with a recent TeX system distribution; this means that there are already all the files TeX-the-program needs in order to do its work; there is one point, though, that requires full attention; the default *basic* TeX -system installation loads only the PostScript fonts in size 10pt; all -other sizes are obtained by reducing or enlarging that single size. +system installation loads only the Type 1 fonts in size 10pt; all other sizes are obtained by reducing or enlarging that single size. A *complete* TeX system installation does not exhibit this limitation. There are also non standard scalable Type 1 fonts, such for example, the Fourier ones, that come only in one size, the 10pt one; for these diff --git a/macros/latex/contrib/to-be-determined/DEPENDS.txt b/macros/latex/contrib/to-be-determined/DEPENDS.txt index ba363a7c9f..65d662e55e 100644 --- a/macros/latex/contrib/to-be-determined/DEPENDS.txt +++ b/macros/latex/contrib/to-be-determined/DEPENDS.txt @@ -1,3 +1,2 @@ -hard xkeyval hard xcolor -hard soul +hard soul
\ No newline at end of file diff --git a/macros/latex/contrib/to-be-determined/LICENSE.txt b/macros/latex/contrib/to-be-determined/LICENSE.txt new file mode 100644 index 0000000000..bd949ffdab --- /dev/null +++ b/macros/latex/contrib/to-be-determined/LICENSE.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/macros/latex/contrib/to-be-determined/README.md b/macros/latex/contrib/to-be-determined/README.md index 26adf210da..5f8596eb58 100644 --- a/macros/latex/contrib/to-be-determined/README.md +++ b/macros/latex/contrib/to-be-determined/README.md @@ -1,4 +1,5 @@ -[![make](https://github.com/yegor256/to-be-determined/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/to-be-determined/actions/workflows/latexmk.yml) +[![make](https://github.com/yegor256/to-be-determined/actions/workflows/l3build.yml/badge.svg)](https://github.com/yegor256/to-be-determined/actions/workflows/l3build.yml) +[![CTAN](https://img.shields.io/ctan/v/to-be-determined)](https://ctan.org/pkg/to-be-determined) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/to-be-determined/blob/master/LICENSE.txt) This LaTeX package helps you highlight pieces of your code that needs diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.dtx b/macros/latex/contrib/to-be-determined/to-be-determined.dtx new file mode 100644 index 0000000000..030208ef00 --- /dev/null +++ b/macros/latex/contrib/to-be-determined/to-be-determined.dtx @@ -0,0 +1,166 @@ +% \iffalse meta-comment +% (The MIT License) +% +% Copyright (c) 2021-2022 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% \fi + +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} + +% \GetFileInfo{to-be-determined.dtx} +% \DoNotIndex{\endgroup,\begingroup,\let,\else,\fi,\newcommand,\newenvironment} + +% \iffalse +%<*driver> +\ProvidesFile{to-be-determined.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{to-be-determined} +%<*package> +[03.10.2022 0.2.0 Highlighting places requiring future work] +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[tt=false, type1=true]{libertine} +\usepackage{microtype} +\usepackage{to-be-determined} +\usepackage{href-ul} +\PageIndex +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{to-be-determined.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi + +% \title{|to-be-determined|: \LaTeX{} Package \\ for highlighting places that require more work\thanks{The sources are in GitHub at \href{https://github.com/yegor256/to-be-determined}{yegor256/to-be-determined}}} +% \author{Yegor Bugayenko \\ \texttt{yegor256@gmail.com}} +% \date{\filedate, \fileversion} +% +% \maketitle +% +% \section{Introduction} +% +% This package helps you highlight places in your articles +% 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 +% +% The budget is \tbd{99.00 USD}. +% +% \end{multicols} + +% \section{Package Options} + +% \begin{macro}{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} +% 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} + +% First, we parse package options: +% \begin{macrocode} +\RequirePackage{xkeyval} +\makeatletter +\newif\iftbd@hide +\DeclareOptionX{hide}{\tbd@hidetrue} +\newif\iftbd@off +\DeclareOptionX{off}{\tbd@offtrue} +\makeatother +\ProcessOptionsX\relax +% \end{macrocode} + +% Then, we include a few packages: +% \begin{macrocode} +\RequirePackage{xcolor} +\RequirePackage{soul} +% \end{macrocode} + +% \begin{macro}{\tbd} +% Finally, we define the |\tbd| command: +% \begin{macrocode} +\makeatletter\newcommand\tbd[1]{{% + \iftbd@off\else% + \sethlcolor{yellow}% + \iftbd@hide% + \hl{TBD}% + \else% + \hl{#1}% + \fi% + \fi% +}}\makeatother +% \end{macrocode} +% \end{macro} + +% \Finale + +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.ins b/macros/latex/contrib/to-be-determined/to-be-determined.ins new file mode 100644 index 0000000000..c228470fb3 --- /dev/null +++ b/macros/latex/contrib/to-be-determined/to-be-determined.ins @@ -0,0 +1,55 @@ +%% (The MIT License) +%% +%% Copyright (c) 2021-2022 Yegor Bugayenko +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy +%% of this software and associated documentation files (the 'Software'), to deal +%% in the Software without restriction, including without limitation the rights +%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +%% copies of the Software, and to permit persons to whom the Software is +%% furnished to do so, subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all +%% copies or substantial portions of the Software. +%% +%% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +%% SOFTWARE. + +\input docstrip.tex +\keepsilent +\usedir{macros/latex/contrib/to-be-determined} +\preamble +(The MIT License) + +Copyright (c) 2021-2022 Yegor Bugayenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the 'Software'), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +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.} +\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 b62c65762d..83ad44bee3 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/latex/contrib/to-be-determined/to-be-determined.sty b/macros/latex/contrib/to-be-determined/to-be-determined.sty deleted file mode 100644 index b5e343b1cd..0000000000 --- a/macros/latex/contrib/to-be-determined/to-be-determined.sty +++ /dev/null @@ -1,49 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{to-be-determined}[2021/09/22 0.1.2 Highlighting places requiring future work] - -\RequirePackage{xkeyval} -\makeatletter -\newif\iftbd@hide -\DeclareOptionX{hide}{\tbd@hidetrue} -\newif\iftbd@off -\DeclareOptionX{off}{\tbd@offtrue} -\makeatother -\ProcessOptionsX\relax - -\RequirePackage{xcolor} -\RequirePackage{soul} - -\makeatletter\newcommand\tbd[1]{{% - \iftbd@off\else% - \sethlcolor{yellow}% - \iftbd@hide% - \hl{TBD}% - \else% - \hl{#1}% - \fi% - \fi% -}}\makeatother - -\endinput diff --git a/macros/latex/contrib/to-be-determined/to-be-determined.tex b/macros/latex/contrib/to-be-determined/to-be-determined.tex deleted file mode 100644 index 9f787004e9..0000000000 --- a/macros/latex/contrib/to-be-determined/to-be-determined.tex +++ /dev/null @@ -1,70 +0,0 @@ -% (The MIT License) -% -% Copyright (c) 2021 Yegor Bugayenko -% -% Permission is hereby granted, free of charge, to any person obtaining a copy -% of this software and associated documentation files (the 'Software'), to deal -% in the Software without restriction, including without limitation the rights -% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -% copies of the Software, and to permit persons to whom the Software is -% furnished to do so, subject to the following conditions: -% -% The above copyright notice and this permission notice shall be included in all -% copies or substantial portions of the Software. -% -% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -% SOFTWARE. - -\documentclass[12pt]{article} -\usepackage[tt=false,type1=true]{libertine} -\usepackage{multicol} -\usepackage{to-be-determined} -\usepackage{ffcode} -\title{\ff{to-be-determined}: \LaTeX{} Package \\ for highlighting places that require more work} -\author{Yegor Bugayenko} -\date{0.1.2 2021/09/22} -\begin{document} -\pagenumbering{gobble} -\raggedbottom -\setlength{\parindent}{0pt} -\setlength{\columnsep}{32pt} -\setlength{\parskip}{6pt} -\maketitle - -This package helps you highlight places in your articles -and make sure it looks nice. Install it from CTAN and then -use like this: - -\begin{multicols}{2} -\setlength{\parskip}{0pt} -\scriptsize -\raggedcolumns -\begin{verbatim} -\documentclass{article} -\usepackage{to-be-determined} -\begin{document} -The budget is \tbd{99.00 USD}. -\end{document} -\end{verbatim} - -\columnbreak - -The budget is \tbd{99.00 USD}. - -\end{multicols} - -If you want to hide the content of what's inside \ff{\char`\\tbd}, -use \ff{hide} option of the package. They will all be replaced with -\tbd{TBD} placeholders. - -If you want them to disappear entirely, use the \ff{off} package option. - -More details about this package you find -in the \ff{yegor256/to-be-determined} GitHub repository. - -\end{document}
\ No newline at end of file diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS index 289861f917..ab31f8c84c 100644 --- a/macros/luatex/generic/luaotfload/NEWS +++ b/macros/luatex/generic/luaotfload/NEWS @@ -1,5 +1,10 @@ Change History -------------- +2022-10-03 luaotfload v3.23 + + * More reliable ToUnicode mappings in Harf mode + * Various bug fixes + 2022-06-15 luaotfload v3.22 * Tailored case mappings diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md index 4a1fa3a3b0..c325c4171e 100644 --- a/macros/luatex/generic/luaotfload/README.md +++ b/macros/luatex/generic/luaotfload/README.md @@ -1,8 +1,8 @@ # The Luaotfload Package -VERSION: 3.22 +VERSION: 3.23 -DATE: 2022-06-15 +DATE: 2022-10-03 ## Description diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf Binary files differindex 07ccf2b986..79a370e2b1 100644 --- a/macros/luatex/generic/luaotfload/filegraph.pdf +++ b/macros/luatex/generic/luaotfload/filegraph.pdf diff --git a/macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua b/macros/luatex/generic/luaotfload/fontloader-2022-10-03.lua index 5e0af8e484..4df88ec41d 100644 --- a/macros/luatex/generic/luaotfload/fontloader-2022-06-15.lua +++ b/macros/luatex/generic/luaotfload/fontloader-2022-10-03.lua @@ -1,6 +1,6 @@ --[[info----------------------------------------------------------------------- Luaotfload fontloader package - build 2022-06-15 18:33:10 + build 2022-10-03 20:21:57 ------------------------------------------------------------------------------- © 2022 PRAGMA ADE / ConTeXt Development Team @@ -63,7 +63,7 @@ --info]]----------------------------------------------------------------------- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] --- if not modules then modules={} end modules ['data-con']={ version=1.100, @@ -184,10 +184,10 @@ function containers.cleanname(name) return (gsub(lower(name),"[^%w\128-\255]+","-")) end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “data-con”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “data-con”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-nod” 1750af43148def9e7a75c6900a96f9dc] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “basics-nod” 1750af43148def9e7a75c6900a96f9dc] --- if not modules then modules={} end modules ['luatex-fonts-nod']={ version=1.001, @@ -454,10 +454,10 @@ do end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-nod”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “basics-nod”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-chr” ce4afac7ba19471f3c8f90800839f315] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “basics-chr” ce4afac7ba19471f3c8f90800839f315] --- characters=characters or {} @@ -4291,10 +4291,10 @@ characters.indicgroups={ }, } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “basics-chr”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “basics-chr”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] --- if not modules then modules={} end modules ['font-ini']={ version=1.001, @@ -4335,10 +4335,10 @@ if node and not tex.getfontoffamily then tex.getfontoffamily=node.family_font end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ini”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ini”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] --- if not modules then modules={} end modules ['luatex-font-mis']={ version=1.001, @@ -4370,10 +4370,10 @@ function font.each() return table.sortedhash(fonts.hashes.identifiers) end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-mis”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-mis”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] --- if not modules then modules={} end modules ['font-con']={ version=1.001, @@ -5741,10 +5741,10 @@ function constructors.addcoreunicodes(unicodes) return unicodes end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-con”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-con”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-enc” c24fd6b4f34f87b9c4ff5e6193ce2656] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-enc” c24fd6b4f34f87b9c4ff5e6193ce2656] --- if not modules then modules={} end modules ['luatex-font-enc']={ version=1.001, @@ -5819,10 +5819,10 @@ function encodings.load(filename) return containers.write(encodings.cache,name,data) end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-enc”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-enc”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] --- if not modules then modules={} end modules ['font-cid']={ version=1.001, @@ -5973,10 +5973,10 @@ function cid.getmap(specification) return found end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cid”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-cid”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-map” 27ee748150e56f5f0e5f0fefc864f35e] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-map” 27ee748150e56f5f0e5f0fefc864f35e] --- if not modules then modules={} end modules ['font-map']={ version=1.001, @@ -6384,10 +6384,10 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-map”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-map”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] --- if not modules then modules={} end modules ['font-vfc']={ version=1.001, @@ -6484,10 +6484,10 @@ helpers.commands=utilities.storage.allocate { dummy=dummy, } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-vfc”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-vfc”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otr” 1896ac990a961f6d6fec551ca9b52a83] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otr” 1896ac990a961f6d6fec551ca9b52a83] --- if not modules then modules={} end modules ['font-otr']={ version=1.001, @@ -8331,10 +8331,10 @@ function readers.extend(fontdata) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otr”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otr”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] --- if not modules then modules={} end modules ['font-oti']={ version=1.001, @@ -8477,10 +8477,10 @@ function otffeatures.checkeddefaultlanguage(featuretype,autolanguage,languages) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oti”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-oti”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ott” 3f67b1b1d40bbc222681d8db4aff0f42] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ott” 3f67b1b1d40bbc222681d8db4aff0f42] --- if not modules then modules={} end modules ["font-ott"]={ version=1.001, @@ -9596,10 +9596,10 @@ function otffeatures.normalize(features,wrap) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ott”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ott”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cff” e38c1a40e1d1d577cdf7920fa50d0654] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-cff” 651c74e4804fbb85d31267210298f466] --- if not modules then modules={} end modules ['font-cff']={ version=1.001, @@ -10149,8 +10149,13 @@ local result={} local justpass=false local seacs={} local procidx=nil - local function showstate(where) - report("%w%-10s : [%s] n=%i",depth*2,where,concat(stack," ",1,top),top) + local function showstate(where,i,n) + if i then + local j=i+n-1 + report("%w%-10s : [%s] step",depth*2+2,where,concat(stack," ",i,j<=top and j or top)) + else + report("%w%-10s : [%s] n=%i",depth*2,where,concat(stack," ",1,top),top) + end end local function showvalue(where,value,showstack) if showstack then @@ -10266,9 +10271,9 @@ local result={} ymin=y end end - local function xycurveto(x1,y1,x2,y2,x3,y3) + local function xycurveto(x1,y1,x2,y2,x3,y3,i,n) if trace_charstrings then - showstate("curveto") + showstate("curveto",i,n) end if keepcurve then r=r+1 @@ -10405,6 +10410,15 @@ local result={} if trace_charstrings then showstate("rrcurveto") end +if top==6 then + local ax=x+stack[1] + local ay=y+stack[2] + local bx=ax+stack[3] + local by=ay+stack[4] + x=bx+stack[5] + y=by+stack[6] + xycurveto(ax,ay,bx,by,x,y,1,6) +else for i=1,top,6 do local ax=x+stack[i] local ay=y+stack[i+1] @@ -10412,8 +10426,9 @@ local result={} local by=ay+stack[i+3] x=bx+stack[i+4] y=by+stack[i+5] - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,6) end +end top=0 end local function hhcurveto() @@ -10425,6 +10440,15 @@ local result={} y=y+stack[1] s=2 end +if top==4 then + local ax=x+stack[1] + local ay=y + local bx=ax+stack[2] + local by=ay+stack[3] + x=bx+stack[4] + y=by + xycurveto(ax,ay,bx,by,x,y,1,4) +else for i=s,top,4 do local ax=x+stack[i] local ay=y @@ -10432,8 +10456,9 @@ local result={} local by=ay+stack[i+2] x=bx+stack[i+3] y=by - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) end +end top=0 end local function vvcurveto() @@ -10446,6 +10471,16 @@ local result={} d=stack[1] s=2 end +if top==4 then + local ax=x+d + local ay=y+stack[1] + local bx=ax+stack[2] + local by=ay+stack[3] + x=bx + y=by+stack[4] + xycurveto(ax,ay,bx,by,x,y,1,4) + d=0 +else for i=s,top,4 do local ax=x+d local ay=y+stack[i] @@ -10453,9 +10488,10 @@ local result={} local by=ay+stack[i+2] x=bx y=by+stack[i+3] - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) d=0 end +end top=0 end local function xxcurveto(swap) @@ -10463,6 +10499,33 @@ local result={} if last then top=top-1 end +if top==4 then + local ax,ay,bx,by + if swap then + ax=x+stack[1] + ay=y + bx=ax+stack[2] + by=ay+stack[3] + y=by+stack[4] + if last then + x=bx+last + else + x=bx + end + else + ax=x + ay=y+stack[1] + bx=ax+stack[2] + by=ay+stack[3] + x=bx+stack[4] + if last then + y=by+last + else + y=by + end + end + xycurveto(ax,ay,bx,by,x,y,1,4) +else for i=1,top,4 do local ax,ay,bx,by if swap then @@ -10490,8 +10553,9 @@ local result={} end swap=true end - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) end +end top=0 end local function hvcurveto() @@ -10517,7 +10581,7 @@ local result={} local by=ay+stack[i+3] x=bx+stack[i+4] y=by+stack[i+5] - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,6) end x=x+stack[top-1] y=y+stack[top] @@ -11661,26 +11725,35 @@ local function readfdselect(f,fontdata,data,glyphs,doshapes,version,streams) end end else + report("unsupported fd index format %i",format) end if maxindex>=0 then local cidarray=cid.fdarray if cidarray then setposition(f,header.offset+cidarray) local dictionaries=readlengths(f,version=="cff2") - for i=1,#dictionaries do - dictionaries[i]=readstring(f,dictionaries[i]) - end - parsedictionaries(data,dictionaries) - cid.dictionaries=dictionaries - readcidprivates(f,data) - for i=1,#dictionaries do - readlocals(f,data,dictionaries[i],version) - end - startparsing(fontdata,data,streams) - for i=1,#charstrings do - parsecharstring(fontdata,data,dictionaries[fdindex[i]+1],charstrings[i],glyphs,i,doshapes,version,streams) + if #dictionaries>0 then + for i=1,#dictionaries do + dictionaries[i]=readstring(f,dictionaries[i]) + end + parsedictionaries(data,dictionaries) + cid.dictionaries=dictionaries + readcidprivates(f,data) + for i=1,#dictionaries do + readlocals(f,data,dictionaries[i],version) + end + startparsing(fontdata,data,streams) + for i=1,#charstrings do + local dictionary=dictionaries[fdindex[i]+1] + if dictionary then + parsecharstring(fontdata,data,dictionary,charstrings[i],glyphs,i,doshapes,version,streams) + else + end + end + stopparsing(fontdata,data) + else + report("no cid dictionaries") end - stopparsing(fontdata,data) else report("no cid array") end @@ -11828,10 +11901,10 @@ function readers.cffcheck(filename) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-cff”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-cff”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ttf” a3ff07150b3535fd32f68748d53fcd36] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ttf” a3ff07150b3535fd32f68748d53fcd36] --- if not modules then modules={} end modules ['font-ttf']={ version=1.001, @@ -13091,10 +13164,10 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ttf”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ttf”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-dsp” 4935e6605ffd7bf57e66f0b6c132f883] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-dsp” 23a82ec8fdb9f226427e78904402e48a] --- if not modules then modules={} end modules ['font-dsp']={ version=1.001, @@ -16372,10 +16445,10 @@ function readers.mvar(f,fontdata,specification) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-dsp”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-dsp”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oup” 76dc3379061e5650f772909966b5759e] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-oup” 76dc3379061e5650f772909966b5759e] --- if not modules then modules={} end modules ['font-oup']={ version=1.001, @@ -19213,10 +19286,10 @@ end expandlookups(sublookups,sequences) end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oup”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-oup”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otl” 308b1aab04bc131da7eb8e8c3b0471d4] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otl” 308b1aab04bc131da7eb8e8c3b0471d4] --- if not modules then modules={} end modules ['font-otl']={ version=1.001, @@ -19944,10 +20017,10 @@ otf.coverup={ end } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otl”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otl”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oto” 9febc4d75d17a543cd73fb17918f7307] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-oto” 9febc4d75d17a543cd73fb17918f7307] --- if not modules then modules={} end modules ['font-oto']={ version=1.001, @@ -20416,10 +20489,10 @@ registerotffeature { } otf.basemodeinitializer=featuresinitializer -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-oto”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-oto”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] --- if not modules then modules={} end modules ['font-otj']={ version=1.001, @@ -21912,10 +21985,10 @@ function injections.handler(head,where) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otj”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otj”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ota” 2bb12d708e35bc05443eba791e2554e7] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ota” 2bb12d708e35bc05443eba791e2554e7] --- if not modules then modules={} end modules ['font-ota']={ version=1.001, @@ -22409,10 +22482,10 @@ directives.register("otf.analyze.useunicodemarks",function(v) analyzers.useunicodemarks=v end) -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ota”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ota”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ots” 55316a605d11a1d07d38795224c90a63] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ots” 55316a605d11a1d07d38795224c90a63] --- if not modules then modules={} end modules ['font-ots']={ version=1.001, @@ -26072,10 +26145,10 @@ registerotffeature { }, } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ots”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ots”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-osd” 9b5337b0051b8e42b6c8329127c59794] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-osd” 1716513d8fe5f28e0e88daad2be0e05b] --- if not modules then modules={} end modules ['font-osd']={ version=1.001, @@ -26084,14 +26157,6 @@ if not modules then modules={} end modules ['font-osd']={ copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local experiment1=false -local experiment2=false -local experiment2b1=false -local experiment2b2=false -experiments.register("fonts.indic.experiment1",function(v) experiment1=v end) -experiments.register("fonts.indic.experiment2",function(v) experiment2=v end) -experiments.register("fonts.indic.experiment2b1",function(v) experiment2b1=v end) -experiments.register("fonts.indic.experiment2b2",function(v) experiment2b2=v end) local insert,remove,imerge,copy,tohash=table.insert,table.remove,table.imerge,table.copy,table.tohash local next,type,rawget=next,type,rawget local formatters=string.formatters @@ -28716,10 +28781,10 @@ for i=1,nofscripts do methods[scripts_two[i]]=method_two end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-osd”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-osd”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ocl” 2a377351ae23c339764ec8ce2e8e9164] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ocl” 2a377351ae23c339764ec8ce2e8e9164] --- if not modules then modules={} end modules ['font-ocl']={ version=1.001, @@ -29267,10 +29332,10 @@ if context then } end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-ocl”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-ocl”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otc” 57f5270b894e40efa93149c7d3fb0209] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otc” 57f5270b894e40efa93149c7d3fb0209] --- if not modules then modules={} end modules ['font-otc']={ version=1.001, @@ -30094,10 +30159,10 @@ end otf.enhancers.enhance=enhance otf.enhancers.register("check extra features",enhance) -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-otc”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-otc”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] --- if not modules then modules={} end modules ['font-onr']={ version=1.001, @@ -30470,10 +30535,10 @@ function readers.getinfo(filename) end end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-onr”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-onr”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-one” bd39d42055a44ca2002f8ddbbbbf27c3] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-one” bd39d42055a44ca2002f8ddbbbbf27c3] --- if not modules then modules={} end modules ['font-one']={ version=1.001, @@ -31188,10 +31253,10 @@ registerafmenhancer("normalize features",enhance_normalize_features) registerafmenhancer("check extra features",otfenhancers.enhance) registerafmenhancer("fix names",enhance_fix_names) -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-one”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-one”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] --- if not modules then modules={} end modules ['font-afk']={ version=1.001, @@ -31358,10 +31423,10 @@ fonts.handlers.afm.helpdata={ } } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-afk”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-afk”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] --- if not modules then modules={} end modules ['luatex-fonts-tfm']={ version=1.001, @@ -31876,10 +31941,10 @@ registertfmfeature { } } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-tfm”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-tfm”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] --- if not modules then modules={} end modules ['font-lua']={ version=1.001, @@ -31919,10 +31984,10 @@ function readers.lua(specification) return check_lua(specification,fullname) end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-lua”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-lua”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] --- if not modules then modules={} end modules ['font-def']={ version=1.001, @@ -32322,10 +32387,10 @@ if not context then callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)") end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-def”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-def”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-shp” a40862fe382d26c1f3753431254bcfdd] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-shp” a40862fe382d26c1f3753431254bcfdd] --- if not modules then modules={} end modules ['font-shp']={ version=1.001, @@ -32690,10 +32755,10 @@ callback.register("glyph_stream_provider",function(id,index,mode) return "" end) -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-shp”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-shp”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] --- if not modules then modules={} end modules ['luatex-fonts-def']={ version=1.001, @@ -32774,10 +32839,10 @@ function fonts.definers.applypostprocessors(tfmdata) return tfmdata end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-def”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-def”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] --- if not modules then modules={} end modules ['luatex-fonts-ext']={ version=1.001, @@ -32963,10 +33028,10 @@ registerotffeature { } } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-ext”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-ext”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] --- if not modules then modules={} end modules ['font-imp-tex']={ version=1.001, @@ -33065,10 +33130,10 @@ registerotffeature { description="arabic digits", } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-tex”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-tex”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-ligatures” 250f6f4488ee770c23177afb2ff75676] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-ligatures” 250f6f4488ee770c23177afb2ff75676] --- if not modules then modules={} end modules ['font-imp-ligatures']={ version=1.001, @@ -33182,10 +33247,10 @@ if context then } end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-ligatures”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-ligatures”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] --- if not modules then modules={} end modules ['font-imp-italics']={ version=1.001, @@ -33289,10 +33354,10 @@ if context then registerafmfeature(dimensions_specification) end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-italics”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-italics”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-effects” d05997c1826355548ec9aec1346f9f23] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-effects” d05997c1826355548ec9aec1346f9f23] --- if not modules then modules={} end modules ['font-imp-effects']={ version=1.001, @@ -33649,10 +33714,10 @@ local specification={ registerotffeature(specification) registerafmfeature(specification) -end --- [luaotfload, fontloader-2022-06-15.lua scope for “font-imp-effects”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “font-imp-effects”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] --- fonts.handlers.otf.addfeature { @@ -35721,10 +35786,10 @@ fonts.handlers.otf.addfeature { ["type"]="ligature", } -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-lig”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-lig”] --- -do --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-gbn” 34e4543a02f6fbc8c2ade896cb6dc7df] --- +do --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-gbn” 34e4543a02f6fbc8c2ade896cb6dc7df] --- if not modules then modules={} end modules ['luatex-fonts-gbn']={ version=1.001, @@ -35989,7 +36054,7 @@ function nodes.simple_font_handler(head,groupcode,size,packtype,direction) return head end -end --- [luaotfload, fontloader-2022-06-15.lua scope for “fonts-gbn”] --- +end --- [luaotfload, fontloader-2022-10-03.lua scope for “fonts-gbn”] --- --- vim:ft=lua:sw=2:ts=8:et:tw=79 diff --git a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua index 4258991c67..114d7dd079 100644 --- a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua +++ b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua @@ -735,8 +735,13 @@ local result = { } local seacs = { } local procidx = nil - local function showstate(where) - report("%w%-10s : [%s] n=%i",depth*2,where,concat(stack," ",1,top),top) + local function showstate(where,i,n) + if i then + local j = i + n - 1 + report("%w%-10s : [%s] step",depth*2+2,where,concat(stack," ",i,j <= top and j or top)) + else + report("%w%-10s : [%s] n=%i",depth*2,where,concat(stack," ",1,top),top) + end end local function showvalue(where,value,showstack) @@ -873,9 +878,9 @@ local result = { } end end - local function xycurveto(x1,y1,x2,y2,x3,y3) -- called local so no blend here + local function xycurveto(x1,y1,x2,y2,x3,y3,i,n) -- called local so no blend here if trace_charstrings then - showstate("curveto") + showstate("curveto",i,n) end if keepcurve then r = r + 1 @@ -1019,6 +1024,16 @@ local result = { } if trace_charstrings then showstate("rrcurveto") end +if top == 6 then + local ax = x + stack[1] -- dxa + local ay = y + stack[2] -- dya + local bx = ax + stack[3] -- dxb + local by = ay + stack[4] -- dyb + x = bx + stack[5] -- dxc + y = by + stack[6] -- dyc + xycurveto(ax,ay,bx,by,x,y,1,6) +else +-- print("rr",top==6,top) for i=1,top,6 do local ax = x + stack[i] -- dxa local ay = y + stack[i+1] -- dya @@ -1026,8 +1041,9 @@ local result = { } local by = ay + stack[i+3] -- dyb x = bx + stack[i+4] -- dxc y = by + stack[i+5] -- dyc - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,6) end +end top = 0 end @@ -1040,6 +1056,15 @@ local result = { } y = y + stack[1] -- dy1 s = 2 end +if top == 4 then + local ax = x + stack[1] -- dxa + local ay = y + local bx = ax + stack[2] -- dxb + local by = ay + stack[3] -- dyb + x = bx + stack[4] -- dxc + y = by + xycurveto(ax,ay,bx,by,x,y,1,4) +else for i=s,top,4 do local ax = x + stack[i] -- dxa local ay = y @@ -1047,8 +1072,9 @@ local result = { } local by = ay + stack[i+2] -- dyb x = bx + stack[i+3] -- dxc y = by - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) end +end top = 0 end @@ -1062,6 +1088,16 @@ local result = { } d = stack[1] -- dx1 s = 2 end +if top == 4 then + local ax = x + d + local ay = y + stack[1] -- dya + local bx = ax + stack[2] -- dxb + local by = ay + stack[3] -- dyb + x = bx + y = by + stack[4] -- dyc + xycurveto(ax,ay,bx,by,x,y,1,4) + d = 0 +else for i=s,top,4 do local ax = x + d local ay = y + stack[i] -- dya @@ -1069,9 +1105,10 @@ local result = { } local by = ay + stack[i+2] -- dyb x = bx y = by + stack[i+3] -- dyc - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) d = 0 end +end top = 0 end @@ -1080,6 +1117,33 @@ local result = { } if last then top = top - 1 end +if top == 4 then + local ax, ay, bx, by + if swap then + ax = x + stack[1] + ay = y + bx = ax + stack[2] + by = ay + stack[3] + y = by + stack[4] + if last then + x = bx + last + else + x = bx + end + else + ax = x + ay = y + stack[1] + bx = ax + stack[2] + by = ay + stack[3] + x = bx + stack[4] + if last then + y = by + last + else + y = by + end + end + xycurveto(ax,ay,bx,by,x,y,1 ,4) +else for i=1,top,4 do local ax, ay, bx, by if swap then @@ -1107,8 +1171,9 @@ local result = { } end swap = true end - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) end +end top = 0 end @@ -1137,7 +1202,7 @@ local result = { } local by = ay + stack[i+3] -- dyb x = bx + stack[i+4] -- dxc y = by + stack[i+5] -- dyc - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,6) end x = x + stack[top-1] -- dxc y = y + stack[top] -- dyc @@ -2531,7 +2596,7 @@ local function readfdselect(f,fontdata,data,glyphs,doshapes,version,streams) end end else - -- unsupported format + report("unsupported fd index format %i",format) end -- hm, always if maxindex >= 0 then @@ -2539,21 +2604,30 @@ local function readfdselect(f,fontdata,data,glyphs,doshapes,version,streams) if cidarray then setposition(f,header.offset+cidarray) local dictionaries = readlengths(f,version == "cff2") - for i=1,#dictionaries do - dictionaries[i] = readstring(f,dictionaries[i]) - end - parsedictionaries(data,dictionaries) - cid.dictionaries = dictionaries - readcidprivates(f,data) - for i=1,#dictionaries do - readlocals(f,data,dictionaries[i],version) - end - startparsing(fontdata,data,streams) - for i=1,#charstrings do - parsecharstring(fontdata,data,dictionaries[fdindex[i]+1],charstrings[i],glyphs,i,doshapes,version,streams) --- charstrings[i] = nil + if #dictionaries > 0 then + for i=1,#dictionaries do + dictionaries[i] = readstring(f,dictionaries[i]) + end + parsedictionaries(data,dictionaries) + cid.dictionaries = dictionaries + readcidprivates(f,data) + for i=1,#dictionaries do + readlocals(f,data,dictionaries[i],version) + end + startparsing(fontdata,data,streams) + for i=1,#charstrings do + local dictionary = dictionaries[fdindex[i]+1] + if dictionary then + parsecharstring(fontdata,data,dictionary,charstrings[i],glyphs,i,doshapes,version,streams) + else + -- report("no dictionary for %a : %a => %a",version,i,fdindex[i]+1) + end + -- charstrings[i] = false + end + stopparsing(fontdata,data) + else + report("no cid dictionaries") end - stopparsing(fontdata,data) else report("no cid array") end diff --git a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua index d036783284..8f65ed9d94 100644 --- a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua +++ b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua @@ -2515,6 +2515,8 @@ do local scriptoffset = tableoffset + readushort(f) local featureoffset = tableoffset + readushort(f) local lookupoffset = tableoffset + readushort(f) + -- MFK : Rubik-Regular.ttf : we need to delay adding the offset + -- local variationsoffset = version > 0x00010000 and (tableoffset + readulong(f)) or 0 local variationsoffset = version > 0x00010000 and readulong(f) or 0 if not scriptoffset then return @@ -2541,6 +2543,7 @@ do end -- if variationsoffset > 0 then + -- loadvariations(f,fontdata,variationsoffset,lookuptypes,featurehash,featureorder) loadvariations(f,fontdata,tableoffset + variationsoffset,lookuptypes,featurehash,featureorder) end end diff --git a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua index d169faf64d..ecf8009f91 100644 --- a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua +++ b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua @@ -6,15 +6,15 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag license = "see context related readme files" } -local experiment1 = false -local experiment2 = false -local experiment2b1 = false -local experiment2b2 = false - -experiments.register("fonts.indic.experiment1", function(v) experiment1 = v end) -experiments.register("fonts.indic.experiment2", function(v) experiment2 = v end) -experiments.register("fonts.indic.experiment2b1", function(v) experiment2b1 = v end) -experiments.register("fonts.indic.experiment2b2", function(v) experiment2b2 = v end) +-- local experiment1 = false +-- local experiment2 = false +-- local experiment2b1 = false +-- local experiment2b2 = false + +-- experiments.register("fonts.indic.experiment1", function(v) experiment1 = v end) +-- experiments.register("fonts.indic.experiment2", function(v) experiment2 = v end) +-- experiments.register("fonts.indic.experiment2b1", function(v) experiment2b1 = v end) +-- experiments.register("fonts.indic.experiment2b2", function(v) experiment2b2 = v end) -- we need to check nbsphash (context only) diff --git a/macros/luatex/generic/luaotfload/fontloader-l-math.lua b/macros/luatex/generic/luaotfload/fontloader-l-math.lua index 69f0a19e98..6105bc3c2d 100644 --- a/macros/luatex/generic/luaotfload/fontloader-l-math.lua +++ b/macros/luatex/generic/luaotfload/fontloader-l-math.lua @@ -14,9 +14,19 @@ end if not math.round then - local floor = math.floor + if xmath then + + math.round = xmath.round + + else - function math.round(x) return floor(x + 0.5) end + local floor = math.floor + + function math.round(x) + return x < 0 and -floor(-x + 0.5) or floor(x + 0.5) + end + + end end diff --git a/macros/luatex/generic/luaotfload/fontloader-reference.lua b/macros/luatex/generic/luaotfload/fontloader-reference.lua index 13389b292a..c539d886cc 100644 --- a/macros/luatex/generic/luaotfload/fontloader-reference.lua +++ b/macros/luatex/generic/luaotfload/fontloader-reference.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 2022-05-11 11:34 +-- merge date : 2022-09-16 14:39 do -- begin closure to overcome local limits and interference @@ -3031,8 +3031,14 @@ if not math.ceiling then math.ceiling=math.ceil end if not math.round then - local floor=math.floor - function math.round(x) return floor(x+0.5) end + if xmath then + math.round=xmath.round + else + local floor=math.floor + function math.round(x) + return x<0 and -floor(-x+0.5) or floor(x+0.5) + end + end end if not math.div then local floor=math.floor @@ -13696,8 +13702,13 @@ local result={} local justpass=false local seacs={} local procidx=nil - local function showstate(where) - report("%w%-10s : [%s] n=%i",depth*2,where,concat(stack," ",1,top),top) + local function showstate(where,i,n) + if i then + local j=i+n-1 + report("%w%-10s : [%s] step",depth*2+2,where,concat(stack," ",i,j<=top and j or top)) + else + report("%w%-10s : [%s] n=%i",depth*2,where,concat(stack," ",1,top),top) + end end local function showvalue(where,value,showstack) if showstack then @@ -13813,9 +13824,9 @@ local result={} ymin=y end end - local function xycurveto(x1,y1,x2,y2,x3,y3) + local function xycurveto(x1,y1,x2,y2,x3,y3,i,n) if trace_charstrings then - showstate("curveto") + showstate("curveto",i,n) end if keepcurve then r=r+1 @@ -13952,6 +13963,15 @@ local result={} if trace_charstrings then showstate("rrcurveto") end +if top==6 then + local ax=x+stack[1] + local ay=y+stack[2] + local bx=ax+stack[3] + local by=ay+stack[4] + x=bx+stack[5] + y=by+stack[6] + xycurveto(ax,ay,bx,by,x,y,1,6) +else for i=1,top,6 do local ax=x+stack[i] local ay=y+stack[i+1] @@ -13959,8 +13979,9 @@ local result={} local by=ay+stack[i+3] x=bx+stack[i+4] y=by+stack[i+5] - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,6) end +end top=0 end local function hhcurveto() @@ -13972,6 +13993,15 @@ local result={} y=y+stack[1] s=2 end +if top==4 then + local ax=x+stack[1] + local ay=y + local bx=ax+stack[2] + local by=ay+stack[3] + x=bx+stack[4] + y=by + xycurveto(ax,ay,bx,by,x,y,1,4) +else for i=s,top,4 do local ax=x+stack[i] local ay=y @@ -13979,8 +14009,9 @@ local result={} local by=ay+stack[i+2] x=bx+stack[i+3] y=by - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) end +end top=0 end local function vvcurveto() @@ -13993,6 +14024,16 @@ local result={} d=stack[1] s=2 end +if top==4 then + local ax=x+d + local ay=y+stack[1] + local bx=ax+stack[2] + local by=ay+stack[3] + x=bx + y=by+stack[4] + xycurveto(ax,ay,bx,by,x,y,1,4) + d=0 +else for i=s,top,4 do local ax=x+d local ay=y+stack[i] @@ -14000,9 +14041,10 @@ local result={} local by=ay+stack[i+2] x=bx y=by+stack[i+3] - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) d=0 end +end top=0 end local function xxcurveto(swap) @@ -14010,6 +14052,33 @@ local result={} if last then top=top-1 end +if top==4 then + local ax,ay,bx,by + if swap then + ax=x+stack[1] + ay=y + bx=ax+stack[2] + by=ay+stack[3] + y=by+stack[4] + if last then + x=bx+last + else + x=bx + end + else + ax=x + ay=y+stack[1] + bx=ax+stack[2] + by=ay+stack[3] + x=bx+stack[4] + if last then + y=by+last + else + y=by + end + end + xycurveto(ax,ay,bx,by,x,y,1,4) +else for i=1,top,4 do local ax,ay,bx,by if swap then @@ -14037,8 +14106,9 @@ local result={} end swap=true end - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,4) end +end top=0 end local function hvcurveto() @@ -14064,7 +14134,7 @@ local result={} local by=ay+stack[i+3] x=bx+stack[i+4] y=by+stack[i+5] - xycurveto(ax,ay,bx,by,x,y) + xycurveto(ax,ay,bx,by,x,y,i,6) end x=x+stack[top-1] y=y+stack[top] @@ -15208,26 +15278,35 @@ local function readfdselect(f,fontdata,data,glyphs,doshapes,version,streams) end end else + report("unsupported fd index format %i",format) end if maxindex>=0 then local cidarray=cid.fdarray if cidarray then setposition(f,header.offset+cidarray) local dictionaries=readlengths(f,version=="cff2") - for i=1,#dictionaries do - dictionaries[i]=readstring(f,dictionaries[i]) - end - parsedictionaries(data,dictionaries) - cid.dictionaries=dictionaries - readcidprivates(f,data) - for i=1,#dictionaries do - readlocals(f,data,dictionaries[i],version) - end - startparsing(fontdata,data,streams) - for i=1,#charstrings do - parsecharstring(fontdata,data,dictionaries[fdindex[i]+1],charstrings[i],glyphs,i,doshapes,version,streams) + if #dictionaries>0 then + for i=1,#dictionaries do + dictionaries[i]=readstring(f,dictionaries[i]) + end + parsedictionaries(data,dictionaries) + cid.dictionaries=dictionaries + readcidprivates(f,data) + for i=1,#dictionaries do + readlocals(f,data,dictionaries[i],version) + end + startparsing(fontdata,data,streams) + for i=1,#charstrings do + local dictionary=dictionaries[fdindex[i]+1] + if dictionary then + parsecharstring(fontdata,data,dictionary,charstrings[i],glyphs,i,doshapes,version,streams) + else + end + end + stopparsing(fontdata,data) + else + report("no cid dictionaries") end - stopparsing(fontdata,data) else report("no cid array") end @@ -18685,7 +18764,7 @@ do local scriptoffset=tableoffset+readushort(f) local featureoffset=tableoffset+readushort(f) local lookupoffset=tableoffset+readushort(f) - local variationsoffset=version>0x00010000 and (tableoffset+readulong(f)) or 0 + local variationsoffset=version>0x00010000 and readulong(f) or 0 if not scriptoffset then return end @@ -18705,7 +18784,7 @@ do resolvelookups(f,lookupoffset,fontdata,lookups,lookuptypes,lookuphandlers,what,tableoffset) end if variationsoffset>0 then - loadvariations(f,fontdata,variationsoffset,lookuptypes,featurehash,featureorder) + loadvariations(f,fontdata,tableoffset+variationsoffset,lookuptypes,featurehash,featureorder) end end end @@ -31706,14 +31785,6 @@ if not modules then modules={} end modules ['font-osd']={ copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team", license="see context related readme files" } -local experiment1=false -local experiment2=false -local experiment2b1=false -local experiment2b2=false -experiments.register("fonts.indic.experiment1",function(v) experiment1=v end) -experiments.register("fonts.indic.experiment2",function(v) experiment2=v end) -experiments.register("fonts.indic.experiment2b1",function(v) experiment2b1=v end) -experiments.register("fonts.indic.experiment2b2",function(v) experiment2b2=v end) local insert,remove,imerge,copy,tohash=table.insert,table.remove,table.imerge,table.copy,table.tohash local next,type,rawget=next,type,rawget local formatters=string.formatters diff --git a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua index eb21180902..bcbdd74b2a 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua @@ -4,10 +4,10 @@ -- AUTHOR: Khaled Hosny, Élie Roux, Philipp Gesang ----------------------------------------------------------------------- -assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { +assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-auxiliary", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / auxiliary functions", license = "GPL v2.0" } @@ -584,6 +584,61 @@ function aux.provides_language(font_id, asked_script, asked_language) end --[[doc-- +A function to check if a font is a variabe font with a given axis. +--doc]]-- + +function aux.provides_axis(font_id, asked_axis) + if not font_id or type (font_id) ~= "number" + or not asked_axis or type (asked_axis) ~= "string" + then + logreport ("both", 0, "aux", + "invalid parameters to provides_axis(%s, %s)", + tostring (font_id), tostring (asked_axis)) + return false + end + local tfmdata = identifiers[font_id] + if not tfmdata then + logreport ("log", 0, "aux", "no font with id %d", font_id) + return false + end + local hbface = get_hbface(tfmdata) + if hbface then + if not hbface:ot_var_has_data() then return false end + + if #asked_axis <= 4 then + local tag = harf.Tag.new(asked_axis) + local info = hbface:ot_var_find_axis_info(tag) + if info then + return true -- TODO: More info? + end + end + + asked_axis = stringlower(asked_axis) + local infos = hbface:ot_var_get_axis_infos() + for i=1, #infos do + local info = infos[i] + if hbface:get_name(info.name_id):lower() == asked_axis then + return true -- TODO: More info? + end + end + else + asked_axis = stringlower(asked_axis) + local resources = tfmdata.resources + local variabledata = resources and resources.variabledata + if not variabledata then return false end + local axes = variabledata.axis + if not axes then return false end -- Shouldn't happen + for i=1, #axes do + local axis = axes[i] + if axis.tag == asked_axis or axis.name == asked_axis then + return true -- TODO: More info? + end + end + end + return false +end + +--[[doc-- We strip the syntax elements from feature definitions (shouldn’t actually be there in the first place, but who cares ...) --doc]]-- diff --git a/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua b/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua index 03dc65e5bc..fc90c14363 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-bcp47.lua @@ -55,7 +55,7 @@ local normalize_case, language_tag do + l.P'sgn-CH-DE' * l.Cc{language = 'sgg'} local regular = l.P'art-lojban' * l.Cc{language = 'jbo'} - + l.P'cel-gaulish' * l.Cc{language = '...'} + + l.P'cel-gaulish' * l.Cc{language = 'cel-gaulish'} -- Might be xcg, xga or xtg + l.P'no-bok' * l.Cc{language = 'nb'} + l.P'no-nyn' * l.Cc{language = 'nn'} + l.P'zh-guoyu' * l.Cc{language = 'cmn'} @@ -69,17 +69,18 @@ local normalize_case, language_tag do * ('-' * variant)^0 * (#('-' * singleton * '-') * l.Cg(l.Cf(l.Ct'' * ('-' * extension)^0, rawset), 'extension'))^-1 * ('-' * privateuse)^-1 - language_tag = (grandfathered + l.Ct(langtag + privateuse)) * l.Cp()--* -1 + language_tag = (grandfathered + l.Ct(langtag + privateuse)) * -1 end local function parse(tag) tag = normalize_case:match(tag) if not tag then return end - local parsed, pos = language_tag:match(tag) - print(require'inspect'{parsed, pos}) - -- if not parsed then return parsed end - return tag, parsed -end -for l in io.lines() do - print(parse(l)) - -- io.stdout:write(parse(l), '\n') + return language_tag:match(tag), tag end +-- for l in io.lines() do +-- print(parse(l)) +-- -- io.stdout:write(parse(l), '\n') +-- end +return { + normalize_case = function(n) return normalize_case:match(tag) end, + parse = parse, +} diff --git a/macros/luatex/generic/luaotfload/luaotfload-case.lua b/macros/luatex/generic/luaotfload/luaotfload-case.lua index f5a147334d..79fb370ec7 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-case.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-case.lua @@ -1,4 +1,5 @@ local unicode_data = require'luaotfload-unicode' +local bcp47 = require'luaotfload-bcp47' local mapping_tables = unicode_data.casemapping local soft_dotted = unicode_data.soft_dotted @@ -26,6 +27,8 @@ local copy = direct.copy local insert_after = direct.insert_after local traverse = direct.traverse +local report = luaotfload.log.report + local disc = node.id'disc' --[[ We make some implicit assumptions about contexts in SpecialCasing.txt here which happened to be true when I wrote the code: @@ -113,6 +116,15 @@ local function init_greek_data() for c = 0x2126, 0x2126 do handle_char(c) end end +local relevant_languages = { + lt = true, + tr = true, + az = true, + hy = {_ = true, yiwn = true}, + el = {_ = true, iota = true}, + de = {_ = false, eszett = true}, +} + local function font_lang(feature) return setmetatable({}, {__index = function(t, fid) local f = font.getfont(fid) @@ -127,6 +139,35 @@ local function font_lang(feature) or (lang == 'ell' or lang == 'pgr') and 'el' or false end + if lang == 'de-alt' then + lang = 'de-x-eszett' + end + local parsed = lang and bcp47.parse(lang) + if lang and not parsed then + report('luaotfload-case', 0, 'Unable to parse passed language tag') + end + lang = parsed and parsed.language + local subtags = lang and relevant_languages[lang] + if subtags then + local private = parsed.private + if subtags ~= true and private then + local first = true + for _, ext in ipairs(private) do + if subtags[ext] then + if first then + lang = lang .. '-x' + first = nil + end + lang = lang .. '-' .. ext + end + end + if first then + lang = subtags._ and lang + end + end + else + lang = false + end t[fid] = lang return lang end}) diff --git a/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua index 075b5210f5..378b0f62b6 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-colors.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-colors.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-colors", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / color", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle", diff --git a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf Binary files differindex ba983ed74c..c735e60a99 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua index 8368425334..9ed614b17e 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-configuration", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / config file reader", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua index 63f799ca41..e71e923ff6 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-database.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-database.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-database", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / database", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua index 25f79419a6..093c171409 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-diagnostics", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload-tool submodule / diagnostics", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua index da045d1d34..eeac1c71d0 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua @@ -6,8 +6,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-dvi", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / DVI", license = "GPL v2.0", author = "Marcel Krüger", @@ -17,11 +17,19 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded local getfont = font.getfont local setfont = node.direct.setfont local getdisc = node.direct.getdisc +local getlist = node.direct.getlist +local is_glyph = node.direct.is_glyph +local todirect = node.direct.todirect local traverse_glyph = node.direct.traverse_glyph +local traverse_list = node.direct.traverse_list local traverse_id = node.direct.traverse_id +local traverse = node.direct.traverse local uses_font = node.direct.uses_font local define_font = font.define +local hlist_t = node.id'hlist' +local vlist_t = node.id'vlist' local disc_t = node.id'disc' +local glyph_t = node.id'glyph' -- DVI output support -- @@ -40,11 +48,67 @@ local disc_t = node.id'disc' -- mapped_fonts maps fontids from the user to fontids used in the DVI file local mapped_fonts = setmetatable({}, {__index = function(t, fid) local font = getfont(fid) - local mapped = font.backend_font or false + print(fid, font and font.fullname) + local mapped = font and font.backend_font or false t[fid] = mapped return mapped end}) +local full_hprocess +local function full_vprocess(head) + for _, id, _, list in traverse_list(head) do + if id == hlist_t then + full_hprocess(list) + elseif id == vlist_t then + full_vprocess(list) + else + assert(false) + end + end +end + +function full_hprocess(head) + local last_f, last_mapping, last_mapped_font + for n, id in traverse(head) do + if id == hlist_t then + full_hprocess(getlist(n)) + elseif id == vlist_t then + full_vprocess(getlist(n)) + elseif id == disc_t then + local _, _, rep = getdisc(n) + for n, c, f in traverse_glyph(rep) do + if f ~= last_f then + last_f, last_mapping = f, mapped_fonts[f] + last_mapped_font = last_mapping and last_mapping.font + end + if last_mapping then + local mapped = last_mapping[c] + if mapped then setfont(n, mapped_font, mapped) end + end + end + elseif id == glyph_t then + local c, f = is_glyph(n) + if f ~= last_f then + last_f, last_mapping = f, mapped_fonts[f] + last_mapped_font = last_mapping and last_mapping.font + end + if last_mapping then + local mapped = last_mapping[c] + print(c, f, mapped) + if mapped then setfont(n, last_mapped_font, mapped) end + end + end + end +end + +local function delayed_register_callback() + luatexbase.add_to_callback('pre_shipout_filter', function(list) + full_vprocess(todirect(list)) -- list should always be a single list node, so we can treat it as if it were a vlist with one node + return true + end, 'luaotfload.dvi') + delayed_register_callback = function() end +end + local function process(head, font) local mapping = mapped_fonts[font] if not mapping then return head end @@ -77,6 +141,7 @@ local function manipulate(tfmdata, _, dvi_kind) if 2 ~= (tfmdata.encodingbytes or ((tfmdata.format == 'truetype' or tfmdata.format == 'opentype') and 2 or 1)) then return end + delayed_register_callback() local newfont = {} for k,v in pairs(tfmdata) do newfont[k] = v diff --git a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua index 7bc4da5a76..6070b1a9ba 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-embolden", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / embolden", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua index 253d16051c..2f010c11d0 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-fallback", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / fallback", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-features.lua b/macros/luatex/generic/luaotfload/luaotfload-features.lua index 6e64020570..4b3c1a0859 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-features.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-features.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-features", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / features", license = "GPL v2.0", author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", @@ -484,6 +484,7 @@ do local getaxisscale = helpers.getaxisscale local function search(table, term, key_field, value_field) if not table then return end + term = cleanname(term) for i=1, #table do local entry = table[i] if cleanname(entry[key_field]) == term then @@ -876,6 +877,7 @@ fonts.constructors.features.otf.register { end, }, processors = { + position = 1, node = function(head, f, _, _, _) return normalize_lookup[f](head) end, diff --git a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua index a5dac9e640..c7bfc4e43f 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua @@ -6,8 +6,8 @@ if luaotfload_module then luaotfload_module { name = "luaotfload-filelist", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / filelist", license = "GPL v2.0" } end diff --git a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua index f585e298b8..428872e8d3 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua @@ -1,8 +1,8 @@ if luaotfload_module then luaotfload_module { name = "luaotfload-glyphlist", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / autogenerated glyphlist", copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt", original = "Adobe Glyph List, version 2.0, September 20, 2002", diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua index c3b0a8509e..a5923b773c 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua @@ -5,8 +5,8 @@ do -- block to avoid to many local variables error assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-define", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / HarfBuzz font loading", license = "GPL v2.0", author = "Khaled Hosny, Marcel Krüger", @@ -394,6 +394,7 @@ local function scalefont(data, spec) local unicodes = data.unicodes for uni, gid in next, unicodes do characters[uni] = characters[gid_offset + gid] + characters[uni].tounicode = uni end -- Select font palette, we support `palette=index` option, and load the first diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua index df0d0cf136..5b93356b6b 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua @@ -4,8 +4,8 @@ ----------------------------------------------------------------------- assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-plug", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / HarfBuzz shaping", license = "GPL v2.0", author = "Khaled Hosny, Marcel Krüger", @@ -1130,7 +1130,7 @@ local function set_tounicode() if unicode then newcharacters[unicode] = character end - character.tounicode = glyph.tounicode or "FFFD" + character.tounicode = glyph.tounicode or unicode or "FFFD" character.used = true end end diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua index 2ca928d32a..467faa8893 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua @@ -5,8 +5,8 @@ do assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-var-cff2", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / CFF2 table processing", license = "GPL v2.0", author = "Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua index 72239343d8..75a3804ea2 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua @@ -5,8 +5,8 @@ do assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-var-t2-writer", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / Type 2 charstring writer", license = "GPL v2.0", author = "Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua index b39cd753ae..0e9b83cd60 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua @@ -5,8 +5,8 @@ do assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-harf-var-ttf", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / gvar table processing", license = "GPL v2.0", author = "Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-hashing.lua b/macros/luatex/generic/luaotfload/luaotfload-hashing.lua deleted file mode 100644 index e88eab706c..0000000000 --- a/macros/luatex/generic/luaotfload/luaotfload-hashing.lua +++ /dev/null @@ -1,2 +0,0 @@ -local constructors = fonts.constructors -local original_hashfeatures = constructors.hashfeatures diff --git a/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua index ff959e3502..77cb1c54de 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-init.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-init.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-init", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / initialization", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf Binary files differindex ef2cea7a10..c9fde7abfa 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua index ef19afe384..505e0a8186 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-letterspace", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / letterspacing", license = "GPL v2.0", copyright = "PRAGMA ADE / ConTeXt Development Team", diff --git a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua index eb09443077..2aec2fb15d 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua @@ -8,8 +8,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-loaders", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / callback handling", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua index 74b364e874..03a3d7bbce 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-log.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-log.lua @@ -6,8 +6,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-log", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / logging", license = "GPL v2.0", author = "Khaled Hosny, Elie Roux, Philipp Gesang", diff --git a/macros/luatex/generic/luaotfload/luaotfload-main.tex b/macros/luatex/generic/luaotfload/luaotfload-main.tex index 6d802cbbc2..b9e25919ca 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-main.tex +++ b/macros/luatex/generic/luaotfload/luaotfload-main.tex @@ -32,7 +32,7 @@ \beginfrontmatter \setdocumenttitle {The \identifier{luaotfload} package} - \setdocumentdate {2022-06-15 v3.22} + \setdocumentdate {2022-10-03 v3.23} \setdocumentauthor {LaTeX3 Project\\ Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\ Home: \hyperlink {https://github.com/latex3/luaotfload}} @@ -62,6 +62,13 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c \endsection \beginsection{Changes} +\beginsubsection{New in version 3.23} +\begin{itemize} + \item More reliable ToUnicode mappings in Harf mode + \item Various bug fixes +\end{itemize} +\endsubsection + \beginsubsection {New in version 3.22} \begin{itemize} \item Tailored case mappings diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua index bc3921e203..f7bb18c225 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-multiscript", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / multiscript", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua index 418ea79d57..3923e8392c 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-notdef", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / notdef", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua index b2cc9c30ea..0c91f4775c 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua @@ -7,8 +7,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-parsers", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / parsers", license = "GPL v2.0" } @@ -638,8 +638,8 @@ local features = Cg(feature_list, "features") local specification = (path_lookup + prefixed + unprefixed) * maybe_subfont * modifier_list -local font_request = Ct(specification * (colon^-1 * features)^-1 - + combo) --> TODO: feature list needed? +local font_request = Ct(combo --> TODO: feature list needed? + + specification * (colon^-1 * features)^-1) -- lpeg.print(font_request) --- v2.5 parser: 1065 rules diff --git a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua index 135a843cf3..d215aad8be 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua @@ -11,8 +11,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-resolvers", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / resolvers", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua index 8d98f7ce37..222e893718 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-script", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / Script helpers", license = "CC0 1.0 Universal", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-status.lua b/macros/luatex/generic/luaotfload/luaotfload-status.lua index 7ec80b14fb..12efcf4452 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-status.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-status.lua @@ -1,10 +1,10 @@ return { ["hashes"]={ - { "fontloader-2022-06-15.lua", "1d9c716b5c1d6ff84bee5e4ba3631eac" }, + { "fontloader-2022-10-03.lua", "f5384fb6e665b4c3af844e55c9890073" }, { "fontloader-util-fil.lua", "d0accf4180201efd567816a25ad5e037" }, { "fontloader-util-str.lua", "f4a9dd15c3e40cd3915749ac13837c95" }, { "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" }, - { "fontloader-l-math.lua", "5a0740b359e2d55d6dca06a23e3c9df6" }, + { "fontloader-l-math.lua", "e19c80b7e700a69df942d4df2e14aa28" }, { "fontloader-l-boolean.lua", "abe28515dd33e8f6c416c09bca351cf8" }, { "fontloader-l-file.lua", "5839d88d4de96b9e9c7e7f8f8eb885b3" }, { "fontloader-l-io.lua", "3396a8644bae37e49b2cfc0c388c78f8" }, @@ -33,7 +33,7 @@ return { { "fontloader-font-one.lua", "bd39d42055a44ca2002f8ddbbbbf27c3" }, { "fontloader-font-onr.lua", "6d161533f3437435e12a0ad64866df44" }, { "fontloader-font-ocl.lua", "2a377351ae23c339764ec8ce2e8e9164" }, - { "fontloader-font-osd.lua", "9b5337b0051b8e42b6c8329127c59794" }, + { "fontloader-font-osd.lua", "1716513d8fe5f28e0e88daad2be0e05b" }, { "fontloader-font-otc.lua", "57f5270b894e40efa93149c7d3fb0209" }, { "fontloader-font-ots.lua", "55316a605d11a1d07d38795224c90a63" }, { "fontloader-font-ota.lua", "2bb12d708e35bc05443eba791e2554e7" }, @@ -43,9 +43,9 @@ return { { "fontloader-font-otl.lua", "308b1aab04bc131da7eb8e8c3b0471d4" }, { "fontloader-font-ott.lua", "3f67b1b1d40bbc222681d8db4aff0f42" }, { "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" }, - { "fontloader-font-dsp.lua", "4935e6605ffd7bf57e66f0b6c132f883" }, + { "fontloader-font-dsp.lua", "23a82ec8fdb9f226427e78904402e48a" }, { "fontloader-font-ttf.lua", "a3ff07150b3535fd32f68748d53fcd36" }, - { "fontloader-font-cff.lua", "e38c1a40e1d1d577cdf7920fa50d0654" }, + { "fontloader-font-cff.lua", "651c74e4804fbb85d31267210298f466" }, { "fontloader-font-otr.lua", "1896ac990a961f6d6fec551ca9b52a83" }, { "fontloader-font-vfc.lua", "a81c29eda98cd62cbebdb6c93544b50d" }, { "fontloader-font-map.lua", "27ee748150e56f5f0e5f0fefc864f35e" }, @@ -53,47 +53,47 @@ return { { "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" }, { "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" }, { "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" }, - { "fontloader-reference.lua", "c256fdcc4661bf9c868002fe0f996d73" }, + { "fontloader-reference.lua", "e4b70de7191ba92ba3b859427eeca91c" }, { "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" }, { "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" }, - { "mkstatus", "8bffa407d2323b24683f726fc6c1a634" }, + { "mkstatus", "45611be8d0396d0e048e45fdb318fea0" }, { "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" }, { "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" }, { "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" }, - { "luaotfload-glyphlist.lua", "a1eda1d4588777f77459f86bbe1f7500" }, + { "luaotfload-glyphlist.lua", "76f7660436e588112a74e2bbdd4a813c" }, { "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" }, - { "luaotfload-dvi.lua", "be1944354d7a1d6d4098966c9cc276b2" }, - { "luaotfload-tounicode.lua", "20fa6d02bae4274d7fbe18ff8683ca76" }, - { "luaotfload-unicode.lua", "69d17d1de56d8c0abdfb77ef7c11dfd6" }, - { "luaotfload-resolvers.lua", "490ba5d0a7b5164f9908f690507e5569" }, - { "luaotfload-parsers.lua", "daf4e973fb452f6a24d90c9a12508445" }, - { "luaotfload-fallback.lua", "56b58f94896f842ef46f25cad0be39bb" }, - { "luaotfload-szss.lua", "5512c588c3e53528f430d3dcd5342c61" }, - { "luaotfload-scripts.lua", "85cd3d5a0df9a0faaf8888fca2352d91" }, - { "luaotfload-multiscript.lua", "e84b33ced34f4ede4549e64831ba2e14" }, - { "luaotfload-loaders.lua", "4b5f6a7ba70f6cbe4eb10c98cc54e39e" }, - { "luaotfload-harf-plug.lua", "061fac6736fbe443c13fa66b1780366d" }, - { "luaotfload-harf-define.lua", "ff5743a2e17370ec42e2715e7dcd3efa" }, - { "luaotfload-notdef.lua", "a00724307cd32649101537414600da85" }, - { "luaotfload-embolden.lua", "2050240a6c33c2cfbb4573f2c3f25507" }, - { "luaotfload-letterspace.lua", "da30005de64912955267159c4310e215" }, - { "luaotfload-features.lua", "cba1c85ff9f4bb3d1af3d3e40db30536" }, - { "luaotfload-database.lua", "306e312f8d5cdebbfc8256bad91197ad" }, - { "luaotfload-configuration.lua", "b9f0b1bebfc3cb0e79688c101b428ba5" }, - { "luaotfload-colors.lua", "ceca08c762415386b78bbe6621ca2ba8" }, - { "luaotfload-auxiliary.lua", "ef7e3f0b64c4dbfc1a498ce4078195aa" }, - { "luaotfload-filelist.lua", "fb3ab92adb3e379822ed4568429b746c" }, - { "luaotfload-tool.lua", "e2f826b49e3baff8d46f2454b985cf39" }, - { "luaotfload-diagnostics.lua", "d7d7005692d1499e9685ab08f6152bf2" }, - { "luaotfload-log.lua", "20d82599e760f75a4c080d2b08dfe084" }, - { "luaotfload-init.lua", "0cf48cf4dbb22324a4b3e449830f21c5" }, + { "luaotfload-dvi.lua", "34c763f62499f1bad2ae3883ef52e126" }, + { "luaotfload-tounicode.lua", "9bc62ed441ed23b5222925b019479f78" }, + { "luaotfload-unicode.lua", "30f5b1073daa0c6e85ca1db843fbd9cd" }, + { "luaotfload-resolvers.lua", "2b21b7b0f08aa03ca0d527331718dc13" }, + { "luaotfload-parsers.lua", "0dc623da7513746ee0e0d354505187b3" }, + { "luaotfload-fallback.lua", "34996c5eb80691e8e9969145a1c63fa8" }, + { "luaotfload-szss.lua", "87ac61c8fad7650fa6866518212f3a38" }, + { "luaotfload-scripts.lua", "857b55175273a8277bab059b1bbfa6a4" }, + { "luaotfload-multiscript.lua", "3436f18db0d08ee567e5051995a3165f" }, + { "luaotfload-loaders.lua", "7298c7dd711f8480f4bca2aef5df90af" }, + { "luaotfload-harf-plug.lua", "8b3b69f4c5e573212951c54336b6c75b" }, + { "luaotfload-harf-define.lua", "ed98bd38d43fbc67e6140c343475d8dd" }, + { "luaotfload-notdef.lua", "256afb391eb4010d3b69e5af1abebb7a" }, + { "luaotfload-embolden.lua", "2abe4a85a428d79cae1260908a492477" }, + { "luaotfload-letterspace.lua", "e950c4f3d6e466b7e59fd8d1d2598fa6" }, + { "luaotfload-features.lua", "edaf61a299497abb089f9f160acaf5ba" }, + { "luaotfload-database.lua", "6da3d95f9011b8320dab5c5a32a28978" }, + { "luaotfload-configuration.lua", "18bbb7350d32b6409b7c331542a886e6" }, + { "luaotfload-colors.lua", "4ad76dd049092806e62e93437674f003" }, + { "luaotfload-auxiliary.lua", "c869a8e7d2242a02b0e10928c0cdc59c" }, + { "luaotfload-filelist.lua", "105e78993704062bf12fd6773a3ed001" }, + { "luaotfload-tool.lua", "4ba963522c4182e127396e0daa1dd314" }, + { "luaotfload-diagnostics.lua", "fe454a8415defdce72fc7dbf8af92f39" }, + { "luaotfload-log.lua", "dee4da9bd54f1a5f7453826b8ecd70ea" }, + { "luaotfload-init.lua", "fdca1ee9ddbc4324dace4d89043ee1ff" }, { "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" }, }, ["notes"]={ ["committer"]="Marcel Fabian Krüger <tex@2krueger.de>", - ["description"]="v3.22/2022-06-15", - ["loader"]="fontloader-2022-06-15.lua", - ["revision"]="deb1cfef038a70ebd5a5762394adcbc0889c5cbf", - ["timestamp"]="2022-06-15 19:23:05 +0200", + ["description"]="v3.23/2022-10-03", + ["loader"]="fontloader-2022-10-03.lua", + ["revision"]="a36774ba186e3bacab9398e50d0069a0372d3c12", + ["timestamp"]="2022-10-03 20:33:45 +0200", }, }
\ No newline at end of file diff --git a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua index 6b105effbb..0e67e4eada 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-suppress", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / suppress", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-szss.lua b/macros/luatex/generic/luaotfload/luaotfload-szss.lua index 760e5c29b8..f8aca2bd64 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-szss.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-szss.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-szss", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / Special feature handling", license = "GPL v2.0", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload-t3.lua b/macros/luatex/generic/luaotfload/luaotfload-t3.lua deleted file mode 100644 index 215ba4b918..0000000000 --- a/macros/luatex/generic/luaotfload/luaotfload-t3.lua +++ /dev/null @@ -1,142 +0,0 @@ ------------------------------------------------------------------------ --- FILE: luaotfload-t3.lua --- DESCRIPTION: part of luaotfload / Type 3 ------------------------------------------------------------------------ -do -- block to avoid to many local variables error - assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { - name = "luaotfload-t3", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE - description = "luaotfload submodule / Type 3 font handling", - license = "GPL v2.0", - author = "Marcel Krüger", - copyright = "Luaotfload Development Team", - } -end - ---[[ -local function u8_to_utf16be(s) - local d = {} - local i = 0 - for _, cp, cp2 in utf8.codes(s) do - i = i + 1 - if cp > 0x10000 then - cp = cp - 0x10000 - local high = (cp>>10) | 0xD800 - local low = (cp&0x3FF) | 0xDC00 - d[i] = string.format('%04X%04X', high, low) - else - d[i] = string.format('%04X', cp) - end - end - return table.concat(d, '', 1, i) -end -]] - -local function t3factory(basename, designsize, callback) - local count = 0 - local gid_to_t3 = {} - local t3_to_gid = {} - return function(size) - local fids = {} - return function(gid, width, unicode) - local t3id = gid_to_t3[gid] - if not t3id then - t3id = count - count = count + 1 - gid_to_t3[gid] = t3id - t3_to_gid[t3id] = gid - end - local t3fid, t3cid = t3id >> 8, ~(t3id & 0xFF) - local fid = fids[t3fid + 1] - local fontdir = fid and font.getfont(fid) - local characters = fontdir and fontdir.characters - if not (characters and characters[t3cid]) then - characters = characters or {} - -- First create the character - local char = { - width = width, - height = 0, -- We never look at these two anyway - depth = 0, - tounicode = unicode, - } - characters[t3cid] = char - if fid then -- Font already exists - font.addcharacters(fid, { - characters = { - [t3cid] = char, - }, - }) - else - fontdir = { - name = basename .. '_' .. basesize .. '_' .. t3fid, - format = 'type3', - psname = 'none', - filename = 'not_a_real_filename', -- Can't be null to ensure reuse - fullname = basename .. basesize .. '_' .. t3fid, - characters = characters, - designsize = basesize, - size = size, - cidinfo = {}, -- Can't be null to ensure reuse - attributes = '/FontDescriptor<<\z - /Type/FontDescriptor\z - /FontName/VirtualLuaFont\z - /Flags 4\z - /ItalicAngle 0\z - >>', -- TODO: Needs work - t3_handler = function(stage, _, cid) - cid = cid and assert(t3_to_gid[(t3fid << 8) | ~cid]) - return callback(stage, cid) - end - } - fid = font.define(fontdir) - fids[t3fid + 1] = fid - end - end - vf.font(fid) - vf.char(t3cid) - end - end -end - -luatexbase.add_to_callback('provide_charproc_data', function(stage, fid, ...) - local fontdir = font.getfont(fid) - if not fontdir then error'Unknown font' end - local handler = fontdir.t3_handler - if not handler then error'Missing t3handler in Type 3 font' end - return handler(stage, fid, ...) -end, 'luaotfload.t3') - -return t3factory ---[===[ - function callback(stage, cid) - if stage == 1 then - local char = assert(characters[cid]) - local head = assert(char.head) - local resource = tex.saveboxresource(head, nil--[[attributes]], nil--[[resources]], true--[[immediate]], 0--[[mode]], nil--[[margin]]) - local name = string.format('/F%i', pdf.getxformname(resource)) - local resources = characters.resources - if resources then - characters.resources = string.format('%s %s %i 0 R', resources, name, resource) - else - characters.resources = string.format('%s %i 0 R', name, resource) - end - char.resource = name - elseif stage == 2 then - local char = assert(characters[cid]) - width = char.width/65781 - return pdf.obj{ - type = 'stream', - immediate = true, - -- objnum = - -- attr = - -- compresslevel = - string = string.format('%g 0 d0 %s Do', width, char.resource) - }, width - elseif stage == 3 then - return 65781/655360, string.format('/XObject<<%s>>', characters.resources) - end - print(stage, fid, cid) - end, - } -]===] diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1 index 8967467c46..bd0617503a 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.1 +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH LUAOTFLOAD-TOOL 1 "2022-10-03" "3.23" "text processing" +.SH NAME +luaotfload-tool \- generate and query the Luaotfload font names database . .nr rst2man-indent-level 0 . @@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "LUAOTFLOAD-TOOL" 1 "2022-06-15" "3.22" "text processing" -.SH NAME -luaotfload-tool \- generate and query the Luaotfload font names database .SH SYNOPSIS .sp \fBluaotfload\-tool\fP [ \-bcDfFiIlLnpqRSuvVhw ] @@ -77,14 +77,14 @@ the \fILuaotfload\fP package. There are two general modes: \fBupdate\fP and .SS update mode .INDENT 0.0 .TP -.B \-\-update\fP,\fB \-u +.B \-\-update\fP,\fB \-u Update the database; indexes new fonts. .TP -.B \-\-force\fP,\fB \-f +.B \-\-force\fP,\fB \-f Force rebuilding of the database; re\-indexes all fonts. .TP -.B \-\-local\fP,\fB \-L +.B \-\-local\fP,\fB \-L Include font files in \fB$PWD\fP\&. This option will cause large parts of the database to be rebuilt. Thus it is quite inefficient. @@ -93,16 +93,16 @@ the database is prevented from being saved to disk, so the local fonts need to be parsed with every invocation of \fBluaotfload\-tool\fP\&. .TP -.B \-\-no\-reload\fP,\fB \-n +.B \-\-no\-reload\fP,\fB \-n Suppress auto\-updates to the database (e.g. when \fB\-\-find\fP is passed an unknown name). .TP -.B \-\-no\-compress\fP,\fB \-c +.B \-\-no\-compress\fP,\fB \-c Do not filter the plain text version of the font index through gzip. Useful for debugging if your editor is built without zlib. .TP -.B \-\-prefer\-texmf\fP,\fB \-p +.B \-\-prefer\-texmf\fP,\fB \-p Organize the file name database in a way so that it prefer fonts in the \fITEXMF\fP tree over system fonts if they are installed in both. @@ -139,16 +139,16 @@ mapped to. i.e. \fB\-\-find=file:foo.otf\fP checks whether \fBfoo.otf\fP is indexed. .TP -.B \-\-fuzzy\fP,\fB \-F +.B \-\-fuzzy\fP,\fB \-F Show approximate matches to the file name if the lookup was unsuccessful (requires \fB\-\-find\fP). .TP -.B \-\-info\fP,\fB \-i +.B \-\-info\fP,\fB \-i Display basic information to a resolved font file (requires \fB\-\-find\fP). .TP -.B \-\-inspect\fP,\fB \-I +.B \-\-inspect\fP,\fB \-I Display detailed information by loading the font and analyzing the font table; very slow! For the meaning of the returned fields see @@ -189,7 +189,7 @@ format: .sp .nf .ft C -\&./luaotfload\-tool.lua \-\-list=\(dqformat\(dq \-\-fields=\(dqfile\->base,version\(dq +\&./luaotfload\-tool.lua \-\-list="format" \-\-fields="file\->base,version" .ft P .fi .UNINDENT @@ -230,7 +230,7 @@ The default is plainname,version*. .SS font and lookup caches .INDENT 0.0 .TP -.B \-\-flush\-lookups +.B \-\-flush\-lookups Clear font name lookup cache (experimental). .TP .BI \-\-cache\fB= DIRECTIVE @@ -249,15 +249,15 @@ cache; .SS debugging methods .INDENT 0.0 .TP -.B \-\-show\-blacklist\fP,\fB \-b +.B \-\-show\-blacklist\fP,\fB \-b Show blacklisted files (not directories). .TP -.B \-\-dry\-run\fP,\fB \-D +.B \-\-dry\-run\fP,\fB \-D Don’t load fonts when updating the database; scan directories only. (For debugging file system related issues.) .TP -.B \-\-no\-strip +.B \-\-no\-strip Do not strip redundant information after building the database. Warning: this will inflate the index to about two to three times @@ -331,7 +331,7 @@ state. Set verbosity level to \fIn\fP or the number of repetitions of \fB\-v\fP\&. .TP -.B \-\-quiet +.B \-\-quiet No verbose output (log level set to zero). .TP .BI \-\-log\fB= CHANNEL @@ -347,11 +347,11 @@ directory (the name will be chosen automatically. .UNINDENT .TP -.B \-\-version\fP,\fB \-V +.B \-\-version\fP,\fB \-V Show version numbers of components as well as some basic information and exit. .TP -.B \-\-help\fP,\fB \-h +.B \-\-help\fP,\fB \-h Show help message and exit. .TP .BI \-\-diagnose\fB= CHECK @@ -387,12 +387,12 @@ Read the configuration from \fIFILE\fP\&. See \fBluaotfload.conf\fP(%) for documentation concerning the format and available options. .TP -.B \-\-dumpconf +.B \-\-dumpconf Print the currently active configuration; the output can be saved to a file and used for bootstrapping a custom configuration files. .TP -.B \-\-aliases +.B \-\-aliases Dump the font name database as a kpathsea aliases file. This option is experimental and might go away. diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua index 56b433bf2b..dc9dec543e 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.lua @@ -9,8 +9,8 @@ local ProvidesLuaModule = { name = "luaotfload-tool", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload-tool / database functionality", license = "GPL v2.0" } diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf Binary files differindex cb4c8141e0..640a657ea3 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst index 25d90cd33a..68f761bdb0 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tool.rst +++ b/macros/luatex/generic/luaotfload/luaotfload-tool.rst @@ -6,9 +6,9 @@ generate and query the Luaotfload font names database ----------------------------------------------------------------------- -:Date: 2022-06-15 +:Date: 2022-10-03 :Copyright: GPL v2.0 -:Version: 3.22 +:Version: 3.23 :Manual section: 1 :Manual group: text processing diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua index 96ffd562b0..cb34d12aeb 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-tounicode", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / tounicode", license = "GPL v2.0", author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger", diff --git a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua index e504f892e2..64a1eed448 100644 --- a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua +++ b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua @@ -5,8 +5,8 @@ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") { name = "luaotfload-unicode", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "luaotfload submodule / Unicode helpers", license = "CC0 1.0 Universal", author = "Marcel Krüger" diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5 index dc5b1d3e50..7617508bc3 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.conf.5 +++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5 @@ -1,5 +1,8 @@ .\" Man page generated from reStructuredText. . +.TH LUAOTFLOAD.CONF 5 "2022-10-03" "3.23" "text processing" +.SH NAME +luaotfload.conf \- Luaotfload configuration file . .nr rst2man-indent-level 0 . @@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.TH "LUAOTFLOAD.CONF" 5 "2022-06-15" "3.22" "text processing" -.SH NAME -luaotfload.conf \- Luaotfload configuration file .SH SYNOPSIS .INDENT 0.0 .IP \(bu 2 @@ -212,7 +212,7 @@ formats T} T{ s T} T{ -\fB\(dqotf,ttf,ttc\(dq\fP +\fB"otf,ttf,ttc"\fP T} _ T{ @@ -285,7 +285,7 @@ containing one or more of these elements: It corresponds loosely to the \fB\-\-formats\fP option to \fBluaotfload\-tool\fP\&. Invalid or duplicate members are ignored; if the list does not contain any useful identifiers, the default list -\fB\(dqotf,ttf,ttc\(dq\fP will be used. +\fB"otf,ttf,ttc"\fP will be used. .sp The variable \fBmax\-fonts\fP determines after processing how many font files the font scanner will terminate the search. This is useful for @@ -416,7 +416,7 @@ cache\-dir T} T{ s T} T{ -\fB\(dqfonts\(dq\fP +\fB"fonts"\fP T} _ T{ @@ -424,7 +424,7 @@ names\-dir T} T{ s T} T{ -\fB\(dqnames\(dq\fP +\fB"names"\fP T} _ T{ @@ -432,7 +432,7 @@ index\-file T} T{ s T} T{ -\fB\(dqluaotfload\-names.lua\(dq\fP +\fB"luaotfload\-names.lua"\fP T} _ T{ @@ -440,7 +440,7 @@ lookups\-file T} T{ s T} T{ -\fB\(dqluaotfload\-lookup\-cache.lua\(dq\fP +\fB"luaotfload\-lookup\-cache.lua"\fP T} _ .TE @@ -472,7 +472,7 @@ anon\-sequence T} T{ s T} T{ -\fB\(dqtex,path,name\(dq\fP +\fB"tex,path,name"\fP T} _ T{ @@ -480,7 +480,7 @@ color\-callback T} T{ s T} T{ -\fB\(dqpost_linebreak_filter\(dq\fP +\fB"post_linebreak_filter"\fP T} _ T{ @@ -488,7 +488,7 @@ definer T} T{ s T} T{ -\fB\(dqpatch\(dq\fP +\fB"patch"\fP T} _ T{ @@ -504,7 +504,7 @@ resolver T} T{ s T} T{ -\fB\(dqcached\(dq\fP +\fB"cached"\fP T} _ T{ @@ -512,7 +512,7 @@ fontloader T} T{ s T} T{ -\fB\(dqdefault\(dq\fP +\fB"default"\fP T} _ .TE diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst index e7fa382899..2f2bee0fa1 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.conf.rst +++ b/macros/luatex/generic/luaotfload/luaotfload.conf.rst @@ -6,9 +6,9 @@ Luaotfload configuration file ----------------------------------------------------------------------- -:Date: 2022-06-15 +:Date: 2022-10-03 :Copyright: GPL v2.0 -:Version: 3.22 +:Version: 3.23 :Manual section: 5 :Manual group: text processing diff --git a/macros/luatex/generic/luaotfload/luaotfload.lua b/macros/luatex/generic/luaotfload/luaotfload.lua index 34181d0af7..a22880e736 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.lua +++ b/macros/luatex/generic/luaotfload/luaotfload.lua @@ -20,8 +20,8 @@ local authors = "\z -- version number is used below! local ProvidesLuaModule = { name = "luaotfload", - version = "3.22", --TAGVERSION - date = "2022-06-15", --TAGDATE + version = "3.23", --TAGVERSION + date = "2022-10-03", --TAGDATE description = "Lua based OpenType font support", author = authors, copyright = authors, diff --git a/macros/luatex/generic/luaotfload/luaotfload.sty b/macros/luatex/generic/luaotfload/luaotfload.sty index 6c9ceb1f43..aafcfb6930 100644 --- a/macros/luatex/generic/luaotfload/luaotfload.sty +++ b/macros/luatex/generic/luaotfload/luaotfload.sty @@ -39,7 +39,7 @@ \fi \ifdefined\ProvidesPackage \ProvidesPackage{luaotfload}% - [2022/06/15 v3.22 OpenType layout system] + [2022/10/03 v3.23 OpenType layout system] \fi \directlua{ if xpcall(function ()% diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf Binary files differindex 13825f2f01..4207a5fd7f 100644 --- a/macros/luatex/generic/luaotfload/scripts-demo.pdf +++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf Binary files differindex 7bd624fc2e..1a8b1c182a 100644 --- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf +++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf Binary files differindex f9b07141b5..f4fe93315d 100644 --- a/macros/luatex/generic/luaotfload/shaper-demo.pdf +++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf diff --git a/macros/luatex/latex/japanese-mathformulas/README.txt b/macros/luatex/latex/japanese-mathformulas/README.txt new file mode 100644 index 0000000000..b936573615 --- /dev/null +++ b/macros/luatex/latex/japanese-mathformulas/README.txt @@ -0,0 +1,29 @@ +japanese-mathformulas - mathematical formula using amsmath and tikz================================== +version 1.0.0 + +Licence---------------------------------------------------------------------------------------------- +lppl1.3c +Copyright (c) 2022- Hugh; Ponkichi +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. + +Description------------------------------------------------------------------------------------------ +This is a style file for compiling basic math formulas. \NewDocumentCommand allows you to specify whether the formula should be used within a sentence or on a new line. The main packages used are amsmath, amssymb, siunitx, ifthen, xparse, tikz, mathtools, graphics. + +Contents--------------------------------------------------------------------------------------------- +japanese-mathformulas.sty the main file +japanese-mathformulas.pdf a user guide attempt +japanese-mathformulas.tex tex file of japanese-mathformulas.pdf +japanese-mathformulas-sample.pdf an example of use in conjunction with ltjsarticle +japanese-mathformulas-sample.tex tex file of japanese-mathformulas-sample.pdf +README.txt this file + +Feedback--------------------------------------------------------------------------------------------- +dragon-hugh-houston0426@docomo.ne.jp +(Mail here, please.) + + Thank you for reading!
\ No newline at end of file diff --git a/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.pdf b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.pdf Binary files differnew file mode 100644 index 0000000000..6657bbf2e4 --- /dev/null +++ b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.pdf diff --git a/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.tex b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.tex new file mode 100644 index 0000000000..08786e5a34 --- /dev/null +++ b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.tex @@ -0,0 +1,275 @@ +\documentclass[landscape,b4paper,twocolumn,fleqn]{ltjsarticle} + +\usepackage{iwona}% +\usepackage{bookmark,xurl} +\usepackage{mathformula,ascolorbox,enumerate,environ,tcolorbox,color}% +\usepackage[hiragino-pron,deluxe,expert,bold]{luatexja-preset}% +\usepackage[usetype1]{uline--} +\usepackage[margin=15mm]{geometry} +\makeatletter +\newenvironment{kakkoenu}{\begin{enumerate}[\protect\expandafter\ajKakko 1]}{\end{enumerate}} +\newenvironment{maruenu}{\begin{enumerate}[\protect\expandafter\ajMaru 1]}{\end{enumerate}} + +\def\breaklines#1{% +\@tempcnta=0\relax +\loop +\ifnum\@tempcnta<#1\relax +~\\ +\advance\@tempcnta by 1\relax +\repeat +} + +\newsavebox{\measure@tikzpicture} +\NewEnviron{scaletikzpicturetowidth}[1]{% + \def\tikz@width{#1}% + \def\tikzscale{1}\begin{lrbox}{\measure@tikzpicture}% + \BODY + \end{lrbox}% + \pgfmathparse{#1/\wd\measure@tikzpicture}% + \edef\tikzscale{\pgfmathresult}% + \BODY +} +\NewDocumentCommand\circlestitle{ O{black} m }% + {% + \noindent% + \begin{scaletikzpicturetowidth}{\linewidth}% + \begin{tikzpicture}[scale=\tikzscale]% + \fill[#1!10!white](0,0)circle(.8);% section名の左の円1 + \fill[#1!20!white](-1,1)circle(.5);% section名の左の円2 + \fill[#1!30!white](-.8,2)circle(.35);% section名の左の円3 + \fill[#1!40!white](-.5,2.8)circle(.15);% section名の左の円4 + \fill[#1!10!white](7.5,.3)circle(.6);% section名の右の円1 + \fill[#1!20!white](8.8,.9)circle(.45);% section名の右の円2 + \fill[#1!30!white](10,1.28)circle(.3);% section名の右の円3 + \fill[#1!40!white](11.1,1.4)circle(.25);% section名の右の円4 + \fill[#1!50!white](12.15,1.38)circle(.225);% section名の右の円5 + \fill[#1!50!white](12.8,.8)circle(.2125);% section名の右の円6 + \fill[#1!50!white](12.5,0)circle(.15);% section名の右の円7 + \draw(0,.2)node[right]{\Huge\textmg{\uline[width=.5pt]{4. \uline[-4.5pt,width=.5pt]{#2\<}}\uline[-4.5pt,width=.5pt]{\null\quad\quad}}};% section名 + \draw(-.5,1.2)node[right]{\Large\textcolor{#1!50!white}{Chapter}};% Chapterの文字 + \end{tikzpicture}% + \end{scaletikzpicturetowidth}% + }% + +\newcommand{\@sankoufudda}[2][]{% +\def\@temphoge{#1}% +\noindent\hspace{-1\zw}\makebox[2\zw]{\leaders\hrule height4.2pt depth-3.4pt\hfill\kern0pt}\textgt{【#2】}\ifx\@temphoge\@empty\else#1~\fi\leaders\hrule height4.2pt depth-3.4pt\hfill\kern0pt\hspace{-1\zw}\nopagebreak\par} +\newcommand{\@sankoufutta}{\par\nopagebreak\noindent\hspace{-1\zw}\leaders\hrule height4.2pt depth-3.4pt\hfill\kern0pt\hspace{-1\zw}~% +} +\newenvironment{sankoubox}{\vspace{.5\zw}\@sankoufudda[{}]{参考}}{\@sankoufutta\vspace{.5\zw}} + +\DeclareTColorBox{colorkeybox}{ O{gray} D<>{!} }% + {% + enhanced,% + before skip=2mm,after skip=3mm,% + fontupper=\gtfamily,% + boxrule=0.4pt,% + left=5mm,right=2mm,top=1mm,bottom=1mm,% + colback=white,% + colframe=gray!20!#1,% + sharp corners,% + rounded corners=southeast,% + arc is angular,% + arc=3mm,% + underlay=% + {% + \path[fill=tcbcolback!80!#1]% + ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++% +(0.1,-0.2);\path[draw=tcbcolframe,shorten <=-0.05mm,shorten >=-0.05mm]% + ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++% + (0.1,-0.2);\path[fill=gray!20!#1,draw=none] (interior.south west) rectangle node[white]{\Huge\bfseries #2} ([xshift=4mm]interior.north west);% + },% + drop fuzzy shadow,% + before upper={\hspace{1\zw}}% + }% + +\newcommand{\coloraftertext}[2]% + {% + \tcbox% + [% + #1% + on line,% + boxsep=0pt,boxrule=0pt,% + top=0mm,bottom=0mm,% + tcbox width=forced left,% + width=\linewidth-\the\@組カラーボックス@length% + ]% + {#2\relax\strut}% + }% +\newlength{\@組カラーボックス@length}% +\NewDocumentEnvironment{組カラーボックス}{ m m O{black} O{lightgray!55!white} }% + {% + \settowidth{\@組カラーボックス@length}{\hspace{.9999em}\gtfamily #1} + \begin{tcolorbox}% + [% + enhanced,% + colback=#3,% + colframe=black,% + left=0mm,right=0mm,top=0mm,bottom=0mm,% + boxsep=0mm,% + arc=0.2em,% + sharp corners=south,% + after skip=0mm% + ]% + \textcolor{white}{\gtfamily\,\,\,#1\,\,\,}% + \coloraftertext{colback=#3!30!white,arc=0.2em,sharp corners=south,}{\hspace{-2mm}\gtfamily\textcolor{black}{#2}}% + \end{tcolorbox}% + \nopagebreak\vspace{-2pt}\nopagebreak% + \begin{tcolorbox}% + [% + enhanced,% + breakable,% + colback=#4,% + colbacktitle=#3!90!white,% + colframe=#3!90!white,% + sharp corners=north,% + before skip=0mm,% + before upper={\hspace{1\zw}}% + ]% + }% + { \end{tcolorbox}}% + +\newcommand{\subcolorindexbox}[1]% + {% + \begin{tikzpicture}[scale=0.02\zw]% + \draw (0,0) circle [radius=2];% + \draw (0,0) circle [radius=1.5];% + \draw (0,0)--(0,3);% + \draw (0,0)--(0,-3);% + \draw (0,0)--(3,0);% + \draw (0,0)--(-3,0);% + \draw (0.5,0.5)--(0,3);% + \draw (0.5,0.5)--(3,0);% + \draw (0.5,-0.5)--(0,-3);% + \draw (0.5,-0.5)--(3,0);% + \draw (-0.5,0.5)--(0,3);% + \draw (-0.5,0.5)--(-3,0);% + \draw (-0.5,-0.5)--(0,-3);% + \draw (-0.5,-0.5)--(-3,0);% + \draw (0,0)--(1,1);% + \draw (0,0)--(1,-1);% + \draw (0,0)--(-1,1);% + \draw (0,0)--(-1,-1);% + \draw (1,1)--(0.4545,0.7272);% + \draw (1,1)--(0.7272,0.4545);% + \draw (1,-1)--(0.7272,-0.4545);% + \draw (1,-1)--(0.4545,-0.7272);% + \draw (-1,1)--(-0.4545,0.7272);% + \draw (-1,1)--(-0.7272,0.4545);% + \draw (-1,-1)--(-0.4545,-0.7272);% + \draw (-1,-1)--(-0.7272,-0.4545);% + + \fill[#1] (0,0) circle [radius=2];% + \fill[white] (0,0) circle [radius=1.5];% + + \fill[#1] (0,0)--(0.5,0.5)--(3,0);% + \draw[#1!50!white][very thin] (0.5,0.5)--(3,0);% + \fill[#1] (0.5,0.5)--(0.4545,0.7272)--(1,1);% + \draw[#1!50!white][very thin] (1,1)--(0.7272,0.4545);% + \draw[#1!50!white][very thin] (0.5,0.5)--(0,3);% + \draw[#1!50!white][very thin] (0,0)--(0,3);% + \draw[#1!50!white][very thin] (0,0)--(3,0);% + \fill[white] (0,3)--(0,0)--(0.5,0.5);% + + \fill[#1] (0,3)--(-0.5,0.5)--(0,0);% + \draw[#1!50!white][very thin] (-1,1)--(-0.4545,0.7272);% + \fill[#1] (-1,1)--(-0.5,0.5)--(-0.7272,0.4545);% + \draw[#1!50!white][very thin] (0,3)--(-0.5,0.5);% + \fill[white] (-3,0)--(0,0)--(-0.5,0.5);% + \draw[#1!50!white][very thin] (-0.5,0.5)--(-3,0);% + + \fill[#1] (-3,0)--(0,0)--(-0.5,-0.5);% + \draw[#1!50!white][very thin] (-3,0)--(-0.5,-0.5);% + \draw[#1!50!white][very thin] (0,0)--(-1,-1);% + \draw[#1!50!white][very thin] (-1,-1)--(-0.4545,-0.7272);% + \draw[#1!50!white][very thin] (-1,-1)--(-0.7272,-0.4545);% + \fill[#1] (-1,-1)--(-0.5,-0.5)--(-0.4545,-0.7272);% + \fill[white] (0,-3)--(0,0)--(-0.4545,-0.7272);% + \draw[#1!50!white][very thin] (-0.5,-0.5)--(0,-3);% + + \fill[#1] (0,-3)--(0,0)--(0.5,-0.5);% + \draw[#1!50!white][very thin] (0,-3)--(0.5,-0.5);% + \draw[#1!50!white][very thin] (0,0)--(1,-1);% + \draw[#1!50!white][very thin] (1,-1)--(0.7272,-0.4545);% + \draw[#1!50!white][very thin] (1,-1)--(0.4545,-0.7272);% + \fill[#1] (1,-1)--(0.5,-0.5)--(0.7272,-0.4545);% + \fill[white] (3,0)--(0,0)--(0.5,-0.5);% + \draw[#1!50!white][very thin] (0.5,-0.5)--(3,0);% + \end{tikzpicture}% + }% +\newlength{\colorindexboxlength}% +\NewDocumentEnvironment{colorindexbox}{ O{black} }% + {% + \begin{tcolorbox}% + [% + skin=enhancedmiddle jigsaw,% + breakable,% + sidebyside,% + lefthand width=\colorindexboxlength+5mm,% + colback=white,% + colframe=white,% + opacityback=0,% + opacityframe=0,% + before upper={\hspace{1\zw}}% + ]% + \settowidth{\colorindexboxlength}{\subcolorindexbox{#1}}% + \subcolorindexbox{#1}% + \tcblower% + }% + {\end{tcolorbox}}% +\makeatother + +\begin{document}% + +\circlestitle{相加平均と相乗平均の関係} + +\ascboxB{\textgt{相加平均と相乗平均の関係 基礎編}} + +\noindent +\begin{ascolorbox9}{相加平均と相乗平均の関係} +\相加相乗平均{公式}[b] +\相加相乗平均{証明} +\end{ascolorbox9} + +\begin{組カラーボックス}{前期第16回\quad 例題21}{相加平均・相乗平均の関係\ajKakko1} +次の値を求めよ。 +\begin{kakkoenu} +\item $x>-1$のとき,$2x+\bunsuu1{x+1}$の最小値 +\item $x>0$のとき,$\left(x+\bunsuu1x\right)\left(x+\bunsuu4x\right)$の最小値 +\end{kakkoenu} +\end{組カラーボックス} + +\begin{ascolorbox3}{\textcolor{white}{解答欄解答欄解答欄}} +\breaklines{15} +\hfill{(目標時間:5分)} +\end{ascolorbox3} + +\begin{colorkeybox} +「$>0$」と「相加平均と相乗平均の関係」の記述は忘れずに! +\end{colorkeybox} + +\begin{sankoubox} +どんな最大・最小問題においても,有名不等式は第一選択肢に挙げたいところです。しかし,ただ適応するだけではなく,一工夫必要なものもたくさんあります。それをそれぞれ見ていきましょう。 + +\begin{maruenu} +\item そのまま適用すると$2\sqrt{\bunsuu{2x}{x+1}}$となり,なにもうまくいきません。そこで分母が$x+1$であることに注目し,それと相殺できるように$2x$の部分を$2x+2-2$とするとうまくいくでしょう。 +\item 普通に掛け算をした後に適用する分には問題ありませんが,$\left(x+\bunsuu1x\right),\,\left(x+\bunsuu4x\right)$それぞれについて個別に適用し($2\times4$としてしまうこと),それをかけてしまうと大問題です。なぜならそれぞれにおいて等号が成立する条件が違うからです。(前者は$x=1$,\,後者は4$x=2$)そのため,相加平均・相乗平均の関係は最後にまとめて用いること,そして用いた直後は必ず等号成立条件を確認することを心がけてください。 +\end{maruenu} +\end{sankoubox} + +\begin{colorindexbox} +以前に証明した +\[x^3+y^3+z^3-3xyz\leqq0\] +が分かれば,相加相乗平均を3文字に拡張した関係式の証明もできるので,宿題が終わってなお余力のある人は試してみよう! +\end{colorindexbox} + +\begin{sankoubox} +\url{https://mmsankosho.com/3kousoukasoujounoshoumeinoyarikata/} +\end{sankoubox} + +\mbox{\UTF{27A1}}\ignorespaces\quad 将来的には$n$個に拡張した証明もやります。\vspace{.5\zw} + +\vfill{\hfill{(問題集\ p.35〜p.38)}} + + +\end{document}
\ No newline at end of file diff --git a/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.pdf b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.pdf Binary files differnew file mode 100644 index 0000000000..e0b9699357 --- /dev/null +++ b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.pdf diff --git a/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.sty b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.sty new file mode 100644 index 0000000000..201d70314e --- /dev/null +++ b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.sty @@ -0,0 +1,3779 @@ +\NeedsTeXFormat{LaTeX2e}% + +\ProvidesPackage{mathformula}[2022/9/30,Version 1.0.0]% + +\RequirePackage{luatexja}% +\RequirePackage{luatexja-fontspec}% +\RequirePackage{luatexja-otf}% +%\RequirePackage[hiragino-pron,deluxe,expert,bold]{luatexja-preset}% +\RequirePackage{amsmath,amssymb,siunitx,ifthen,xparse,tikz,mathtools,graphics}% +\usetikzlibrary{arrows,shapes,intersections,calc,angles,decorations.shapes,arrows.meta,quotes,through,decorations.text}% + +\newcommand{\空行}{\vskip\baselineskip}% +\newcommand{\半空行}{\vskip.5\baselineskip}% +\newcommand{\証明開始}{\noindent\textgt{【証明】}\par}% +\newcommand{\証明終了}{\@rightalign{\ (Q.E.D.)}\par}% +\newcommand{\数式カンマスペース}{,\ }% +\newcommand*{\@rightalign}[1]% + {% + \hspace{\parfillskip}% + \mbox{}\linebreak[0]\mbox{}% + \nolinebreak[4]\hfill\mbox{#1}% + }% +\newcommand{\Ttyuukakko}[1]{\left(#1\right)}% +\newcommand{\Ttyuubracket}[1]{\left[#1\right]}% +\newcommand{\Tdaikakko}[1]{\left\{#1\right\}}% +\newcommand{\Tzettaiti}[1]{\left|#1\right|}% +\def\shikimaru#1{\text{\quad$\cdots\cdots$\,\ajMaru{#1}}} +\let\originalbigtriangleup\bigtriangleup +\def\bigtriangleup#1{\originalbigtriangleup{\mathrm{#1}}} +\DeclareRobustCommand\bunsuu{\@ifstar{\bunsuu@}{\@@bunsuu}} +\def\@@bunsuu#1#2{% + \dfrac{\lower.44ex\hbox{$\,#1\,$}}{\lower-.1ex\hbox{$\,#2\,$}}}% +\newlength{\@tempdima@math} +\newlength{\@tempdimb@math} +\newlength{\@tempdimd@math@math} +\newlength{\@tempdimw@math} +\DeclareRobustCommand\EMvphantom{\@ifstar{\EMvphantom@}{\EM@vphantom}} +\def\EM@vphantom{\@ifnextchar[{\@EMvphantom}{\@EMvphantom[\apnd@ht]}} +\def\@EMvphantom[#1]{\@ifnextchar[{\@@EMvphantom[#1]}{% + \@@EMvphantom[#1][#1]}} +\def\@@EMvphantom[#1][#2]#3{{% +% \edef\apnd@ht{#1}\edef\apnd@dp{#2}% + \@ifundefined{hakobanpush}{% + \@@@EMvphantom{#3}\ignorespaces + }{% + \hakobanpush\@@@EMvphantom{#3}\hakobanpop\ignorespaces + }% + \setlength{\@tempdima@math}{\ht0+#1}% + \setlength{\@tempdimb@math}{\dp0+#2}% + \vrule width \z@ height \@tempdima@math depth \@tempdimb@math +}} +\def\@@@EMvphantom#1{% + \ifmmode + \setbox0=\hbox{{$#1$}}% + \else + \setbox0=\hbox{{#1}}% + \fi +}% +\def\EMvphantom@{\@ifnextchar[{\@EMvphantom@}{\@EMvphantom@[\apnd@ht]}}% +\def\@EMvphantom@[#1]{\@ifnextchar[{\@@EMvphantom@[#1]}{% + \@@EMvphantom@[#1][#1]}}% +\def\@@EMvphantom@[#1][#2]#3{{\smash{#3}}% + \@@EMvphantom[#1][#2]{#3}\ignorespaces}% +\newsavebox{\@tempboxd@math} +\long\def\@colonfor#1:=#2\do#3{% % \@for の区切り記号を : に変えたバージョン + \expandafter\def\expandafter\@fortmp\expandafter{#2}% + \ifx\@fortmp\@empty \else + \expandafter\@colonforloop#2:{\@nil}:\@nil\@@#1{#3}\fi} +\long\def\@colonforloop#1:#2:#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else + #5\def#4{#2}\ifx #4\@nnil \else#5\@icolonforloop #3\@@#4{#5}\fi\fi} +\long\def\@icolonforloop#1:#2\@@#3#4{\def#3{#1}\ifx #3\@nnil + \expandafter\@fornoop \else + #4\relax\expandafter\@icolonforloop\fi#2\@@#3{#4}}% +\def\phrases@math{\renewcommand{\arraystretch}{1}\@ifnextchar<{\@phrases@math}{\@phrases@math<lr>}} +\def\@phrases@math<#1>{\@ifnextchar[{\@@phrases@math<#1>}{\@@phrases@math<#1>[l]}} +\def\@@phrases@math<#1>[#2]{\@ifnextchar({\@@@phrases@math<#1>[#2]}{\@@@phrases@math<#1>[#2](c)}} +\def\@@@phrases@math<#1>[#2](#3){\@ifnextchar|{\@@@@phrases@math<#1>[#2](#3)}{\@@@phrases@math<#1>[#2](#3)|0pt|}} +\def\@@@@phrases@math<#1>[#2](#3)|#4|#5{% + \savebox{\@tempboxd@math}{% + \EMvphantom*[5pt]{% + \ensuremath{% + \ifthenelse{\equal{#1}{lr}\OR\equal{#1}{l}}{\left\{}{\left.}% + \kern-.5ex% + \setbox8\hbox{\begin{tabular}{#2}#5\end{tabular}}% + \setlength{\@tempdimw@math}{\dp8+#4}% + \setbox9 \vtop to \@tempdimw@math {\leftskip0pt\rightskip0pt\hsize\wd8\noindent\smash{\usebox8}}% + \usebox9% + \kern-.5ex% + \ifthenelse{\equal{#1}{lr}\OR\equal{#1}{r}}{\right\}\ }{\right.}% + }% + }% + }% + \if#3t% + \setlength{\@tempdimd@math@math}{-\ht\@tempboxd@math + \baselineskip}% + \else + \if#3b% + \setlength{\@tempdimd@math@math}{\ht\@tempboxd@math - \baselineskip + 1pt}% + \else + \setlength{\@tempdimd@math@math}{0pt}% + \fi + \fi + \raisebox{\@tempdimd@math@math}{\usebox{\@tempboxd@math}}% +} + +\NewDocumentCommand{\二次式展開}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a+b}^2=a^2+2ab+b^2$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a+b}^2=a^2+2ab+b^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a-b}^2=a^2-2ab+b^2$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a-b}^2=a^2-2ab+b^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\Ttyuukakko{x-a}\Ttyuukakko{x+a}=x^2-a^2$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}} + {\[\Ttyuukakko{x-a}\Ttyuukakko{x+a}=x^2-a^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\Ttyuukakko{x+a}\Ttyuukakko{x+b}=x+\Ttyuukakko{a+b}x+ab$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{x+a}\Ttyuukakko{x+b}=x+\Ttyuukakko{a+b}x+ab\]}{\relax}% + }% + + +\NewDocumentCommand{\二次式因数分解}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$a^2+2ab+b^2=\Ttyuukakko{a+b}^2$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[a^2+2ab+b^2=\Ttyuukakko{a+b}^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$a^2-2ab+b^2=\Ttyuukakko{a-b}^2$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[a^2-2ab+b^2=\Ttyuukakko{a-b}^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$x^2-a^2=\Ttyuukakko{x-a}\Ttyuukakko{x+a}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}} + {\[x^2-a^2=\Ttyuukakko{x-a}\Ttyuukakko{x+a}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$x+\Ttyuukakko{a+b}x+ab=\Ttyuukakko{x+a}\Ttyuukakko{x+b}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[x+\Ttyuukakko{a+b}x+ab=\Ttyuukakko{x+a}\Ttyuukakko{x+b}\]}{\relax}% + + }% + + +\NewDocumentCommand{\平方根}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$a$は実数として,$\sqrt{a^2}=\Tzettaiti{a}$}% + {\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + $a$は実数として,% + \[\sqrt{a^2}=\Tzettaiti{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {% + $a\geqq0$のとき,% + $\Ttyuukakko{\sqrt{a}}^2=\Ttyuukakko{-\sqrt{a}}^2=a\数式カンマスペース\sqrt{a}\leqq0$% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + $a\leqq0$のとき,% + \[\Ttyuukakko{\sqrt{a}}^2=\Ttyuukakko{-\sqrt{a}}^2=a\数式カンマスペース\sqrt{a}\leqq0\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {$\sqrt{a}=\Tzettaiti{a}$}% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {\[\sqrt{a}=\Tzettaiti{a}\]}% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {% + $a>0\数式カンマスペース b>0\数式カンマスペース a\neq b$のとき,% + $\sqrt{a}\sqrt{b}=\sqrt{ab}$% + }% + {\relax} + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース b>0\数式カンマスペース a\neq b$のとき,% + \[\sqrt{a}\sqrt{b}=\sqrt{ab}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{i}}% + {$\bunsuu{\sqrt{a}}{\sqrt{b}}=\sqrt{\bunsuu{a}{b}}$}% + {\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{b}}% + {\[\bunsuu{\sqrt{a}}{\sqrt{b}}=\sqrt{\bunsuu{a}{b}}\]}% + {\relax}% + \ifthenelse{\equal{#1}{性質E}\AND\equal{#2}{i}}% + {$\sqrt{k^2a}=k\sqrt{a}$}% + {\relax}% + \ifthenelse{\equal{#1}{性質E}\AND\equal{#2}{b}}% + {\[\sqrt{k^2a}=k\sqrt{a}\]}% + {\relax}% + }% + + +\NewDocumentCommand{\一次不等式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {$a<b$のとき\数式カンマスペース $a+c<b+c$}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + $a<b$のとき\数式カンマスペース % + \[a+c<b+c\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {$c>0$のとき,$ac<bc$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + $c>0$のとき,% + \[ac<bc\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {$c<0$のとき,$ac>bc$}{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + $c<0$のとき,% + \[ac>bc\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\集合}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{積集合}\AND\equal{#2}{i}}% + {$\Ttyuukakko{A\cap B}$}{\relax}% + \ifthenelse{\equal{#1}{積集合}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{A\cap B}\]}{\relax}% + \ifthenelse{\equal{#1}{和集合}\AND\equal{#2}{i}}% + {$\Ttyuukakko{A\cup B}$}{\relax}% + \ifthenelse{\equal{#1}{和集合}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{A\cup B}\]}{\relax}% + \ifthenelse{\equal{#1}{補集合}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\overline{A}}$}{\relax}% + \ifthenelse{\equal{#1}{補集合}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\overline{A}}\]}{\relax}% + }% + + +\NewDocumentCommand{\対偶}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定理}\AND\equal{#2}{i}}% + {% + $P$ならば$Q$の命題において,\par% + 逆は$Q$ならば$P$\par% + 裏は$P$でないならば$Q$でない\par% + 対偶は$Q$でないならば$P$でない\par% + 対偶と元の命題の真偽は一致する。% + }% + {\relax}% + \ifthenelse{\equal{#1}{定理}\AND\equal{#2}{b}}% + {% + $P$ならば$Q$の命題において,\par% + 逆は$Q$ならば$P$\par% + 裏は$P$でないならば$Q$でない\par% + 対偶は$Q$でないならば$P$でない\par% + 対偶と元の命題の真偽は一致する。% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 命題を「$p$ならば$q$」とし$p$の真理集合を$P$\数式カンマスペース $q$の真理集合を$Q$とする。\par% + 「$p$ならば$q$」が真のとき,$Q\subset P\Leftrightarrow\overline{P}\subset\overline{Q}$より対偶命題「$q$でないならば$p$でない」は真。\par% + 「$p$ならば$q$」が偽のとき,$Q\not\subset P\Leftrightarrow\overline{P}\not\subset\overline{Q}$より対偶命題「$q$でないならば$p$でない」は偽。\par + 従って,対偶命題と元の命題の真偽は一致する。% + \証明終了% + }% + {\relax}% + }% + + +\newcommand{\背理法}{命題$P$ならば$Q$に対して$P$でないならば$Q$と仮定して矛盾を示す。}% + + +\NewDocumentCommand{\二次関数}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{標準形}\AND\equal{#2}{i}}% + {$y=a\Ttyuukakko{x-p}^2+q$}{\relax}% + \ifthenelse{\equal{#1}{標準形}\AND\equal{#2}{b}}% + {\[y=a\Ttyuukakko{x-p}^2+q\]}{\relax}% + \ifthenelse{\equal{#1}{一般形}\AND\equal{#2}{i}}% + {$y=ax^2+bx+c$}{\relax}% + \ifthenelse{\equal{#1}{一般形}\AND\equal{#2}{b}}% + {\[y=ax^2+bx+c\]}{\relax}% + \ifthenelse{\equal{#1}{切片形}\AND\equal{#2}{i}}% + {$y=a\Ttyuukakko{x-\alpha}\Ttyuukakko{x-\beta}$}{\relax}% + \ifthenelse{\equal{#1}{切片形}\AND\equal{#2}{b}}% + {\[y=a\Ttyuukakko{x-\alpha}\Ttyuukakko{x-\beta}\]}{\relax}% + \ifthenelse{\equal{#1}{平方完成}\AND\equal{#2}{i}}% + {$y=ax^2+bx+c$に対して,$y=a\Ttyuukakko{x+\bunsuu{b}{2a}}-\bunsuu{b^2-4ac}{4a}$}{\relax}% + \ifthenelse{\equal{#1}{平方完成}\AND\equal{#2}{b}}% + {% + $y=ax^2+bx+c$に対して,% + \[y=a\Ttyuukakko{x+\bunsuu{b}{2a}}-\bunsuu{b^2-4ac}{4a}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\二次方程式の解の公式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$ax^2+bx+c=0 \Ttyuukakko{a\neq0}$に対して,$x=\bunsuu{-b\pm\sqrt{b^2-4ac}}{2a}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + $ax^2+bx+c=0 \Ttyuukakko{a\neq0}$に対して,% + \[x=\bunsuu{-b\pm\sqrt{b^2-4ac}}{2a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明A}}% + {% + \証明開始% + \vspace{-1\zw}% + \begin{align*}% + ax^2+bx+c&=0&\\% + a\Ttyuukakko{x^2+\bunsuu{b}{a}x}+c&=0&\\% + a\Tdaikakko{\Ttyuukakko{x+\bunsuu{b}{2a}}^2-\bunsuu{b^2}{4a^2}}+c&=0&\\% + a\Ttyuukakko{x+\bunsuu{b}{2a}}^2-\bunsuu{b^2}{4a}+c&=0&\\% + \Ttyuukakko{x+\bunsuu{b}{2a}}^2&=\bunsuu{b^2-4ac}{4a^2}&\\% + x&=\bunsuu{-b\pm\sqrt{b^2-4ac}}{2a}% + \end{align*}% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明B}}% + {% + \証明開始% + \vspace{-1\zw}% + \begin{align*}% + ax^2+bx+c&=0&\\% + 4a^2x^2+4abx+4ac&=0&\\% + \Ttyuukakko{2ax+b}^2-b^2+4ac&=0&\\% + 2ax+b&=\pm\sqrt{b^2-4ac}&\\% + x&=\bunsuu{-b\pm\sqrt{b^2-4ac}}{2a}% + \end{align*}% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角比の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義A}\AND\equal{#2}{i}}% + {% + \begin{tikzpicture}% + \draw(0,0)--(1.5,0)--(1.5,2)--cycle;% + \draw(0,0)node[below]{A};% + \draw(1.5,0)node[below]{B};% + \draw(1.5,2)node[above]{C};% + \draw(0,0)coordinate(A);% + \draw(1.5,0)coordinate(B);% + \draw(1.5,2)coordinate(C);% + \draw pic[draw,black,thin,angle radius=0.3cm]{right angle=A--B--C};% + \draw pic["$\theta$",draw=black,->,thin,angle eccentricity=1.4,angle radius=0.4cm]{angle=B--A--C};% + \end{tikzpicture}% + \空行% + 図の様な直角三角形ABCにおいて$\angle\mathrm{CAB}=\theta$のとき,% + \[% + \sin\theta=\bunsuu{\text{BC}}{\text{AC}}\数式カンマスペース% + \cos\theta=\bunsuu{\text{AB}}{\text{AC}}\数式カンマスペース% + \tan\theta=\bunsuu{\text{BC}}{\text{AB}}% + \]% + }% + {\relax}% + \ifthenelse{\equal{#1}{定義B}\AND\equal{#2}{i}}% + {% + \begin{tikzpicture}% + \draw(0,0)--(1.05,1.4);% + \draw[dashed](0.75,1)--(0,1);% + \draw(0,0)node[below right]{O};% + \draw(0.75,0)node[below]{$x$};% + \draw(0,1)node[left]{$y$};% + \draw(0.8,1)node[right]{P$\Ttyuukakko{x,y}$};% + \draw(0,0)circle[radius=1.25];% + \draw(0,-1.25)node[below left]{$-r$};% + \draw(-1.25,0)node[below left]{$-r$};% + \draw(0,1.25)node[above left]{$r$};% + \draw(1.25,0)node[below right]{$r$};% + \draw[->,>=stealth,semithick](-1.5,0)--(1.5,0)node[right]{$x$};% + \draw[->,>=stealth,semithick](0,-1.5)--(0,1.5)node[above]{$y$};% + \draw[dashed](0,0)coordinate(O)-- (0.75,0)coordinate(Q)-- (0.75,1)coordinate(P);% + \draw pic["$\theta$",draw=black,->,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=Q--O--P};% + \end{tikzpicture}% + \空行% + 図において% + \[\sin\theta=\bunsuu{y}{r}\数式カンマスペース\cos\theta=\bunsuu{x}{r}\数式カンマスペース\tan\theta=\bunsuu{y}{x}\]% + このとき,$r=1$にしても一般性を失わない。% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角比の相互関係}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin^2\theta+\cos^2\theta=1$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin^2\theta+\cos^2\theta=1\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\tan\theta=\bunsuu{\sin\theta}{\cos\theta}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\tan\theta=\bunsuu{\sin\theta}{\cos\theta}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$1+\tan^2\theta=\bunsuu{1}{\cos^2\theta}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[1+\tan^2\theta=\bunsuu{1}{\cos^2\theta}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(0,0)--(1.05,1.4);% + \draw[dashed](0.75,1)--(0,1);% + \draw(0,0)node[below right]{O};% + \draw(0.75,0)node[below]{$x$};% + \draw(0,1)node[left]{$y$};% + \draw(0.8,1)node[right]{P$\Ttyuukakko{x,y}$};% + \draw(0,0)circle[radius=1.25];% + \draw(0,-1.25)node[below left]{$-r$};% + \draw(-1.25,0)node[below left]{$-r$};% + \draw(0,1.25)node[above left]{$r$};% + \draw(1.25,0)node[below right]{$r$};% + \draw[->,>=stealth,semithick](-1.5,0)--(1.5,0)node[right]{$x$};% + \draw[->,>=stealth,semithick](0,-1.5)--(0,1.5)node[above]{$y$};% + \draw[dashed](0,0)coordinate(O)-- (0.75,0)coordinate(Q)-- (0.75,1)coordinate(P);% + \draw pic["$\theta$",draw=black, ->,thin,angle eccentricity=1.4,angle radius=0.4cm]{angle=Q--O--P};% + \end{tikzpicture}% + \空行% + 図において,$\sin\theta=\bunsuu{y}{r}\数式カンマスペース\quad\cos\theta=\bunsuu{x}{r}$より% + \[\sin^2\theta+\cos^2\theta=\bunsuu{y^2+x^2}{r^2}\]% + ここで,三平方の定理より$x^2+y^2=r^2$なので% + \[\sin^2\theta+\cos^2\theta=\bunsuu{r^2}{r^2}=1\]% + \空行% + $\sin\theta=\bunsuu{y}{r}\数式カンマスペース\quad\cos\theta=\bunsuu{x}{r}\quad\tan\theta=\bunsuu{y}{x}$より% + \[\bunsuu{\sin\theta}{\cos\theta}=\bunsuu{y}{x}=\tan\theta\]% + \空行% + $\sin^2\theta+\cos^2\theta=1$の両辺を$\cos^2\theta$で割ることで,% + \[\bunsuu{\sin^2\theta}{\cos^2\theta}+1=\bunsuu{1}{\cos^2\theta}\]% + ここで,$\bunsuu{\sin\theta}{\cos\theta}=\tan\theta$なので% + \[\tan^2\theta+1=\bunsuu{1}{\cos^2\theta}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\ユークリッド幾何の公理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公理A}\AND\equal{#2}{i}}% + {二つの異なる二点を与えることで,それを通る直線が一意的に決定する。}{\relax}% + \ifthenelse{\equal{#1}{公理B}\AND\equal{#2}{i}}% + {一つの直線$l$と$l$上にない一つの点が与えられたとき,与えられた点を通り,$l$に平行な直線をただ一つ引くことができる。}{\relax}% + }% + + +\newcommand{\直線}{両方向に限りなく伸びたまっすぐな線。}% + + +\newcommand{\線分}{直線ABのうち,二点A\数式カンマスペース Bを端とする部分。}% + + +\newcommand{\半直線}{直線ABのうち,一方の点を端とし,もう一方に限りなく伸びた部分。}% + + +\newcommand{\距離} + {% + 空でない集合Xの元$x\数式カンマスペース y$にたいして,実数値$d(x\数式カンマスペース y)$が定義され,% + \[d(x\数式カンマスペース y)=0\Leftrightarrow x=y\数式カンマスペース\quad(x\数式カンマスペース y)=d(y\数式カンマスペース x)\数式カンマスペース\quad(x\数式カンマスペース y)\leqq d(x\数式カンマスペース y)+d(y\数式カンマスペース x)\]% + の三つの性質を満たす$d$をX上の距離といい,$(\text{X}\数式カンマスペース d)$を距離空間という。 % + }% + + +\newcommand{\円}{平面上の一点から等しい距離にある点の集合。}% + + +\newcommand{\弧}{円周上の二点A\数式カンマスペース Bに対して,A\数式カンマスペース Bによって分けられた円周の各々の部分を弧ABといい,$\overarc{AB}$と表す。}% + + +\newcommand{\弦}{弧の両端を結んだ線分。}% + + +\newcommand{\中心角}{円の中心を頂点として,2辺が弧の両端を通る角を,その弧に対する中心角という。}% + + +\NewDocumentCommand{\対頂角}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {% + \begin{tikzpicture}% + \draw(0,0)--(2,2);% + \draw(2,0)--(0,2);% + \draw(0,0)coordinate(O);% + \draw(2,2)coordinate(A);% + \draw(2,0)coordinate(B);% + \draw(0,2)coordinate(C); % + \draw(1,1)coordinate(D);% + \draw pic["A",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=A--D--C};% + \draw pic["B",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=O--D--B};% + \end{tikzpicture}% + \空行% + 図において,$\angle\mathrm{A}$と$\angle\mathrm{B}$を対頂角という。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質}\AND\equal{#2}{i}}% + {対頂角は等しい。}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(0,0)--(2,2);% + \draw(2,0)--(0,2);% + \draw(0,0)coordinate(O);% + \draw(2,2)coordinate(A);% + \draw(2,0)coordinate(B);% + \draw(0,2)coordinate(C);% + \draw(1,1)coordinate(D);% + \draw pic["A",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=A--D--C};% + \draw pic["\,C",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.3cm] {angle=B--D--A};% + \draw pic["B",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=O--D--B};% + \end{tikzpicture}% + \空行% + \[180^\circ =\angle\mathrm{A}+\angle\mathrm{C}\]% + \[180^\circ=\angle\mathrm{B}+\angle\mathrm{C}\]% + \[\Leftrightarrow\angle\mathrm{A}=\angle\mathrm{B}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\錯角}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {% + \begin{tikzpicture}% + \draw(-1,-0.5)--(2,1);% + \draw(-1,-1)--(2,-1);% + \draw(0,-2)--(2,2);% + \draw(2,2)coordinate(A);% + \draw(1.3333,0.66666)coordinate(B);% + \draw(2,1)coordinate(C);% + \draw(2,-1)coordinate(D);% + \draw(0.5,-1)coordinate(E);% + \draw(0,-2)coordinate(F);% + \draw(-1,-1)coordinate(G);% + \draw(-1,-0.5)coordinate(H);% + \draw pic["\,A",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.3cm] {angle=E--B--C};% + \draw pic["B\,\,\,",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.3cm] {angle=B--E--G};% + \end{tikzpicture} + \空行% + 図において,$\angle\mathrm{A}$と$\angle\mathrm{B}$を錯角という。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質}\AND\equal{#2}{i}}% + {直線$l\数式カンマスペース m$において,錯角が等しい$\Leftrightarrow$直線$l,m$は平行。}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(-1,1)--(2,1);% + \draw(-1,-1)--(2,-1);% + \draw(0,-2)--(2,2);% + \draw(2,2)coordinate(A);% + \draw(1.5,1)coordinate(B);% + \draw(2,1)coordinate(C);% + \draw(2,-1)coordinate(D);% + \draw(0.5,-1)coordinate(E);% + \draw(0,-2)coordinate(F);% + \draw(-1,-1)coordinate(G);% + \draw(-1,1)coordinate(H);% + \draw pic["\,\,\,A",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.3cm] {angle=E--B--C};% + \draw pic["B\,\,\,",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.3cm] {angle=A--E--G};% + \draw pic["C\,\,\,",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.3cm] {angle=A--B--H};% + \end{tikzpicture} + \空行% + \begin{enumerate}% + \item 「平行ならば錯角が等しい」の証明。% + \空行% + 対頂角は等しいので,% + \[\angle\mathrm{A}=\angle\mathrm{C}\]% + ここで,$\angle\mathrm{B}$と$\angle\mathrm{C}$は同位角なので等しいので,% + \[\angle\mathrm{A}=\angle\mathrm{B}\]% + \item 「錯角が等しいならば平行」の証明。% + \空行% + 錯角が等しいので,% + \[\angle\mathrm{A}=\angle\mathrm{B}\]% + 対頂角は等しいので,% + \[\angle\mathrm{A}=\angle\mathrm{C}\]% + \[\Leftrightarrow\angle\mathrm{C}=\angle\mathrm{B}\]% + 即ち,同位角が等しいので二直線は平行。% + \end{enumerate}% + \証明終了% + }% + {\relax}% + }% + +\NewDocumentCommand{\同位角}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {% + \begin{tikzpicture}% + \draw(-1,-0.5)--(2,1);% + \draw(-1,-1)--(2,-1);% + \draw(0,-2)--(2,2);% + \draw(2,2)coordinate(A);% + \draw(1.3333,0.66666)coordinate(B);% + \draw(2,1)coordinate(C);% + \draw(2,-1)coordinate(D);% + \draw(0.5,-1)coordinate(E);% + \draw(0,-2)coordinate(F);% + \draw(-1,-1)coordinate(G);% + \draw(-1,-0.5)coordinate(H);% + \draw pic["\,\,A",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=C--B--A};% + \draw pic["\,\,B",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=D--E--B};% + \end{tikzpicture} + \空行% + 図において,$\angle\mathrm{A}$と$\angle\mathrm{B}$を同位角という。 + }% + {\relax}% + \ifthenelse{\equal{#1}{公理}\AND\equal{#2}{i}}% + {直線$l,m$において,同位角が等しい$\Leftrightarrow$直線$l\数式カンマスペース m$は平行。}{\relax}% + }% + + +\NewDocumentCommand{\正弦定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {三角形ABCの外接円の半径をRとして,$\bunsuu{a}{\sin\text{A}}=2\text{R}\text{\ (}b\数式カンマスペース\text{B +}\数式カンマスペース c\数式カンマスペース\text{Cについても同様に成立})$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 三角形ABCの外接円の半径をRとして,% + \[\bunsuu{a}{sin\text{A}}=2\text{R}\]% + ($b,B,c,C$についても同様に成立)% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \空行% + \begin{tikzpicture}% + \draw(0,1.25)coordinate(A)-- (1,-0.75)coordinate(C)-- (-1,-0.75)coordinate(B);% + \draw pic["A",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=B--A--C};% + \draw(-1,0.75)coordinate(D);% + \draw pic["D",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=B--D--C};% + \draw(0,1.25)--(1,-0.75)--(-1,-0.75)--cycle;% + \draw(0,1.25)node[above]{A};% + \draw(1,-0.75)node[below]{C};% + \draw(-1,-0.75)node[left]{B};% + \draw(-1,0.75)node[left]{D};% + \draw(-1,0.75)--(1,-0.75)--(-1,-0.75)--cycle;% + \draw [line width=0.2pt] (B) to [bend right=27] node [fill=white,midway] { $a$ }(C);% + \draw(0,0)circle[radius=1.25];% + \draw pic[draw,black,thin,angle radius=0.3cm] {right angle=D--B--C};% + \draw(0,0)node[above]{O};% + \draw(0,0)coordinate(O);% + \fill[black](O)circle(0.03);% + \end{tikzpicture}% + \空行% + 図において円周角の定理より,% + \[\angle\mathrm{A}=\angle\mathrm{D}\]% + なので,円Oの半径をRとして$\sin\text{A}=\sin\text{D}=\bunsuu{a}{2\text{R}}$より,% + \[\bunsuu{a}{\sin\text{A}}=2\text{R}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\余弦定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {三角形ABCにおいて,$a^2=b^2+c^2-2bc\cos\text{A}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 三角形ABCにおいて,% + \[a^2=b^2+c^2-2bc\cos\text{A}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \空行% + \begin{tikzpicture}% + \draw(0,0)--(2.5,0)--(1.5,2)--cycle;% + \draw(0,0)node[below]{A};% + \draw(1.5,2)node[above]{B};% + \draw(2.5,0)node[below]{C};% + \draw(1.5,0)node[below]{H};% + \draw(0,0)coordinate(A);% + \draw(1.5,0)coordinate(H);% + \draw(1.5,2)coordinate(B);% + \draw(1.5,0)--(1.5,2);% + \draw pic[draw,black,thin,angle radius=0.3cm] {right angle=A--H--B};% + \draw pic["$A$",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=H--A--B};% + \end{tikzpicture}% + \空行% + 図において$\text{BC}=a,\text{CA}=b,\text{AC}=c$として,% + \[\text{BH}=c\sin\text{A},\quad\text{AH}=c\cos\text{A}\]% + また,三角形BHCに三平方の定理を用いることにより% + \[\text{CB}^2=\text{BH}^2+\text{HC}^2\]% + ここで,$\text{HC}=\text{AC}-\text{AH}=b-c\cos\text{A},\quad\text{BH}=c\sin\text{A}$より% + \begin{align*}% + a^2&=\Ttyuukakko{c\sin\text{A}}^2+\Ttyuukakko{b-c\cos\text{A}}^2&\\% + &=c^2\sin^2\text{A}+b^2-2bc\cos\text{A}+c^2\cos^2\text{A}&\\% + &=c^2\Ttyuukakko{1-\cos^2\text{A}}+b^2-2bc\cos\text{A}+c^2\cos^2\text{A}&\\% + &=b^2+c^2-2bc\cos\text{A}% + \end{align*}% + よって,% + \[a^2=b^2+c^2-2bc\cos\text{A}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角形の面積}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {三角形ABCの面積を$S$として,$S=\bunsuu{1}{2}bc\sin\text{A}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 三角形ABCの面積を$S$として,% + \[S=\bunsuu{1}{2}bc\sin\text{A}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(0,0)--(2.5,0)--(1.5,2)--cycle;% + \draw(0,0)node[below]{A};% + \draw(1.5,2)node[above]{B};% + \draw(2.5,0)node[below]{C};% + \draw(1.5,0)node[below]{H};% + \draw(0,0)coordinate(A);% + \draw(1.5,0)coordinate(H);% + \draw(1.5,2)coordinate(B);% + \draw(1.5,0)--(1.5,2);% + \draw pic[draw,black,thin,angle radius=0.3cm] {right angle=A--H--B};% + \draw pic["$A$",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=H--A--B};% + \end{tikzpicture}% + \空行% + 図において% + \[\text{BC}=a\数式カンマスペース\text{CA}=B\数式カンマスペース\text{AC}=c\]% + また,三角形ABCの面積を$S$として$S=\bunsuu{1}{2}\text{AC}\times\text{BH}$と,$AB\sin\text{A}=\text{BH}$から,% + \[S=\bunsuu{1}{2}bc\sin\text{A}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\場合の数と確率}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{和集合の要素の個数}\AND\equal{#2}{i}}% + {$n\Ttyuukakko{A\cup B}=n\Ttyuukakko{A}+n\Ttyuukakko{B}-n\Ttyuukakko{A\cap B}$}{\relax}% + \ifthenelse{\equal{#1}{和集合の要素の個数}\AND\equal{#2}{b}}% + {\[n\Ttyuukakko{A\cup B}=n\Ttyuukakko{A}+n\Ttyuukakko{B}-n\Ttyuukakko{A\cap B}\]}{\relax}% + \ifthenelse{\equal{#1}{補集合の要素の個数}\AND\equal{#2}{i}}% + {全体集合を$U$として,$n\Ttyuukakko{\overline{A}}=n\Ttyuukakko{U}-n\Ttyuukakko{A}$}{\relax}% + \ifthenelse{\equal{#1}{補集合の要素の個数}\AND\equal{#2}{b}}% + {全体集合を$U$として,\[n\Ttyuukakko{\overline{A}}=n\Ttyuukakko{U}-n\Ttyuukakko{A}\]}{\relax}% + \ifthenelse{\equal{#1}{和の法則}\AND\equal{#2}{i}}% + {二つの事象A\数式カンマスペース Bにたいして,Aの起こりかたが$a$通り,Bの起こりかたが$b$通りのとき,AまたはBの起こる場合の数は$a+b$通り}{\relax}% + \ifthenelse{\equal{#1}{和の法則}\AND\equal{#2}{b}}% + {二つの事象A\数式カンマスペース Bにたいして,Aの起こりかたが$a$通り,Bの起こりかたが$b$通りのとき,AまたはBの起こる場合の数は$a+b$通り}{\relax}% + \ifthenelse{\equal{#1}{積の法則}\AND\equal{#2}{i}}% + {二つの事象A\数式カンマスペース Bにたいして,Aの起こりかたが$a$通り,Bの起こりかたが$b$通りのとき,AかつBの起こる場合の数は$ab$通り}{\relax}% + \ifthenelse{\equal{#1}{積の法則}\AND\equal{#2}{b}}% + {二つの事象A\数式カンマスペース Bにたいして,Aの起こりかたが$a$通り,Bの起こりかたが$b$通りのとき,AかつBの起こる場合の数は$ab$通り}{\relax}% + \ifthenelse{\equal{#1}{順列}\AND\equal{#2}{i}}% + {異なる$n$個のものから$r$個選んで並べる場合の数は${}_{n}P_{r}=\bunsuu{n!}{\Ttyuukakko{n-r}!}$}{\relax}% + \ifthenelse{\equal{#1}{順列}\AND\equal{#2}{b}}% + {% + 異なる$n$個のものから$r$個選んで並べる場合の数は% + \[{}_{n}P_{r}=\bunsuu{n!}{\Ttyuukakko{n-r}!}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{順列の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + 異なる$n$個のものから$r$個選んで並べる場合の数は,% + \[n\times\Ttyuukakko{n-1}\times\Ttyuukakko{n-2}\times\cdots\Ttyuukakko{n-r+1}=\bunsuu{n!}{\Ttyuukakko{n-r}!}\]% + ここで,$\bunsuu{n!}{\Ttyuukakko{n-r}!}$を${}_{n} P_{r}$と表す。% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{円順列}\AND\equal{#2}{i}}% + {異なる$n$個のものを円に並べる場合の数は$\Ttyuukakko{n-1}!$}{\relax}% + \ifthenelse{\equal{#1}{円順列}\AND\equal{#2}{b}}% + {異なる$n$個のものを円に並べる場合の数は\[\Ttyuukakko{n-1}!\]}{\relax}% + \ifthenelse{\equal{#1}{円順列の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $n$個のものを円形に並べるとき,1つを固定して考えると,残り$n-1$個を並べる順列の個数に等しい。よって$\Ttyuukakko{n-1}!$通りとなる。% + }% + {\relax}% + \ifthenelse{\equal{#1}{重複順列}\AND\equal{#2}{i}}% + {$n$個から$r$個,重複を許して並べる場合の数は$n^r$}{\relax}% + \ifthenelse{\equal{#1}{重複順列}\AND\equal{#2}{b}}% + {$n$個から$r$個,重複を許して並べる場合の数は\[n^r\]}{\relax}% + \ifthenelse{\equal{#1}{組み合わせ}\AND\equal{#2}{i}}% + {異なる$n$個のものから$r$個選ぶ場合の数は,${}_{n}C_{r}=\bunsuu{n!}{r!\Ttyuukakko{n-r}!}$}{\relax}% + \ifthenelse{\equal{#1}{組み合わせ}\AND\equal{#2}{b}}% + {% + 異なる$n$個のものから$r$個選ぶ場合の数は,% + \[{}_{n}C_{r}=\bunsuu{n!}{r!\Ttyuukakko{n-r}!}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{組み合わせの証明}\AND\equal{#2}{i}}% + {% + \証明開始% + 異なる$n$個のものから$r$個選ぶ場合の数は,順列を重複度で割ったものなので% + \[\bunsuu{{}_{n} P_{r}}{r!}=\bunsuu{n!}{r!\Ttyuukakko{n-r}!}\]% + ここで,$\bunsuu{n!}{r!\Ttyuukakko{n-r}!}$を${}_{n}C_{r}$と表す。 + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{同じものを含む順列}\AND\equal{#2}{i}}% + {aが$p$個,bが$q$個,cが$r$個,とある時,それら全部を並べる場合の数は,$\bunsuu{n!}{p!q!r!}$(ただし,$p+q+r=n$)}{\relax}% + \ifthenelse{\equal{#1}{同じものを含む順列}\AND\equal{#2}{b}}% + {% + aが$p$個,bが$q$個,cが$r$個,とある時,それら全部を並べる場合の数は,% + \[\bunsuu{n!}{p!q!r!}\text{\ (ただし,$p+q+r=n$)}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{同じものを含む順列の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $n$個のものを並べる場合の数は$n!$通りだが,$n$個の中に同じものが含まれているので,重複度で割ることで$\bunsuu{n!}{p!q!r!}$を得る。% + \証明終了% + }% + {\relax}% + + \ifthenelse{\equal{#1}{確率の定義}\AND\equal{#2}{i}}% + {全事象$U$のどの根元事象も同様に確からしいとき,事象Aの起こる確率は,$P\Ttyuukakko{A}=\bunsuu{n\Ttyuukakko{A}}{n\Ttyuukakko{U}}$}{\relax}% + \ifthenelse{\equal{#1}{確率の定義}\AND\equal{#2}{b}}% + {% + 全事象$U$のどの根元事象も同様に確からしいとき,事象Aの起こる確率は,% + \[P\Ttyuukakko{A}=\bunsuu{n\Ttyuukakko{A}}{n\Ttyuukakko{U}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{排反の定義}\AND\equal{#2}{i}}% + {事象A\数式カンマスペース Bが同時に起こりえないとき}{\relax}% + \ifthenelse{\equal{#1}{排反の定義}\AND\equal{#2}{b}}% + {事象A\数式カンマスペース Bが同時に起こりえないとき}{\relax}% + \ifthenelse{\equal{#1}{確率の性質A}\AND\equal{#2}{i}}% + {任意の事象Aに対して,$0\leqq A\leqq1$}{\relax}% + \ifthenelse{\equal{#1}{確率の性質A}\AND\equal{#2}{b}}% + {% + 任意の事象Aに対して,% + \[0\leqq A\leqq1\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{確率の性質B}\AND\equal{#2}{i}}% + {全事象Uの確率$P\Ttyuukakko{U}=1$}{\relax}% + \ifthenelse{\equal{#1}{確率の性質B}\AND\equal{#2}{b}}% + {% + 全事象Uの確率% + \[P\Ttyuukakko{U}=1\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{和事象の確率}\AND\equal{#2}{i}}% + {$P\Ttyuukakko{A\cup B}=P\Ttyuukakko{A}+P\Ttyuukakko{B}-P\Ttyuukakko{A\cap B}$}{\relax}% + \ifthenelse{\equal{#1}{和事象の確率}\AND\equal{#2}{b}}% + {\[P\Ttyuukakko{A\cup B}=P\Ttyuukakko{A}+P\Ttyuukakko{B}-P\Ttyuukakko{A\cap B}\]}{\relax}% + \ifthenelse{\equal{#1}{余事象の確率}\AND\equal{#2}{i}}% + {$P\Ttyuukakko{\overline{A}}=1-P\Ttyuukakko{A}$}{\relax}% + \ifthenelse{\equal{#1}{余事象の確率}\AND\equal{#2}{b}}% + {\[P\Ttyuukakko{\overline{A}}=1-P\Ttyuukakko{A}\]}{\relax}% + \ifthenelse{\equal{#1}{独立な事象の確率}\AND\equal{#2}{i}}% + {事象AとBが独立のとき,事象Aが起こりかつ事象Bが起こる確率$p$は,$p=P\Ttyuukakko{A}P\Ttyuukakko{B}$}{\relax}% + \ifthenelse{\equal{#1}{独立な事象の確率}\AND\equal{#2}{b}}% + {% + 事象AとBが独立のとき,事象Aが起こりかつ事象Bが起こる確率$p$は,% + \[p=P\Ttyuukakko{A}P\Ttyuukakko{B}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{反復試行の確率}\AND\equal{#2}{i}}% + {一回の試行で事象Aの起こる確率を$p$として,この試行を$n$回行う反復試行でAが$r$回起こる確率は,${}_{n}C_{r}\Ttyuukakko{p}^r\Ttyuukakko{1-p}^{n-r}$}{\relax}% + \ifthenelse{\equal{#1}{反復試行の確率}\AND\equal{#2}{b}}% + {% + 一回の試行で事象Aの起こる確率を$p$として,この試行を$n$回行う反復試行でAが$r$回起こる確率は,% + \[{}_{n}C_{r}\Ttyuukakko{p}^r\Ttyuukakko{1-p}^{n-r}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{反復試行の確率の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $n$回の試行のうち事象Aが$r$回起こる順番の場合の数は${}_{n} C_{r}$通り。さらに,Aが起こる確率は$p$で$r$回起こり,Aの余事象が起こる確率は$p-1$で$n-r$回起こるので,% + \[{}_{n}C_{r}\Ttyuukakko{p}^r\Ttyuukakko{1-p}^{n-r}\]% + となる。 + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{条件付き確率}\AND\equal{#2}{i}}% + {事象Aが起こったときの事象Bの起こる確率は,$P_{A}\Ttyuukakko{B}=\bunsuu{P\Ttyuukakko{A\cap B}}{P\Ttyuukakko{A}}$}{\relax}% + \ifthenelse{\equal{#1}{条件付き確率}\AND\equal{#2}{b}}% + {% + 事象Aが起こったときの事象Bの起こる確率は,% + \[P_{A}\Ttyuukakko{B}=\bunsuu{P\Ttyuukakko{A\cap B}}{P\Ttyuukakko{A}}\]% + }% + {\relax}% + }% + + +\newcommand{\図形の性質}[1]% + {% + \ifthenelse{\equal{#1}{内心}}% + {% + \begin{tikzpicture}% + \draw(-2.4,0.2)--(0,2)--(0,-3)--cycle;% + \draw(-1,0)circle[radius=1];% + \draw(-2.4,0.2)node[left]{A};% + \draw(0,2)node[above]{B};% + \draw(0,-3)node[below]{C};% + \draw(-1,0)node[below]{O};% + \end{tikzpicture}% + \空行% + 図においてOが内心% + }% + {\relax}% + \ifthenelse{\equal{#1}{外心}}% + {% + \begin{tikzpicture}% + \draw(-2,0)--(1.6,1.2)--(1.2,-1.6)--cycle;% + \draw(0,0)circle[radius=2];% + \draw(0,0)node[below]{O};% + \draw(-2,0)node[left]{A};% + \draw(1.6,1.2)node[right]{B};% + \draw(1.2,-1.6)node[below]{C};% + \end{tikzpicture}% + \空行% + 図においてOが外心% + }% + {\relax}% + \ifthenelse{\equal{#1}{垂心}}% + {% + \begin{tikzpicture}% + \draw(0,0)--(3,0)--(2,3)--cycle;% + \draw(0,0)--(2.7,0.9);% + \draw(2,3)--(2,0);% + \draw(3,0)--(0.92,1.4);% + \draw(0,0)node[below]{A};% + \draw(3,0)node[below]{C};% + \draw(2,3)node[above]{B};% + \draw(2.7,0.9)node[right]{P};% + \draw(2,0)node[below]{Q};% + \draw(0.92309,1.46154)node[left]{R};% + \draw(2,1)node[right]{H};% + \end{tikzpicture}% + \空行% + 図においてHが垂心% + }% + {\relax}% + \ifthenelse{\equal{#1}{重心}}% + {% + \begin{tikzpicture}% + \draw(0,0)--(3,0)--(2,3)--cycle;% + \draw(0,0)--(2.5,1.5);% + \draw(3,0)--(1,1.5);% + \draw(2,3)--(1.5,0);% + \draw(0,0)node[below]{A};% + \draw(3,0)node[below]{B};% + \draw(2,3)node[above]{C};% + \draw(1.5,0)node[below]{D};% + \draw(2.5,1.5)node[right]{E};% + \draw(1,1.5)node[left]{F};% + \draw(1.75,1)node[right]{G};% + \end{tikzpicture}% + \空行% + 図においてGが重心% + }% + {\relax}% + \ifthenelse{\equal{#1}{傍心}}% + {% + \begin{tikzpicture} + \draw(-0.4,2.8)--(-1,2)--(0.666666,2)--cycle;% + \draw(-0.4,2.8)node[above]{A};% + \draw(-1,2)node[left]{B};% + \draw(0.666666,2)node[right]{C};% + \draw(-0.4,2.8)--(-2.8,-0.4);% + \draw(-2.8,-0.4)node[below]{H};% + \draw(-0.4,2.8)--(2.8,0.4);% + \draw(2.8,0.4)node[right]{G};% + \draw(-0.4,2.8)--(0,0);% + \draw(0,0)node[below]{I};% + \draw(-1,2)--(0,0);% + \draw(0.666666,2)--(0,0);% + \draw(0,2)node[above]{D};% + \draw(-1.6,1.2)node[left]{E};% + \draw(1.2,1.6)node[right]{F};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + 図においてIが傍心% + }% + {\relax}% + \ifthenelse{\equal{#1}{チェバの定理}}% + {% + \begin{tikzpicture} + \draw(2,3)--(0,0)--(3,0)--cycle;% + \draw(2,3)node[above]{A};% + \draw(2,3)--(1.5,0);% + \draw(0,0)node[below]{B};% + \draw(0,0)--(2.75,0.75);% + \draw(3,0)node[below]{C};% + \draw(3,0)--(0.5,0.75);% + \draw(1.5,0)node[below]{P};% + \draw(2.75,0.75)node[right]{Q};% + \draw(0.5,0.75)node[left]{R};% + \draw(1.62,0.8)node[right]{O};% + \end{tikzpicture} + \空行% + $\bunsuu{\text{BP}}{\text{PC}}\cdot\bunsuu{\text{CQ}}{\text{QA}}\cdot\bunsuu{\text{AR}}{\text{RB}}=1$% + }% + {\relax}% + \ifthenelse{\equal{#1}{チェバの定理の証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(2,3)--(0,0)--(3,0)--cycle;% + \draw(2,3)node[above]{A};% + \draw(2,3)--(1.5,0);% + \draw(0,0)node[below]{B};% + \draw(0,0)--(2.75,0.75);% + \draw(3,0)node[below]{C};% + \draw(3,0)--(0.5,0.75);% + \draw(1.5,0)node[below]{P};% + \draw(2.75,0.75)node[right]{Q};% + \draw(0.5,0.75)node[left]{R};% + \draw(1.62,0.8)node[right]{O};% + \end{tikzpicture}% + \空行% + 図において三角形の面積比を考えると,% + \[\bigtriangleup{ABO}:\bigtriangleup{ACO}=\mathrm{BP}:\mathrm{CP}\]% + \[\Leftrightarrow\bunsuu{\bigtriangleup{ABO}}{\bigtriangleup{ACO}}=\bunsuu{BP}{PC}\]% + 同様にして,% + \[\bunsuu{\bigtriangleup{BCO}}{\bigtriangleup{BAO}}=\bunsuu{CQ}{QA}\]% + \[\bunsuu{\bigtriangleup{CAO}}{\bigtriangleup{CBO}}=\bunsuu{AR}{RB}\]% + ここで,% + \[\bunsuu{\bigtriangleup{ABO}}{\bigtriangleup{ACO}}\cdot\bunsuu{\bigtriangleup{BCO}}{\bigtriangleup{BAO}}\cdot\bunsuu{\bigtriangleup{CAO}}{\bigtriangleup{CBO}}=1\]% + \[\Leftrightarrow\bunsuu{\text{BP}}{\text{PC}}\cdot\bunsuu{\text{CQ}}{\text{QA}}\cdot\bunsuu{\text{AR}}{\text{RB}}=1\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{メネラウスの定理}}% + {% + \begin{tikzpicture}% + \draw(2,3)--(0,0)--(3,0)--cycle;% + \draw(2,3)node[above]{A};% + \draw(0,0)node[below]{B};% + \draw(3,0)node[right]{C};% + \draw(3,0)--(3.11111,-0.33333);% + \draw(2.25,0)node[below]{P};% + \draw(3.11111,-0.33333)node[below]{Q};% + \draw(3.11111,-0.33333)--(0.5,0.75);% + \draw(0.5,0.75)node[left]{R};% + \end{tikzpicture}% + \空行% + $\bunsuu{\text{BP}}{\text{PC}}\cdot\bunsuu{\text{CQ}}{\text{QA}}\cdot\bunsuu{\text{AR}}{\text{RB}}=1$% + }% + {\relax}% + \ifthenelse{\equal{#1}{メネラウスの定理の証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(2,3)--(0,0)--(3,0)--cycle;% + \draw(2,3)node[above]{A};% + \draw(0,0)node[below]{B};% + \draw(3,0)node[right]{C};% + \draw(3,0)--(3.11111,-0.33333);% + \draw(2.25,0)node[below]{P};% + \draw(3.11111,-0.33333)node[below]{Q};% + \draw(3.11111,-0.33333)--(0.5,0.75);% + \draw(0.5,0.75)node[left]{R};% + \draw(0.65,0.975)node[above left]{S};% + \draw(0.65,0.975)--(3,0);% + \end{tikzpicture}% + \空行% + $\text{SC}/ \!/ \text{RP}$より,% + \[\text{RA}:\text{SR}=\text{QA}:\text{CQ},\text{BR}:\text{RS}=\text{BP}:\text{PC}\]% + \[\Leftrightarrow\bunsuu{\text{CQ}}{\text{QA}}=\bunsuu{\text{SR}}{\text{AR}},\bunsuu{\text{BP}}{\text{PC}}=\bunsuu{\text{BR}}{\text{RS}}\]% + \[\bunsuu{\text{BP}}{\text{PC}}\cdot\bunsuu{\text{CQ}}{\text{QA}}\cdot\bunsuu{\text{AR}}{\text{RB}}=\bunsuu{\text{BR}}{\text{RS}}\cdot\bunsuu{\text{SR}}{\text{AR}} + \cdot\bunsuu{\text{AR}}{\text{RB}}=1\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{円周角の定理}}% + {% + \begin{tikzpicture}% + \draw(-1.6,-1.2)--(1.2,-1.6)--(1.2,1.6)--cycle;% + \draw(-1.6,-1.2)--(1.2,-1.6)--(-2,0)--cycle;% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.2,-1.6)node[right]{B};% + \draw(1.2,1.6)node[above]{P};% + \draw(-2,0)node[left]{Q};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + $\angle\mathrm{APB}=\angle\mathrm{AQB}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{円周角の定理の証明}}% + {% + \証明開始% + \begin{tikzpicture}%% + \draw(-1.6,-1.2)--(1.2,-1.6)--(1.2,1.6)--cycle;% + \draw(-1.6,-1.2)--(1.2,-1.6)--(0,0)--cycle;% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.2,-1.6)node[right]{B};% + \draw(1.2,1.6)node[above]{P};% + \draw(0,0)node[right]{O};% + \draw[dashed](-1.2,-1.6)--(1.2,1.6);% + \draw(-0.6,-1.4)node[above]{D};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + 三角形AOP,BOPは二等辺三角形なので,% + \[\angle\mathrm{APO}=\angle\mathrm{OAP}\数式カンマスペース\angle\mathrm{BPO}=\angle\mathrm{OBP}\]% + 三角形の外角より,% + \[\angle\mathrm{AOD}=2\angle\mathrm{APO}\数式カンマスペース\angle\mathrm{BOD}=2\angle\mathrm{BPO}\]% + \[\Leftrightarrow\angle\mathrm{AOB}=2\angle\mathrm{APB}\]% + \空行% + \begin{tikzpicture}% + \draw(-1.6,-1.2)--(1.6,-1.2)--(1.6,1.2)--cycle;% + \draw(-1.6,-1.2)--(1.6,-1.2)--(0,0)--cycle;% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.6,-1.2)node[right]{B};% + \draw(1.6,1.2)node[above]{P};% + \draw(0,0)node[above]{O};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + 三角形OPBは二等辺三角形なので,% + \[\angle\mathrm{OPB}=\angle\mathrm{OBP}\]% + 三角形の外角より% + \[\angle\mathrm{AOB}=2\angle\mathrm{OPB}\]% + \空行% + \begin{tikzpicture}% + \draw(-1.6,-1.2)--(1.2,-1.6)--(0,0)--cycle;% + \draw(-1.6,-1.2)--(1.2,-1.6)--(-2,0)--cycle;% + \draw[dashed](-2,0)--(2,0);% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.2,-1.6)node[right]{B};% + \draw(0,0)node[above]{O};% + \draw(2,0)node[right]{D};% + \draw(-2,0)node[left]{Q};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + 三角形QOA,OQBは二等辺三角形なので,% + \[\angle\mathrm{OQA}=\angle\mathrm{OAQ}\数式カンマスペース\angle\mathrm{OQB}=\angle\mathrm{OBQ}\]% + となる,\par% + 三角形の外角より,% + \[\angle\mathrm{OQA}+\angle\mathrm{OAQ}=\angle\mathrm{DOA}\数式カンマスペース\angle\mathrm{OQB}+\angle\mathrm{OBQ}=\angle\mathrm{DOB}\]% + \[\Leftrightarrow\angle\mathrm{DOA}-\angle\mathrm{DOB}=2\Ttyuukakko{\angle\mathrm{OQA}-\angle\mathrm{BQO}}\]% + \[\Leftrightarrow\angle\mathrm{AOB}=2\angle\mathrm{AQB}\]% + \空行% + 従って,円に内接する三角形について,円周角の$2$倍が中心角である。\par% + \空行% + \begin{tikzpicture}% + \draw(-1.6,-1.2)--(1.2,-1.6)--(1.2,1.6)--cycle;% + \draw(-1.6,-1.2)--(1.2,-1.6)--(-2,0)--cycle;% + \draw(0,0)--(-1.6,-1.2)--(1.2,-1.6)--cycle;% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.2,-1.6)node[right]{B};% + \draw(1.2,1.6)node[above]{P};% + \draw(-2,0)node[left]{Q};% + \draw(0,0)node[above]{O};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + \[\angle\mathrm{APB}=2\angle\mathrm{AOB},\angle\mathrm{AQB}=2\angle\mathrm{AOB}\]% + \[\Leftrightarrow\angle\mathrm{AQB}=\angle\mathrm{APB}\]が成立。 + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{内接四角形の定理}}% + {% + \begin{tikzpicture}% + \draw(-1.6,-1.2)--(1.6,-1.2)--(1.2,1.6)--(0,2);% + \draw(-1.6,-1.2)--(0,2);% + \draw(-1.6,-1.2)--(3,-1.2);% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.6,-1.2)node[below]{B};% + \draw(1.2,1.6)node[above]{C};% + \draw(0,2)node[above]{D};% + \draw(3,-1.2)node[below]{T};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + $\angle\mathrm{ADC}=\angle\mathrm{CBT}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{内接四角形の定理の証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(-1.6,-1.2)--(1.6,-1.2)--(1.2,1.6)--(0,2);% + \draw(-1.6,-1.2)--(0,2);% + \draw(-1.6,-1.2)--(3,-1.2);% + \draw(-1.6,-1.2)node[left]{A};% + \draw(1.6,-1.2)node[below]{B};% + \draw(1.2,1.6)node[above]{C};% + \draw(0,2)node[above]{D};% + \draw(3,-1.2)node[below]{T};% + \draw(0,0)circle[radius=2];% + \draw(-1.6,-1.2)--(0,0);% + \draw(1.2,1.6)--(0,0);% + \draw(0,0)coordinate(O);% + \fill[black](O)circle(0.03);% + \end{tikzpicture}% + \空行% + \[\angle\mathrm{AOC}=2\angle\mathrm{ABC}\]% + \[\angle\mathrm{AOC}=2\angle\mathrm{ADC}\]% + ここで,$\angle\mathrm{ABC}+\angle\mathrm{ADC}=180^\circ$% + \[\Leftrightarrow\angle\mathrm{AOC}+\angle\mathrm{AOC}=180^\circ\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{接弦定理}}% + {% + \begin{tikzpicture}% + \draw(0,-2)--(2,0)--(-1.2,1.6)--cycle;% + \draw(0,-2)node[below]{A};% + \draw(2,0)node[right]{B};% + \draw(-1.2,1.6)node[above]{C};% + \draw(3,-2)--(-3,-2);% + \draw(3,-2)node[below]{T};% + \draw(-3,-2)node[below]{S};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture} + \空行% + $\angle\mathrm{BAT}=\angle\mathrm{ACB}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{接弦定理の証明}}% + {% + \証明開始% + \begin{enumerate}% + \item 鋭角のとき% + \空行% + \begin{tikzpicture}% + \draw(0,-2)--(2,0)--(-1.2,1.6)--cycle;% + \draw[dashed](0,-2)--(2,0)--(0,2)--cycle;% + \draw(0,-2)node[below]{A};% + \draw(2,0)node[right]{B};% + \draw(-1.2,1.6)node[above]{C};% + \draw(3,-2)--(-3,-2);% + \draw(3,-2)node[below]{T};% + \draw(-3,-2)node[below]{S};% + \draw(0,2)node[above]{E};% + \draw(0,0)circle[radius=2];% + \draw(0,2)coordinate(E);% + \draw(2,0)coordinate(B);% + \draw(0,-2)coordinate(A);% + \draw pic[draw,black,thin,angle radius=0.3cm] {right angle=E--B--A};% + \end{tikzpicture}% + \空行% + 三角形ACBとABEについて円周角の定理より,% + \[\angle\mathrm{ACB}=\angle\mathrm{AEB}\]% + ここで,三角形ABEについて% + \[\angle\mathrm{BEA}+\angle\mathrm{BAE}=90^\circ\]% + また,ATが円の接線なので$\angle\mathrm{BAE}+\angle\mathrm{BAT}=90^\circ$から,% + \[\angle\mathrm{BAT}=\angle\mathrm{AEB}\]% + \[\Leftrightarrow\angle\mathrm{ACB}=\angle\mathrm{BAT}\]% + \空行% + \item 直角のとき% + \空行 + \begin{tikzpicture}% + \draw(0,-2)--(2,0)--(0,2)--cycle;% + \draw(0,-2)node[below]{A};% + \draw(2,0)node[right]{B};% + \draw(3,-2)--(-3,-2);% + \draw(3,-2)node[below]{T};% + \draw(-3,-2)node[below]{S};% + \draw(0,2)node[above]{E};% + \draw(0,0)circle[radius=2];% + \draw(0,2)coordinate(E);% + \draw(2,0)coordinate(B);% + \draw(0,-2)coordinate(A);% + \draw pic[draw,black,thin,angle radius=0.3cm] {right angle=E--B--A};% + \end{tikzpicture}% + \空行% + ATが円の接線なので,% + \[\angle\mathrm{EAS}=90^\circ\]% + \[\Leftrightarrow\angle\mathrm{EBA}=\angle\mathrm{EAS}\]% + \空行% + \item 鈍角のとき% + \空行% + \begin{tikzpicture}% + \draw(0,-2)--(-2,0)--(-1.2,1.6)--cycle; + \draw(0,-2)node[below]{A};% + \draw(-2,0)node[left]{B};% + \draw(-1.2,1.6)node[above]{C};% + \draw(3,-2)--(-3,-2);% + \draw(3,-2)node[below]{T};% + \draw(-3,-2)node[below]{S};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + 鋭角のときの接弦定理より,% + \[\angle\mathrm{BCA}=\angle\mathrm{BAS}\]% + また,三角形ABCにおいて% + \[\angle\mathrm{ABC}=\angle\mathrm{ACB}+\angle\mathrm{BAC}\]% + \[\Leftrightarrow\angle\mathrm{ABC}=\angle\mathrm{CAT}\]% + \空行% + \end{enumerate}% + 従って円に内接する三角形について成り立つことが証明された。% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{内角と外角の二等分線}}% + {% + \begin{tikzpicture}% + \draw(5.3,0.8)--(0,0)--(4.8,0)--cycle;% + \draw(5.3,0.8)--(0,0)--(4,0)--cycle;% + \draw(5.3,0.8)--(0,0)--(6,0)--cycle;% + \draw(5.3,0.8)node[above]{A};% + \draw(0,0)--(6.3,0.950943395);% + \draw(0,0)node[below]{B};% + \draw(4.8,0)node[below]{C};% + \draw(4,0)node[below]{P};% + \draw(6,0)node[below]{Q};% + \draw(6.3,0.950943395)node[above]{R};% + \end{tikzpicture}% + \空行% + $\angle\mathrm{BAP}=\angle\mathrm{PAC},\angle\mathrm{CAQ}=\angle\mathrm{QAR}$のとき,\par% + $\text{BP}:\text{PC}=\text{BQ}:\text{QC}=\text{AB}:\text{AC}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{方べきの定理A}}% + {% + \begin{tikzpicture}% + \draw(0,2)--(1.6,-1.2);% + \draw(0,2)node[above]{A};% + \draw(1.6,-1.2)node[below]{B};% + \draw(-1.6,-1.2)--(1.2,1.6);% + \draw(-1.6,-1.2)node[below]{C};% + \draw(1.2,1.6)node[above]{D};% + \draw(0.7,0.9)node[right]{P};% + \draw(0,0)circle[radius=2];% + \draw(0,0)node[below]{O};% + \end{tikzpicture}% + \空行% + $\text{PA}\cdot\text{PB}=\text{PC}\cdot\text{PD}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{方べきの定理Aの証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(0,2)--(1.6,-1.2);% + \draw(0,2)node[above]{A};% + \draw(1.6,-1.2)node[below]{B};% + \draw(-1.6,-1.2)--(1.2,1.6);% + \draw(-1.6,-1.2)node[below]{C};% + \draw(1.2,1.6)node[above]{D};% + \draw(0.7,0.9)node[right]{P};% + \draw(0,0)circle[radius=2];% + \draw(0,0)node[below]{O};% + \end{tikzpicture}% + \空行% + 円周角の定理より,% + \[\angle\mathrm{CAP}=\angle\mathrm{BDP},\quad\angle\mathrm{ACP}=\angle\mathrm{DBP}\]% + 三角形ACPと三角形DBPは相似なので,\par% + \[\text{PA}\cdot\text{PB}=\text{PC}\cdot\text{PD}\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{方べきの定理B}}% + {% + \begin{tikzpicture}% + \draw(-1.2,-1.6)node[below]{A};% + \draw(1.2,-1.6)--(-3.6,-1.6);% + \draw(1.2,-1.6)node[below]{B};% + \draw(-2,0)node[left]{C};% + \draw(0,2)--(-3.6,-1.6);% + \draw(0,2)node[above]{D};% + \draw(-3.6,-1.6)node[below]{P};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + $\text{PA}\cdot\text{PB}=\text{PC}\cdot\text{PD}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{方べきの定理Bの証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(-1.2,-1.6)node[below]{A};% + \draw(1.2,-1.6)--(-3.6,-1.6);% + \draw(1.2,-1.6)node[below]{B};% + \draw(-2,0)node[left]{C};% + \draw(0,2)--(-3.6,-1.6);% + \draw(0,2)node[above]{D};% + \draw(-3.6,-1.6)node[below]{P};% + \draw(0,0)circle[radius=2];% + \draw(-1.2,-1.6)--(-2,0);% + \end{tikzpicture}% + \空行% + 内接四角形の証明より,% + \[\angle\mathrm{CDB}=\angle\mathrm{CAP}\数式カンマスペース\angle\mathrm{DBA}=\angle\mathrm{PCA}\]% + 三角形ACPと三角形DPBは相似なので,% + \[\text{PA}\cdot\text{PB}=\text{PC}\cdot\text{PD}\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{方べきの定理C}}% + {% + \begin{tikzpicture}% + \draw(-1.6,-1.2)node[below]{A};% + \draw(1.6,-1.2)--(-4.93,-1.2);% + \draw(1.6,-1.2)node[right]{B};% + \draw(-1.2,1.6)--(-4.93,-1.2);% + \draw(-1.2,1.6)node[above]{T};% + \draw(-4.93,-1.2)node[below]{P};% + \draw(0,0)circle[radius=2];% + \end{tikzpicture}% + \空行% + $\text{PA}\cdot\text{PB}=\text{PT}^2$% + }% + {\relax}% + \ifthenelse{\equal{#1}{方べきの定理Cの証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(-1.6,-1.2)node[below]{A};% + \draw(1.6,-1.2)--(-4.93,-1.2);% + \draw(1.6,-1.2)node[right]{B};% + \draw(-1.2,1.6)--(-4.93,-1.2);% + \draw(-1.2,1.6)node[above]{T};% + \draw(-4.93,-1.2)node[below]{P};% + \draw(0,0)circle[radius=2];% + \draw(-1.6,-1.2)--(-1.2,1.6);% + \draw(-1.2,1.6)--(1.6,-1.2);% + \end{tikzpicture}% + \空行% + 接弦定理より,% + \[\angle\mathrm{TBA}=\angle\mathrm{PTA}\]% + これと,$\angle\mathrm{P}$共通なので三角形PTAと三角形PBTは相似より,% + \[\text{PA}\cdot\text{PB}=\text{PT}^2\]% + \証明終了% + }% + {\relax}% + }% + + +%%%%%%%%%%%%%%%%%%%%ここから数\UTF{2161}B%%%%%%%%%%%%%%%%%%%% +\NewDocumentCommand{\三次式展開}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a+b}^{3}=a^{3}+3a^2b+3ab^2+b^{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a+b}^{3}=a^{3}+3a^2b+3ab^2+b^{3}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a-b}^{3}=a^{3}-3a^2b+3ab^2-b^{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a-b}^{3}=a^{3}-3a^2b+3ab^2-b^{3}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a+b}\Ttyuukakko{a^2-ab+b^2}=a^{3}+b^{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a+b}\Ttyuukakko{a^2-ab+b^2}=a^{3}+b^{3}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a-b}\Ttyuukakko{a^2+ab+b^2}=a^{3}-b^{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a-b}\Ttyuukakko{a^2+ab+b^2}=a^{3}-b^{3}\]}{\relax}% + }% + + +\NewDocumentCommand{\三次式因数分解}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$a^{3}+b^{3}=\Ttyuukakko{a+b}\Ttyuukakko{a^2-ab+b^2}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[a^{3}+b^{3}=\Ttyuukakko{a+b}\Ttyuukakko{a^2-ab+b^2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$a^{3}-b^{3}=\Ttyuukakko{a-b}\Ttyuukakko{a^2+ab+b^2}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[a^{3}-b^{3}=\Ttyuukakko{a-b}\Ttyuukakko{a^2+ab+b^2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$a^{3}+3a^2b+3ab^2+b^{3}=\Ttyuukakko{a+b}^{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[a^{3}+3a^2b+3ab^2+b^{3}=\Ttyuukakko{a+b}^{3}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$a^{3}-3a^2b+3ab^2-b^{3}=\Ttyuukakko{a-b}^{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[a^{3}-3a^2b+3ab^2-b^{3}=\Ttyuukakko{a-b}^{3}\]}{\relax}% + }% + + +\NewDocumentCommand{\二項定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a+b}^{n}={}_{n}C_{0} a^{n}+{}_{n}C_{1} a^{n-1}b+{}_{n}C_{2} a^{n-2}b^2+....{}_{n}C_{n-1} ab^{n-1}+{}_{n}C_{n} b^{n}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a+b}^{n}={}_{n}C_{0} a^{n}+{}_{n}C_{1} a^{n-1}b+{}_{n}C_{2} a^{n-2}b^2+....{}_{n}C_{n-1} ab^{n-1}+{}_{n}C_{n} b^{n}\]}{\relax}% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{i}}% + {${}_{n}C_{r}a^{n-r}b^{r}$}{\relax}% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{b}}% + {\[{}_{n}C_{r}a^{n-r}b^{r}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + $\Ttyuukakko{a+b}^{n}$を展開すると,$a^{r}b^{n-r}$の項の係数は$n$個の$a$から$r$個$a$を選ぶ場合の数に等しいので係数は${}_{n} C_{r}$よって,一般項は% + \[{}_{n}C_{r}a^{n-r}b^{r}\]% + この$r$に$1$から順番に自然数を代入したものが二項定理となる。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\分数式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\bunsuu{A}{B}\times\bunsuu{C}{D}=\bunsuu{AC}{BD}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\bunsuu{A}{B}\times\bunsuu{C}{D}=\bunsuu{AC}{BD}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\bunsuu{A}{B}\div \bunsuu{C}{D}=\bunsuu{AD}{BC}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\bunsuu{A}{B}\div \bunsuu{C}{D}=\bunsuu{AD}{BC}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\bunsuu{A}{C}+\bunsuu{B}{C}=\bunsuu{A+B}{C}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\bunsuu{A}{C}+\bunsuu{B}{C}=\bunsuu{A+B}{C}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\bunsuu{A}{C}-\bunsuu{B}{C}=\bunsuu{A-B}{C}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\bunsuu{A}{C}-\bunsuu{B}{C}=\bunsuu{A-B}{C}\]}{\relax}% + }% + + +\NewDocumentCommand{\相加相乗平均}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース b>0$のとき,$\bunsuu{a+b}{2}\geqq\sqrt{ab}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース b>0$のとき,% + \[\bunsuu{a+b}{2}\geqq\sqrt{ab}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + $a+b-2\sqrt{ab}\geqq0$を示す。% + \[a+b-2\sqrt{ab}=\Ttyuukakko{\sqrt{a}-\sqrt{b}}^2\]% + より,$\sqrt{a}-\sqrt{b}$は実数なので,% + \[\Ttyuukakko{\sqrt{a}-\sqrt{b}}^2\geqq0\]% + よって,$a>0\数式カンマスペース b>0$のとき,% + \[\bunsuu{a+b}{2}\geqq\sqrt{ab}\text{\ (等号成立条件は$a=b$)}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\虚数の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$i=\sqrt{-1}$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {\[i=\sqrt{-1}\]}{\relax}% + }% + + +\NewDocumentCommand{\複素数の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {実数$a\数式カンマスペース b$を用いて,$a+bi$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + 実数$a\数式カンマスペース b$を用いて,% + \[a+bi\]% + }% + {\relax}% + }% + + +\newcommand{\二次方程式の解の判別}% + {% + $ax^2+bx+c=0\数式カンマスペース\Ttyuukakko{a\neq0}$の判別式を$D=b^2-4ac$とすると,% + \phrases@math[l]% + {% + $D>0$のとき,異なる二つの実数解\\% + $D=0$のとき,重解\\% + $D<0$のとき,異なる二つの虚数解% + }% + を持つ。 + }% + + +\NewDocumentCommand{\解と係数の関係}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{二次方程式の解と係数の関係A}\AND\equal{#2}{i}}% + {$ax^2+bx+c=0 \Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta$として,$\alpha+\beta=-\bunsuu{b}{a}$}{\relax}% + \ifthenelse{\equal{#1}{二次方程式の解と係数の関係A}\AND\equal{#2}{b}}% + {% + $ax^2+bx+c=0 \Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta$として,% + \[\alpha+\beta=-\bunsuu{b}{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{二次方程式の解と係数の関係B}\AND\equal{#2}{i}}% + {$ax^2+bx+c=0 \Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta$として,$\alpha\beta=\bunsuu{c}{a}$}{\relax}% + \ifthenelse{\equal{#1}{二次方程式の解と係数の関係B}\AND\equal{#2}{b}}% + {% + $ax^2+bx+c=0 \Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta$として,% + \[\alpha\beta=\bunsuu{c}{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{二次方程式の解と係数の関係の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + \[ax^2+bx+c=a\Ttyuukakko{x-\alpha}\Ttyuukakko{x-\beta}=a\Tdaikakko{x^2-\Ttyuukakko{\alpha+\beta}x+\alpha\beta}\]% + \[\Leftrightarrow ax^2+bx+c=a\Ttyuukakko{x^2+\bunsuu{b}{a}x+\bunsuu{c}{a}}\]% + 係数比較することで,% + \[\alpha+\beta=-\bunsuu{b}{a}\数式カンマスペース\alpha\beta=\bunsuu{c}{a}\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係A}\AND\equal{#2}{i}}% + {$ax^{3}+bx^2+cx+d=0\Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$として,$\alpha+\beta+\gamma=-\bunsuu{b}{a}$}{\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係A}\AND\equal{#2}{b}}% + {% + $ax^{3}+bx^2+cx+d=0\Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$として,% + \[\alpha+\beta+\gamma=-\bunsuu{b}{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係B}\AND\equal{#2}{i}}% + {$ax^{3}+bx^2+cx+d=0\Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$として,$\alpha\beta+\beta\gamma+\gamma\alpha=\bunsuu{c}{a}$}{\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係B}\AND\equal{#2}{b}}% + {% + $ax^{3}+bx^2+cx+d=0\Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$として,% + \[\alpha\beta+\beta\gamma+\gamma\alpha=\bunsuu{c}{a}\] + }% + {\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係C}\AND\equal{#2}{i}}% + {$ax^{3}+bx^2+cx+d=0\Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$として,$\alpha\beta\gamma=-\bunsuu{d}{a}$}{\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係C}\AND\equal{#2}{b}}% + {% + $ax^{3}+bx^2+cx+d=0\Ttyuukakko{a\neq0}$の解を$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$として,% + \[\alpha\beta\gamma=-\bunsuu{d}{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{三次方程式の解と係数の関係の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + \vspace{-1\zw} + \[ax^{3}+bx^2+cx+d=a\Ttyuukakko{x-\alpha}\Ttyuukakko{x-\beta}\Ttyuukakko{x-\gamma}=a\Tdaikakko{x^3-\Ttyuukakko{\alpha+\beta+\gamma}x^2+\Ttyuukakko{\alpha\beta+\beta\gamma+\gamma\alpha}x-\alpha\beta\gamma}\]% + \[\Leftrightarrow ax^{3}+bx^2+cx+d=a\Ttyuukakko{x^3+\bunsuu{b}{a}x^2+\bunsuu{c}{a}x+\bunsuu{d}{a}}\]% + 係数比較することで,\par% + \[\alpha+\beta+\gamma=-\bunsuu{b}{a}\数式カンマスペース\alpha\beta+\beta\gamma+\gamma\alpha=\bunsuu{c}{a}\数式カンマスペース\alpha\beta\gamma=-\bunsuu{d}{a}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\剰余定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定理A}\AND\equal{#2}{i}}% + {整式 $P\Ttyuukakko{x}$を$x-k$で割った余りは$P\Ttyuukakko{k}$}{\relax}% + \ifthenelse{\equal{#1}{定理A}\AND\equal{#2}{b}}% + {% + 整式 $P\Ttyuukakko{x}$を$x-k$で割った余りは% + \[P\Ttyuukakko{k}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{定理B}\AND\equal{#2}{i}}% + {整式$P\Ttyuukakko{x}$を$ax-b$で割った余りは$P\Ttyuukakko{\bunsuu{b}{a}}$}{\relax}% + \ifthenelse{\equal{#1}{定理B}\AND\equal{#2}{b}}% + {% + 整式$P\Ttyuukakko{x}$を$ax-b$で割った余りは% + \[P\Ttyuukakko{\bunsuu{b}{a}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + $P\Ttyuukakko{x}$を$\Ttyuukakko{x-k}$で割った商を$Q\Ttyuukakko{x}$あまりを$R$として,% + \[P\Ttyuukakko{x}=\Ttyuukakko{x-k}Q\Ttyuukakko{x}+R\]% + $x=k$のとき,% + \[P\Ttyuukakko{k}=R\]% + よって,余りは% + \[P\Ttyuukakko{k}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\因数定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定理}\AND\equal{#2}{i}}% + {% + 整式$P\Ttyuukakko{x}$が$x-k$を因数に持つ$\Leftrightarrow P\Ttyuukakko{k}=0$% + }% + {\relax}% + \ifthenelse{\equal{#1}{定理}\AND\equal{#2}{b}}% + {% + 整式$P\Ttyuukakko{x}$が$x-k$を因数に持つ% + \[\Leftrightarrow P\Ttyuukakko{k}=0\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 剰余の定理より,$x-k$で割った余りが$0$なので,% + \[P\Ttyuukakko{k}=0\]% + 剰余の定理より,$P\Ttyuukakko{k}=0$ということは$P\Ttyuukakko{x}$を$x-k$で割った余りが$0$ということなので,$P\Ttyuukakko{x}$は$x-k$を因数に持つ。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\点の座標}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{二点間の距離}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$間の距離は,$\sqrt{\Ttyuukakko{x_{2}-x_{1}}^2-\Ttyuukakko{y_{2}-y_{1}}^2}$}{\relax}% + \ifthenelse{\equal{#1}{二点間の距離}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$間の距離は,% + \[\sqrt{\Ttyuukakko{x_{2}-x_{1}}^2-\Ttyuukakko{y_{2}-y_{1}}^2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{内分点の座標}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$を$m:n$に内分する点の座標は,$\Ttyuukakko{\bunsuu{nx_{1}+mx_{2}}{n+m}\数式カンマスペース\bunsuu{ny_{1}+my_{2}}{n+m}}$}{\relax}% + \ifthenelse{\equal{#1}{内分点の座標}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$を$m:n$に内分する点の座標は,% + \[\Ttyuukakko{\bunsuu{nx_{1}+mx_{2}}{n+m}\数式カンマスペース\bunsuu{ny_{1}+my_{2}}{n+m}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{内分点の座標の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $m:n$に内分する点の座標を$P\Ttyuukakko{x\数式カンマスペース y}$として,% + \[m:n=x-x_{1}:x_{2}-x\]% + \[\Leftrightarrow\Ttyuukakko{\bunsuu{nx_{1}+mx_{2}}{n+m}\数式カンマスペース\bunsuu{ny_{1}+my_{2}}{n+m}}\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{外分点の座標}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$を$m:n$に外分する点の座標は,$\Ttyuukakko{\bunsuu{-nx_{1}+mx_{2}}{m-n}\数式カンマスペース \bunsuu{-ny_{1}+my_{2}}{m-n}}$}{\relax}% + \ifthenelse{\equal{#1}{外分点の座標}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$を$m:n$に外分する点の座標は,% + \[\Ttyuukakko{\bunsuu{-nx_{1}+mx_{2}}{m-n}\数式カンマスペース \bunsuu{-ny_{1}+my_{2}}{m-n}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{外分点の座標の証明}\AND\equal{#2}{b}}% + {% + \証明開始% + \begin{enumerate}% + \item $m>n$のとき\par% + $n:m$に外分する点の座標を$P\Ttyuukakko{x\数式カンマスペース y}$として,% + \[m:n=x-x_{1}:x-x_{2}\]% + \[\Leftrightarrow\Ttyuukakko{\bunsuu{-nx_{1}+mx_{2}}{m-n}\数式カンマスペース \bunsuu{-ny_{1}+my_{2}}{m-n}}\]% + \item $m<n$のとき\par% + $n:m$に外分する点の座標を$P\Ttyuukakko{x\数式カンマスペース y}$として,% + \[m:n=x-x_{2}:x-x_{1}\]% + \[\Leftrightarrow\Ttyuukakko{\bunsuu{-nx_{1}+mx_{2}}{m-n}\数式カンマスペース \bunsuu{-ny_{1}+my_{2}}{m-n}}\]% + \end{enumerate}% + よって$m\数式カンマスペース n$の大小に依らず% + \[\Ttyuukakko{\bunsuu{-nx_{1}+mx_{2}}{m-n}\数式カンマスペース \bunsuu{-ny_{1}+my_{2}}{m-n}}\]% + となる。% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{中点の座標}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$の中点は,$\Ttyuukakko{\bunsuu{x_{1}+x_{2}}{2}\数式カンマスペース\bunsuu{y_{1}+y_{2}}{2}}$}{\relax}% + \ifthenelse{\equal{#1}{中点の座標}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$として,線分$AB$の中点は,% + \[\Ttyuukakko{\bunsuu{x_{1}+x_{2}}{2}\数式カンマスペース\bunsuu{y_{1}+y_{2}}{2}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{中点の座標の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + 内分点の公式において$m=n$のとき,% + \[\Ttyuukakko{\bunsuu{x_{1}+x_{2}}{2}\数式カンマスペース\bunsuu{y_{1}+y_{2}}{2}}\]% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{重心の座標}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}\数式カンマスペース C\Ttyuukakko{x_{3}\数式カンマスペース y_{3}}$として,三角形$ABC$の重心の座標は,$\Ttyuukakko{\bunsuu{x_{1}+x_{2}+x_{3}}{3}\数式カンマスペース\bunsuu{y_{1}+y_{2}+y_{3}}{3}}$}{\relax}% + \ifthenelse{\equal{#1}{重心の座標}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース B\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}\数式カンマスペース C\Ttyuukakko{x_{3}\数式カンマスペース y_{3}}$として,三角形$ABC$の重心の座標は,% + \[\Ttyuukakko{\bunsuu{x_{1}+x_{2}+x_{3}}{3}\数式カンマスペース\bunsuu{y_{1}+y_{2}+y_{3}}{3}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{重心の座標の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $A$と$B$の中点$M$の座標は$\Ttyuukakko{\bunsuu{x_{1}+x_{2}}{2}\数式カンマスペース\bunsuu{y_{1}+y_{2}}{2}}$\par% + 重心は$CM$を$2:1$に内分するので,重心の座標は内分点の公式より,% + \[\Ttyuukakko{\bunsuu{x_{1}+x_{2}+x_{3}}{3}\数式カンマスペース\bunsuu{y_{1}+y_{2}+y_{3}}{3}}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\直線の方程式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$ax+by+c=0$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[ax+by+c=0\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {点$\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}$を通り傾きが$m$の直線は,$y-y_{1}=m\Ttyuukakko{x-x_{1}}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + 点$\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}$を通り傾きが$m$の直線は,% + \[y-y_{1}=m\Ttyuukakko{x-x_{1}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {異なる二点$\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$を通る直線$\Ttyuukakko{x_{1}\neq x_{2}}$は,$y-y_{1}=\bunsuu{y_{2}-y_{1}}{x_{2}-x_{1}}\Ttyuukakko{x-x_{1}}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + 異なる二点$\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}\数式カンマスペース\Ttyuukakko{x_{2}\数式カンマスペース y_{2}}$を通る直線,$\Ttyuukakko{x_{1}\neq x_{2}}$は,% + \[y-y_{1}=\bunsuu{y_{2}-y_{1}}{x_{2}-x_{1}}\Ttyuukakko{x-x_{1}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式Bの証明}}% + {% + \証明開始% + 傾き$m$なので,$y=mx+a$と置ける($a$は切片)。\par% + ここで,$\Ttyuukakko{x_{1\数式カンマスペース x_{2}}}$を通るので,$y_{1}=mx_{1}+a$となり,連立することで% + \[y-y_{1}=m\Ttyuukakko{x-x_{1}}\]% + を得る。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\二直線の関係}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {二直線$y=m_{1}x+n_{1}\数式カンマスペース y=m_{2}x+n_{2}$が平行$\Leftrightarrow m_{1}=m_{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + 二直線$y=m_{1}x+n_{1}\数式カンマスペース y=m_{2}x+n_{2}$が平行% + \[\Leftrightarrow m_{1}=m_{2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {二直線$y=m_{1}x+n_{1}\数式カンマスペース y=m_{2}x+n_{2}$が垂直$\Leftrightarrow m_{1}m_{2}=-1$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + 二直線$y=m_{1}x+n_{1}\数式カンマスペース y=m_{2}x+n_{2}$が垂直% + \[\Leftrightarrow m_{1}m_{2}=-1\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式Bの証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $y=mx_{1}$上に点A$\Ttyuukakko{1\数式カンマスペース m_{1}}$\数式カンマスペース $y=mx_{2}$上にB$\Ttyuukakko{-m_{1}\数式カンマスペース 1}$をとる。\par% + H$\Ttyuukakko{1\数式カンマスペース 0}$\数式カンマスペース I$\Ttyuukakko{0\数式カンマスペース 1}$として,$\bigtriangleup{OAH}$と$\bigtriangleup{OBI}$は合同。よって,% + \[m_{1}m_{2}=-1\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\点と直線の距離}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {% + 点$\Ttyuukakko{x_{1}\数式カンマスペース y_{2}}$と直線$ax+bx+c=0$の距離は,$\bunsuu{\Tzettaiti{ax_{1}+by_{2}+c}}{\sqrt{a^2+b^2}}$% + }{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 点$\Ttyuukakko{x_{1}\数式カンマスペース y_{2}}$と直線$ax+bx+c=0$の距離は,% + \[\bunsuu{\Tzettaiti{ax_{1}+by_{2}+c}}{\sqrt{a^2+b^2}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 全体を$x$軸方向に$-x_{1}$\数式カンマスペース $y$軸方向に$-y_{1}$平行移動するとき,直線$l$は$a\Ttyuukakko{x+x_{1}}+b\Ttyuukakko{y+y_{1}}+c=0$となる。\par% + また,直線$l$に原点Oからおろした垂線との交点をHとする。ここでOH間の距離を$d$と置くと,% + \begin{enumerate}% + \item $a\neq0$のとき\par% + 直線$l$の垂線の傾きは$b$の値に依らず,$y=\bunsuu{b}{a}$となる。\par% + よって,Hの座標は二式を連立することで得られ,% + \[\Ttyuukakko{\bunsuu{-a\Ttyuukakko{ax_{1}+by_{1}+c}}{a^2+b^2}\数式カンマスペース\bunsuu{-b\Ttyuukakko{ax_{1}+by_{1}+c}}{a^2+b^2}}\]% + \begin{align*}% + \Leftrightarrow d&=\sqrt{\Tdaikakko{\Ttyuukakko{\bunsuu{-a\Ttyuukakko{ax_{1}+by_{1}+c}}{a^2+b^2}}^2+\Tdaikakko{\bunsuu{-b\Ttyuukakko{ax_{1}+by_{1}+c}}{a^2+b^2}}}^2}&\\% + &=\bunsuu{\Tzettaiti{ax_{1}+by_{2}+c}}{\sqrt{a^2+b^2}} % + \end{align*}% + \item $a=0$のとき\par% + 直線$l$は$y=-\bunsuu{by_{1}+c}{b}$となるので,% + \begin{align*}% + d&=\Tzettaiti{-\bunsuu{by_{1}+c}{b}}&\\% + &=\bunsuu{\Tzettaiti{by_{1}+c}}{\Tzettaiti{b}}&\\% + \end{align*}% + これは,$\bunsuu{\Tzettaiti{ax_{1}+by_{2}+c}}{\sqrt{a^2+b^2}}$に$a=0$を代入したものである。 + \end{enumerate}% + よって,いずれの場合も% + \[\bunsuu{\Tzettaiti{ax_{1}+by_{2}+c}}{\sqrt{a^2+b^2}}\]% + を得る。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\円の方程式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {中心$\Ttyuukakko{a\数式カンマスペース b}$で半径$r$の円は,$\Ttyuukakko{x-a}^2+\Ttyuukakko{y-b}^2=r^2$と表す($x^2+y^2+Ax+By+C=0\Ttyuukakko{l^2+m^2-4n>0}$の形でもよい)。}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {% + 中心$\Ttyuukakko{a\数式カンマスペース b}$で半径$r$の円は,% + \[\Ttyuukakko{x-a}^2+\Ttyuukakko{y-b}^2=r^2\]% + また,円は% + \[x^2+y^2+Ax+By+C=0\Ttyuukakko{A^2+B^2-4C>0}\]% + とも表せられる。% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 円の中心をO\数式カンマスペース 円周上の任意の点を$P\Ttyuukakko{x\数式カンマスペース y}$として,三平方の定理より% + \[\Ttyuukakko{x-a}^2+\Ttyuukakko{y-b}^2=r^2\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\円と直線}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {円$x^2+y^2=r^2$上の点 $\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}$における接線の方程式は,$xx_{1}+yy_{1}=r^2$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 円$x^2+y^2=r^2$上の点 $\Ttyuukakko{x_{1}\数式カンマスペース y_{1}}$における接線の方程式は,% + \[xx_{1}+yy_{1}=r^2\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{enumerate}% + \item $x_{0}\neq0\数式カンマスペース y_{0}\neq0$のとき\par% + $A\Ttyuukakko{x_{0}\数式カンマスペース y_{0}}$と置いて,OAの傾きは$\bunsuu{y_{0}}{x_{0}}$となる。接線の傾きはこれに垂直なので,$-\bunsuu{x_{0}}{y_{0}}$また接線は点$\Ttyuukakko{x_{0}\数式カンマスペース y_{0}}$を通るので% + \[y=-\bunsuu{x_{0}}{y_{0}}\Ttyuukakko{x-x_{0}}+y_{0}\]% + より,$\Ttyuukakko{x_{0}\数式カンマスペース y_{0}}$が$x^2+y^2=r^2$上に存在することに留意して,$x_{0}x+y_{0}y=r^2$となる。\par% + \item $x_{0}\neq0$のとき\par% + $y_{0}=\pm r$より接線は$y=\pm r\text{\ (複合同順)}$\par% + \item $y_{0}=0$のとき\par% + $x_{0}=\pm r$より接線は$x=\pm r\text{\ (複合同順)}$% + \end{enumerate}% + よって,接線の方程式は% + \[xx_{1}+yy_{1}=r^2\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の相互関係}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin^2 \theta+\cos^2 \theta=1$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin^2 \theta+\cos^2 \theta=1\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\tan\theta =\bunsuu{\sin\theta}{\cos\theta}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\tan\theta =\bunsuu{\sin\theta}{\cos\theta}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$1+\tan^2 \theta=\bunsuu{1}{\cos^2 \theta}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[1+\tan^2 \theta=\bunsuu{1}{\cos^2 \theta}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(0,0)--(1.05,1.4);% + \draw[dashed](0.75,1)--(0,1);% + \draw(0,0)node[below right]{O};% + \draw(0.75,0)node[below]{$x$};% + \draw(0,1)node[left]{$y$};% + \draw(0.8,1)node[right]{P$\Ttyuukakko{x,y}$};% + \draw(0,0)circle[radius=1.25];% + \draw(0,-1.25)node[below left]{$-r$};% + \draw(-1.25,0)node[below left]{$-r$};% + \draw(0,1.25)node[above left]{$r$};% + \draw(1.25,0)node[below right]{$r$};% + \draw[->,>=stealth,semithick](-1.5,0)--(1.5,0)node[right]{$x$};% + \draw[->,>=stealth,semithick](0,-1.5)--(0,1.5)node[above]{$y$};% + \draw[dashed](0,0)coordinate(O)-- (0.75,0)coordinate(Q)-- (0.75,1)coordinate(P);% + \draw pic["$\theta$",draw=black,->,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=Q--O--P};% + \end{tikzpicture}% + \空行% + 図において,$\sin\theta=\bunsuu{y}{r}\数式カンマスペース\quad\cos\theta=\bunsuu{x}{r}$より% + \[\sin^2\theta+\cos^2\theta=\bunsuu{y^2+x^2}{r^2}\]% + ここで,三平方の定理より$x^2+y^2=r^2$なので\par% + $\sin^2\theta+\cos^2\theta=\bunsuu{r^2}{r^2}=1$% + \空行% + $\sin\theta=\bunsuu{y}{r}\数式カンマスペース\quad\cos\theta=\bunsuu{x}{r}\quad\tan\theta=\bunsuu{y}{x}$より\par% + $\bunsuu{\sin\theta}{\cos\theta}=\bunsuu{y}{x}=\tan\theta$% + \空行% + $\sin^2\theta+\cos^2\theta=1$の両辺を$\cos^2\theta$で割ることで,\par% + \[\bunsuu{\sin^2\theta}{\cos^2\theta}+1=\bunsuu{1}{\cos^2\theta}\]% + ここで,$\bunsuu{\sin\theta}{\cos\theta}=\tan\theta$なので\par% + $\tan^2\theta+1=\bunsuu{1}{\cos^2\theta}$% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {$\sin\Ttyuukakko{-\theta}=-\sin\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {\[\sin\Ttyuukakko{-\theta}=-\sin\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {$\cos\Ttyuukakko{-\theta}=\cos\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {\[\cos\Ttyuukakko{-\theta}=\cos\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {$\tan\Ttyuukakko{-\theta}=-\tan\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {\[\tan\Ttyuukakko{-\theta}=-\tan\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{i}}% + {$\sin\Ttyuukakko{\theta+\pi}=-\sin\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{b}}% + {\[\sin\Ttyuukakko{\theta+\pi}=-\sin\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質E}\AND\equal{#2}{i}}% + {$\cos\Ttyuukakko{\theta+\pi}=-\cos\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質E}\AND\equal{#2}{b}}% + {\[\cos\Ttyuukakko{\theta+\pi}=-\cos\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質F}\AND\equal{#2}{i}}% + {$\tan\Ttyuukakko{\theta+\pi}=\tan\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質F}\AND\equal{#2}{b}}% + {\[\tan\Ttyuukakko{\theta+\pi}=\tan\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質G}\AND\equal{#2}{i}}% + {$\sin\Ttyuukakko{\pi-\theta}=\sin\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質G}\AND\equal{#2}{b}}% + {\[\sin\Ttyuukakko{\pi-\theta}=\sin\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質H}\AND\equal{#2}{i}}% + {$\cos\Ttyuukakko{\pi-\theta}=-\cos\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質H}\AND\equal{#2}{b}}% + {\[\cos\Ttyuukakko{\pi-\theta}=-\cos\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質I}\AND\equal{#2}{i}}% + {$\tan\Ttyuukakko{\pi-\theta}=-\tan\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質I}\AND\equal{#2}{b}}% + {\[\tan\Ttyuukakko{\pi-\theta}=-\tan\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質J}\AND\equal{#2}{i}}% + {$\sin\Ttyuukakko{\bunsuu{\pi}{2}-\theta}=\cos\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質J}\AND\equal{#2}{b}}% + {\[\sin\Ttyuukakko{\bunsuu{\pi}{2}-\theta}=\cos\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質K}\AND\equal{#2}{i}}% + {$\cos\Ttyuukakko{\bunsuu{\pi}{2}-\theta}=\sin\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質K}\AND\equal{#2}{b}}% + {\[\cos\Ttyuukakko{\bunsuu{\pi}{2}-\theta}=\sin\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質L}\AND\equal{#2}{i}}% + {$\tan\Ttyuukakko{\bunsuu{\pi}{2}-\theta}=\bunsuu{1}{\tan\theta}$}{\relax}% + \ifthenelse{\equal{#1}{性質L}\AND\equal{#2}{b}}% + {\[\tan\Ttyuukakko{\bunsuu{\pi}{2}-\theta}=\bunsuu{1}{\tan\theta}\]}{\relax}% + \ifthenelse{\equal{#1}{性質M}\AND\equal{#2}{i}}% + {$\sin\Ttyuukakko{\theta+\bunsuu{\pi}{2}}=\cos\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質M}\AND\equal{#2}{b}}% + {\[\sin\Ttyuukakko{\theta+\bunsuu{\pi}{2}}=\cos\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質N}\AND\equal{#2}{i}}% + {$\cos\Ttyuukakko{\theta+\bunsuu{\pi}{2}}=-\sin\theta$}{\relax}% + \ifthenelse{\equal{#1}{性質N}\AND\equal{#2}{b}}% + {\[\cos\Ttyuukakko{\theta+\bunsuu{\pi}{2}}=-\sin\theta\]}{\relax}% + \ifthenelse{\equal{#1}{性質O}\AND\equal{#2}{i}}% + {$\tan\Ttyuukakko{\theta+\bunsuu{\pi}{2}}=-\bunsuu{1}{\tan\theta}$}{\relax}% + \ifthenelse{\equal{#1}{性質O}\AND\equal{#2}{b}}% + {\[\tan\Ttyuukakko{\theta+\bunsuu{\pi}{2}}=-\bunsuu{1}{\tan\theta}\]}{\relax}% + }% + + +\NewDocumentCommand{\三角関数の加法定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin\Ttyuukakko{\alpha\pm\beta}=\sin\alpha \cos\beta\pm \cos\alpha \sin\beta$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin\Ttyuukakko{\alpha\pm\beta}=\sin\alpha \cos\beta\pm \cos\alpha \sin\beta\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\cos\Ttyuukakko{\alpha\pm\beta}=\cos\alpha \cos\beta\mp \sin\alpha \sin\beta$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\cos\Ttyuukakko{\alpha\pm\beta}=\cos\alpha \cos\beta\mp \sin\alpha \sin\beta\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\tan\Ttyuukakko{\alpha\pm\beta}=\bunsuu{\tan\alpha \pm \tan\beta}{1\mp \tan\alpha \tan\beta}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\tan\Ttyuukakko{\alpha\pm\beta}=\bunsuu{\tan\alpha \pm \tan\beta}{1\mp \tan\alpha \tan\beta}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \begin{tikzpicture}% + \draw(0,0)--(0.75,1);% + \draw(0,0)node[below right]{O};% + \draw(0.8,1)node[right]{P$\Ttyuukakko{\cos\alpha,\sin\alpha}$};% + \draw(0,0)circle[radius=1.25];% + \draw(0,-1.25)node[below left]{$-1$};% + \draw(-1.25,0)node[below left]{$-1$};% + \draw(0,1.25)node[above left]{$1$};% + \draw(1.25,0)node[below right]{$1$};% + \draw[->,>=stealth,semithick](-1.5,0)--(1.5,0)node[right]{$x$};% + \draw[->,>=stealth,semithick](0,-1.5)--(0,1.5)node[above]{$y$};% + \draw(-1,0.75)node[left]{Q$\Ttyuukakko{\cos\beta,\sin\beta}$};% + \draw(-1,0.75)coordinate(Q);% + \draw(-1,0.75)--(0.75,1);% + \draw(-1,0.75)--(0,0);% + \draw(0,0)coordinate(O)-- (0.75,0)coordinate(R)-- (0.75,1)coordinate(P);% + \draw pic["$\alpha$",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.5cm] {angle=R--O--P};% + \draw pic["$\beta$",draw=black,-,thin,angle eccentricity=1.4,angle radius=0.4cm] {angle=R--O--Q};% + \end{tikzpicture}% + \空行% + 図において,三角関数の性質より$\cos\Ttyuukakko{\beta-\alpha}=\cos\Ttyuukakko{\alpha-\beta}$なので,三角形QOPについて余弦定理より% + \[\mathrm{QP}^2=1^2+1^2-2\cdot1\cdot1\cdot\cos\Ttyuukakko{\alpha-\beta}\]% + また,QP間の距離について三平方の定理を用いて% + \[\mathrm{QP}^2=\Ttyuukakko{\cos\beta-\cos\alpha}^2+\Ttyuukakko{\sin\alpha-\sin\beta}^2\]% + \[\Leftrightarrow 2-2\cos\Ttyuukakko{\alpha-\beta}=\Ttyuukakko{\cos\beta-\cos\alpha}^2+\Ttyuukakko{\sin\alpha-\sin\beta}^2\]% + 両辺整理して,% + \[\cos\Ttyuukakko{\alpha-\beta}=\cos\alpha\cos\beta+\sin\alpha\sin\beta\]% + を得る。\par% + また,$\sin-\theta=-\sin\theta$より,% + \[\cos\Ttyuukakko{\alpha+\beta}=\cos\alpha\cos\beta-\sin\alpha\sin\beta\]% + \空行% + \[\cos\Ttyuukakko{\alpha-\beta}=\cos\alpha\cos\beta+\sin\alpha\sin\beta\]% + において,$\alpha$を$\bunsuu{\pi}{2}-\alpha$にすることで,% + \[\sin\Ttyuukakko{\alpha+\beta}=\sin\alpha \cos\beta+ \cos\alpha \sin\beta\]% + ここで,$\beta$を$-\beta$にすることで,% + \[\sin\Ttyuukakko{\alpha-\beta}=\sin\alpha \cos\beta-\cos\alpha \sin\beta\]% + \空行% + $\tan\theta=\bunsuu{\sin\theta}{\cos\theta}$より,% + \[\tan\Ttyuukakko{\alpha\pm\beta}=\bunsuu{\sin\alpha \cos\beta\pm \cos\alpha \sin\beta}{\cos\alpha \cos\beta\mp \sin\alpha \sin\beta}\]% + 両辺を$\cos\alpha\cos\beta$でわることで,% + \[\tan\Ttyuukakko{\alpha\pm\beta}=\bunsuu{\tan\alpha \pm \tan\beta}{1\mp \tan\alpha \tan\beta}\]% + を得る。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の二倍角の公式}{ m O{i} }%% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin2\alpha=2\sin\alpha\cos\beta$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin2\alpha=2\sin\alpha\cos\beta\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\cos2\alpha=\cos^{2}\alpha-\sin^{2}\alpha$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\cos2\alpha=\cos^{2}\alpha-\sin^{2}\alpha\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\cos2\alpha=2\cos^{2}\alpha-1$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\cos2\alpha=2\cos^{2}\alpha-1\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\cos2\alpha=1-2\sin^{2}\alpha$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\cos2\alpha=1-2\sin^{2}\alpha\]}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$\tan2\alpha=\frac{2\tan\alpha}{1-\tan^{2}\alpha}$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {\[\tan2\alpha=\frac{2\tan\alpha}{1-\tan^{2}\alpha}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 三角関数の加法定理\par% + \[\sin\Ttyuukakko{\alpha+\beta}=\sin\alpha \cos\beta+ \cos\alpha \sin\beta\]% + \[\cos\Ttyuukakko{\alpha+\beta}=\cos\alpha \cos\beta- \sin\alpha \sin\beta\]% + \[\tan\Ttyuukakko{\alpha+\beta}=\bunsuu{\tan\alpha + \tan\beta}{1- \tan\alpha \tan\beta}\]% + において,$\alpha=\beta=\theta$として,% + \[\sin2\theta=2\sin\theta\cos\theta\]% + \[\cos2\theta=\cos^{2}\theta-\sin^{2}\theta\]% + \[\tan2\theta=\bunsuu{2\tan\theta}{1-\tan^{2}\theta}\]% + を得る。\par% + また,$\cos2\theta=\cos^{2}\theta-\sin^{2}\theta$において,三角関数の相互関係$\sin^2\theta+\cos^2\theta=1$を用いて,% + \[\cos2\theta=2\cos^{2}\theta-1\]% + \[\Leftrightarrow\cos2\theta=1-2\sin^{2}\theta\]% + を得る。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の三倍角の公式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin3\alpha=-4\sin^{3}\alpha+3\sin\alpha$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin3\alpha=-4\sin^{3}\alpha+3\sin\alpha\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\cos3\alpha=4\cos^{3}\alpha-3\cos\alpha$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\cos3\alpha=4\cos^{3}\alpha-3\cos\alpha\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 三角関数の加法定理% + \[\sin\Ttyuukakko{\alpha+\beta}=\sin\alpha \cos\beta+ \cos\alpha \sin\beta\]% + \[\cos\Ttyuukakko{\alpha+\beta}=\cos\alpha \cos\beta- \sin\alpha \sin\beta\]% + において,$\alpha=\theta\数式カンマスペース\beta=2\theta$のとき,% + \[\sin3\theta=\sin\theta \cos2\theta+ \cos\theta \sin2\theta\]% + \[\cos3\theta=\cos\theta\cos2\theta-\sin\theta\sin2\theta\]% + 二倍角の公式と三角関数の相互関係より,% + \begin{align*}% + \sin3\theta&=\sin\theta\Ttyuukakko{1-2\sin^{2}\theta}+2\sin\theta\cos^2\theta&\\% + &=\sin\theta-2\sin^{3}\theta+2\sin\theta\Ttyuukakko{1-\sin^2\theta}&\\% + &=-4\sin^{3}\theta+3\sin\theta&\\% + \cos3\theta&=\cos\theta\Ttyuukakko{2\cos^2\theta-1}-2\sin^2\theta\cos\theta&\\% + &=2\cos^{3}\theta-\cos\theta-2\Ttyuukakko{1-\cos^2\theta}\cos\theta &\\ + &=4\cos^{3}\theta-3\cos\theta% + \end{align*}% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の積和公式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin\alpha\cos\beta=\bunsuu{\sin\Ttyuukakko{\alpha+\beta}+\sin\Ttyuukakko{\alpha-\beta}}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin\alpha\cos\beta=\bunsuu{\sin\Ttyuukakko{\alpha+\beta}+\sin\Ttyuukakko{\alpha-\beta}}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\cos\alpha\cos\beta=\bunsuu{\cos\Ttyuukakko{\alpha+\beta}+\cos\Ttyuukakko{\alpha-\beta}}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\cos\alpha\cos\beta=\bunsuu{\cos\Ttyuukakko{\alpha+\beta}+\cos\Ttyuukakko{\alpha-\beta}}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\sin\alpha\sin\beta=\bunsuu{\cos\Ttyuukakko{\alpha+\beta}-\cos\Ttyuukakko{\alpha-\beta}}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\sin\alpha\sin\beta=\bunsuu{\cos\Ttyuukakko{\alpha+\beta}-\cos\Ttyuukakko{\alpha-\beta}}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 三角関数の加法定理% + \begin{align*} + \sin\Ttyuukakko{\alpha+\beta}=\sin\alpha\cos\beta+\cos\alpha\sin\beta\shikimaru{1}\\% + \sin\Ttyuukakko{\alpha-\beta}=\sin\alpha\cos\beta-\cos\alpha\sin\beta\shikimaru{2}\\% + \cos\Ttyuukakko{\alpha+\beta}=\cos\alpha\cos\beta-\sin\alpha\sin\beta\shikimaru{3}\\% + \cos\Ttyuukakko{\alpha-\beta}=\cos\alpha\cos\beta+\sin\alpha\sin\beta\shikimaru{4}% + \end{align*} + より,$\text{\ajMaru{1}}+\text{\ajMaru{2}}$から% + \[\sin\alpha\cos\beta=\bunsuu{1}{2}\Tdaikakko{\sin\Ttyuukakko{\alpha+\beta}+\sin\Ttyuukakko{\alpha-\beta}}\]% + \半空行% + $\text{\ajMaru{3}}+\text{\ajMaru{4}}$から% + \[\cos\alpha\cos\beta=\bunsuu{1}{2}\Tdaikakko{\cos\Ttyuukakko{\alpha+\beta}+\cos\Ttyuukakko{\alpha-\beta}}\]% + \半空行% + $\text{\ajMaru{4}}-\text{\ajMaru{3}}$から% + \[\sin\alpha\sin\beta=\bunsuu{1}{2}\Tdaikakko{\cos\Ttyuukakko{\alpha-\beta}-\cos\Ttyuukakko{\alpha+\beta}}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の和積公式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\sin{A}+\sin{B}=2 \sin\bunsuu{A+B}{2}\cos\bunsuu{A-B}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\sin{A}+\sin{B}=2 \sin\bunsuu{A+B}{2}\cos\bunsuu{A-B}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\sin{A}-\sin{B}=2 \cos\bunsuu{A+B}{2}\sin\bunsuu{A-B}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\sin{A}-\sin{B}=2 \cos\bunsuu{A+B}{2}\sin\bunsuu{A-B}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\cos{A}+\cos{B}=2 \cos\bunsuu{A+B}{2}\cos\bunsuu{A-B}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\cos{A}+\cos{B}=2 \cos\bunsuu{A+B}{2}\cos\bunsuu{A-B}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\cos{A}-\cos{B}=-2 \sin\bunsuu{A+B}{2}\sin\bunsuu{A-B}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\cos{A}-\cos{B}=-2 \sin\bunsuu{A+B}{2}\sin\bunsuu{A-B}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 三角関数の積和の公式% + \[\sin\alpha\cos\beta=\bunsuu{1}{2}\Tdaikakko{\sin\Ttyuukakko{\alpha+\beta}+\sin\Ttyuukakko{\alpha-\beta}}\]% + \[\cos\alpha\cos\beta=\bunsuu{1}{2}\Tdaikakko{\cos\Ttyuukakko{\alpha+\beta}+\cos\Ttyuukakko{\alpha-\beta}}\]% + \[\sin\alpha\sin\beta=\bunsuu{1}{2}\Tdaikakko{\cos\Ttyuukakko{\alpha-\beta}-\cos\Ttyuukakko{\alpha+\beta}}\]% + において,$\alpha+\beta=A\数式カンマスペース\alpha-\beta=B$と置くことで,$\alpha=\bunsuu{A+B}{2}\数式カンマスペース\beta=\bunsuu{A-B}{2}$となるので,% + \[\sin{A}+\sin{B}=2 \sin\bunsuu{A+B}{2}\cos\bunsuu{A-B}{2}\]% + \[\sin{A}-\sin{B}=2 \cos\bunsuu{A+B}{2}\sin\bunsuu{A-B}{2}\]% + \[\cos{A}+\cos{B}=2 \cos\bunsuu{A+B}{2}\cos\bunsuu{A-B}{2}\]% + \[\cos{A}-\cos{B}=-2 \sin\bunsuu{A+B}{2}\sin\bunsuu{A-B}{2}\]% + \証明終了% + となる。% + }% + {\relax}% + }% + + +\NewDocumentCommand{\三角関数の合成}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$a\sin\theta+b\cos\theta=\sqrt{a^2+b^2}\sin\Ttyuukakko{\theta+\alpha}\text{\ (ただし,$\sin\alpha=\bunsuu{b}{\sqrt{a^2+b^2}}\数式カンマスペース\cos\alpha=\bunsuu{a}{\sqrt{a^2+b^2}}$)}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + \[a\sin\theta+b\cos\theta=\sqrt{a^2+b^2}\sin\Ttyuukakko{\theta+\alpha}\text{\ (ただし,$\sin\alpha=\bunsuu{b}{\sqrt{a^2+b^2}}\数式カンマスペース\cos\alpha=\bunsuu{a}{\sqrt{a^2+b^2}}$)}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 三角関数の加法定理\par% + $\sin\Ttyuukakko{\alpha+\beta}=\sin\alpha \cos\beta+ \cos\alpha \sin\beta$について,% + \[\bunsuu{a}{\sqrt{a^2+b^2}}=\cos\alpha\数式カンマスペース\bunsuu{b}{\sqrt{a^2+b^2}}=\sin\alpha\]% + とすることで,\par% + \[a\sin\theta+b\cos\theta=\sqrt{a^2+b^2}\sin\Ttyuukakko{\theta+\alpha}\]% + となる。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\有理数の指数}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$a>0$また$m\数式カンマスペース n$が正の整数,$r$が正の有理数のとき,$a^{\bunsuu{m}{n}}=\sqrt[n]{a^{m}}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $a>0$また$m\数式カンマスペース n$が正の整数,$r$が正の有理数のとき,% + \[a^{\bunsuu{m}{n}}=\sqrt[n]{a^{m}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$a>0$また$n$が正の整数のとき,$a^{\bunsuu{1}{n}}=\sqrt[n]{a}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $a>0$また$n$が正の整数のとき,% + \[a^{\bunsuu{1}{n}}=\sqrt[n]{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$a>0$,$r$が正の有理数のとき,$a^{-r}=\bunsuu{1}{a^{r}}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + $a>0$,$r$が正の有理数のとき,% + \[a^{-r}=\bunsuu{1}{a^{r}}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\指数法則}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$a>0$また,$r\数式カンマスペース s$は有理数のとき,$a^{r}a^{s}=a^{r+s}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $a>0$また,$r\数式カンマスペース s$は有理数のとき,% + \[a^{r}a^{s}=a^{r+s}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$a>0$また,$r\数式カンマスペース s$は有理数のとき,$\Ttyuukakko{a^{r}}^{s}=a^{rs}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $a>0$また,$r\数式カンマスペース s$は有理数のとき,% + \[\Ttyuukakko{a^{r}}^{s}=a^{rs}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース b>0$また,$r$は有理数のとき,$\Ttyuukakko{ab}^{r}=a^{r}b^{r}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース b>0$また,$r$は有理数のとき,% + \[\Ttyuukakko{ab}^{r}=a^{r}b^{r}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$a>0$また,$r\数式カンマスペース s$は有理数のとき,$\bunsuu{a^{r}}{a^{s}}=a^{r-s}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {% + $a>0$また,$r\数式カンマスペース s$は有理数のとき,% + \[\bunsuu{a^{r}}{a^{s}}=a^{r-s}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース b>0$また,$r$は有理数のとき,$\Ttyuukakko{\bunsuu{a}{b}}^{r}=\bunsuu{a^{r}}{b^{r}}$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース b>0$また,$r$は有理数のとき,% + \[\Ttyuukakko{\bunsuu{a}{b}}^{r}=\bunsuu{a^{r}}{b^{r}}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\対数の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {% + $a>0\数式カンマスペース b>0$また,$r\数式カンマスペース s$は有理数とする。\par% + $a^{p}=M$ならば,$\log_{a}M$,$\log_{a}M \log_{a}M$ならば,$a^{p}=M$% + }% + {\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース b>0$また,$r\数式カンマスペース s$は有理数とする。\par% + $a^{p}=M$ならば,$\log_{a}M$\par% + $\log_{a}M$ならば,$a^{p}=M$% + }% + {\relax}% + }% + + +\NewDocumentCommand{\対数の性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース a\neq1$とするとき,$\log_{a}a=1$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース a\neq1$とするとき,% + \[\log_{a}a=1\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース a\neq1$とするとき,$\log_{a}1=0$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース a\neq1$とするとき,% + \[\log_{a}1=0\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース a\neq1$とするとき,$\log_{a}\bunsuu{1}{a}=-1$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース a\neq1$とするとき,% + \[\log_{a}\bunsuu{1}{a}=-1\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース a\neq1\数式カンマスペース M>0\数式カンマスペース N>0$とするとき,$\log_{a}MN=\log_{a}M+\log_{a}N$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース a\neq1\数式カンマスペース M>0\数式カンマスペース N>0$とするとき,% + \[\log_{a}MN=\log_{a}M+\log_{a}N\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース a\neq1\数式カンマスペース M>0\数式カンマスペース N>0$とするとき,$\log_{a}\bunsuu{M}{N}=\log_{a}M-\log_{a}N$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース a\neq1\数式カンマスペース M>0\数式カンマスペース N>0$とするとき,% + \[\log_{a}\bunsuu{M}{N}=\log_{a}M-\log_{a}N\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式F}\AND\equal{#2}{i}}% + {$a>0\数式カンマスペース a\neq1\数式カンマスペース M>0\数式カンマスペース N>0$とするとき,$\log_{a}M^{k}=k\log_{a}M$}{\relax}% + \ifthenelse{\equal{#1}{公式F}\AND\equal{#2}{b}}% + {% + $a>0\数式カンマスペース a\neq1\数式カンマスペース M>0\数式カンマスペース N>0$とするとき,% + \[\log_{a}M^{k}=k\log_{a}M\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + $p=\log_{a}M\数式カンマスペース q=\log_{a}N$として,\par% + $MN=a^{p}a^{q}$指数法則より% + \[MN=a^{p+q}\]% + ここで,対数の定義より% + \[\log_{a}MN=p+q\]% + \[\Leftrightarrow\log_{a}MN=\log_{a}M+\log_{a}N\]% + \空行% + $p=\log_{a}M\数式カンマスペース q=\log_{a}N$として,% + \[\bunsuu{M}{N}=\bunsuu{a^{p}}{a^{q}}\]% + 指数法則より% + \[\bunsuu{M}{N}=a^{p-q}\]% + ここで,対数の定義より% + \[\log_{a}\bunsuu{M}{N}=p-q\]% + \[\Leftrightarrow\log_{a}\bunsuu{M}{N}=\log_{a}M-\log_{a}N\]% + \空行% + $p=\log_{a}M$として,$a^{p}=M$より両辺$k$乗して% + \[a^{pk}=M^{k}\]% + 対数を取ると% + \[pk=\log_{a}M^{k}\]% + $p=\log_{a}M$より,% + \[\log_{a}M^{k}=k\log_{a}M\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\底の変換公式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$a\数式カンマスペース b\数式カンマスペース c$は正の実数で,$a\neq1\数式カンマスペース b\neq1\数式カンマスペース c\neq1$のとき,$\log_{a}b=\bunsuu{\log_{c}b}{\log_{c}a}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + $a\数式カンマスペース b\数式カンマスペース c$は正の実数で,$a\neq1\数式カンマスペース b\neq1\数式カンマスペース c\neq1$のとき,% + \[\log_{a}b=\bunsuu{\log_{c}b}{\log_{c}a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 対数の定義より$a^{\log_{a}b}=b$が成立。\par% + 底が$c$の対数を取ると,% + \[\log_{c}a^{\log_{a}b}=\log_{c}b\]% + 対数の性質より,% + \[\log_{a}b\log_{c}a=\log_{c}b\]% + よって,% + \[\log_{a}b=\bunsuu{\log_{c}b}{\log_{c}a}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\導関数の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$f'\Ttyuukakko{x}=\displaystyle\lim_{h \to 0}\bunsuu{f\Ttyuukakko{x+h}-f\Ttyuukakko{x}}{h}$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {\[f'\Ttyuukakko{x}=\displaystyle\lim_{h \to 0}\bunsuu{f\Ttyuukakko{x+h}-f\Ttyuukakko{x}}{h}\]}{\relax}% + }% + + +\NewDocumentCommand{\べき乗関数と定数関数の導関数}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\Ttyuukakko{x^{n}}'=nx^{n-1}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{x^{n}}'=nx^{n-1}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\Ttyuukakko{c}'=0$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{c}'=0\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 導関数の定義より,\par% + \[\Ttyuukakko{x^{n}}'=\displaystyle\lim_{h \to 0}\bunsuu{\Ttyuukakko{x+h}^{n}-x^{n}}{h}\]% + 二項定理より,\par% + \begin{align*}% + \Ttyuukakko{x^{n}}'&=\displaystyle\lim_{h \to 0} \bunsuu{\Ttyuukakko{x+h}^{n}-x^{n}}{h}&\\% + &=\displaystyle\lim_{h \to 0}\bunsuu{{}_{n}C_{0} x^{n}+{}_{n}C_{1} x^{n-1}h+{}_{n}C_{2}x^{n-2}h^2+\cdots\cdot{}_{n}C_{n-1} xh^{n-1}+{}_{n}C_{n} h^{n}-x^{n}}{h}&\\% + &=\displaystyle\lim_{h \to 0}\Ttyuukakko{{}_{n}C_{1} x^{n-1}+{}_{n}C_{2}x^{n-2}h+\cdots+{}_{n}C_{n-1} xh^{n-2}+{}_{n}C_{n} h^{n-1}}&\\% + &=\displaystyle\lim_{h \to 0}\Tdaikakko{{}_{n}C_{1} x^{n-1}+\Ttyuukakko{{}_{n}C_{2}x^{n-2}+\cdots\cdot{}_{n}C_{n-1} xh^{n-3}+{}_{n}C_{n} h^{n-2}}h}&\\% + &={}_{n}C_{1} x^{n-1}&\\% + &=nx^{n-1}% + \end{align*}% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\導関数の性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {${kf\Ttyuukakko{x}}'=kf'\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[{kf\Ttyuukakko{x}}'=kf'\Ttyuukakko{x}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {${f\Ttyuukakko{x}\pm g\Ttyuukakko{x}}'=f'\Ttyuukakko{x}\pm g'\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[{f\Ttyuukakko{x}\pm g\Ttyuukakko{x}}'=f'\Ttyuukakko{x}\pm g'\Ttyuukakko{x}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {${kf\Ttyuukakko{x}+lg\Ttyuukakko{x}}'=kf'\Ttyuukakko{x}+lg'\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[{kf\Ttyuukakko{x}+lg\Ttyuukakko{x}}'=kf'\Ttyuukakko{x}+lg'\Ttyuukakko{x}\]}{\relax}% + }% + + +\NewDocumentCommand{\接線の方程式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {曲線$y=f\Ttyuukakko{x}$上の点$\Ttyuukakko{a\数式カンマスペース f\Ttyuukakko{a}}$における曲線の接線の方程式は,$y-f\Ttyuukakko{a}=f'\Ttyuukakko{x}\Ttyuukakko{x-a}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 曲線$y=f\Ttyuukakko{x}$上の点$\Ttyuukakko{a\数式カンマスペース f\Ttyuukakko{a}}$における曲線の接線の方程式は,% + \[y-f\Ttyuukakko{a}=f'\Ttyuukakko{x}\Ttyuukakko{x-a}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\不定積分の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$F'\Ttyuukakko{x}=f\Ttyuukakko{x}$のとき,$\int_{}^{} f\Ttyuukakko{x}dx=F\Ttyuukakko{x}+C$($C$は積分定数)}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + $F'\Ttyuukakko{x}=f\Ttyuukakko{x}$のとき,% + \[\int_{}^{} f\Ttyuukakko{x}dx=F\Ttyuukakko{x}+C\]% + ($C$は積分定数)% + }% + {\relax}% + }% + + +\NewDocumentCommand{\べき乗関数の不定積分}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$\int_{}^{} x^{n}dx=\bunsuu{1}{n+1}x^{n+1}+C\text{\ ($C$は積分定数)}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + \[\int_{}^{} x^{n}dx=\bunsuu{1}{n+1}x^{n+1}+C\text{\ ($C$は積分定数)}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\不定積分の性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\displaystyle \int_{}^{} kf\Ttyuukakko{x}dx=k\displaystyle \int_{}^{} f\Ttyuukakko{x}dx$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\int_{}^{} kf\Ttyuukakko{x}dx=k\int_{}^{} f\Ttyuukakko{x}dx\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\displaystyle \int_{}^{} {f\Ttyuukakko{x}\pm g\Ttyuukakko{x}}dx=\displaystyle \int_{}^{} f\Ttyuukakko{x}dx\pm\displaystyle \int_{}^{} g\Ttyuukakko{x}dx$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\int_{}^{} {f\Ttyuukakko{x}\pm g\Ttyuukakko{x}}dx=\int_{}^{} f\Ttyuukakko{x}dx\pm\int_{}^{} g\Ttyuukakko{x}dx\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\displaystyle \int_{}^{} {kf\Ttyuukakko{x}+lg\Ttyuukakko{x}}dx=k\displaystyle \int_{}^{} f\Ttyuukakko{x}dx+l\displaystyle \int_{}^{} g\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\int_{}^{} {kf\Ttyuukakko{x}+lg\Ttyuukakko{x}}dx=k\int_{}^{} f\Ttyuukakko{x}dx+l\int_{}^{} g\Ttyuukakko{x}\]}{\relax}% + }% + + +\NewDocumentCommand{\定積分の定義}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {曲線$y=f\Ttyuukakko{x}$と$x$軸(区間は$a$から$b$)に囲まれた部分の面積$S$について,$F'\Ttyuukakko{x}=f\Ttyuukakko{x}$のとき,$S=\int_{b}^{a} f\Ttyuukakko{x}dx=[F\Ttyuukakko{x}]^{b}_{a}=F\Ttyuukakko{b}-F\Ttyuukakko{a}$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + 曲線$y=f\Ttyuukakko{x}$と$x$軸(区間は$a$から$b$)に囲まれた部分の面積$S$について,$F'\Ttyuukakko{x}=f\Ttyuukakko{x}$のとき,% + \[S=\int_{b}^{a} f\Ttyuukakko{x}dx=[F\Ttyuukakko{x}]^{b}_{a}=F\Ttyuukakko{b}-F\Ttyuukakko{a}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\定積分の性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\int_{b}^{a} kf\Ttyuukakko{x}dx=k\int_{b}^{a} f\Ttyuukakko{x}dx$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\int_{b}^{a} kf\Ttyuukakko{x}dx=k\int_{b}^{a} f\Ttyuukakko{x}dx\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\int_{b}^{a} {f\Ttyuukakko{x}\pm g\Ttyuukakko{x}}dx=\int_{b}^{a} f\Ttyuukakko{x}dx\pm\int_{b}^{a} g\Ttyuukakko{x}dx$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\int_{b}^{a} {f\Ttyuukakko{x}\pm g\Ttyuukakko{x}}dx=\int_{b}^{a} f\Ttyuukakko{x}dx\pm\int_{b}^{a} g\Ttyuukakko{x}dx\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\int_{a}^{a} f\Ttyuukakko{x}dx=0$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\int_{a}^{a} f\Ttyuukakko{x}dx=0\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\int_{b}^{a} f\Ttyuukakko{x}dx=-\int_{a}^{b} f\Ttyuukakko{x}dx$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\int_{b}^{a} f\Ttyuukakko{x}dx=-\int_{a}^{b} f\Ttyuukakko{x}dx\]}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$\int_{b}^{a} f\Ttyuukakko{x}dx=\int_{a}^{c} f\Ttyuukakko{x}dx+\int_{c}^{b} f\Ttyuukakko{x}dx$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {\[\int_{b}^{a} f\Ttyuukakko{x}dx=\int_{a}^{c} f\Ttyuukakko{x}dx+\int_{c}^{b} f\Ttyuukakko{x}dx\]}{\relax}% + }% + + +\NewDocumentCommand{\ベクトルの演算}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$k\数式カンマスペース l$が実数のとき,$\vec{a}+\vec{b}=\vec{b}+\vec{a}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $k\数式カンマスペース l$が実数のとき% + \[\vec{a}+\vec{b}=\vec{b}+\vec{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$k\数式カンマスペース l$が実数のとき,$\Ttyuukakko{\vec{a}+\vec{b}}+\vec{c}=\vec{a}+\Ttyuukakko{\vec{b}+\vec{c}}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $k\数式カンマスペース l$が実数のとき% + \[\Ttyuukakko{\vec{a}+\vec{b}}+\vec{c}=\vec{a}+\Ttyuukakko{\vec{b}+\vec{c}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\vec{a}+\Ttyuukakko{a\vec{a}}=\vec{0}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\vec{a}+\Ttyuukakko{a\vec{a}}=\vec{0}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\vec{a}+\vec{0}=\vec{a}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\vec{a}+\vec{0}=\vec{a}\]}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$\vec{a}-\vec{b}=\vec{a}+\Ttyuukakko{-\vec{b}}$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {\[\vec{a}-\vec{b}=\vec{a}+\Ttyuukakko{-\vec{b}}\]}{\relax}% + \ifthenelse{\equal{#1}{公式F}\AND\equal{#2}{i}}% + {$k\数式カンマスペース l$が実数のとき,$k\Ttyuukakko{l\vec{a}}=l\Ttyuukakko{k\vec{b}}$}{\relax}% + \ifthenelse{\equal{#1}{公式F}\AND\equal{#2}{b}}% + {% + $k\数式カンマスペース l$が実数のとき% + \[k\Ttyuukakko{l\vec{a}}=l\Ttyuukakko{k\vec{b}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式G}\AND\equal{#2}{i}}% + {$k\数式カンマスペース l$が実数のとき,$\Ttyuukakko{k+l}\vec{a}=k\vec{a}+l\vec{a}$}{\relax}% + \ifthenelse{\equal{#1}{公式G}\AND\equal{#2}{b}}% + {% + $k\数式カンマスペース l$が実数のとき% + \[\Ttyuukakko{k+l}\vec{a}=k\vec{a}+l\vec{a}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式H}\AND\equal{#2}{i}}% + {$k$が実数のとき,$k\Ttyuukakko{\vec{a}+\vec{b}}=k\vec{a}+k\vec{b}$}{\relax}% + \ifthenelse{\equal{#1}{公式H}\AND\equal{#2}{b}}% + {% + $k$が実数のとき% + \[k\Ttyuukakko{\vec{a}+\vec{b}}=k\vec{a}+k\vec{b}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式I}\AND\equal{#2}{i}}% + {$\overrightarrow{AB}+\overrightarrow{BC}=\overrightarrow{AC}$}{\relax}% + \ifthenelse{\equal{#1}{公式I}\AND\equal{#2}{b}}% + {\[\overrightarrow{AB}+\overrightarrow{BC}=\overrightarrow{AC}\]}{\relax}% + \ifthenelse{\equal{#1}{公式J}\AND\equal{#2}{i}}% + {$\overrightarrow{OA}-\overrightarrow{OB}=\overrightarrow{BA}$}{\relax}% + \ifthenelse{\equal{#1}{公式J}\AND\equal{#2}{b}}% + {\[\overrightarrow{OA}-\overrightarrow{OB}=\overrightarrow{BA}\]}{\relax}% + \ifthenelse{\equal{#1}{公式K}\AND\equal{#2}{i}}% + {$\overrightarrow{AA}=\vec{0}$}{\relax}% + \ifthenelse{\equal{#1}{公式K}\AND\equal{#2}{b}}% + {\[\overrightarrow{AA}=\vec{0}\]}{\relax}% + \ifthenelse{\equal{#1}{公式L}\AND\equal{#2}{i}}% + {$\overrightarrow{BA}=\overrightarrow{AB}$}{\relax}% + \ifthenelse{\equal{#1}{公式L}\AND\equal{#2}{b}}% + {\[\overrightarrow{BA}=\overrightarrow{AB}\]}{\relax}% + }% + + +\NewDocumentCommand{\平面ベクトルの分解}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$\vec{a}\neq0\数式カンマスペース\vec{b}\neq0$で,$\vec{a}$と$\vec{b}$が平行でないとき,任意の$\vec{p}$はただ一通りに,$\vec{p}=s\vec{a}+t\vec{b}$の形に表せられる。}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + $\vec{a}\neq0\数式カンマスペース\vec{b}\neq0$で,$\vec{a}$と$\vec{b}$が平行でないとき,任意の$\vec{p}$はただ一通りに,% + \[\vec{p}=s\vec{a}+t\vec{b}\]% + の形に表せられる。% + }% + {\relax}% + }% + + +\NewDocumentCommand{\平面ベクトルの成分}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース\vec{b}=\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,$\vec{a}=\vec{b}\Leftrightarrow a_{1}=b_{1}\数式カンマスペース a_{2}=b_{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース\vec{b}=\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,% + $\vec{a}=\vec{b}$% + \[\Leftrightarrow a_{1}=b_{1}\数式カンマスペース a_{2}=b_{2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース\vec{b}=\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,$a_{1}=b_{1}\数式カンマスペース a_{2}=b_{2}\Leftrightarrow\vec{a}=\vec{b}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース\vec{b}=\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,% + $a_{1}=b_{1}\数式カンマスペース a_{2}=b_{2}$% + \[\Leftrightarrow\vec{a}=\vec{b}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}$とすると,$\Tzettaiti{\vec{a}}=\sqrt{a_{1}^2+a_{2}^2}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + $\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}$とすると,% + \[\Tzettaiti{\vec{a}}=\sqrt{a_{1}^2+a_{2}^2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース\vec{b}=\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$また,$k\数式カンマスペース l$を実数として,$k\vec{a}+l\vec{b}=k\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}+l\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}=\Ttyuukakko{ka_{1}+lb_{1}\数式カンマスペース ka_{2}+lb_{2}}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {% + $\vec{a}=\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース\vec{b}=\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$また,$k\数式カンマスペース l$を実数として,% + \[k\vec{a}+l\vec{b}=k\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}+l\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}=\Ttyuukakko{ka_{1}+lb_{1}\数式カンマスペース ka_{2}+lb_{2}}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\ベクトルの成分と大きさ}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース B\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,$\overrightarrow{AB}=\Ttyuukakko{b_{1}-a_{1}\数式カンマスペース b_{2}-a_{2}}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース B\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,% + \[\overrightarrow{AB}=\Ttyuukakko{b_{1}-a_{1}\数式カンマスペース b_{2}-a_{2}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース B\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,$\Tzettaiti{\overrightarrow{AB}}=\sqrt{\Ttyuukakko{b_{1}-a_{1}}^2+\Ttyuukakko{b_{2}-a_{2}}^2}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{a_{1}\数式カンマスペース a_{2}}\数式カンマスペース B\Ttyuukakko{b_{1}\数式カンマスペース b_{2}}$とすると,% + \[\Tzettaiti{\overrightarrow{AB}}=\sqrt{\Ttyuukakko{b_{1}-a_{1}}^2+\Ttyuukakko{b_{2}-a_{2}}^2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 三平方の定理より,% + \[\Tzettaiti{\overrightarrow{AB}}=\sqrt{\Ttyuukakko{b_{1}-a_{1}}^2+\Ttyuukakko{b_{2}-a_{2}}^2}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\平面ベクトルの内積}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {ベクトルの内積は,$\vec{a} \cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta \Ttyuukakko{0^{\circ} \leqq \theta \leqq 180^{\circ}}\text{\ (ただし,$\theta$は$\vec{a}$と$\vec{b}$のなす角}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + ベクトルの内積は,% + \[\vec{a} \cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta \Ttyuukakko{0^{\circ} \leqq \theta \leqq 180^{\circ}}\text{\ (ただし,$\theta$は$\vec{a}$と$\vec{b}$のなす角}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\内積の性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$\vec{a} \cdot\vec{b}=\vec{b} \cdot\vec{a}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {\[\vec{a} \cdot\vec{b}=\vec{b} \cdot\vec{a}\]}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\vec{a}+\vec{b}} \cdot\vec{c}=\vec{a} \cdot\vec{c}+\vec{b} \cdot\vec{c}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\vec{a}+\vec{b}} \cdot\vec{c}=\vec{a} \cdot\vec{c}+\vec{b} \cdot\vec{c}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\vec{c} \cdot\Ttyuukakko{\vec{b}+\vec{c}}=\vec{a} \cdot\vec{c}+\vec{b} \cdot\vec{c}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\vec{c} \cdot\Ttyuukakko{\vec{b}+\vec{c}}=\vec{a} \cdot\vec{c}+\vec{b} \cdot\vec{c}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$k$が実数のとき,$\Ttyuukakko{k\vec{a}} \cdot\vec{b}=\vec{a} \cdot\Ttyuukakko{k\vec{b}}=k\Ttyuukakko{\vec{a} \cdot\vec{b}}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {% + $k$が実数のとき,% + \[\Ttyuukakko{k\vec{a}} \cdot\vec{b}=\vec{a} \cdot\Ttyuukakko{k\vec{b}}=k\Ttyuukakko{\vec{a} \cdot\vec{b}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$\vec{a} \cdot\vec{a}=\Tzettaiti{\vec{a}}^2$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {\[\vec{a} \cdot\vec{a}=\Tzettaiti{\vec{a}}^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式F}\AND\equal{#2}{i}}% + {$\Tzettaiti{\vec{a}}=\sqrt{\vec{a} \cdot\vec{a}}$}{\relax}% + \ifthenelse{\equal{#1}{公式F}\AND\equal{#2}{b}}% + {\[\Tzettaiti{\vec{a}}=\sqrt{\vec{a} \cdot\vec{a}}\]}{\relax}% + }% + + +\NewDocumentCommand{\平面ベクトルの平行条件}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{条件}\AND\equal{#2}{i}}% + {% + $\vec{a}\neq\vec{0}\数式カンマスペース\vec{b}\neq\vec{0}$また,$k$は実数とする,\par% + $\vec{a}/ \!/ \vec{b}\Leftrightarrow\vec{b}=k\vec{a}$,$\vec{b}=k\vec{a}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{条件}\AND\equal{#2}{b}}% + {% + $\vec{a}\neq\vec{0}\数式カンマスペース\vec{b}\neq\vec{0}$また,$k$は実数とする,\par% + $\vec{a}/ \!/ \vec{b}$% + \[\Leftrightarrow\vec{b}=k\vec{a}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\平面ベクトルの垂直条件}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{条件}\AND\equal{#2}{i}}% + {% + $\vec{a}\neq\vec{0}\数式カンマスペース\vec{b}\neq\vec{0}$また,$k$は実数とする,\par% + $\vec{a} \perp \vec{b}\Leftrightarrow\vec{a} \cdot\vec{b}=0$% + }% + {\relax}% + \ifthenelse{\equal{#1}{条件}\AND\equal{#2}{b}}% + {% + $\vec{a}\neq\vec{0}\数式カンマスペース\vec{b}\neq\vec{0}$また,$k$は実数とする,\par% + $\vec{a} \perp \vec{b}$% + \[\Leftrightarrow\vec{a} \cdot\vec{b}=0\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\位置ベクトル}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$とする,線分$AB$を$m:n$に内分する点は,$\bunsuu{n\vec{a}+m\vec{b}}{m+n}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$とする,線分$AB$を$m:n$に内分する点は,% + \[\bunsuu{n\vec{a}+m\vec{b}}{m+n}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{内分点の位置ベクトルの証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $P\Ttyuukakko{\vec{p}}$が$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$を$m:n$に内分するとき,% + \begin{align*}% + \vec{p}&=\vec{a}+\bunsuu{m}{m+n}\Ttyuukakko{\vec{b}-\vec{a}}&\\% + &=\bunsuu{n\vec{a}+m\vec{b}}{m+n}&\\% + \end{align*}% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$とする,線分$AB$を$m:n$に外分する点は,$\bunsuu{-n\vec{a}+m\vec{b}}{m-n}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$とする,線分$AB$を$m:n$に外分する点は,% + \[\bunsuu{-n\vec{a}+m\vec{b}}{m-n}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{外分点の位置ベクトルの証明}\AND\equal{#2}{i}}% + {% + \証明開始% + $m:n$に外分ということは$m:-n$に内分ということなので,$\bunsuu{-n\vec{a}+m\vec{b}}{m-n}$% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$とする,線分$AB$の中点は,$\bunsuu{\vec{a}+\vec{b}}{2}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$とする,線分$AB$の中点は,% + \[\bunsuu{\vec{a}+\vec{b}}{2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}\数式カンマスペース C\Ttyuukakko{\vec{c}}$とする,三角形$ABC$の重心は,$\bunsuu{\vec{a}+\vec{b}+\vec{c}}{3}$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {% + $A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}\数式カンマスペース C\Ttyuukakko{\vec{c}}$とする,三角形$ABC$の重心は,% + \[\bunsuu{\vec{a}+\vec{b}+\vec{c}}{3}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\ベクトル方程式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$s\数式カンマスペース t$を実数とする。点$A\Ttyuukakko{\vec{a}}$をとおり,$\vec{d}$に平行な直線は,$\vec{p}=\vec{a}+t\vec{b}$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $s\数式カンマスペース t$を実数とする。点$A\Ttyuukakko{\vec{a}}$をとおり,$\vec{d}$に平行な直線は,% + \[\vec{p}=\vec{a}+t\vec{b}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$s\数式カンマスペース t$を実数とする。二点$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$を通る直線は,$\vec{p}=\Ttyuukakko{1-t}\vec{a}+t\vec{b}\数式カンマスペース\vec{p}=a\vec{a}+t\vec{b}\text{\ (ただし,$s+t=1$)}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {% + $s\数式カンマスペース t$を実数とする。二点$A\Ttyuukakko{\vec{a}}\数式カンマスペース B\Ttyuukakko{\vec{b}}$を通る直線は,% + \[\vec{p}=\Ttyuukakko{1-t}\vec{a}+t\vec{b}\数式カンマスペース\vec{p}=a\vec{a}+t\vec{b}\text{\ (ただし,$s+t=1$)}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {点$A\Ttyuukakko{\vec{a}}$を通り,$\vec{n}$に垂直な直線$\vec{p}$について,$\vec{n}\cdot\Ttyuukakko{\vec{p}-\vec{a}}=0$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {% + 点$A\Ttyuukakko{\vec{a}}$を通り,$\vec{n}$に垂直な直線$\vec{p}$について,% + \[\vec{n}\cdot\Ttyuukakko{\vec{p}-\vec{a}}=0\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {中心$C\Ttyuukakko{\vec{c}}$,半径$r$の円は,$\Tzettaiti{\vec{p}-\vec{c}}=r\数式カンマスペース\Ttyuukakko{\vec{p}-\vec{c}}\cdot\Ttyuukakko{\vec{p}-\vec{c}}=r^2$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {% + 中心$C\Ttyuukakko{\vec{c}}$,半径$r$の円は,% + \[\Tzettaiti{\vec{p}-\vec{c}}=r\]% + \[\Ttyuukakko{\vec{p}-\vec{c}}\cdot\Ttyuukakko{\vec{p}-\vec{c}}=r^2\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\等差数列}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{i}}% + {初項$a_{1}$,公差$d$のとき,$a_{n}=a_{1}+\Ttyuukakko{n-1}d$}{\relax}% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{b}}% + {% + 初項$a_{1}$,公差$d$のとき,% + \[a_{n}=a_{1}+\Ttyuukakko{n-1}d\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{総和}\AND\equal{#2}{i}}% + {$S_{n}=\bunsuu{n\Ttyuukakko{a_{1}+a_{n}}}{2}$}{\relax}% + \ifthenelse{\equal{#1}{総和}\AND\equal{#2}{b}}% + {\[S_{n}=\bunsuu{n\Ttyuukakko{a_{1}+a_{n}}}{2}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \[S_{n}=a_{1}+\Ttyuukakko{a_{1}+d}+\Ttyuukakko{a_{1}+2d}+\cdots+\Tdaikakko{a_{1}+\Ttyuukakko{n-1}d}\]% + \[S_{n}=\Tdaikakko{a_{1}+\Ttyuukakko{n-1}d}+\cdots+a_{1}+\Ttyuukakko{a_{1}+d}+\Ttyuukakko{a_{1}+2d}\]% + 連立して,$2S=\Ttyuukakko{a_{1}+a_{n}}n$より,\par% + $S_{n}=\bunsuu{n\Ttyuukakko{a_{1}+a_{n}}}{2}$% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\等比数列}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{i}}% + {$a_{n}=ar^{n-1}$}{\relax}% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{b}}% + {\[a_{n}=ar^{n-1}\]}{\relax}% + \ifthenelse{\equal{#1}{総和}\AND\equal{#2}{i}}% + {% + $r\neq1$のとき,$S_{n}=\bunsuu{a_{1}\Ttyuukakko{1-r^{n}}}{1-r}$もしくは,$\bunsuu{a_{1}\Ttyuukakko{r^{n}-1}}{r-1}$\par% + $r=1$のとき,$S_{n}=na_{1}$% + }% + {\relax}% + \ifthenelse{\equal{#1}{総和}\AND\equal{#2}{b}}% + {% + $r\neq1$のとき,% + \[S_{n}=\bunsuu{a_{1}\Ttyuukakko{1-r^{n}}}{1-r}\]% + もしくは,% + \[S_{n}=\bunsuu{a_{1}\Ttyuukakko{r^{n}-1}}{r-1}\]% + $r=1$のとき,% + \[S_{n}=na_{1}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + \[S_{n}=a_{1}+ra_{1}+r^2a_{1}+\cdots+r^{n-1}a_{1}\]% + \[S_{n}r=ra_{1}+r^2a_{2}+r^{3}a_{1}+\cdots+r^{n}\]% + 連立することで,$S\Ttyuukakko{1-r}=a_{1}-r^{n}a_{1}$となる。\par% + よって,% + \[S=\bunsuu{a_{1}\Ttyuukakko{1-r^{n}}}{1-r}\]% + また,$\bunsuu{-1}{-1}$をかけることで,% + \[S=\bunsuu{a_{1}\Ttyuukakko{r^{n}-1}}{r-1}\]% + 以上より,% + \[S=\bunsuu{a_{1}\Ttyuukakko{1-r^{n}}}{1-r}=\bunsuu{a_{1}\Ttyuukakko{r^{n}-1}}{r-1}\]% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\シグマの公式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{i}}% + {$c$は$k$に無関係なとき,$\displaystyle \sum_{k=1}^{n} c=nc$}{\relax}% + \ifthenelse{\equal{#1}{公式A}\AND\equal{#2}{b}}% + {% + $c$は$k$に無関係なとき,% + \[\displaystyle \sum_{k=1}^{n} c=nc\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{i}}% + {$\displaystyle \sum_{k=1}^{n} k=\bunsuu{1}{2}n\Ttyuukakko{n+1}$}{\relax}% + \ifthenelse{\equal{#1}{公式B}\AND\equal{#2}{b}}% + {\[\displaystyle \sum_{k=1}^{n} k=\bunsuu{1}{2}n\Ttyuukakko{n+1}\]}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{i}}% + {$\displaystyle \sum_{k=1}^{n} k^2=\bunsuu{1}{6}n\Ttyuukakko{n+1}\Ttyuukakko{2n+1}$}{\relax}% + \ifthenelse{\equal{#1}{公式C}\AND\equal{#2}{b}}% + {\[\displaystyle \sum_{k=1}^{n} k^2=\bunsuu{1}{6}n\Ttyuukakko{n+1}\Ttyuukakko{2n+1}\]}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{i}}% + {$\displaystyle \sum_{k=1}^{n} k^{3}=\Tdaikakko{\bunsuu{1}{2}n\Ttyuukakko{n+1}}^2$}{\relax}% + \ifthenelse{\equal{#1}{公式D}\AND\equal{#2}{b}}% + {\[\displaystyle \sum_{k=1}^{n} k^{3}=\Tdaikakko{\bunsuu{1}{2}n\Ttyuukakko{n+1}}^2\]}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{i}}% + {$\displaystyle \sum_{k=1}^{n} r^{k-1}=\bunsuu{\Ttyuukakko{1-r^{n}}}{1-r}=\bunsuu{r^{n}-1}{r-1}$}{\relax}% + \ifthenelse{\equal{#1}{公式E}\AND\equal{#2}{b}}% + {\[\displaystyle \sum_{k=1}^{n} r^{k-1}=\bunsuu{\Ttyuukakko{1-r^{n}}}{1-r}=\bunsuu{r^{n}-1}{r-1}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + $\Ttyuukakko{k+1}^{3}=k^{3}+3k^2+3k+1$を用いる。\par% + $\Ttyuukakko{k+1}^{3}-k^{3}=3k^2+3k+1$の$k$に$1$から$n$までの自然数を代入したものを足したものは,% + \[\Ttyuukakko{n+1}^{3}-1=3\displaystyle \sum_{k=1}^{n} k^2+3\displaystyle \sum_{k=1}^{n} k=\bunsuu{1}{2}n\Ttyuukakko{n+1}+n\]% + \[\Leftrightarrow\displaystyle \sum_{k=1}^{n} k^2=\bunsuu{1}{6}n\Ttyuukakko{n+1}\Ttyuukakko{2n+1}\] + となる。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\シグマの性質}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{性質}\AND\equal{#2}{i}}% + {$p\数式カンマスペース q$が$k$に無関係な定数のとき,$\displaystyle\sum_{k=1}^{n}\Ttyuukakko{pa_{k}+qb_{k}}=p\displaystyle\sum_{k=1}^{n}a_{k}+q\displaystyle\sum_{k=1}^{n}a_{k}$}{\relax}% + \ifthenelse{\equal{#1}{性質}\AND\equal{#2}{b}}% + {% + $p\数式カンマスペース q$が$k$に無関係な定数のとき,% + \[\displaystyle\sum_{k=1}^{n}\Ttyuukakko{pa_{k}+qb_{k}}=p\displaystyle\sum_{k=1}^{n}a_{k}+q\displaystyle\sum_{k=1}^{n}a_{k}\]% + }% + {\relax}% + }% + +\NewDocumentCommand{\階差数列}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{i}}% + {数列${a_{n}}$の階差数列を${b_{n}}$とすると,$2\leqq n$のとき,$a_{n}=a_{1}+\displaystyle\sum_{k=1}^{n-1}b_{k}$}{\relax}% + \ifthenelse{\equal{#1}{一般項}\AND\equal{#2}{b}}% + {% + 数列${a_{n}}$の階差数列を${b_{n}}$とすると,$2\leqq n$のとき,% + \[a_{n}=a_{1}+\displaystyle\sum_{k=1}^{n-1}b_{k}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\漸化式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{等差型}\AND\equal{#2}{i}}% + {$a_{n+1}=a_{n}+d$のとき,$a_{n}=a_{1}+\Ttyuukakko{n-1}d$}{\relax}% + \ifthenelse{\equal{#1}{等差型}\AND\equal{#2}{b}}% + {% + $a_{n+1}=a_{n}+d$のとき,% + \[a_{n}=a_{1}+\Ttyuukakko{n-1}d\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{等比型}\AND\equal{#2}{i}}% + {$a_{n+1}=ra_{n}$のとき,$a_{n}=a_{1}r^{n-1}$}{\relax}% + \ifthenelse{\equal{#1}{等比型}\AND\equal{#2}{b}}% + {% + $a_{n+1}=ra_{n}$のとき,% + \[a_{n}=a_{1}r^{n-1}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{階差型}\AND\equal{#2}{i}}% + {$a_{n+1}-a_{n}=f\Ttyuukakko{n}$のとき,$a_{1}+\displaystyle \sum_{k=1}^{n-1}f\Ttyuukakko{k}$ただし,$2\leqq n$}{\relax}% + \ifthenelse{\equal{#1}{階差型}\AND\equal{#2}{b}}% + {% + $a_{n+1}-a_{n}=f\Ttyuukakko{n}$のとき,% + \[a_{1}+\displaystyle \sum_{k=1}^{n-1}f\Ttyuukakko{k}\text{\ (ただし,$2\leqq n$)}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{特性方程式}\AND\equal{#2}{i}}% + {$a_{n+1}=pa_{n}+q \Ttyuukakko{p\neq0\数式カンマスペース q\neq0}$のとき,$a_{n+1}-c=p\Ttyuukakko{a_{n}-c}$と変形して等差型に(ただし,$c=pc+q$を満たす)。}{\relax}% + \ifthenelse{\equal{#1}{特性方程式}\AND\equal{#2}{b}}% + {% + $a_{n+1}=pa_{n}+q \Ttyuukakko{p\neq0\数式カンマスペース q\neq0}$のとき,% + \[a_{n+1}-c=p\Ttyuukakko{a_{n}-c}\]% + と変形して等差型に(ただし,$c=pc+q$を満たす)。% + }% + {\relax}% + }% + + +\newcommand{\数学的帰納法}{自然数$n$に関する命題$P$が全ての自然数$n$について成立することを証明するには,$n=1$のときに$P$が成立することと,$n=k$のときに$P$が成立するという仮定のもと,$n=k+1$が成立することを証明する。}% + + +%%%%%%%%%%%%%%%%%%%%ここから数\UTF{2162}%%%%%%%%%%%%%%%%%%%% +\NewDocumentCommand{\共役複素数}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$\alpha=a+bi$のとき,共役な複素数$\overline{\alpha}$は$a-bi$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + $\alpha=a+bi$のとき,共役な複素数$\overline{\alpha}$は% + \[a-bi\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {$z$が実数かつ,$\overline{z}=z$ならば,$z$が実数。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {$z$が実数かつ,$\overline{z}=z$ならば,$z$が実数。}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {$z$が純虚数ならば,$\overline{z}=-z\数式カンマスペース z\neq0$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + $z$が純虚数ならば,% + \[\overline{z}=-z\数式カンマスペース z\neq0\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {$\overline{z}=-z\数式カンマスペース z\neq0$ならば,$z$が純虚数。 }{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + \[\overline{z}=-z\数式カンマスペース z\neq0\]% + ならば,$z$が純虚数。 % + }% + {\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{i}}% + {$\overline{\alpha+\beta}=\overline{\alpha}+\overline{\beta}$}{\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{b}}% + {\[\overline{\alpha+\beta}=\overline{\alpha}+\overline{\beta}\]}{\relax}% + \ifthenelse{\equal{#1}{性質E}\AND\equal{#2}{i}}% + {$\overline{\alpha-\beta}=\overline{\alpha}-\overline{\beta}$}{\relax}% + \ifthenelse{\equal{#1}{性質E}\AND\equal{#2}{b}}% + {\[\overline{\alpha-\beta}=\overline{\alpha}-\overline{\beta}\]}{\relax}% + \ifthenelse{\equal{#1}{性質F}\AND\equal{#2}{i}}% + {$\overline{\alpha\beta}=\overline{\alpha}\overline{\beta}$}{\relax}% + \ifthenelse{\equal{#1}{性質F}\AND\equal{#2}{b}}% + {\[\overline{\alpha\beta}=\overline{\alpha}\overline{\beta}\]}{\relax}% + \ifthenelse{\equal{#1}{性質G}\AND\equal{#2}{i}}% + {$\overline{\Ttyuukakko{\bunsuu{\alpha}{\beta}}}=\bunsuu{\overline{\alpha}}{\overline{\beta}}$}{\relax}% + \ifthenelse{\equal{#1}{性質G}\AND\equal{#2}{b}}% + {\[\overline{\Ttyuukakko{\bunsuu{\alpha}{\beta}}}=\bunsuu{\overline{\alpha}}{\overline{\beta}}\]}{\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + $\alpha=a+bi\数式カンマスペース\beta=c+di$\quad($a\数式カンマスペース b c\数式カンマスペース d$は実数かつ$a\neq0\数式カンマスペース c\neq0$)として,% + \begin{align*}% + \overline{\alpha+\beta}&=\overline{\Ttyuukakko{a+c}+\Ttyuukakko{b+d}i}&\\% + &=\Ttyuukakko{a+c}-\Ttyuukakko{b+d}i&\\% + &=\Ttyuukakko{a-ci}+\Ttyuukakko{b-di}&\\% + &=\overline{\alpha}+\overline{\beta}% + \end{align*}% + \begin{align*}% + \overline{\alpha\beta}&=\overline{\Ttyuukakko{a+bi}\Ttyuukakko{c+di}}&\\% + &=\overline{\Ttyuukakko{ac-bd}+\Ttyuukakko{ad+bc}i}&\\ + &=\Ttyuukakko{ac-bd}-\Ttyuukakko{ad+bc}i&\\% + &=\Ttyuukakko{a-bi}\Ttyuukakko{c-di}&\\% + &=\overline{\alpha}\overline{\beta}% + \end{align*}% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\複素数の絶対値}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {複素数$z=a+bi$に対して,$\Tzettaiti{z}=\Tzettaiti{a+bi}=\sqrt{a^2+b^2}$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + 複素数$z=a+bi$に対して,% + \[\Tzettaiti{z}=\Tzettaiti{a+bi}=\sqrt{a^2+b^2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {$\Tzettaiti{z}=\Tzettaiti{\overline{z}}=\Tzettaiti{-z}$}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {\[\Tzettaiti{z}=\Tzettaiti{\overline{z}}=\Tzettaiti{-z}\]}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {$z\overline{z}=\Tzettaiti{z^2}$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {\[z\overline{z}=\Tzettaiti{z^2}\]}{\relax}% + }% + + +\NewDocumentCommand{\極形式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {複素数$\alpha=a+bi$について,$\alpha=r\Ttyuukakko{\cos\theta+i\sin\theta}\text{\ (ただし$z>0$)}$また,$r=\Tzettaiti{\alpha}=\sqrt{a^2+b^2}\数式カンマスペース\cos\theta=\bunsuu{a}{r}\数式カンマスペース\sin\theta=\bunsuu{b}{r}$を極形式という。}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + 複素数$\alpha=a+bi$について,% + \[\alpha=r\Ttyuukakko{\cos\theta+i\sin\theta}\text{\ (ただし$z>0$)}\]% + また,$r=\Tzettaiti{\alpha}=\sqrt{a^2+b^2}\数式カンマスペース\cos\theta=\bunsuu{a}{r}\数式カンマスペース\sin\theta=\bunsuu{b}{r}$を極形式という。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,\par% + $\alpha\beta=r_{1}r_{2}\Tdaikakko{\cos\Ttyuukakko{\theta_{1}+\theta_{2}}+i\sin\Ttyuukakko{\theta_{1}+\theta_{2}}}$}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,% + \[\alpha\beta=r_{1}r_{2}\Tdaikakko{\cos\Ttyuukakko{\theta_{1}+\theta_{2}}+i\sin\Ttyuukakko{\theta_{1}+\theta_{2}}}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,\par% + $\bunsuu{\alpha}{\beta}=\bunsuu{r_{1}}{r_{2}}\Tdaikakko{\cos\Ttyuukakko{\theta_{1}+\theta_{2}}+i\sin\Ttyuukakko{\theta_{1}+\theta_{2}}}$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,% + \[\bunsuu{\alpha}{\beta}=\bunsuu{r_{1}}{r_{2}}\Tdaikakko{\cos\Ttyuukakko{\theta_{1}+\theta_{2}}+i\sin\Ttyuukakko{\theta_{1}+\theta_{2}}}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\偏角}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {% + 複素数$\alpha=a+bi$について,$\alpha=r\Ttyuukakko{\cos\theta+i\sin\theta}$\par + ただし$z>0$のとき$\theta$を偏角といい,$\mathrm{aug}\alpha$で表す。% + }% + {\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + 複素数$\alpha=a+bi$について,% + \[\alpha=r\Ttyuukakko{\cos\theta+i\sin\theta}\]% + ただし$z>0$のとき$\theta$を偏角といい,% + \[\mathrm{aug}\alpha\]% + で表す。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,$\theta_{1}=\mathrm{arg}\alpha$また,$\mathrm{arg}\alpha=\theta_{1}+2n\pi$ ($n$は整数)}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,% + \[\theta_{1}=\theta_{1}+2n\pi=\mathrm{arg}\alpha\]% + ($n$は整数)% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,$\mathrm{arg}z_{1}z_{2}=\mathrm{arg}z_{1}+\mathrm{arg}z_{2}$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,% + \[\mathrm{arg}z_{1}z_{2}=\mathrm{arg}z_{1}+\mathrm{arg}z_{2}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {$\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,$\mathrm{arg}\bunsuu{z_{1}}{z_{2}}=\mathrm{arg}z_{1}-\mathrm{arg}z_{2}$}{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + $\alpha\数式カンマスペース\beta\数式カンマスペース\gamma$を複素数とする。$\alpha=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\beta=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}$のとき,% + \[\mathrm{arg}\bunsuu{z_{1}}{z_{2}}=\mathrm{arg}z_{1}-\mathrm{arg}z_{2}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\ドモアブルの定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$n$が整数のとき,$\Ttyuukakko{\cos\theta+i\sin\theta}^{n}=\cos n\theta+i\sin n\theta$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + $n$が整数のとき,% + \[\Ttyuukakko{\cos\theta+i\sin\theta}^{n}=\cos n\theta+i\sin n\theta\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{証明}}% + {% + \証明開始% + 複素数% + \[\alpha_{1}=r_{1}\Ttyuukakko{\cos\theta_{1}+i\sin\theta_{1}}\数式カンマスペース\alpha_{2}=r_{2}\Ttyuukakko{\cos\theta_{2}+i\sin\theta_{2}}\ldots\alpha_{n}=r_{n}\Ttyuukakko{\cos\theta_{n}+i\sin\theta_{n}}\] + に対して,$\alpha_{1}\alpha_{2}\cdots\alpha_{n}$を考えると,三角関数の積和の公式から% + \[\alpha_{1}\alpha_{2}\cdots\alpha_{n}=r_{1}r_{2}\cdots r_{n}\Tdaikakko{\cos\Ttyuukakko{\theta_{1}+\theta_{2}+\cdots+\theta_{n}}+i\sin\Ttyuukakko{\theta_{1}+\theta_{2}+\cdots+\theta_{n}}}\]% + となる。ここで,$\alpha_{1}=\alpha_{2}=\cdots=\alpha_{n}$のとき,% + \[\alpha^{n}=r^{n}\Ttyuukakko{\cos\theta+i\sin\theta}^{n}=r^{n}\Ttyuukakko{\cos n\theta+i\sin n\theta}\]% + \[\Leftrightarrow\Ttyuukakko{\cos\theta+i\sin\theta}^{n}=\cos n\theta+i\sin n\theta\]% + を得る。% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\放物線}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {定点$F$ (焦点)と$F$を通らない直線$l$ (準線)があるとき,焦点と準線からの距離の和が一定な点の軌跡。}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {定点$F$ (焦点)と$F$を通らない直線$l$ (準線)があるとき,焦点と準線からの距離の和が一定な点の軌跡。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {放物線は$y^2=4px$と表せられる。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + 放物線は% + \[y^2=4px\]% + と表せられる。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {放物線の焦点は$F\Ttyuukakko{p\数式カンマスペース 0}$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + 放物線の焦点は% + \[F\Ttyuukakko{p\数式カンマスペース 0}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {放物線の準線は$x=-p$}{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + 放物線の準線は% + \[x=-p\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\楕円}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {二つの焦点$F$と$F'$からの距離の和が一定な点の軌跡。}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {二つの焦点$F$と$F'$からの距離の和が一定な点の軌跡。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {楕円は$\bunsuu{x^2}{a^2}+\bunsuu{y^2}{b^2}=1$と表せられる。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + 楕円は% + \[\bunsuu{x^2}{a^2}+\bunsuu{y^2}{b^2}=1\]% + と表せられる。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {楕円の焦点は$F\Ttyuukakko{\sqrt{a^2-b^2}\数式カンマスペース 0}$と,$F'\Ttyuukakko{\sqrt{a^2-b^2}\数式カンマスペース 0}$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + 楕円の焦点は% + \[F\Ttyuukakko{\sqrt{a^2-b^2}\数式カンマスペース 0} F'\Ttyuukakko{\sqrt{a^2-b^2}\数式カンマスペース 0}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {楕円の二つの焦点からの距離の和は$2a$である。}{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + 楕円の二つの焦点からの距離の和は% + \[2a\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\双曲線}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {二つの焦点$F$と$F'$からの距離の差が$0$でなく一定な点の軌跡。}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {二つの焦点$F$と$F'$からの距離の差が$0$でなく一定な点の軌跡。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{i}}% + {双曲線は$\bunsuu{x^2}{a^2}-\bunsuu{y^2}{b^2}=1$と表せられる。}{\relax}% + \ifthenelse{\equal{#1}{性質A}\AND\equal{#2}{b}}% + {% + 双曲線は% + \[\bunsuu{x^2}{a^2}-\bunsuu{y^2}{b^2}=1\]% + と表せられる。% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{i}}% + {双曲線の焦点は$F\Ttyuukakko{\sqrt{a^2+b^2}\数式カンマスペース 0}$と,$F'\Ttyuukakko{\sqrt{a^2+b^2}\数式カンマスペース 0}$}{\relax}% + \ifthenelse{\equal{#1}{性質B}\AND\equal{#2}{b}}% + {% + 双曲線の焦点は% + \[F\Ttyuukakko{\sqrt{a^2+b^2}\数式カンマスペース 0} F'\Ttyuukakko{\sqrt{a^2+b^2}\数式カンマスペース 0}\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{i}}% + {双曲線の二つの焦点からの距離の差は$2a$ }{\relax}% + \ifthenelse{\equal{#1}{性質C}\AND\equal{#2}{b}}% + {% + 双曲線の二つの焦点からの距離の差は% + \[2a\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{i}}% + {双曲線の漸近線は$\bunsuu{x}{a}-\bunsuu{y}{b}=0\数式カンマスペース\bunsuu{x}{a}+\bunsuu{y}{b}=0$}{\relax}% + \ifthenelse{\equal{#1}{性質D}\AND\equal{#2}{b}}% + {% + 双曲線の漸近線は% + \[\bunsuu{x}{a}-\bunsuu{y}{b}=0\数式カンマスペース\bunsuu{x}{a}+\bunsuu{y}{b}=0\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\連続な関数}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {定義域の$x$の値$a$に関して,$\displaystyle \lim_{x \to a}f\Ttyuukakko{x}=f\Ttyuukakko{a}$のとき,$f\Ttyuukakko{x}$は$x=a$で連続。}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 定義域の$x$の値$a$に関して,% + \[\displaystyle \lim_{x \to a}f\Ttyuukakko{x}=f\Ttyuukakko{a}\]% + のとき,$f\Ttyuukakko{x}$は$x=a$で連続。% + }% + {\relax}% + }% + + +\NewDocumentCommand{\中間値の定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {閉区間$[a\数式カンマスペース b]$で連続な関数$f\Ttyuukakko{x}$について,$f\Ttyuukakko{a}\neq f\Ttyuukakko{b}$のとき,$f\Ttyuukakko{a}$と$f\Ttyuukakko{b}$の間の任意の実数$k$について,$f\Ttyuukakko{c}=k$となる$c$が少なからず一つ存在する。}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 閉区間$[a\数式カンマスペース b]$で連続な関数$f\Ttyuukakko{x}$について,$f\Ttyuukakko{a}\neq f\Ttyuukakko{b}$のとき,$f\Ttyuukakko{a}$と$f\Ttyuukakko{b}$の間の任意の実数$k$について,% + \[f\Ttyuukakko{c}=k\]% + となる$c$が少なからず一つ存在する。% + }% + {\relax}% + }% + + +\NewDocumentCommand{\平均値の定理}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {関数$f\Ttyuukakko{x}$が閉区間$[a\数式カンマスペース b]$で連続,開区間$\Ttyuukakko{a\数式カンマスペース b}$で微分可能ならば,$\bunsuu{f\Ttyuukakko{b}-f\Ttyuukakko{a}}{b-a}=f'\Ttyuukakko{c} \Ttyuukakko{a<c<b}$を満たす$c$が存在する。}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 関数$f\Ttyuukakko{x}$が閉区間$[a\数式カンマスペース b]$で連続,開区間$\Ttyuukakko{a\数式カンマスペース b}$で微分可能ならば,% + \[\bunsuu{f\Ttyuukakko{b}-f\Ttyuukakko{a}}{b-a}=f'\Ttyuukakko{c} \Ttyuukakko{a<c<b}\]% + を満たす$c$が存在する。% + }% + {\relax}% + }% + + +\NewDocumentCommand{\微分}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$f'\Ttyuukakko{x}=\displaystyle\lim_{h \to 0}\bunsuu{f\Ttyuukakko{x+h}-f\Ttyuukakko{x}}{h}$}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {\[f'\Ttyuukakko{x}=\displaystyle\lim_{h \to 0}\bunsuu{f\Ttyuukakko{x+h}-f\Ttyuukakko{x}}{h}\]}{\relax}% + \ifthenelse{\equal{#1}{積の微分公式}\AND\equal{#2}{i}}% + {$\Tdaikakko{f\Ttyuukakko{x}g\Ttyuukakko{x}}'=f'\Ttyuukakko{x}g\Ttyuukakko{x}+f\Ttyuukakko{x}g'\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{積の微分公式}\AND\equal{#2}{b}}% + {\[\Tdaikakko{f\Ttyuukakko{x}g\Ttyuukakko{x}}'=f'\Ttyuukakko{x}g\Ttyuukakko{x}+f\Ttyuukakko{x}g'\Ttyuukakko{x}\]}{\relax}% + \ifthenelse{\equal{#1}{商の微分公式}\AND\equal{#2}{i}}% + {$\Tdaikakko{\bunsuu{f\Ttyuukakko{x}}{g\Ttyuukakko{x}}}'=\bunsuu{f'\Ttyuukakko{x}g\Ttyuukakko{x}-f\Ttyuukakko{x}g'\Ttyuukakko{x}}{\Tdaikakko{g\Ttyuukakko{x}}^2}$}{\relax}% + \ifthenelse{\equal{#1}{商の微分公式}\AND\equal{#2}{b}}% + {\[\Tdaikakko{\bunsuu{f\Ttyuukakko{x}}{g\Ttyuukakko{x}}}'=\bunsuu{f'\Ttyuukakko{x}g\Ttyuukakko{x}-f\Ttyuukakko{x}g'\Ttyuukakko{x}}{\Tdaikakko{g\Ttyuukakko{x}}^2}\]}{\relax}% + \ifthenelse{\equal{#1}{合成関数の微分}\AND\equal{#2}{i}}% + {$\Tdaikakko{f\Ttyuukakko{g\Ttyuukakko{x}}}'=f'\Ttyuukakko{g\Ttyuukakko{x}}g'\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{合成関数の微分}\AND\equal{#2}{b}}% + {\[\Tdaikakko{f\Ttyuukakko{g\Ttyuukakko{x}}}'=f'\Ttyuukakko{g\Ttyuukakko{x}}g'\Ttyuukakko{x}\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式A}\AND\equal{#2}{i}}% + {$\Ttyuukakko{c}'=0$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式A}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{c}'=0\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式B}\AND\equal{#2}{i}}% + {$\Ttyuukakko{x^{\alpha}}'=\alpha x^{\alpha-1}$ ($\alpha$は実数)}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式B}\AND\equal{#2}{b}}% + {% + \[\Ttyuukakko{x^{\alpha}}'=\alpha x^{\alpha-1}\]% + $\alpha$は実数% + }% + {\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式C}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\sin x}'=\cos x$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式C}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\sin x}'=\cos x\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式D}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\cos x}'=-\sin x$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式D}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\cos x}'=-\sin x\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式E}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\tan x}'=\bunsuu{1}{\cos^2x}$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式E}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\tan x}'=\bunsuu{1}{\cos^2x}\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式F}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\log\Tzettaiti{x}}'=\bunsuu{1}{x}$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式F}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\log\Tzettaiti{x}}'=\bunsuu{1}{x}\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式G}\AND\equal{#2}{i}}% + {$\Ttyuukakko{\log_{a}\Tzettaiti{x}}'=\bunsuu{1}{x\log a}$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式G}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{\log_{a}\Tzettaiti{x}}'=\bunsuu{1}{x\log a}\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式H}\AND\equal{#2}{i}}% + {$\Ttyuukakko{e^{x}}'=e^{x}$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式H}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{e^{x}}'=e^{x}\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式I}\AND\equal{#2}{i}}% + {$\Ttyuukakko{a^{x}}'=a^{x}\log a$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の微分公式I}\AND\equal{#2}{b}}% + {\[\Ttyuukakko{a^{x}}'=a^{x}\log a\]}{\relax}% + \ifthenelse{\equal{#1}{三角関数の微分公式の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + \begin{align*}% + \Ttyuukakko{\sin x}'&=\displaystyle\lim_{h \to 0} \bunsuu{\sin\Ttyuukakko{x+h}-\sin x}{h}&\\% + &=\displaystyle\lim_{h \to 0} \bunsuu{\sin x\cos h+\cos x\sin x-\sin x}{h}&\\% + &=\displaystyle\lim_{h \to 0} \Ttyuukakko{\cos x\bunsuu{\sin h}{h}-\sin x\bunsuu{1-\cos x}{h}\bunsuu{1+\cos h}{1+\cos h}}&\\% + &=\displaystyle\lim_{h \to 0} \Ttyuukakko{\cos x\bunsuu{\sin h}{h}-\sin x\bunsuu{1}{1+\cos h}\bunsuu{\sin^2h}{h^2}h}&\\% + &=\cos x\cdot1-\sin x\cdot\bunsuu{1}{2}1^2\cdot0&\\% + &=\cos x&\\% + \Ttyuukakko{\cos x}'&=\Tdaikakko{\sin\Ttyuukakko{\bunsuu{\pi}{2}-x}}'&\\% + &=\cos\Ttyuukakko{\bunsuu{\pi}{2}-x}\cdot\Ttyuukakko{-1}&\\% + &=-\sin x% + \end{align*}% + \証明終了% + }% + {\relax}% + \ifthenelse{\equal{#1}{対数関数の微分公式の証明}\AND\equal{#2}{i}}% + {% + \証明開始% + \begin{align*}% + \Ttyuukakko{\log x}'&=\displaystyle\lim_{h \to 0} \bunsuu{\log\Ttyuukakko{x+h}-\log x}{h}&\\% + &=\displaystyle\lim_{h \to 0} \bunsuu{\log\Ttyuukakko{1+\bunsuu{x}{h}}}{h}&\\% + \end{align*}% + ここで$\bunsuu{h}{x}=t$とおくと,$h=tx$となり$\displaystyle\lim_{h \to 0} t=0$なので,% + \begin{align*}% + \Ttyuukakko{\log x}'&=\displaystyle\lim_{h \to 0} \bunsuu{\log\Ttyuukakko{1+t}}{xt}&\\% + &=\displaystyle\lim_{h \to 0} \Tdaikakko{\bunsuu{\log\Ttyuukakko{1+t}}{t}\cdot\bunsuu{1}{x}}&\\% + &=\displaystyle\lim_{h \to 0} \log\Ttyuukakko{1+t}^{\bunsuu{1}{t}}\cdot\bunsuu{1}{x}&\\% + &=\log e\cdot\bunsuu{1}{x}&\\% + &=\bunsuu{1}{x} + \end{align*}% + $f\Ttyuukakko{x}=e^{x}$とおく。\par% + \begin{align*}% + \Ttyuukakko{e^{x}}'&=\displaystyle\lim_{h \to 0} \bunsuu{e^{x+h}-e^{x}}{h}&\\% + &=e^{x}\displaystyle\lim_{h \to 0} \bunsuu{e^{h}-1}{h}% + \end{align*}% + ここで$\Ttyuukakko{\log x}'=\bunsuu{1}{x}$より,$y=\log x$の$x=1$においての接線の傾きは$1$であり,$y=\log x$と$y=e^{x}$は$y=x$において対称であるので$y=e^{x}$の$x=0$においての接線の傾きも$1$なので, + \[f'\Ttyuukakko{0}\displaystyle\lim_{h \to 0} \bunsuu{e^{h}-1}{h}=1\]% + よって,% + \begin{align*}% + \Ttyuukakko{e^{x}}'&=e^{x}\displaystyle\lim_{h \to 0} \bunsuu{e^{h}-1}{h}&\\% + &=e^{x}\cdot1&\\% + &=e^{x} + \end{align*}% + \証明終了% + }% + {\relax}% + }% + + +\NewDocumentCommand{\法線の方程式}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {曲線$f\Ttyuukakko{x}$上の点$A\Ttyuukakko{a\数式カンマスペース f\Ttyuukakko{a}}$における法線の方程式は,$y-f\Ttyuukakko{a}=-\bunsuu{1}{f'\Ttyuukakko{a}}\Ttyuukakko{x-a}$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 曲線$f\Ttyuukakko{x}$上の点$A\Ttyuukakko{a\数式カンマスペース f\Ttyuukakko{a}}$における法線の方程式は,% + \[y-f\Ttyuukakko{a}=-\bunsuu{1}{f'\Ttyuukakko{a}}\Ttyuukakko{x-a}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\不定積分}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {$F'\Ttyuukakko{x}=f\Ttyuukakko{x}$とすると,$\displaystyle \int_{}^{} f\Ttyuukakko{x}dx=F\Ttyuukakko{x}+C$ ($C$は積分定数)}{\relax}% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + $F'\Ttyuukakko{x}=f\Ttyuukakko{x}$とすると,% + \[\displaystyle \int_{}^{} f\Ttyuukakko{x}dx=F\Ttyuukakko{x}+C\]% + ($C$は積分定数)% + }% + {\relax}% + \ifthenelse{\equal{#1}{置換積分}\AND\equal{#2}{i}}% + {$\displaystyle \int_{}^{} f\Ttyuukakko{x}dx=\displaystyle \int_{}^{}f\Ttyuukakko{g\Ttyuukakko{t}}g'\Ttyuukakko{t}dt$ ($x=g\Ttyuukakko{t}$に置換)}{\relax}% + \ifthenelse{\equal{#1}{置換積分}\AND\equal{#2}{b}}% + {% + \[\displaystyle \int_{}^{} f\Ttyuukakko{x}dx=\displaystyle \int_{}^{}f\Ttyuukakko{g\Ttyuukakko{t}}g'\Ttyuukakko{t}dt\]% + ($x=g\Ttyuukakko{t}$に置換)% + }% + {\relax}% + \ifthenelse{\equal{#1}{部分積分}\AND\equal{#2}{i}}% + {$\displaystyle \int_{}^{} f\Ttyuukakko{x}g'\Ttyuukakko{x}dx=f\Ttyuukakko{x}g\Ttyuukakko{x}-\displaystyle \int_{}^{}f'\Ttyuukakko{x}g\Ttyuukakko{x}$}{\relax}% + \ifthenelse{\equal{#1}{部分積分}\AND\equal{#2}{b}}% + {\[\displaystyle \int_{}^{} f\Ttyuukakko{x}g'\Ttyuukakko{x}dx=f\Ttyuukakko{x}g\Ttyuukakko{x}-\displaystyle \int_{}^{}f'\Ttyuukakko{x}g\Ttyuukakko{x}\]}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式A}\AND\equal{#2}{i}}% + {$C$は積分定数とする。$\displaystyle \int_{}^{} x^{\alpha}dx=\bunsuu{1}{\alpha+1}x^{\alpha+1}+C$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式A}\AND\equal{#2}{b}}% + {% + $C$は積分定数とする。% + \[\displaystyle \int_{}^{} x^{\alpha}dx=\bunsuu{1}{\alpha+1}x^{\alpha+1}+C\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式B}\AND\equal{#2}{i}}% + {$C$は積分定数とする。$\displaystyle \int_{}^{} \bunsuu{1}{x}dx=\log\Tzettaiti{x}+C$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式B}\AND\equal{#2}{b}}% + {% + $C$は積分定数とする。% + \[\displaystyle \int_{}^{} \bunsuu{1}{x}dx=\log\Tzettaiti{x}+C\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式C}\AND\equal{#2}{i}}% + {$C$は積分定数とする。$\displaystyle \int_{}^{} \sin xdx=-\cos x+C$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式C}\AND\equal{#2}{b}}% + {% + $C$は積分定数とする。% + \[\displaystyle \int_{}^{} \sin xdx=-\cos x+C\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式D}\AND\equal{#2}{i}}% + {$C$は積分定数とする。$\displaystyle \int_{}^{} \cos xdx=\sin x+C$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式D}\AND\equal{#2}{b}}% + {% + $C$は積分定数とする。% + \[\displaystyle \int_{}^{} \cos xdx=\sin x+C\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式E}\AND\equal{#2}{i}}% + {$C$は積分定数とする。$\displaystyle \int_{}^{} e^{x}dx=e^{x}+C$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式E}\AND\equal{#2}{b}}% + {% + $C$は積分定数とする。% + \[\displaystyle \int_{}^{} e^{x}dx=e^{x}+C\]% + }% + {\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式F}\AND\equal{#2}{i}}% + {$C$は積分定数とする。$\displaystyle \int_{}^{} a^{x}dx=\bunsuu{a^{x}}{\log a}+C$}{\relax}% + \ifthenelse{\equal{#1}{初等関数の積分公式F}\AND\equal{#2}{b}}% + {% + $C$は積分定数とする。% + \[\displaystyle \int_{}^{} a^{x}dx=\bunsuu{a^{x}}{\log a}+C\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\定積分}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{i}}% + {曲線$y=f\Ttyuukakko{x}$と$x$軸(間は$a$から$b$)に囲まれた部分の面積$S$について,$F'\Ttyuukakko{x}=f\Ttyuukakko{x}$のとき,$S=\displaystyle \int_{b}^{a} f\Ttyuukakko{x}dx=[F\Ttyuukakko{x}]^{b}_{a}=F\Ttyuukakko{b}-F\Ttyuukakko{a}$}{\relax}% + + \ifthenelse{\equal{#1}{定義}\AND\equal{#2}{b}}% + {% + 曲線$y=f\Ttyuukakko{x}$と$x$軸(間は$a$から$b$)に囲まれた部分の面積$S$について,$F'\Ttyuukakko{x}=f\Ttyuukakko{x}$のとき,% + \[S=\displaystyle \int_{b}^{a} f\Ttyuukakko{x}dx=[F\Ttyuukakko{x}]^{b}_{a}=F\Ttyuukakko{b}-F\Ttyuukakko{a}\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\区分求積法}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {$\displaystyle \lim_{n \to \infty} \sum_{k=0}^{n-1}f\Ttyuukakko{x_{k}}\mathit{\Delta}x=\displaystyle \lim_{n \to \infty} \sum_{k=1}^{n}f\Ttyuukakko{x_{k}}\mathit{\Delta}x$ここで,$\mathit{\Delta}x=\bunsuu{b-a}{n}\数式カンマスペース x_{k}=a+k\mathit{\Delta}x$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + \[\displaystyle \lim_{n \to \infty} \sum_{k=0}^{n-1}f\Ttyuukakko{x_{k}}\mathit{\Delta}x=\displaystyle \lim_{n \to \infty} \sum_{k=1}^{n}f\Ttyuukakko{x_{k}}\mathit{\Delta}x\]% + ここで,% + \[\mathit{\Delta}x=\bunsuu{b-a}{n}\数式カンマスペース x_{k}=a+k\mathit{\Delta}x\]% + }% + {\relax}% + }% + + +\NewDocumentCommand{\体積の積分}{ m O{i} }% + {% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{i}}% + {曲線$y=f\Ttyuukakko{x}$と$x$軸の間の部分($a\leqq x\leqq b$)を$x$軸の周りに一回転させてできる回転体の体積は,$V=\pi\displaystyle \int_{a}^{b} \Tdaikakko{f\Ttyuukakko{x}}^2dx$}{\relax}% + \ifthenelse{\equal{#1}{公式}\AND\equal{#2}{b}}% + {% + 曲線$y=f\Ttyuukakko{x}$と$x$軸の間の部分($a\leqq x\leqq b$)を$x$軸の周りに一回転させてできる回転体の体積は,% + \[V=\pi\displaystyle \int_{a}^{b} \Tdaikakko{f\Ttyuukakko{x}}^2dx\]% + }% + {\relax}% + }%
\ No newline at end of file diff --git a/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.tex b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.tex new file mode 100644 index 0000000000..f63a375bb5 --- /dev/null +++ b/macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.tex @@ -0,0 +1,1867 @@ +\documentclass[fleqn]{ltjsarticle}% !lualatex + +\usepackage[hiragino-pron,deluxe,expert,bold]{luatexja-preset}% +\usepackage{mathformula,framed,comment}% +\usepackage[usetype1]{uline--} +\title{\LARGE\uline{japanese-mathformulas.sty}\Large\\manual pdf\\(mainly for Japanese, lulatex)}% +\author{\Large Hugh / Ponkichi}% +\date{\today} +\def\texttt#1{{\gtfamily #1}} +%\def\auto#1#2{\ascboxB{#2}} +%\def\auto#1#2{\bf{\u{● #2}}} +\def\auto#1#2{\noindent\leftline{\uline{\textgt{#2}}}} + +\makeatletter +\newlength{\@tempdimi} +\let\@@vspace@@\vspace +\def\vspace{\@ifstar{\@@vspace@}{\@vspace@}} +\def\@vspace@#1{\par\setlength{\@tempdimi}{#1}\@@vspace@@{\@tempdimi}} +\def\@@vspace@#1{\par\setlength{\@tempdimi}{#1}\@@vspace@@*{\@tempdimi}} + +\newlength{\pseprule} % 段仕切り線の太さ +\setlength{\pseprule}{.5truept} +\newlength{\psep} % 段の間隔 +\setlength{\psep}{30pt} +\newenvironment{multicolparx}[1]{% + \begin{trivlist}\item[]\hspace{\parindent}% + \multicolumnparallelparagraphs{#1}{\psep}% +}{% + \endmulticolumnparallelparagraphs + \end{trivlist}% +} +\newcount\columnsleft \newcount\totalcolumns \newdimen\separation +\def\multicolumnparallelparagraphs#1#2{% + \hbadness5000 \vbadness9999 \tolerance9999 + \totalcolumns=#1 \let\xpar=\par \separation=#2 + \vskip\parskip + \columnsleft=#1\relax + \hbox to\hsize\bgroup + \let\par\nextmulticolumnparallelparagraph + \dimen0=#2 \advance\hsize-\columnsleft\dimen0 \advance\hsize\dimen0 + \divide\hsize\columnsleft\relax + \vtop\bgroup +} +\def\nextmulticolumnparallelparagraph{% + \@@vspace@@{\baselineskip}\egroup + \advance\columnsleft-1 + \ifnum\columnsleft>0\relax + \hfil\vrule\@width\the\pseprule\hspace{.45\separation}\vtop\bgroup + \else + \egroup + \xpar\vskip-2pt\xpar + \multicolumnparallelparagraphs\totalcolumns\separation + \fi +} +\def\endmulticolumnparallelparagraphs{% + \egroup + \advance\columnsleft-1 + \ifnum\columnsleft>0\relax + \hfil\vtop\bgroup\hbox to \hsize{} + \endmulticolumnparallelparagraphs + \else + \egroup + \xpar + \fi +} +\makeatother + +\begin{document} + +\maketitle + +\begin{multicolparx}{2} +\parbox[t]{\hsize}{\begin{center}% +-機能紹介と注記- +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +- Function Introduction and Notes - +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +中学高校で習う数学の定理や公式を出力するためのstyファイル。\\ +\detokenize{\NewDocumentCommand}によって,インデント数式か別行立て数式かを指定できる。 +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +This is a style file for compiling basic math formulas.\\ +\detokenize{\NewDocumentCommand} allows you to specify whether the formula should be used within a sentence or on a new line. +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +後の例では記述がないが,$\Ttyuubracket{\mathrm{i}}$か$\Ttyuubracket{\mathrm{b}}$かの指定をしない場合は自動的に$\Ttyuubracket{\mathrm{i}}$とみなされる。 +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +Although not shown in the examples below, if $\Ttyuubracket{\mathrm{i}}$ or $\Ttyuubracket{\mathrm{b}}$ is not specified, it is automatically assumed to be $\Ttyuubracket{\mathrm{i}}$. +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +二段組の文書を作成するときは,数式の上下間スペースを減らすために,以下をpreambleに記述するとよい。 +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +When making two-column document, you are recommended to put these lines at preamble.\par +These reduce the space above and below math expressions. +\end{center}}% +\end{multicolparx} + +\begin{framed} +\begin{verbatim} +\AtBeginDocument{ + \abovedisplayskip =0\abovedisplayskip + \abovedisplayshortskip=0\abovedisplayshortskip + \belowdisplayskip =0\belowdisplayskip + \belowdisplayshortskip=0\belowdisplayshortskip} +\end{verbatim} +\end{framed} + +\begin{multicolparx}{2} +\parbox[t]{\hsize}{\begin{center}% +以下が実例。 +\end{center}}% + +\parbox[t]{\hsize}{\begin{center}% +Now, here are the actual examples! +\end{center}}% +\end{multicolparx} + +\auto{1}{\detokenize{\二次式展開{公式A}[i]}}\par +\二次式展開{公式A}[i]\par +\auto{2}{\detokenize{\二次式展開{公式A}[b]}} +\二次式展開{公式A}[b] + +\auto{33}{\detokenize{\二次式因数分解{公式A}[i]}}\par +\二次式因数分解{公式A}[i]\par +\auto{34}{\detokenize{\二次式因数分解{公式A}[b]}} +\二次式因数分解{公式A}[b] +%\begin{simplesquarebox}{二次式展開} +%\begin{description} +\auto{1}{\detokenize{\二次式展開{公式A}[i]}}\par +\二次式展開{公式A}[i]\par +\auto{2}{\detokenize{\二次式展開{公式A}[b]}} +\二次式展開{公式A}[b] +\auto{3}{\detokenize{\二次式展開{公式B}[i]}}\par +\二次式展開{公式B}[i]\par +\auto{4}{\detokenize{\二次式展開{公式B}[b]}} +\二次式展開{公式B}[b] +\auto{5}{\detokenize{\二次式展開{公式C}[i]}}\par +\二次式展開{公式C}[i]\par +\auto{6}{\detokenize{\二次式展開{公式C}[b]}} +\二次式展開{公式C}[b] +\auto{7}{\detokenize{\二次式展開{公式D}[i]}}\par +\二次式展開{公式D}[i]\par +\auto{8}{\detokenize{\二次式展開{公式D}[b]}} +\二次式展開{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{二次式因数分解} +%\begin{description} +\auto{9}{\detokenize{\二次式因数分解{公式A}[i]}}\par +\二次式因数分解{公式A}[i]\par +\auto{10}{\detokenize{\二次式因数分解{公式A}[b]}} +\二次式因数分解{公式A}[b] +\auto{11}{\detokenize{\二次式因数分解{公式B}[i]}}\par +\二次式因数分解{公式B}[i]\par +\auto{12}{\detokenize{\二次式因数分解{公式B}[b]}} +\二次式因数分解{公式B}[b] +\auto{13}{\detokenize{\二次式因数分解{公式C}[i]}}\par +\二次式因数分解{公式C}[i]\par +\auto{14}{\detokenize{\二次式因数分解{公式C}[b]}} +\二次式因数分解{公式C}[b] +\auto{15}{\detokenize{\二次式因数分解{公式D}[i]}}\par +\二次式因数分解{公式D}[i]\par +\auto{16}{\detokenize{\二次式因数分解{公式D}[b]}} +\二次式因数分解{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平方根} +%\begin{description} +\auto{17}{\detokenize{\平方根{定義}[i]}}\par +\平方根{定義}[i]\par +\auto{18}{\detokenize{\平方根{定義}[b]}}\par +\平方根{定義}[b] +\auto{19}{\detokenize{\平方根{性質A}[i]}}\par +\平方根{性質A}[i]\par +\auto{20}{\detokenize{\平方根{性質A}[b]}}\par +\平方根{性質A}[b] +\auto{21}{\detokenize{\平方根{性質B}[i]}}\par +\平方根{性質B}[i]\par +\auto{22}{\detokenize{\平方根{性質B}[b]}} +\平方根{性質B}[b] +\auto{23}{\detokenize{\平方根{性質C}[i]}}\par +\平方根{性質C}[i]\par +\auto{24}{\detokenize{\平方根{性質C}[b]}} +\平方根{性質C}[b] +\auto{25}{\detokenize{\平方根{性質D}[i]}}\par +\平方根{性質D}[i]\par +\auto{26}{\detokenize{\平方根{性質D}[b]}} +\平方根{性質D}[b] +\auto{27}{\detokenize{\平方根{性質E}[i]}}\par +\平方根{性質E}[i]\par +\auto{28}{\detokenize{\平方根{性質E}[b]}} +\平方根{性質E}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{一次不等式} +%\begin{description} +\auto{29}{\detokenize{\一次不等式{性質A}[i]}}\par +\一次不等式{性質A}[i]\par +\auto{30}{\detokenize{\一次不等式{性質A}[b]}}\par +\一次不等式{性質A}[b] +\auto{31}{\detokenize{\一次不等式{性質B}[i]}}\par +\一次不等式{性質B}[i]\par +\auto{32}{\detokenize{\一次不等式{性質B}[b]}}\par +\一次不等式{性質B}[b] +\auto{33}{\detokenize{\一次不等式{性質C}[i]}}\par +\一次不等式{性質C}[i]\par +\auto{34}{\detokenize{\一次不等式{性質C}[b]}}\par +\一次不等式{性質C}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{集合} +%\begin{description} +\auto{35}{\detokenize{\集合{積集合}[i]}}\par +\集合{積集合}[i]\par +\auto{36}{\detokenize{\集合{積集合}[b]}} +\集合{積集合}[b] +\auto{37}{\detokenize{\集合{和集合}[i]}}\par +\集合{和集合}[i]\par +\auto{38}{\detokenize{\集合{和集合}[b]}} +\集合{和集合}[b] +\auto{39}{\detokenize{\集合{補集合}[i]}}\par +\集合{補集合}[i]\par +\auto{40}{\detokenize{\集合{補集合}[b]}} +\集合{補集合}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{対偶} +%\begin{description} +\auto{41}{\detokenize{\対偶{定理}[i]}}\par +\対偶{定理}[i]\par +\auto{41}{\detokenize{\対偶{定理}[b]}}\par +\対偶{定理}[b]\par +\auto{41}{\detokenize{\対偶{証明}}}\par +\対偶{証明}\par + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{背理法} +%\begin{description} +\auto{42}{\detokenize{\背理法}}\par +\背理法 + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{二次関数} +%\begin{description} +\auto{43}{\detokenize{\二次関数{標準形}[i]}}\par +\二次関数{標準形}[i]\par +\auto{44}{\detokenize{\二次関数{標準形}[b]}} +\二次関数{標準形}[b] +\auto{45}{\detokenize{\二次関数{一般形}[i]}}\par +\二次関数{一般形}[i]\par +\auto{46}{\detokenize{\二次関数{一般形}[b]}} +\二次関数{一般形}[b] +\auto{47}{\detokenize{\二次関数{切片形}[i]}}\par +\二次関数{切片形}[i]\par +\auto{48}{\detokenize{\二次関数{切片形}[b]}} +\二次関数{切片形}[b] +\auto{49}{\detokenize{\二次関数{平方完成}[i]}}\par +\二次関数{平方完成}[i]\par +\auto{50}{\detokenize{\二次関数{平方完成}[b]}}\par +\二次関数{平方完成}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{二次方程式の解の公式} +%\begin{description} +\auto{51}{\detokenize{\二次方程式の解の公式{公式}[i]}}\par +\二次方程式の解の公式{公式}[i]\par +\auto{52}{\detokenize{\二次方程式の解の公式{公式}[b]}}\par +\二次方程式の解の公式{公式}[b] +\auto{52}{\detokenize{\二次方程式の解の公式{証明A}[i]}}\par +\二次方程式の解の公式{証明A}[i]\par +\auto{52}{\detokenize{\二次方程式の解の公式{証明B}[i]}}\par +\二次方程式の解の公式{証明B}[i]\par +%\end{description} +%\end{simplesquarebox} + +\auto{52}{\detokenize{\三角比の定義{定義A}[i]}}\par +\三角比の定義{定義A}[i]\par +\auto{52}{\detokenize{\三角比の定義{定義B}[i]}}\par +\三角比の定義{定義B}[i]\par + + + +%\begin{simplesquarebox}{三角比の相互関係} +%\begin{description} +\auto{53}{\detokenize{\三角比の相互関係{公式A}[i]}}\par +\三角比の相互関係{公式A}[i]\par +\auto{54}{\detokenize{\三角比の相互関係{公式A}[b]}} +\三角比の相互関係{公式A}[b] +\auto{55}{\detokenize{\三角比の相互関係{公式B}[i]}}\par +\三角比の相互関係{公式B}[i]\par +\auto{56}{\detokenize{\三角比の相互関係{公式B}[b]}} +\三角比の相互関係{公式B}[b] +\auto{57}{\detokenize{\三角比の相互関係{公式C}[i]}}\par +\三角比の相互関係{公式C}[i]\par +\auto{58}{\detokenize{\三角比の相互関係{公式C}[b]}} +\三角比の相互関係{公式C}[b] +\auto{57}{\detokenize{\三角比の相互関係{証明}}}\par +\三角比の相互関係{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{正弦定理} +%\begin{description} +\auto{59}{\detokenize{\正弦定理{公式}[i]}}\par +\正弦定理{公式}[i]\par +\auto{60}{\detokenize{\正弦定理{公式}[b]}} +\正弦定理{公式}[b]\par +\auto{59}{\detokenize{\正弦定理{証明}}}\par +\正弦定理{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{余弦定理} +%\begin{description} +\auto{61}{\detokenize{\余弦定理{公式}[i]}}\par +\余弦定理{公式}[i]\par +\auto{62}{\detokenize{\余弦定理{公式}[b]}} +\余弦定理{公式}[b] +\auto{61}{\detokenize{\余弦定理{証明}}}\par +\余弦定理{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{三角形の面積} +%\begin{description} +\auto{63}{\detokenize{\三角形の面積{公式}[i]}}\par +\三角形の面積{公式}[i]\par +\auto{64}{\detokenize{\三角形の面積{公式}[b]}} +\三角形の面積{公式}[b] +\auto{63}{\detokenize{\三角形の面積{証明}}}\par +\三角形の面積{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{場合の数と確率} +%\begin{description} +\auto{65}{\detokenize{\場合の数と確率{和集合の要素の個数}[i]}}\par +\場合の数と確率{和集合の要素の個数}[i]\par +\auto{66}{\detokenize{\場合の数と確率{和集合の要素の個数}[b]}} +\場合の数と確率{和集合の要素の個数}[b] +%\auto{67}{\detokenize{\場合の数と確率{積集合の要素の個数}[i]}}\par +%\場合の数と確率{積集合の要素の個数}[i]\par +%\auto{68}{\detokenize{\場合の数と確率{積集合の要素の個数}[b]}} +%\場合の数と確率{積集合の要素の個数}[b] +\auto{69}{\detokenize{\場合の数と確率{補集合の要素の個数}[i]}}\par +\場合の数と確率{補集合の要素の個数}[i]\par +\auto{70}{\detokenize{\場合の数と確率{補集合の要素の個数}[b]}} +\場合の数と確率{補集合の要素の個数}[b] +\auto{71}{\detokenize{\場合の数と確率{和の法則}[i]}}\par +\場合の数と確率{和の法則}[i]\par +\auto{72}{\detokenize{\場合の数と確率{和の法則}[b]}} +\場合の数と確率{和の法則}[b] +\auto{73}{\detokenize{\場合の数と確率{積の法則}[i]}}\par +\場合の数と確率{積の法則}[i]\par +\auto{74}{\detokenize{\場合の数と確率{積の法則}[b]}} +\場合の数と確率{積の法則}[b] +\auto{75}{\detokenize{\場合の数と確率{順列}[i]}}\par +\場合の数と確率{順列}[i]\par +\auto{76}{\detokenize{\場合の数と確率{順列}[b]}} +\場合の数と確率{順列}[b] +\auto{75}{\detokenize{\場合の数と確率{順列の証明}[i]}}\par +\場合の数と確率{順列の証明}[i]\par +\auto{77}{\detokenize{\場合の数と確率{円順列}[i]}}\par +\場合の数と確率{円順列}[i]\par +\auto{78}{\detokenize{\場合の数と確率{円順列}[b]}} +\場合の数と確率{円順列}[b] +\auto{77}{\detokenize{\場合の数と確率{円順列の証明}[i]}}\par +\場合の数と確率{円順列の証明}[i]\par +\auto{79}{\detokenize{\場合の数と確率{重複順列}[i]}}\par +\場合の数と確率{重複順列}[i]\par +\auto{80}{\detokenize{\場合の数と確率{重複順列}[b]}} +\場合の数と確率{重複順列}[b] +\auto{81}{\detokenize{\場合の数と確率{組み合わせ}[i]}}\par +\場合の数と確率{組み合わせ}[i]\par +\auto{82}{\detokenize{\場合の数と確率{組み合わせ}[b]}} +\場合の数と確率{組み合わせ}[b] +\auto{81}{\detokenize{\場合の数と確率{組み合わせの証明}[i]}}\par +\場合の数と確率{組み合わせの証明}[i]\par +\auto{83}{\detokenize{\場合の数と確率{同じものを含む順列}[i]}}\par +\場合の数と確率{同じものを含む順列}[i]\par +\auto{84}{\detokenize{\場合の数と確率{同じものを含む順列}[b]}} +\場合の数と確率{同じものを含む順列}[b] +\auto{83}{\detokenize{\場合の数と確率{同じものを含む順列の証明}[i]}}\par +\場合の数と確率{同じものを含む順列の証明}[i]\par +\auto{85}{\detokenize{\場合の数と確率{確率の定義}[i]}}\par +\場合の数と確率{確率の定義}[i]\par +\auto{86}{\detokenize{\場合の数と確率{確率の定義}[b]}} +\場合の数と確率{確率の定義}[b] +\auto{87}{\detokenize{\場合の数と確率{排反の定義}[i]}}\par +\場合の数と確率{排反の定義}[i]\par +\auto{88}{\detokenize{\場合の数と確率{排反の定義}[b]}} +\場合の数と確率{排反の定義}[b]\par +\auto{89}{\detokenize{\場合の数と確率{確率の性質A}[i]}}\par +\場合の数と確率{確率の性質A}[i]\par +\auto{90}{\detokenize{\場合の数と確率{確率の性質A}[b]}} +\場合の数と確率{確率の性質A}[b] +\auto{91}{\detokenize{\場合の数と確率{確率の性質B}[i]}}\par +\場合の数と確率{確率の性質B}[i]\par +\auto{92}{\detokenize{\場合の数と確率{確率の性質B}[b]}} +\場合の数と確率{確率の性質B}[b] +\auto{93}{\detokenize{\場合の数と確率{和事象の確率}[i]}}\par +\場合の数と確率{和事象の確率}[i]\par +\auto{94}{\detokenize{\場合の数と確率{和事象の確率}[b]}} +\場合の数と確率{和事象の確率}[b] +\auto{95}{\detokenize{\場合の数と確率{積事象の確率}[i]}}\par +%\場合の数と確率{積事象の確率}[i]\par +%\auto{96}{\detokenize{\場合の数と確率{積事象の確率}[b]}} +%\場合の数と確率{積事象の確率}[b] +%\auto{97}{\detokenize{\場合の数と確率{余事象の確率}[i]}}\par +\場合の数と確率{余事象の確率}[i]\par +\auto{98}{\detokenize{\場合の数と確率{余事象の確率}[b]}} +\場合の数と確率{余事象の確率}[b] +\auto{99}{\detokenize{\場合の数と確率{独立な事象の確率}[i]}}\par +\場合の数と確率{独立な事象の確率}[i]\par +\auto{100}{\detokenize{\場合の数と確率{独立な事象の確率}[b]}} +\場合の数と確率{独立な事象の確率}[b] +\auto{101}{\detokenize{\場合の数と確率{反復試行の確率}[i]}}\par +\場合の数と確率{反復試行の確率}[i]\par +\auto{102}{\detokenize{\場合の数と確率{反復試行の確率}[b]}} +\場合の数と確率{反復試行の確率}[b] +\auto{101}{\detokenize{\場合の数と確率{反復試行の確率の証明}[i]}}\par +\場合の数と確率{反復試行の確率の証明}[i]\par +\auto{103}{\detokenize{\場合の数と確率{条件付き確率}[i]}}\par +\場合の数と確率{条件付き確率}[i]\par +\auto{104}{\detokenize{\場合の数と確率{条件付き確率}[b]}} +\場合の数と確率{条件付き確率}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{図形の性質} +%\begin{description} +\auto{105}{\detokenize{\図形の性質{内心}}}\par +\図形の性質{内心}\par +\auto{106}{\detokenize{\図形の性質{外心}}}\par +\図形の性質{外心}\par +\auto{107}{\detokenize{\図形の性質{垂心}}}\par +\図形の性質{垂心}\par +\auto{108}{\detokenize{\図形の性質{重心}}}\par +\図形の性質{重心}\par +\auto{109}{\detokenize{\図形の性質{傍心}}}\par +\図形の性質{傍心}\par +\auto{110}{\detokenize{\図形の性質{チェバの定理}}}\par +\図形の性質{チェバの定理}\par +\auto{110}{\detokenize{\図形の性質{チェバの定理の証明}}}\par +\図形の性質{チェバの定理の証明}\par +\auto{111}{\detokenize{\図形の性質{メネラウスの定理}}}\par +\図形の性質{メネラウスの定理}\par +\auto{111}{\detokenize{\図形の性質{メネラウスの定理の証明}}}\par +\図形の性質{メネラウスの定理の証明} +\auto{112}{\detokenize{\図形の性質{円周角の定理}}}\par +\図形の性質{円周角の定理}\par +\auto{112}{\detokenize{\図形の性質{円周角の定理の証明}}}\par +\図形の性質{円周角の定理の証明}\par +\auto{113}{\detokenize{\図形の性質{内接四角形の定理}}}\par +\図形の性質{内接四角形の定理}\par +\auto{113}{\detokenize{\図形の性質{内接四角形の定理の証明}}}\par +\図形の性質{内接四角形の定理の証明}\par +\auto{114}{\detokenize{\図形の性質{接弦定理}}}\par +\図形の性質{接弦定理}\par +\auto{114}{\detokenize{\図形の性質{接弦定理の証明}}}\par +\図形の性質{接弦定理の証明}\par +\auto{115}{\detokenize{\図形の性質{内角と外角の二等分線}}}\par +\図形の性質{内角と外角の二等分線}\par +\auto{116}{\detokenize{\図形の性質{方べきの定理A}}}\par +\図形の性質{方べきの定理A}\par +\auto{116}{\detokenize{\図形の性質{方べきの定理Aの証明}}}\par +\図形の性質{方べきの定理Aの証明} +\auto{117}{\detokenize{\図形の性質{方べきの定理B}}}\par +\図形の性質{方べきの定理B}\par +\auto{117}{\detokenize{\図形の性質{方べきの定理Bの証明}}}\par +\図形の性質{方べきの定理Bの証明} +\auto{118}{\detokenize{\図形の性質{方べきの定理C}}}\par +\図形の性質{方べきの定理C}\par +\auto{118}{\detokenize{\図形の性質{方べきの定理Cの証明}}}\par +\図形の性質{方べきの定理Cの証明} +%\end{description} +%\end{simplesquarebox} + +%%%%%%%%%%%%%%%%%%%%ここから数\UTF{2161}B%%%%%%%%%%%%%%%%%%%% +%n-118=個数 +%\begin{simplesquarebox}{展開} +%\begin{description} +\auto{119}{\detokenize{\三次式展開{公式A}[i]}}\par +\三次式展開{公式A}[i]\par +\auto{120}{\detokenize{\三次式展開{公式A}[b]}} +\三次式展開{公式A}[b] +\auto{121}{\detokenize{\三次式展開{公式B}[i]}}\par +\三次式展開{公式B}[i]\par +\auto{122}{\detokenize{\三次式展開{公式B}[b]}} +\三次式展開{公式B}[b] +\auto{123}{\detokenize{\三次式展開{公式C}[i]}}\par +\三次式展開{公式C}[i]\par +\auto{124}{\detokenize{\三次式展開{公式C}[b]}} +\三次式展開{公式C}[b] +\auto{125}{\detokenize{\三次式展開{公式D}[i]}}\par +\三次式展開{公式D}[i]\par +\auto{126}{\detokenize{\三次式展開{公式D}[b]}} +\三次式展開{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{因数分解} +%\begin{description} +\auto{127}{\detokenize{\三次式因数分解{公式A}[i]}}\par +\三次式因数分解{公式A}[i]\par +\auto{128}{\detokenize{\三次式因数分解{公式A}[b]}} +\三次式因数分解{公式A}[b] +\auto{129}{\detokenize{\三次式因数分解{公式B}[i]}}\par +\三次式因数分解{公式B}[i]\par +\auto{130}{\detokenize{\三次式因数分解{公式B}[b]}} +\三次式因数分解{公式B}[b] +\auto{131}{\detokenize{\三次式因数分解{公式C}[i]}}\par +\三次式因数分解{公式C}[i]\par +\auto{132}{\detokenize{\三次式因数分解{公式C}[b]}} +\三次式因数分解{公式C}[b] +\auto{133}{\detokenize{\三次式因数分解{公式D}[i]}}\par +\三次式因数分解{公式D}[i]\par +\auto{134}{\detokenize{\三次式因数分解{公式D}[b]}} +\三次式因数分解{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{二項定理} +%\begin{description} +\auto{135}{\detokenize{\二項定理{公式}[i]}}\par +\二項定理{公式}[i]\par +\auto{136}{\detokenize{\二項定理{公式}[b]}} +\二項定理{公式}[b] +\auto{137}{\detokenize{\二項定理{一般項}[i]}}\par +\二項定理{一般項}[i]\par +\auto{138}{\detokenize{\二項定理{一般項}[b]}} +\二項定理{一般項}[b] +\auto{135}{\detokenize{\二項定理{証明}}}\par +\二項定理{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{分数式} +%\begin{description} +\auto{139}{\detokenize{\分数式{公式A}[i]}}\par +\分数式{公式A}[i]\par +\auto{140}{\detokenize{\分数式{公式A}[b]}} +\分数式{公式A}[b] +\auto{141}{\detokenize{\分数式{公式B}[i]}}\par +\分数式{公式B}[i]\par +\auto{142}{\detokenize{\分数式{公式B}[b]}} +\分数式{公式B}[b] +\auto{143}{\detokenize{\分数式{公式C}[i]}}\par +\分数式{公式C}[i]\par +\auto{144}{\detokenize{\分数式{公式C}[b]}} +\分数式{公式C}[b] +\auto{145}{\detokenize{\分数式{公式D}[i]}}\par +\分数式{公式D}[i]\par +\auto{146}{\detokenize{\分数式{公式D}[b]}} +\分数式{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{相加相乗平均} +%\begin{description} +\auto{147}{\detokenize{\相加相乗平均{公式}[i]}}\par +\相加相乗平均{公式}[i]\par +\auto{148}{\detokenize{\相加相乗平均{公式}[b]}} +\相加相乗平均{公式}[b] +\auto{147}{\detokenize{\相加相乗平均{証明}}}\par +\相加相乗平均{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{虚数の定義} +%\begin{description} +\auto{149}{\detokenize{\虚数の定義{定義}[i]}}\par +\虚数の定義{定義}[i]\par +\auto{150}{\detokenize{\虚数の定義{定義}[b]}} +\虚数の定義{定義}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{複素数の定義} +%\begin{description} +\auto{151}{\detokenize{\複素数の定義{定義}[i]}}\par +\複素数の定義{定義}[i]\par +\auto{152}{\detokenize{\複素数の定義{定義}[b]}}\par +\複素数の定義{定義}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{二次方程式の解の判別} +%\begin{description} +\auto{153}{\detokenize{\二次方程式の解の判別}}\par +\二次方程式の解の判別 + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{解と係数の関係} +%\begin{description} +\auto{154}{\detokenize{\解と係数の関係{二次方程式の解と係数の関係A}[i]}}\par +\解と係数の関係{二次方程式の解と係数の関係A}[i]\par +\auto{155}{\detokenize{\解と係数の関係{二次方程式の解と係数の関係A}[b]}} +\解と係数の関係{二次方程式の解と係数の関係A}[b] +\auto{156}{\detokenize{\解と係数の関係{二次方程式の解と係数の関係B}[i]}}\par +\解と係数の関係{二次方程式の解と係数の関係B}[i]\par +\auto{157}{\detokenize{\解と係数の関係{二次方程式の解と係数の関係B}[b]}} +\解と係数の関係{二次方程式の解と係数の関係B}[b] +\auto{154}{\detokenize{\解と係数の関係{二次方程式の解と係数の関係の証明}[i]}}\par +\解と係数の関係{二次方程式の解と係数の関係の証明}[i]\par +\auto{158}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係A}[i]}}\par +\解と係数の関係{三次方程式の解と係数の関係A}[i]\par +\auto{159}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係A}[b]}} +\解と係数の関係{三次方程式の解と係数の関係A}[b] +\auto{160}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係B}[i]}}\par +\解と係数の関係{三次方程式の解と係数の関係B}[i]\par +\auto{161}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係B}[b]}} +\解と係数の関係{三次方程式の解と係数の関係B}[b] +\auto{162}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係C}[i]}}\par +\解と係数の関係{三次方程式の解と係数の関係C}[i]\par +\auto{163}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係C}[b]}} +\解と係数の関係{三次方程式の解と係数の関係C}[b] +\auto{158}{\detokenize{\解と係数の関係{三次方程式の解と係数の関係の証明}[i]}}\par +\解と係数の関係{三次方程式の解と係数の関係の証明}[i]\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{剰余定理} +%\begin{description} +\auto{164}{\detokenize{\剰余定理{定理A}[i]}}\par +\剰余定理{定理A}[i]\par +\auto{165}{\detokenize{\剰余定理{定理A}[b]}} +\剰余定理{定理A}[b] +\auto{166}{\detokenize{\剰余定理{定理B}[i]}}\par +\剰余定理{定理B}[i]\par +\auto{167}{\detokenize{\剰余定理{定理B}[b]}} +\剰余定理{定理B}[b] +\auto{164}{\detokenize{\剰余定理{証明}}}\par +\剰余定理{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{因数定理} +%\begin{description} +\auto{168}{\detokenize{\因数定理{定理}[i]}}\par +\因数定理{定理}[i]\par +\auto{168}{\detokenize{\因数定理{定理}[b]}} +\因数定理{定理}[b] +\auto{168}{\detokenize{\因数定理{証明}}}\par +\因数定理{証明}\par + + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{点の座標} +%\begin{description} +\auto{169}{\detokenize{\点の座標{二点間の距離}[i]}}\par +\点の座標{二点間の距離}[i]\par +\auto{170}{\detokenize{\点の座標{二点間の距離}[b]}} +\点の座標{二点間の距離}[b] +\auto{171}{\detokenize{\点の座標{内分点の座標}[i]}}\par +\点の座標{内分点の座標}[i]\par +\auto{172}{\detokenize{\点の座標{内分点の座標}[b]}} +\点の座標{内分点の座標}[b] +\auto{171}{\detokenize{\点の座標{内分点の座標の証明}[i]}}\par +\点の座標{内分点の座標の証明}[i]\par +\auto{173}{\detokenize{\点の座標{外分点の座標}[i]}}\par +\点の座標{外分点の座標}[i]\par +\auto{174}{\detokenize{\点の座標{外分点の座標}[b]}} +\点の座標{外分点の座標}[b] +\auto{173}{\detokenize{\点の座標{外分点の座標の証明}[i]}}\par +\点の座標{外分点の座標の証明}[i]\par +\auto{175}{\detokenize{\点の座標{中点の座標}[i]}}\par +\点の座標{中点の座標}[i]\par +\auto{176}{\detokenize{\点の座標{中点の座標}[b]}} +\点の座標{中点の座標}[b] +\auto{175}{\detokenize{\点の座標{中点の座標の証明}[i]}}\par +\点の座標{中点の座標の証明}[i]\par +\auto{177}{\detokenize{\点の座標{重心の座標}[i]}}\par +\点の座標{重心の座標}[i]\par +\auto{178}{\detokenize{\点の座標{重心の座標}[b]}} +\点の座標{重心の座標}[b] +\auto{177}{\detokenize{\点の座標{重心の座標の証明}[i]}}\par +\点の座標{重心の座標の証明}[i]\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{直線の方程式} +%\begin{description} +\auto{179}{\detokenize{\直線の方程式{公式A}[i]}}\par +\直線の方程式{公式A}[i]\par +\auto{180}{\detokenize{\直線の方程式{公式A}[b]}} +\直線の方程式{公式A}[b] +\auto{181}{\detokenize{\直線の方程式{公式B}[i]}}\par +\直線の方程式{公式B}[i]\par +\auto{182}{\detokenize{\直線の方程式{公式B}[b]}} +\直線の方程式{公式B}[b] +\auto{183}{\detokenize{\直線の方程式{公式C}[i]}}\par +\直線の方程式{公式C}[i]\par +\auto{184}{\detokenize{\直線の方程式{公式C}[b]}} +\直線の方程式{公式C}[b] +\auto{183}{\detokenize{\直線の方程式{公式Bの証明}}}\par +\直線の方程式{公式Bの証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{二直線の関係} +%\begin{description} +\auto{185}{\detokenize{\二直線の関係{公式A}[i]}}\par +\二直線の関係{公式A}[i]\par +\auto{186}{\detokenize{\二直線の関係{公式A}[b]}} +\二直線の関係{公式A}[b] +\auto{187}{\detokenize{\二直線の関係{公式B}[i]}}\par +\二直線の関係{公式B}[i]\par +\auto{188}{\detokenize{\二直線の関係{公式B}[b]}} +\二直線の関係{公式B}[b] +\auto{185}{\detokenize{\二直線の関係{公式Bの証明}[i]}}\par +\二直線の関係{公式Bの証明}[i]\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{点と直線の距離} +%\begin{description} +\auto{189}{\detokenize{\点と直線の距離{公式}[i]}}\par +\点と直線の距離{公式}[i]\par +\auto{190}{\detokenize{\点と直線の距離{公式}[b]}} +\点と直線の距離{公式}[b] +\auto{189}{\detokenize{\点と直線の距離{証明}}}\par +\点と直線の距離{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{円の方程式} +%\begin{description} +\auto{191}{\detokenize{\円の方程式{公式}[i]}}\par +\円の方程式{公式}[i]\par +\auto{192}{\detokenize{\円の方程式{公式}[b]}} +\円の方程式{公式}[b] +\auto{191}{\detokenize{\円の方程式{証明}}}\par +\円の方程式{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{円と直線} +%\begin{description} +\auto{193}{\detokenize{\円と直線{公式}[i]}}\par +\円と直線{公式}[i]\par +\auto{194}{\detokenize{\円と直線{公式}[b]}} +\円と直線{公式}[b] +\auto{193}{\detokenize{\円と直線{証明}}}\par +\円と直線{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{三角関数の相互関係} +%\begin{description} +\auto{195}{\detokenize{\三角関数の相互関係{公式A}[i]}}\par +\三角関数の相互関係{公式A}[i]\par +\auto{196}{\detokenize{\三角関数の相互関係{公式A}[b]}} +\三角関数の相互関係{公式A}[b] +\auto{197}{\detokenize{\三角関数の相互関係{公式B}[i]}}\par +\三角関数の相互関係{公式B}[i]\par +\auto{198}{\detokenize{\三角関数の相互関係{公式B}[b]}} +\三角関数の相互関係{公式B}[b] +\auto{199}{\detokenize{\三角関数の相互関係{公式C}[i]}}\par +\三角関数の相互関係{公式C}[i]\par +\auto{200}{\detokenize{\三角関数の相互関係{公式C}[b]}} +\三角関数の相互関係{公式C}[b] +\auto{195}{\detokenize{\三角関数の相互関係{証明}}}\par +\三角関数の相互関係{証明}\par +%\end{description} +%\end{simplesquarebox} + +\auto{201}{\detokenize{\三角関数の性質{性質A}[i]}}\par +\三角関数の性質{性質A}[i]\par +\auto{202}{\detokenize{\三角関数の性質{性質A}[b]}} +\三角関数の性質{性質A}[b] +\auto{203}{\detokenize{\三角関数の性質{性質B}[i]}}\par +\三角関数の性質{性質B}[i]\par +\auto{204}{\detokenize{\三角関数の性質{性質B}[b]}} +\三角関数の性質{性質B}[b] +\auto{205}{\detokenize{\三角関数の性質{性質C}[i]}}\par +\三角関数の性質{性質C}[i]\par +\auto{206}{\detokenize{\三角関数の性質{性質C}[b]}} +\三角関数の性質{性質C}[b] +\auto{207}{\detokenize{\三角関数の性質{性質D}[i]}}\par +\三角関数の性質{性質D}[i]\par +\auto{208}{\detokenize{\三角関数の性質{性質D}[b]}} +\三角関数の性質{性質D}[b] +\auto{209}{\detokenize{\三角関数の性質{性質E}[i]}}\par +\三角関数の性質{性質E}[i]\par +\auto{210}{\detokenize{\三角関数の性質{性質E}[b]}} +\三角関数の性質{性質E}[b] +\auto{211}{\detokenize{\三角関数の性質{性質F}[i]}}\par +\三角関数の性質{性質F}[i]\par +\auto{212}{\detokenize{\三角関数の性質{性質F}[b]}} +\三角関数の性質{性質F}[b] +\auto{213}{\detokenize{\三角関数の性質{性質G}[i]}}\par +\三角関数の性質{性質G}[i]\par +\auto{214}{\detokenize{\三角関数の性質{性質G}[b]}} +\三角関数の性質{性質G}[b] +\auto{215}{\detokenize{\三角関数の性質{性質H}[i]}}\par +\三角関数の性質{性質H}[i]\par +\auto{216}{\detokenize{\三角関数の性質{性質H}[b]}} +\三角関数の性質{性質H}[b] +\auto{217}{\detokenize{\三角関数の性質{性質I}[i]}}\par +\三角関数の性質{性質I}[i]\par +\auto{218}{\detokenize{\三角関数の性質{性質I}[b]}} +\三角関数の性質{性質I}[b] +\auto{219}{\detokenize{\三角関数の性質{性質J}[i]}}\par +\三角関数の性質{性質J}[i]\par +\auto{220}{\detokenize{\三角関数の性質{性質J}[b]}} +\三角関数の性質{性質J}[b] +\auto{221}{\detokenize{\三角関数の性質{性質K}[i]}}\par +\三角関数の性質{性質K}[i]\par +\auto{222}{\detokenize{\三角関数の性質{性質K}[b]}} +\三角関数の性質{性質K}[b] +\auto{223}{\detokenize{\三角関数の性質{性質L}[i]}}\par +\三角関数の性質{性質L}[i]\par +\auto{224}{\detokenize{\三角関数の性質{性質L}[b]}} +\三角関数の性質{性質L}[b] +\auto{225}{\detokenize{\三角関数の性質{性質M}[i]}}\par +\三角関数の性質{性質M}[i]\par +\auto{226}{\detokenize{\三角関数の性質{性質M}[b]}} +\三角関数の性質{性質M}[b] +\auto{227}{\detokenize{\三角関数の性質{性質N}[i]}}\par +\三角関数の性質{性質N}[i]\par +\auto{228}{\detokenize{\三角関数の性質{性質N}[b]}} +\三角関数の性質{性質N}[b] +\auto{229}{\detokenize{\三角関数の性質{性質O}[i]}}\par +\三角関数の性質{性質O}[i]\par +\auto{230}{\detokenize{\三角関数の性質{性質O}[b]}} +\三角関数の性質{性質O}[b] + + +%\begin{simplesquarebox}{三角関数の加法定理} +%\begin{description} +\auto{231}{\detokenize{\三角関数の加法定理{公式A}[i]}}\par +\三角関数の加法定理{公式A}[i]\par +\auto{232}{\detokenize{\三角関数の加法定理{公式A}[b]}} +\三角関数の加法定理{公式A}[b] +\auto{233}{\detokenize{\三角関数の加法定理{公式B}[i]}}\par +\三角関数の加法定理{公式B}[i]\par +\auto{234}{\detokenize{\三角関数の加法定理{公式B}[b]}} +\三角関数の加法定理{公式B}[b] +\auto{235}{\detokenize{\三角関数の加法定理{公式C}[i]}}\par +\三角関数の加法定理{公式C}[i]\par +\auto{236}{\detokenize{\三角関数の加法定理{公式C}[b]}} +\三角関数の加法定理{公式C}[b] +\auto{231}{\detokenize{\三角関数の加法定理{証明}}}\par +\三角関数の加法定理{証明}\par +%\end{description} +%\end{simplesquarebox} + +\auto{237}{\detokenize{\三角関数の二倍角の公式{公式A}[i]}}\par +\三角関数の二倍角の公式{公式A}[i]\par +\auto{238}{\detokenize{\三角関数の二倍角の公式{公式A}[b]}} +\三角関数の二倍角の公式{公式A}[b] +\auto{239}{\detokenize{\三角関数の二倍角の公式{公式B}[i]}}\par +\三角関数の二倍角の公式{公式B}[i]\par +\auto{240}{\detokenize{\三角関数の二倍角の公式{公式B}[b]}} +\三角関数の二倍角の公式{公式B}[b] +\auto{241}{\detokenize{\三角関数の二倍角の公式{公式C}[i]}}\par +\三角関数の二倍角の公式{公式C}[i]\par +\auto{242}{\detokenize{\三角関数の二倍角の公式{公式C}[b]}} +\三角関数の二倍角の公式{公式C}[b] +\auto{243}{\detokenize{\三角関数の二倍角の公式{公式D}[i]}}\par +\三角関数の二倍角の公式{公式D}[i]\par +\auto{244}{\detokenize{\三角関数の二倍角の公式{公式D}[b]}} +\三角関数の二倍角の公式{公式D}[b] +\auto{245}{\detokenize{\三角関数の二倍角の公式{公式E}[i]}}\par +\三角関数の二倍角の公式{公式E}[i]\par +\auto{246}{\detokenize{\三角関数の二倍角の公式{公式E}[b]}} +\三角関数の二倍角の公式{公式E}[b] +\auto{237}{\detokenize{\三角関数の二倍角の公式{証明}}}\par +\三角関数の二倍角の公式{証明}\par +\auto{247}{\detokenize{\三角関数の三倍角の公式{公式A}[i]}}\par +\三角関数の三倍角の公式{公式A}[i]\par +\auto{248}{\detokenize{\三角関数の三倍角の公式{公式A}[b]}} +\三角関数の三倍角の公式{公式A}[b] +\auto{249}{\detokenize{\三角関数の三倍角の公式{公式B}[i]}}\par +\三角関数の三倍角の公式{公式B}[i]\par +\auto{250}{\detokenize{\三角関数の三倍角の公式{公式B}[b]}} +\三角関数の三倍角の公式{公式B}[b] +%\auto{251}{\detokenize{\三角関数の三倍角の公式{公式C}[i]}}\par +%\三角関数の三倍角の公式{公式C}[i]\par +%\auto{251}{\detokenize{\三角関数の三倍角の公式{公式C}[b]}} +%\三角関数の三倍角の公式{公式C}[b] +\auto{247}{\detokenize{\三角関数の三倍角の公式{証明}}}\par +\三角関数の三倍角の公式{証明}\par + +\auto{252}{\detokenize{\三角関数の積和公式{公式A}[i]}}\par +\三角関数の積和公式{公式A}[i]\par +\auto{253}{\detokenize{\三角関数の積和公式{公式A}[b]}} +\三角関数の積和公式{公式A}[b] +\auto{254}{\detokenize{\三角関数の積和公式{公式B}[i]}}\par +\三角関数の積和公式{公式B}[i]\par +\auto{255}{\detokenize{\三角関数の積和公式{公式B}[b]}} +\三角関数の積和公式{公式B}[b] +\auto{256}{\detokenize{\三角関数の積和公式{公式C}[i]}}\par +\三角関数の積和公式{公式C}[i]\par +\auto{257}{\detokenize{\三角関数の積和公式{公式C}[b]}} +\三角関数の積和公式{公式C}[b] +\auto{252}{\detokenize{\三角関数の積和公式{証明}}}\par +\三角関数の積和公式{証明}\par + +\auto{258}{\detokenize{\三角関数の和積公式{公式A}[i]}}\par +\三角関数の和積公式{公式A}[i]\par +\auto{259}{\detokenize{\三角関数の和積公式{公式A}[b]}} +\三角関数の和積公式{公式A}[b] +\auto{260}{\detokenize{\三角関数の和積公式{公式B}[i]}}\par +\三角関数の和積公式{公式B}[i]\par +\auto{261}{\detokenize{\三角関数の和積公式{公式B}[b]}} +\三角関数の和積公式{公式B}[b] +\auto{262}{\detokenize{\三角関数の和積公式{公式C}[i]}}\par +\三角関数の和積公式{公式C}[i]\par +\auto{263}{\detokenize{\三角関数の和積公式{公式C}[b]}} +\三角関数の和積公式{公式C}[b] +\auto{264}{\detokenize{\三角関数の和積公式{公式D}[i]}}\par +\三角関数の和積公式{公式D}[i]\par +\auto{265}{\detokenize{\三角関数の和積公式{公式D}[b]}} +\三角関数の和積公式{公式D}[b] +\auto{258}{\detokenize{\三角関数の和積公式{証明}}}\par +\三角関数の和積公式{証明}\par + +%\begin{simplesquarebox}{三角関数の合成} +%\begin{description} +\auto{267}{\detokenize{\三角関数の合成{公式}[i]}}\par +\三角関数の合成{公式}[i]\par +\auto{268}{\detokenize{\三角関数の合成{公式}[b]}} +\三角関数の合成{公式}[b]\par +\auto{267}{\detokenize{\三角関数の合成{証明}}}\par +\三角関数の合成{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{有理数の指数} +%\begin{description} +\auto{269}{\detokenize{\有理数の指数{公式A}[i]}}\par +\有理数の指数{公式A}[i]\par +\auto{270}{\detokenize{\有理数の指数{公式A}[b]}} +\有理数の指数{公式A}[b] +\auto{271}{\detokenize{\有理数の指数{公式B}[i]}}\par +\有理数の指数{公式B}[i]\par +\auto{272}{\detokenize{\有理数の指数{公式B}[b]}} +\有理数の指数{公式B}[b] +\auto{273}{\detokenize{\有理数の指数{公式C}[i]}}\par +\有理数の指数{公式C}[i]\par +\auto{274}{\detokenize{\有理数の指数{公式C}[b]}} +\有理数の指数{公式C}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{指数法則} +%\begin{description} +\auto{275}{\detokenize{\指数法則{公式A}[i]}}\par +\指数法則{公式A}[i]\par +\auto{276}{\detokenize{\指数法則{公式A}[b]}} +\指数法則{公式A}[b] +\auto{277}{\detokenize{\指数法則{公式B}[i]}}\par +\指数法則{公式B}[i]\par +\auto{278}{\detokenize{\指数法則{公式B}[b]}} +\指数法則{公式B}[b] +\auto{279}{\detokenize{\指数法則{公式C}[i]}}\par +\指数法則{公式C}[i]\par +\auto{280}{\detokenize{\指数法則{公式C}[b]}} +\指数法則{公式C}[b] +\auto{281}{\detokenize{\指数法則{公式D}[i]}}\par +\指数法則{公式D}[i]\par +\auto{282}{\detokenize{\指数法則{公式D}[b]}} +\指数法則{公式D}[b] +\auto{283}{\detokenize{\指数法則{公式E}[i]}}\par +\指数法則{公式E}[i]\par +\auto{284}{\detokenize{\指数法則{公式E}[b]}} +\指数法則{公式E}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{対数の定義} +%\begin{description} +\auto{285}{\detokenize{\対数の定義{定義}[i]}}\par +\対数の定義{定義}[i]\par +\auto{286}{\detokenize{\対数の定義{定義}[b]}} +\対数の定義{定義}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{対数の性質} +%\begin{description} +\auto{287}{\detokenize{\対数の性質{公式A}[i]}}\par +\対数の性質{公式A}[i]\par +\auto{288}{\detokenize{\対数の性質{公式A}[b]}} +\対数の性質{公式A}[b] +\auto{289}{\detokenize{\対数の性質{公式B}[i]}}\par +\対数の性質{公式B}[i]\par +\auto{290}{\detokenize{\対数の性質{公式B}[b]}} +\対数の性質{公式B}[b] +\auto{291}{\detokenize{\対数の性質{公式C}[i]}}\par +\対数の性質{公式C}[i]\par +\auto{292}{\detokenize{\対数の性質{公式C}[b]}} +\対数の性質{公式C}[b] +\auto{293}{\detokenize{\対数の性質{公式D}[i]}}\par +\対数の性質{公式D}[i]\par +\auto{294}{\detokenize{\対数の性質{公式D}[b]}} +\対数の性質{公式D}[b] +\auto{295}{\detokenize{\対数の性質{公式E}[i]}}\par +\対数の性質{公式E}[i]\par +\auto{296}{\detokenize{\対数の性質{公式E}[b]}} +\対数の性質{公式E}[b] +\auto{297}{\detokenize{\対数の性質{公式F}[i]}}\par +\対数の性質{公式F}[i]\par +\auto{298}{\detokenize{\対数の性質{公式F}[b]}} +\対数の性質{公式F}[b] +\auto{287}{\detokenize{\対数の性質{証明}}}\par +\対数の性質{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{底の変換公式} +%\begin{description} +\auto{299}{\detokenize{\底の変換公式{公式}[i]}}\par +\底の変換公式{公式}[i]\par +\auto{300}{\detokenize{\底の変換公式{公式}[b]}} +\底の変換公式{公式}[b] +\auto{299}{\detokenize{\底の変換公式{証明}}}\par +\底の変換公式{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{導関数の微分} +%\begin{description} +\auto{301}{\detokenize{\導関数の定義{定義}[i]}}\par +\導関数の定義{定義}[i]\par +\auto{302}{\detokenize{\導関数の定義{定義}[b]}} +\導関数の定義{定義}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{べき乗関数と定数関数の導関数} +%\begin{description} +\auto{303}{\detokenize{\べき乗関数と定数関数の導関数{公式A}[i]}}\par +\べき乗関数と定数関数の導関数{公式A}[i]\par +\auto{304}{\detokenize{\べき乗関数と定数関数の導関数{公式A}[b]}} +\べき乗関数と定数関数の導関数{公式A}[b] +\auto{305}{\detokenize{\べき乗関数と定数関数の導関数{公式B}[i]}}\par +\べき乗関数と定数関数の導関数{公式B}[i]\par +\auto{306}{\detokenize{\べき乗関数と定数関数の導関数{公式B}[b]}} +\べき乗関数と定数関数の導関数{公式B}[b] +\auto{303}{\detokenize{\べき乗関数と定数関数の導関数{証明}}}\par +\べき乗関数と定数関数の導関数{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{導関数の性質} +%\begin{description} +\auto{307}{\detokenize{\導関数の性質{公式A}[i]}}\par +\導関数の性質{公式A}[i]\par +\auto{308}{\detokenize{\導関数の性質{公式A}[b]}} +\導関数の性質{公式A}[b] +\auto{309}{\detokenize{\導関数の性質{公式B}[i]}}\par +\導関数の性質{公式B}[i]\par +\auto{310}{\detokenize{\導関数の性質{公式B}[b]}} +\導関数の性質{公式B}[b] +\auto{311}{\detokenize{\導関数の性質{公式C}[i]}}\par +\導関数の性質{公式C}[i]\par +\auto{312}{\detokenize{\導関数の性質{公式C}[b]}} +\導関数の性質{公式C}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{接線の方程式} +%\begin{description} +\auto{313}{\detokenize{\接線の方程式{公式}[i]}}\par +\接線の方程式{公式}[i]\par +\auto{314}{\detokenize{\接線の方程式{公式}[b]}} +\接線の方程式{公式}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{不定積分の定義} +%\begin{description} +\auto{315}{\detokenize{\不定積分の定義{定義}[i]}}\par +\不定積分の定義{定義}[i]\par +\auto{316}{\detokenize{\不定積分の定義{定義}[b]}} +\不定積分の定義{定義}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{べき乗関数の不定積分} +%\begin{description} +\auto{317}{\detokenize{\べき乗関数の不定積分{公式}[i]}}\par +\べき乗関数の不定積分{公式}[i]\par +\auto{318}{\detokenize{\べき乗関数の不定積分{公式}[b]}} +\べき乗関数の不定積分{公式}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{不定積分の性質} +%\begin{description} +%\auto{319}{\texttt{\textbackslash 不定積分の性質\h{-0.1mm}$\lbrace$\h{公式A}\h{-0.1mm}$\rbrace$\kakkokukuri[[]{i}}}\par +\auto[1]{\不定積分の性質{公式A}[i]\par}\par +\不定積分の性質{公式A}[i]\par\par +%\auto{320}{\texttt{\textbackslash 不定積分の性質\h{-0.1mm}$\lbrace$\h{公式A}\h{-0.1mm}$\rbrace$\kakkokukuri[[]{i}}}\par +\auto[1]{\不定積分の性質{公式A}[b]}\par +\不定積分の性質{公式A}[b] +%\auto{321}{\texttt{\textbackslash 不定積分の性質\h{-0.1mm}$\lbrace$\h{公式B}\h{-0.1mm}$\rbrace$\kakkokukuri[[]{i}}}\par +\auto[1]{\不定積分の性質{公式B}[i]\par}\par +\不定積分の性質{公式B}[i]\par\par +%\auto{322}{\texttt{\textbackslash 不定積分の性質\h{-0.1mm}$\lbrace$\h{公式B}\h{-0.1mm}$\rbrace$\kakkokukuri[[]{i}}}\par +\auto[1]{\不定積分の性質{公式B}[b]}\par +\不定積分の性質{公式B}[b] +%\auto{323}{\texttt{\textbackslash 不定積分の性質\h{-0.1mm}$\lbrace$\h{公式C}\h{-0.1mm}$\rbrace$\kakkokukuri[[]{i}}}\par +\auto[1]{\不定積分の性質{公式C}[i]\par}\par +\不定積分の性質{公式C}[i]\par\par +%\auto{324}{\texttt{\textbackslash +%\不定積分の性質{公式C}\h{-0.1mm}$\rbrace$\kakkokukuri[[]{i}}}\par +\auto[1]{\不定積分の性質{公式C}[b]}\par +\不定積分の性質{公式C}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{定積分の定義} +%\begin{description} +\auto{325}{\detokenize{\定積分の定義{定義}[i]}}\par +\定積分の定義{定義}[i]\par +\auto{326}{\detokenize{\定積分の定義{定義}[b]}} +\定積分の定義{定義}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{定積分の性質} +%\begin{description} +\auto{327}{\detokenize{\定積分の性質{公式A}[i]}}\par +\定積分の性質{公式A}[i]\par +\auto{328}{\detokenize{\定積分の性質{公式A}[b]}} +\定積分の性質{公式A}[b] +\auto{329}{\detokenize{\定積分の性質{公式B}[i]}}\par +\定積分の性質{公式B}[i]\par +\auto{330}{\detokenize{\定積分の性質{公式B}[b]}} +\定積分の性質{公式B}[b] +\auto{331}{\detokenize{\定積分の性質{公式C}[i]}}\par +\定積分の性質{公式C}[i]\par +\auto{332}{\detokenize{\定積分の性質{公式C}[b]}} +\定積分の性質{公式C}[b] +\auto{333}{\detokenize{\定積分の性質{公式D}[i]}}\par +\定積分の性質{公式D}[i]\par +\auto{334}{\detokenize{\定積分の性質{公式D}[b]}} +\定積分の性質{公式D}[b] +\auto{335}{\detokenize{\定積分の性質{公式E}[i]}}\par +\定積分の性質{公式E}[i]\par +\auto{336}{\detokenize{\定積分の性質{公式E}[b]}} +\定積分の性質{公式E}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{ベクトルの演算} +%\begin{description} +%n-336=個数 +\auto{337}{\detokenize{\ベクトルの演算{公式A}[i]}}\par +\ベクトルの演算{公式A}[i]\par +\auto{338}{\detokenize{\ベクトルの演算{公式A}[b]}} +\ベクトルの演算{公式A}[b] +\auto{339}{\detokenize{\ベクトルの演算{公式B}[i]}}\par +\ベクトルの演算{公式B}[i]\par +\auto{340}{\detokenize{\ベクトルの演算{公式B}[b]}} +\ベクトルの演算{公式B}[b] +\auto{341}{\detokenize{\ベクトルの演算{公式C}[i]}}\par +\ベクトルの演算{公式C}[i]\par +\auto{342}{\detokenize{\ベクトルの演算{公式C}[b]}} +\ベクトルの演算{公式C}[b] +\auto{343}{\detokenize{\ベクトルの演算{公式D}[i]}}\par +\ベクトルの演算{公式D}[i]\par +\auto{344}{\detokenize{\ベクトルの演算{公式D}[b]}} +\ベクトルの演算{公式D}[b] +\auto{345}{\detokenize{\ベクトルの演算{公式E}[i]}}\par +\ベクトルの演算{公式E}[i]\par +\auto{346}{\detokenize{\ベクトルの演算{公式E}[b]}} +\ベクトルの演算{公式E}[b] +\auto{347}{\detokenize{\ベクトルの演算{公式F}[i]}}\par +\ベクトルの演算{公式F}[i]\par +\auto{348}{\detokenize{\ベクトルの演算{公式F}[b]}} +\ベクトルの演算{公式F}[b] +\auto{349}{\detokenize{\ベクトルの演算{公式G}[i]}}\par +\ベクトルの演算{公式G}[i]\par +\auto{350}{\detokenize{\ベクトルの演算{公式G}[b]}} +\ベクトルの演算{公式G}[b] +\auto{351}{\detokenize{\ベクトルの演算{公式H}[i]}}\par +\ベクトルの演算{公式H}[i]\par +\auto{352}{\detokenize{\ベクトルの演算{公式H}[b]}} +\ベクトルの演算{公式H}[b] +\auto{353}{\detokenize{\ベクトルの演算{公式I}[i]}}\par +\ベクトルの演算{公式I}[i]\par +\auto{354}{\detokenize{\ベクトルの演算{公式I}[b]}} +\ベクトルの演算{公式I}[b] +\auto{355}{\detokenize{\ベクトルの演算{公式J}[i]}}\par +\ベクトルの演算{公式J}[i]\par +\auto{356}{\detokenize{\ベクトルの演算{公式J}[b]}} +\ベクトルの演算{公式J}[b] +\auto{357}{\detokenize{\ベクトルの演算{公式K}[i]}}\par +\ベクトルの演算{公式K}[i]\par +\auto{358}{\detokenize{\ベクトルの演算{公式K}[b]}} +\ベクトルの演算{公式K}[b] +\auto{359}{\detokenize{\ベクトルの演算{公式L}[i]}}\par +\ベクトルの演算{公式L}[i]\par +\auto{360}{\detokenize{\ベクトルの演算{公式L}[b]}} +\ベクトルの演算{公式L}[b] +%\auto{361}{\detokenize{\ベクトルの演算{公式M}[i]}}\par +%\ベクトルの演算{公式M}[i]\par +%\auto{362}{\detokenize{\ベクトルの演算{公式M}[b]}} +%\ベクトルの演算{公式M}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平面ベクトルの分解} +%\begin{description} +\auto{363}{\detokenize{\平面ベクトルの分解{公式}[i]}}\par +\平面ベクトルの分解{公式}[i]\par +\auto{364}{\detokenize{\平面ベクトルの分解{公式}[b]}} +\平面ベクトルの分解{公式}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平面ベクトルの成分} +%\begin{description} +\auto{365}{\detokenize{\平面ベクトルの成分{公式A}[i]}}\par +\平面ベクトルの成分{公式A}[i]\par +\auto{366}{\detokenize{\平面ベクトルの成分{公式A}[b]}} +\平面ベクトルの成分{公式A}[b] +\auto{367}{\detokenize{\平面ベクトルの成分{公式B}[i]}}\par +\平面ベクトルの成分{公式B}[i]\par +\auto{368}{\detokenize{\平面ベクトルの成分{公式B}[b]}} +\平面ベクトルの成分{公式B}[b] +\auto{369}{\detokenize{\平面ベクトルの成分{公式C}[i]}}\par +\平面ベクトルの成分{公式C}[i]\par +\auto{370}{\detokenize{\平面ベクトルの成分{公式C}[b]}} +\平面ベクトルの成分{公式C}[b] +\auto{371}{\detokenize{\平面ベクトルの成分{公式D}[i]}}\par +\平面ベクトルの成分{公式D}[i]\par +\auto{372}{\detokenize{\平面ベクトルの成分{公式D}[b]}} +\平面ベクトルの成分{公式D}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{ベクトルの成分と大きさ} +%\begin{description} +\auto{373}{\detokenize{\ベクトルの成分と大きさ{公式A}[i]}}\par +\ベクトルの成分と大きさ{公式A}[i]\par +\auto{374}{\detokenize{\ベクトルの成分と大きさ{公式A}[b]}} +\ベクトルの成分と大きさ{公式A}[b] +\auto{375}{\detokenize{\ベクトルの成分と大きさ{公式B}[i]}}\par +\ベクトルの成分と大きさ{公式B}[i]\par +\auto{376}{\detokenize{\ベクトルの成分と大きさ{公式B}[b]}} +\ベクトルの成分と大きさ{公式B}[b] +\auto{373}{\detokenize{\ベクトルの成分と大きさ{証明}}}\par +\ベクトルの成分と大きさ{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平面ベクトルの内積} +%\begin{description} +\auto{377}{\detokenize{\平面ベクトルの内積{公式}[i]}}\par +\平面ベクトルの内積{公式}[i]\par +\auto{378}{\detokenize{\平面ベクトルの内積{公式}[b]}} +\平面ベクトルの内積{公式}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{内積の性質} +%\begin{description} +\auto{379}{\detokenize{\内積の性質{公式A}[i]}}\par +\内積の性質{公式A}[i]\par +\auto{380}{\detokenize{\内積の性質{公式A}[b]}} +\内積の性質{公式A}[b] +\auto{381}{\detokenize{\内積の性質{公式B}[i]}}\par +\内積の性質{公式B}[i]\par +\auto{382}{\detokenize{\内積の性質{公式B}[b]}} +\内積の性質{公式B}[b] +\auto{383}{\detokenize{\内積の性質{公式C}[i]}}\par +\内積の性質{公式C}[i]\par +\auto{384}{\detokenize{\内積の性質{公式C}[b]}} +\内積の性質{公式C}[b] +\auto{385}{\detokenize{\内積の性質{公式D}[i]}}\par +\内積の性質{公式D}[i]\par +\auto{386}{\detokenize{\内積の性質{公式D}[b]}} +\内積の性質{公式D}[b] +\auto{387}{\detokenize{\内積の性質{公式E}[i]}}\par +\内積の性質{公式E}[i]\par +\auto{388}{\detokenize{\内積の性質{公式E}[b]}} +\内積の性質{公式E}[b] +\auto{389}{\detokenize{\内積の性質{公式F}[i]}}\par +\内積の性質{公式F}[i]\par +\auto{390}{\detokenize{\内積の性質{公式F}[b]}} +\内積の性質{公式F}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平面ベクトルの平行条件} +%\begin{description} +\auto{391}{\detokenize{\平面ベクトルの平行条件{条件}[i]}}\par +\平面ベクトルの平行条件{条件}[i]\par +\auto{392}{\detokenize{\平面ベクトルの平行条件{条件}[b]}} +\平面ベクトルの平行条件{条件}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平面ベクトルの垂直条件} +%\begin{description} +\auto{393}{\detokenize{\平面ベクトルの垂直条件{条件}[i]}}\par +\平面ベクトルの垂直条件{条件}[i]\par +\auto{394}{\detokenize{\平面ベクトルの垂直条件{条件}[b]}} +\平面ベクトルの垂直条件{条件}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{位置ベクトル} +%\begin{description} +\auto{395}{\detokenize{\位置ベクトル{公式A}[i]}}\par +\位置ベクトル{公式A}[i]\par +\auto{396}{\detokenize{\位置ベクトル{公式A}[b]}} +\位置ベクトル{公式A}[b] +\auto{395}{\detokenize{\位置ベクトル{公式A}[i]}}\par +\位置ベクトル{内分点の位置ベクトルの証明}[i]\par +\auto{397}{\detokenize{\位置ベクトル{公式B}[i]}}\par +\位置ベクトル{公式B}[i]\par +\auto{398}{\detokenize{\位置ベクトル{公式B}[b]}} +\位置ベクトル{公式B}[b] +\auto{397}{\detokenize{\位置ベクトル{外分点の位置ベクトルの証明}[i]}}\par +\位置ベクトル{外分点の位置ベクトルの証明}[i]\par +\auto{399}{\detokenize{\位置ベクトル{公式C}[i]}}\par +\位置ベクトル{公式C}[i]\par +\auto{400}{\detokenize{\位置ベクトル{公式C}[b]}} +\位置ベクトル{公式C}[b] +\auto{401}{\detokenize{\位置ベクトル{公式D}[i]}}\par +\位置ベクトル{公式D}[i]\par +\auto{402}{\detokenize{\位置ベクトル{公式D}[b]}} +\位置ベクトル{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{ベクトル方程式} +%\begin{description} +\auto{403}{\detokenize{\ベクトル方程式{公式A}[i]}}\par +\ベクトル方程式{公式A}[i]\par +\auto{404}{\detokenize{\ベクトル方程式{公式A}[b]}} +\ベクトル方程式{公式A}[b] +\auto{405}{\detokenize{\ベクトル方程式{公式B}[i]}}\par +\ベクトル方程式{公式B}[i]\par +\auto{406}{\detokenize{\ベクトル方程式{公式B}[b]}} +\ベクトル方程式{公式B}[b] +\auto{407}{\detokenize{\ベクトル方程式{公式C}[i]}}\par +\ベクトル方程式{公式C}[i]\par +\auto{408}{\detokenize{\ベクトル方程式{公式C}[b]}} +\ベクトル方程式{公式C}[b] +\auto{409}{\detokenize{\ベクトル方程式{公式D}[i]}}\par +\ベクトル方程式{公式D}[i]\par +\auto{410}{\detokenize{\ベクトル方程式{公式D}[b]}} +\ベクトル方程式{公式D}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{等差数列} +%\begin{description} +\auto{411}{\detokenize{\等差数列{一般項}[i]}}\par +\等差数列{一般項}[i]\par +\auto{412}{\detokenize{\等差数列{一般項}[b]}} +\等差数列{一般項}[b] +\auto{413}{\detokenize{\等差数列{総和}[i]}}\par +\等差数列{総和}[i]\par +\auto{414}{\detokenize{\等差数列{総和}[b]}} +\等差数列{総和}[b] +\auto{411}{\detokenize{\等差数列{証明}}}\par +\等差数列{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{等比数列} +%\begin{description} +\auto{415}{\detokenize{\等比数列{一般項}[i]}}\par +\等比数列{一般項}[i]\par +\auto{416}{\detokenize{\等比数列{一般項}[b]}} +\等比数列{一般項}[b] +\auto{417}{\detokenize{\等比数列{総和}[i]}}\par +\等比数列{総和}[i]\par +\auto{418}{\detokenize{\等比数列{総和}[b]}} +\等比数列{総和}[b] +\auto{415}{\detokenize{\等比数列{証明}}}\par +\等比数列{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{シグマの公式} +%\begin{description} +\auto{419}{\detokenize{\シグマの公式{公式A}[i]}}\par +\シグマの公式{公式A}[i]\par +\auto{420}{\detokenize{\シグマの公式{公式A}[b]}} +\シグマの公式{公式A}[b] +\auto{421}{\detokenize{\シグマの公式{公式B}[i]}}\par +\シグマの公式{公式B}[i]\par +\auto{422}{\detokenize{\シグマの公式{公式B}[b]}} +\シグマの公式{公式B}[b] +\auto{423}{\detokenize{\シグマの公式{公式C}[i]}}\par +\シグマの公式{公式C}[i]\par +\auto{424}{\detokenize{\シグマの公式{公式C}[b]}} +\シグマの公式{公式C}[b] +\auto{425}{\detokenize{\シグマの公式{公式D}[i]}}\par +\シグマの公式{公式D}[i]\par +\auto{426}{\detokenize{\シグマの公式{公式D}[b]}} +\シグマの公式{公式D}[b] +\auto{427}{\detokenize{\シグマの公式{公式E}[i]}}\par +\シグマの公式{公式E}[i]\par +\auto{428}{\detokenize{\シグマの公式{公式E}[b]}} +\シグマの公式{公式E}[b] +\auto{419}{\detokenize{\シグマの公式{証明}}}\par +\シグマの公式{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{シグマの性質} +%\begin{description} +\auto{429}{\detokenize{\シグマの性質{性質}[i]}}\par +\シグマの性質{性質}[i]\par +\auto{430}{\detokenize{\シグマの性質{性質}[b]}} +\シグマの性質{性質}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{階差数列} +%\begin{description} +\auto{431}{\detokenize{\階差数列{一般項}[i]}}\par +\階差数列{一般項}[i]\par +\auto{432}{\detokenize{\階差数列{一般項}[b]}} +\階差数列{一般項}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{漸化式} +%\begin{description} +\auto{433}{\detokenize{\漸化式{等差型}[i]}}\par +\漸化式{等差型}[i]\par +\auto{434}{\detokenize{\漸化式{等差型}[b]}} +\漸化式{等差型}[b] +\auto{435}{\detokenize{\漸化式{等比型}[i]}}\par +\漸化式{等比型}[i]\par +\auto{436}{\detokenize{\漸化式{等比型}[b]}} +\漸化式{等比型}[b]\par +\auto{437}{\detokenize{\漸化式{階差型}[i]}}\par +\漸化式{階差型}[i]\par +\auto{438}{\detokenize{\漸化式{階差型}[b]}} +\漸化式{階差型}[b]\par +\auto{439}{\detokenize{\漸化式{特性方程式}[i]}}\par +\漸化式{特性方程式}[i]\par +\auto{440}{\detokenize{\漸化式{特性方程式}[b]}} +\漸化式{特性方程式}[b] + +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{数学的帰納法} +%\begin{description} +\auto{441}{\detokenize{\数学的帰納法}}\par +\数学的帰納法 + +%\end{description} +%\end{simplesquarebox} + +%%%%%%%%%%%%%%%%%%%%ここから数\UTF{2162}%%%%%%%%%%%%%%%%%%%% + +%\begin{simplesquarebox}{共役複素数} +%\begin{description} +%n-441=個数 +\auto{442}{\detokenize{\共役複素数{定義}[i]}}\par +\共役複素数{定義}[i]\par +\auto{443}{\detokenize{\共役複素数{定義}[b]}} +\共役複素数{定義}[b] +\auto{444}{\detokenize{\共役複素数{性質A}[i]}}\par +\共役複素数{性質A}[i]\par +\auto{445}{\detokenize{\共役複素数{性質A}[b]}} +\共役複素数{性質A}[b]\par +\auto{446}{\detokenize{\共役複素数{性質B}[i]}}\par +\共役複素数{性質B}[i]\par +\auto{447}{\detokenize{\共役複素数{性質B}[b]}} +\共役複素数{性質B}[b] +\auto{448}{\detokenize{\共役複素数{性質C}[i]}}\par +\共役複素数{性質C}[i]\par +\auto{449}{\detokenize{\共役複素数{性質C}[b]}} +\共役複素数{性質C}[b]\par +\auto{450}{\detokenize{\共役複素数{性質D}[i]}}\par +\共役複素数{性質D}[i]\par +\auto{451}{\detokenize{\共役複素数{性質D}[b]}} +\共役複素数{性質D}[b] +\auto{452}{\detokenize{\共役複素数{性質E}[i]}}\par +\共役複素数{性質E}[i]\par +\auto{453}{\detokenize{\共役複素数{性質E}[b]}} +\共役複素数{性質E}[b] +\auto{454}{\detokenize{\共役複素数{性質F}[i]}}\par +\共役複素数{性質F}[i]\par +\auto{455}{\detokenize{\共役複素数{性質F}[b]}} +\共役複素数{性質F}[b] +\auto{456}{\detokenize{\共役複素数{性質G}[i]}}\par +\共役複素数{性質G}[i]\par +\auto{457}{\detokenize{\共役複素数{性質G}[b]}} +\共役複素数{性質G}[b] +\auto{442}{\detokenize{\共役複素数{証明}}}\par +\共役複素数{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{複素数の絶対値} +%\begin{description} +\auto{458}{\detokenize{\複素数の絶対値{定義}[i]}}\par +\複素数の絶対値{定義}[i]\par +\auto{459}{\detokenize{\複素数の絶対値{定義}[b]}} +\複素数の絶対値{定義}[b] +\auto{460}{\detokenize{\複素数の絶対値{性質A}[i]}}\par +\複素数の絶対値{性質A}[i]\par +\auto{461}{\detokenize{\複素数の絶対値{性質A}[b]}} +\複素数の絶対値{性質A}[b] +\auto{462}{\detokenize{\複素数の絶対値{性質B}[i]}}\par +\複素数の絶対値{性質B}[i]\par +\auto{463}{\detokenize{\複素数の絶対値{性質B}[b]}} +\複素数の絶対値{性質B}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{極形式} +%\begin{description} +\auto{464}{\detokenize{\極形式{定義}[i]}}\par +\極形式{定義}[i]\par +\auto{465}{\detokenize{\極形式{定義}[b]}} +\極形式{定義}[b]\par +\auto{466}{\detokenize{\極形式{性質A}[i]}}\par +\極形式{性質A}[i]\par +\auto{467}{\detokenize{\極形式{性質A}[b]}} +\極形式{性質A}[b] +\auto{468}{\detokenize{\極形式{性質B}[i]}}\par +\極形式{性質B}[i]\par +\auto{469}{\detokenize{\極形式{性質B}[b]}} +\極形式{性質B}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{偏角} +%\begin{description} +\auto{470}{\detokenize{\偏角{定義}[i]}}\par +\偏角{定義}[i]\par +\auto{471}{\detokenize{\偏角{定義}[b]}} +\偏角{定義}[b]\par +\auto{472}{\detokenize{\偏角{性質A}[i]}}\par +\偏角{性質A}[i]\par +\auto{473}{\detokenize{\偏角{性質A}[b]}} +\偏角{性質A}[b]\par +\auto{474}{\detokenize{\偏角{性質B}[i]}}\par +\偏角{性質B}[i]\par +\auto{475}{\detokenize{\偏角{性質B}[b]}} +\偏角{性質B}[b] +\auto{476}{\detokenize{\偏角{性質C}[i]}}\par +\偏角{性質C}[i]\par +\auto{477}{\detokenize{\偏角{性質C}[b]}} +\偏角{性質C}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{ドモアブルの定理} +%\begin{description} +\auto{478}{\detokenize{\ドモアブルの定理{公式}[i]}}\par +\ドモアブルの定理{公式}[i]\par +\auto{479}{\detokenize{\ドモアブルの定理{公式}[b]}} +\ドモアブルの定理{公式}[b] +\auto{478}{\detokenize{\ドモアブルの定理{証明}}}\par +\ドモアブルの定理{証明}\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{放物線} +%\begin{description} +\auto{480}{\detokenize{\放物線{定義}[i]}}\par +\放物線{定義}[i]\par +\auto{481}{\detokenize{\放物線{定義}[b]}} +\放物線{定義}[b] +\auto{482}{\detokenize{\放物線{性質A}[i]}}\par +\放物線{性質A}[i]\par +\auto{483}{\detokenize{\放物線{性質A}[b]}} +\放物線{性質A}[b]\par +\auto{484}{\detokenize{\放物線{性質B}[i]}}\par +\放物線{性質B}[i]\par +\auto{485}{\detokenize{\放物線{性質B}[b]}} +\放物線{性質B}[b] +\auto{486}{\detokenize{\放物線{性質C}[i]}}\par +\放物線{性質C}[i]\par +\auto{487}{\detokenize{\放物線{性質C}[b]}} +\放物線{性質C}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{楕円} +%\begin{description} +\auto{488}{\detokenize{\楕円{定義}[i]}}\par +\楕円{定義}[i]\par +\auto{489}{\detokenize{\楕円{定義}[b]}} +\楕円{定義}[b]\par +\auto{490}{\detokenize{\楕円{性質A}[i]}}\par +\楕円{性質A}[i]\par +\auto{491}{\detokenize{\楕円{性質A}[b]}} +\楕円{性質A}[b]\par +\auto{492}{\detokenize{\楕円{性質B}[i]}}\par +\楕円{性質B}[i]\par +\auto{493}{\detokenize{\楕円{性質B}[b]}} +\楕円{性質B}[b] +\auto{494}{\detokenize{\楕円{性質C}[i]}}\par +\楕円{性質C}[i]\par +\auto{495}{\detokenize{\楕円{性質C}[b]}} +\楕円{性質C}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{双曲線} +%\begin{description} +\auto{496}{\detokenize{\双曲線{定義}[i]}}\par +\双曲線{定義}[i]\par +\auto{497}{\detokenize{\双曲線{定義}[b]}} +\双曲線{定義}[b]\par +\auto{498}{\detokenize{\双曲線{性質A}[i]}}\par +\双曲線{性質A}[i]\par +\auto{499}{\detokenize{\双曲線{性質A}[b]}} +\双曲線{性質A}[b]\par +\auto{500}{\detokenize{\双曲線{性質B}[i]}}\par +\双曲線{性質B}[i]\par +\auto{501}{\detokenize{\双曲線{性質B}[b]}} +\双曲線{性質B}[b] +\auto{502}{\detokenize{\双曲線{性質C}[i]}}\par +\双曲線{性質C}[i]\par +\auto{503}{\detokenize{\双曲線{性質C}[b]}} +\双曲線{性質C}[b] +\auto{504}{\detokenize{\双曲線{性質D}[i]}}\par +\双曲線{性質D}[i]\par +\auto{505}{\detokenize{\双曲線{性質D}[b]}} +\双曲線{性質D}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{連続な関数} +%\begin{description} +\auto{506}{\detokenize{\連続な関数{公式}[i]}}\par +\連続な関数{公式}[i]\par +\auto{507}{\detokenize{\連続な関数{公式}[b]}} +\連続な関数{公式}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{中間値の定理} +%\begin{description} +\auto{508}{\detokenize{\中間値の定理{公式}[i]}}\par +\中間値の定理{公式}[i]\par +\auto{509}{\detokenize{\中間値の定理{公式}[b]}} +\中間値の定理{公式}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{平均値の定理} +%\begin{description} +\auto{510}{\detokenize{\平均値の定理{公式}[i]}}\par +\平均値の定理{公式}[i]\par +\auto{511}{\detokenize{\平均値の定理{公式}[b]}} +\平均値の定理{公式}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{微分} +%\begin{description} +\auto{512}{\detokenize{\微分{定義}[i]}}\par +\微分{定義}[i]\par +\auto{513}{\detokenize{\微分{定義}[b]}} +\微分{定義}[b] +\auto{514}{\detokenize{\微分{積の微分公式}[i]}}\par +\微分{積の微分公式}[i]\par +\auto{515}{\detokenize{\微分{積の微分公式}[b]}} +\微分{積の微分公式}[b] +\auto{516}{\detokenize{\微分{商の微分公式}[i]}}\par +\微分{商の微分公式}[i]\par +\auto{517}{\detokenize{\微分{商の微分公式}[b]}} +\微分{商の微分公式}[b] +\auto{518}{\detokenize{\微分{合成関数の微分}[i]}}\par +\微分{合成関数の微分}[i]\par +\auto{519}{\detokenize{\微分{合成関数の微分}[b]}} +\微分{合成関数の微分}[b] +\auto{520}{\detokenize{\微分{初等関数の微分公式A}[i]}}\par +\微分{初等関数の微分公式A}[i]\par +\auto{521}{\detokenize{\微分{初等関数の微分公式A}[b]}} +\微分{初等関数の微分公式A}[b] +\auto{522}{\detokenize{\微分{初等関数の微分公式B}[i]}}\par +\微分{初等関数の微分公式B}[i]\par +\auto{523}{\detokenize{\微分{初等関数の微分公式B}[b]}} +\微分{初等関数の微分公式B}[b] +\auto{524}{\detokenize{\微分{初等関数の微分公式C}[i]}}\par +\微分{初等関数の微分公式C}[i]\par +\auto{525}{\detokenize{\微分{初等関数の微分公式C}[b]}} +\微分{初等関数の微分公式C}[b] +\auto{526}{\detokenize{\微分{初等関数の微分公式D}[i]}}\par +\微分{初等関数の微分公式D}[i]\par +\auto{527}{\detokenize{\微分{初等関数の微分公式D}[b]}} +\微分{初等関数の微分公式D}[b] +\auto{528}{\detokenize{\微分{初等関数の微分公式E}[i]}}\par +\微分{初等関数の微分公式E}[i]\par +\auto{529}{\detokenize{\微分{初等関数の微分公式E}[b]}} +\微分{初等関数の微分公式E}[b] +\auto{530}{\detokenize{\微分{初等関数の微分公式F}[i]}}\par +\微分{初等関数の微分公式F}[i]\par +\auto{531}{\detokenize{\微分{初等関数の微分公式F}[b]}} +\微分{初等関数の微分公式F}[b] +\auto{532}{\detokenize{\微分{初等関数の微分公式G}[i]}}\par +\微分{初等関数の微分公式G}[i]\par +\auto{533}{\detokenize{\微分{初等関数の微分公式G}[b]}} +\微分{初等関数の微分公式G}[b] +\auto{534}{\detokenize{\微分{初等関数の微分公式H}[i]}}\par +\微分{初等関数の微分公式H}[i]\par +\auto{535}{\detokenize{\微分{初等関数の微分公式H}[b]}} +\微分{初等関数の微分公式H}[b] +\auto{536}{\detokenize{\微分{初等関数の微分公式I}[i]}}\par +\微分{初等関数の微分公式I}[i]\par +\auto{537}{\detokenize{\微分{初等関数の微分公式I}[b]}} +\微分{初等関数の微分公式I}[b] +\auto{512}{\detokenize{\微分{三角関数の微分公式の証明}[i]}}\par +\微分{三角関数の微分公式の証明}[i]\par +\auto{512}{\detokenize{\微分{対数関数の微分公式の証明}[i]}}\par +\微分{対数関数の微分公式の証明}[i]\par +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{接線の方程式} +%\begin{description} +\auto{538}{\detokenize{\接線の方程式{公式}[i]}}\par +\接線の方程式{公式}[i]\par +\auto{539}{\detokenize{\接線の方程式{公式}[b]}} +\接線の方程式{公式}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{法線の方程式} +%\begin{description} +\auto{540}{\detokenize{\法線の方程式{公式}[i]}}\par +\法線の方程式{公式}[i]\par +\auto{541}{\detokenize{\法線の方程式{公式}[b]}} +\法線の方程式{公式}[b] +%\end{description +%\end{simplesquarebox} + +%\begin{simplesquarebox}{不定積分} +%\begin{description} +\auto{542}{\detokenize{\不定積分{定義}[i]}}\par +\不定積分{定義}[i]\par +\auto{543}{\detokenize{\不定積分{定義}[b]}} +\不定積分{定義}[b]\par +\auto{544}{\detokenize{\不定積分{置換積分}[i]}}\par +\不定積分{置換積分}[i]\par +\auto{545}{\detokenize{\不定積分{置換積分}[b]}} +\不定積分{置換積分}[b]\par +\auto{546}{\detokenize{\不定積分{部分積分}[i]}}\par +\不定積分{部分積分}[i]\par +\auto{547}{\detokenize{\不定積分{部分積分}[b]}} +\不定積分{部分積分}[b] +\auto{548}{\detokenize{\不定積分{初等関数の積分公式A}[i]}}\par +\不定積分{初等関数の積分公式A}[i]\par +\auto{549}{\detokenize{\不定積分{初等関数の積分公式A}[b]}} +\不定積分{初等関数の積分公式A}[b] +\auto{550}{\detokenize{\不定積分{初等関数の積分公式B}[i]}}\par +\不定積分{初等関数の積分公式B}[i]\par +\auto{551}{\detokenize{\不定積分{初等関数の積分公式B}[b]}} +\不定積分{初等関数の積分公式B}[b] +\auto{552}{\detokenize{\不定積分{初等関数の積分公式C}[i]}}\par +\不定積分{初等関数の積分公式C}[i]\par +\auto{553}{\detokenize{\不定積分{初等関数の積分公式C}[b]}} +\不定積分{初等関数の積分公式C}[b] +\auto{554}{\detokenize{\不定積分{初等関数の積分公式D}[i]}}\par +\不定積分{初等関数の積分公式D}[i]\par +\auto{555}{\detokenize{\不定積分{初等関数の積分公式D}[b]}} +\不定積分{初等関数の積分公式D}[b] +\auto{556}{\detokenize{\不定積分{初等関数の積分公式E}[i]}}\par +\不定積分{初等関数の積分公式E}[i]\par +\auto{557}{\detokenize{\不定積分{初等関数の積分公式E}[b]}} +\不定積分{初等関数の積分公式E}[b] +\auto{558}{\detokenize{\不定積分{初等関数の積分公式F}[i]}}\par +\不定積分{初等関数の積分公式F}[i]\par +\auto{559}{\detokenize{\不定積分{初等関数の積分公式F}[b]}} +\不定積分{初等関数の積分公式F}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{定積分} +%\begin{description} +\auto{560}{\detokenize{\定積分{定義}[i]}}\par +\定積分{定義}[i]\par +\auto{561}{\detokenize{\定積分{定義}[b]}} +\定積分{定義}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{区分求積法} +%\begin{description} +\auto{562}{\detokenize{\区分求積法{公式}[i]}}\par +\区分求積法{公式}[i]\par +\auto{563}{\detokenize{\区分求積法{公式}[b]}} +\区分求積法{公式}[b] +%\end{description} +%\end{simplesquarebox} + +%\begin{simplesquarebox}{体積の積分} +%\begin{description} +\auto{564}{\detokenize{\体積の積分{公式}[i]}}\par +\体積の積分{公式}[i]\par +\auto{565}{\detokenize{\体積の積分{公式}[b]}} +\体積の積分{公式}[b] +%\end{description} +%\end{simplesquarebox} + +\end{document}
\ No newline at end of file diff --git a/macros/luatex/latex/letgut/README.md b/macros/luatex/latex/letgut/README.md index c37e469424..e38b789e5e 100644 --- a/macros/luatex/latex/letgut/README.md +++ b/macros/luatex/latex/letgut/README.md @@ -8,7 +8,7 @@ to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Gr Release ------- -2022-09-02 v0.9.3 +2022-10-03 v0.9.4 Development ----------- diff --git a/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf b/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf Binary files differindex 89b12697a9..b232420d44 100644 --- a/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf +++ b/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf diff --git a/macros/luatex/latex/letgut/doc/letgut-code.pdf b/macros/luatex/latex/letgut/doc/letgut-code.pdf Binary files differindex ccb1faeda0..1e8e46f241 100644 --- a/macros/luatex/latex/letgut/doc/letgut-code.pdf +++ b/macros/luatex/latex/letgut/doc/letgut-code.pdf diff --git a/macros/luatex/latex/letgut/doc/letgut.pdf b/macros/luatex/latex/letgut/doc/letgut.pdf Binary files differindex e722117da8..23f2bf4091 100644 --- a/macros/luatex/latex/letgut/doc/letgut.pdf +++ b/macros/luatex/latex/letgut/doc/letgut.pdf diff --git a/macros/luatex/latex/letgut/doc/letgut.tex b/macros/luatex/latex/letgut/doc/letgut.tex index 5069d57237..91006a60ea 100644 --- a/macros/luatex/latex/letgut/doc/letgut.tex +++ b/macros/luatex/latex/letgut/doc/letgut.tex @@ -67,7 +67,7 @@ } \author{Association GUTenberg} \date{% - Version 0.9.3 en date du \today% + Version 0.9.4 en date du \today% \texorpdfstring{% \\ \url{https://framagit.org/gutenberg/letgut}% @@ -359,8 +359,8 @@ Les options de la \letgutcls{} peuvent être spécifiées de deux façons : D'autres options peuvent être passées à la \letgutcls{}. Il est ainsi possible de faire usage de langues du \package*{babel}, autres que le français et l'anglais déjà chargées par \letgut{}, en les stipulant en option de -\docAuxCommand{documentclass} et en les employant selon la syntaxe du -\package*{babel}. +\docAuxCommand{documentclass} et en les employant selon la syntaxe de ce +package. \section{Titre et titres courants} \label{sec:titre} @@ -540,7 +540,8 @@ Les articles de la \lettre{} sont émaillés de concepts (packages ou classes récurrente. Aussi des commandes spécifiques sont-elles prévues de façon à en faciliter la saisie et à en homogénéiser la mise en forme. -\subsection{Packages et classes, logiciels, fichiers, locutions étrangères} +\subsection{Packages et classes, logiciels, fichiers, locutions étrangères, + points de code Unicode} \label{sec:classes-packages-et} \begin{docCommands} @@ -647,6 +648,16 @@ Attention aux \foreignloc{load-time options} ! Mais... \latinloc{errare humanum est}. \end{ltx-code-result} +\begin{docCommand}{Ucode}{\oarg{nom}\marg{point de code}} + Cette commande est conçue pour afficher le \meta{point de code} et + éventuellement le \meta{nom} d'un caractère Unicode sous la forme + \enquote{U+\meta{point de code} (\meta{\textsc{nom}})}. +\end{docCommand} + +\begin{ltx-code-result}[title addon=Point de code d'un caractère Unicode,listing options app={deletekeywords={[3]{options}}}] +Unicode a prévu le caractère \Ucode[symbole numéro]{2116}. +\end{ltx-code-result} + \subsection{Termes et expressions} \label{sec:termes} @@ -654,8 +665,8 @@ Mais... \latinloc{errare humanum est}. { { doc name = gutenberg }, { doc name = gut }, - { doc name = lettre }, - { doc name = lettregut }, + % { doc name = lettre }, + % { doc name = lettregut }, { doc name = cahier }, { doc name = cahiers }, { doc name = cahiergut }, @@ -678,23 +689,23 @@ Mais... \latinloc{errare humanum est}. \centering \begin{tabular}{ll} \toprule - \refCom{gutenberg} & \gutenberg \\ - \refCom{gut} & \gut \\ - \refCom{lettre} & \lettre \\ - \refCom{lettregut} & \lettregut \\ - \refCom{cahier} & \cahier \\ - \refCom{cahiergut} & \cahiergut \\ - \refCom{cahiers} & \cahiers \\ - \refCom{cahiersgut} & \cahiersgut \\ \midrule - \refCom{letgut} & \letgut \\ - \refCom{letgutcls} & \letgutcls \\ \midrule - \refCom{knuth} & \knuth \\ - \refCom{lamport} & \lamport \\ - \refCom{tl} & \tl \\ - \refCom{tugboat} & \tugboat \\ \midrule - \refCom{linux} & \linux \\ - \refCom{macos} & \macos \\ - \refCom{windows} & \windows \\ \bottomrule + \refCom{gutenberg} & \gutenberg \\ + \refCom{gut} & \gut \\ + % \refCom{lettre} & \lettre \\ + % \refCom{lettregut} & \lettregut \\ + \refCom{cahier} & \cahier \\ + \refCom{cahiergut} & \cahiergut \\ + \refCom{cahiers} & \cahiers \\ + \refCom{cahiersgut} & \cahiersgut \\ \midrule + \refCom{letgut} & \letgut \\ + \refCom{letgutcls} & \letgutcls \\ \midrule + \refCom{knuth} & \knuth \\ + \refCom{lamport} & \lamport \\ + \refCom{tl} & \tl \\ + \refCom{tugboat} & \tugboat \\ \midrule + \refCom{linux} & \linux \\ + \refCom{macos} & \macos \\ + \refCom{windows} & \windows \\ \bottomrule \end{tabular} \caption{Effet des commandes de raccourcis} \label{tab:raccourcis} @@ -717,6 +728,83 @@ de \docAuxCommand{section}% (préfixe pas en grandes capitales). \end{dbwarning} +\begin{docCommands}[ + doc new=2022-10-03, + doc name=lettrenumber, + doc parameter = \oarg{entier relatif signé} + ] + { + { }, + { doc name=lettrenumber* }, + } + \index{configuration}% + Cette commande affiche le numéro de la \lettre{} : + \begin{description} + \item[en cours] si l'argument optionnel n'est pas employé ; + \item[décalé de celui en cours] de l'\meta{entier relatif + signé}\footnote{\label{entier-signe}C.-à-d. un \enquote{plus} ou un + \enquote{moins} (\lstinline|+| ou \lstinline|-|) suivi d'un nombre + entier.} spécifié sinon. + \end{description} + En version étoilée, la chaîne \enquote{\no{}} précède ce numéro. +\end{docCommands} + +\ExplSyntaxOn +\int_gset:Nn \g__letgut_number_int {46} +\ExplSyntaxOff + +\begin{ltx-code-result}[title addon=emploi de la commande \refCom{lettrenumber},listing options app={deletekeywords={[6]{cours,lettre}}}] +Si le numéro de la \lettre{} en cours est 46, celui de la \lettre +\begin{enumerate} +\item en cours est \lettrenumber ; +\item en cours est le \lettrenumber* ; +\item suivante est \lettrenumber[+1] ; +\item précédente est le \lettrenumber*[-1]. +\end{enumerate} +\end{ltx-code-result} + +\begin{docCommands}[] + { + { doc name = lettre }, + { doc name = lettre, doc new=2022-10-03, doc parameter = \oarg{argument optionnel} }, + { doc name = lettre*, doc new=2022-10-03, doc parameter = \oarg{argument optionnel} }, + { doc name = lettregut }, + { doc name = lettregut, doc new=2022-10-03, doc parameter = \oarg{argument optionnel} }, + { doc name = lettregut*, doc new=2022-10-03, doc parameter = \oarg{argument optionnel} }, + } + % + Ces commandes affichent les chaînes de caractères respectivement + \enquote{\lettre} et \enquote{\lettregut}, le cas échéant suivies du numéro + de la \lettre{} : + \begin{description} + \item[en cours] si l'\meta{argument optionnel} est un point (⅛.⅛) ; + \item[décalé de celui en cours] de ce qui est spécifié si l'\meta{argument optionnel} est un + entier relatif signé\footref{entier-signe} ; + \item[spécifié] si l'\meta{argument optionnel} est autre. + \end{description} + En version étoilée, la chaîne \enquote{\no{}} précède le numéro (seulement si + l'\meta{argument optionnel} est employé). +\end{docCommands} + +\begin{ltx-code-result}[title addon=emplois des commandes \refCom{lettre} et \refCom{lettregut},listing options app={deletekeywords={[6]{cours,lettre}}}] +Si le numéro de la \lettre{} en cours est 46, on a : +\begin{enumerate} +\item \lettre +\item \lettre[.] +\item \lettre[+10] +\item \lettre[-10] +\item \lettre[43] +\item \lettre[coucou] +\item \lettre*[.] +\item \lettre*[+10] +\item \lettre*[-10] +\item \lettre*[43] +\item \lettre* +\end{enumerate} +On fait usage de ces commandes +dans la \lettregut*[.]. +\end{ltx-code-result} + \subsection{Touches de clavier} \label{sec:touches-de-clavier} @@ -1741,7 +1829,7 @@ listing options app={deletekeywords={[4]{ \item commandes ; \item environnements ; \item clés ; - \item valeurs de clé ; + \item valeurs de clé. \end{itemize} }% % \renewcommand{\indexname}{Index des commandes} diff --git a/macros/luatex/latex/letgut/doc/localconf.tex b/macros/luatex/latex/letgut/doc/localconf.tex index 32eab1c21e..af0c9ecd5e 100644 --- a/macros/luatex/latex/letgut/doc/localconf.tex +++ b/macros/luatex/latex/letgut/doc/localconf.tex @@ -4,6 +4,8 @@ % Pour l'index \usepackage[imakeidx]{xindex} \makeindex +\indexsetup{level=\title,toclevel=title,firstpagestyle=fancy} + % Commande sans laquelle les numéros de pages de l'index ne seraient pas des % hyperliens \DeclareHookRule{env/document/begin}{xindex}{before}{hyperref} @@ -61,11 +63,22 @@ keywords~ bold=false }% +% Redéfinition de commande pour que les mentions des nouveautés et mises à jour +% ne dépassent pas dans la marge +\renewcommand{\tcbdocmarginnote}[2][]{% + \marginnote{% + \begin{tcolorbox}[enhanced~ jigsaw,size=fbox,boxrule=1pt,leftrule=0pt,rightrule=0pt, + arc=0pt,outer~ arc=1pt,boxsep=1pt,top=1pt,bottom=1pt, + nobeforeafter,width=\c__letgut_hoffset_dim-\marginparsep, + colframe=red!50!white,colback=red!25!yellow!5!white,fontupper=\scriptsize, + if~ odd~ page~ or~ oneside={flushright~ upper}{flushleft~ upper}, + doc@marginnote,#1]#2\end{tcolorbox}}} + \renewcommand*{\tcbdocnew}[1]{ \scriptsize\sffamily\textcolor{green!50!black}{\bfseries -Nouv. :} #1} +Nouv. :~} #1} \renewcommand*{\tcbdocupdated}[1]{\scriptsize\sffamily\textcolor{blue!75!black}{\bfseries -\textsc{m.-à-j.} :} #1} +\textsc{m.-à-j.} :~} #1} % \NewDocumentCommand \valinit { o } @@ -133,6 +146,13 @@ Nouv. :} #1} % \ExplSyntaxOff +% Nous voulons que les notes marginales soient toujours dans la marge de +% gauche : +\makeatletter +\patchcmd{\@mn@@@marginnote}{\begingroup}{\begingroup\@twosidefalse}{}{\fail} +\reversemarginpar +\makeatother + %%% Local Variables: %%% mode: latex diff --git a/macros/luatex/latex/letgut/source/letgut.org b/macros/luatex/latex/letgut/source/letgut.org index 2a8e9bbcc2..dd76cbe8d7 100644 --- a/macros/luatex/latex/letgut/source/letgut.org +++ b/macros/luatex/latex/letgut/source/letgut.org @@ -24,6 +24,9 @@ #+export_file_name: ../../../doc/lualatex/letgut/letgut-code * Ctanomat file :noexport: +:PROPERTIES: +:CUSTOM_ID: Ctanomatfile-2uoc55h0jlj0 +:END: We create here a ~ctanomat~ description file in order to simplify the upload of new versions of the class on CTAN. @@ -51,7 +54,7 @@ new versions of the class on CTAN. % This field contains the version of the package. % The value is optional. % The value is restricted to 32 characters. - \version{0.9.3 2022-09-02} + \version{0.9.4 2022-10-03} % ------------------------------------------------------------------------- % This field contains the name of the author(s). % The value is optional. @@ -128,11 +131,15 @@ new versions of the class on CTAN. % The value is optional. % The value is restricted to 8192 characters. \begin{announcement} - ## [0.9.3] - 2022-09-02 + ## [0.9.4] - 2022-10-03 + + ### Added + - Command `\lettrenumber` that displays various Lettre numbers related to the one of the current issue. + - Options of `\lettre` and `\lettregut` that add various Lettre numbers related to the one of the current issue. + - Command `\Ucode` for points and names of Unicode characters. ### Changed - - Local conf. file doesn't require anymore to start with \ExplSyntaxOff in some instances. - - Documentation improved. + - Documentation completed and improved. \end{announcement} % ------------------------------------------------------------------------- % This field contains the one-liner for the package. @@ -188,6 +195,9 @@ new versions of the class on CTAN. #+end_src * Changelog file :noexport: +:PROPERTIES: +:CUSTOM_ID: Changelogfile-2buc55h0jlj0 +:END: #+begin_src markdown :tangle ../../../doc/lualatex/letgut/CHANGELOG.md # Changelog @@ -199,6 +209,16 @@ new versions of the class on CTAN. ## [Unreleased] + ## [0.9.4] - 2022-10-03 + + ### Added + - Command `\lettrenumber` that displays various Lettre numbers related to the one of the current issue. + - Options of `\lettre` and `\lettregut` that add various Lettre numbers related to the one of the current issue. + - Command `\Ucode` for points and names of Unicode characters. + + ### Changed + - Documentation improved. + ## [0.9.3] - 2022-09-02 ### Changed @@ -245,6 +265,9 @@ new versions of the class on CTAN. #+end_src * Readme file :noexport: +:PROPERTIES: +:CUSTOM_ID: Readmefile-8xuc55h0jlj0 +:END: #+begin_src markdown :tangle ../../../doc/lualatex/letgut/README.md letgut - Support for the newsletter “La Lettre GUTenberg” @@ -257,7 +280,7 @@ to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Gr Release ------- -2022-09-02 v0.9.3 +2022-10-03 v0.9.4 Development ----------- @@ -266,6 +289,9 @@ https://framagit.org/gutenberg/letgut. #+end_src * How to :noexport: +:PROPERTIES: +:CUSTOM_ID: Howto-565g55h0jlj0 +:END: We explain in a \file*{HOWTO.md} file how to: @@ -315,6 +341,9 @@ the corresponding `.tex` file (which doesn't derive from an Org Mode file). #+end_src * Identification +:PROPERTIES: +:CUSTOM_ID: Identification-mn5g55h0jlj0 +:END: #+begin_src latex % This is file `letgut.cls', @@ -346,6 +375,9 @@ the corresponding `.tex` file (which doesn't derive from an Org Mode file). #+end_src * Debugging +:PROPERTIES: +:CUSTOM_ID: Debugging-846g55h0jlj0 +:END: #+begin_src latex % \RequirePackage[ @@ -356,6 +388,9 @@ the corresponding `.tex` file (which doesn't derive from an Org Mode file). #+end_src * Implementation +:PROPERTIES: +:CUSTOM_ID: Implementation-vy6g55h0jlj0 +:END: These document classes can only be used with \LaTeXe, so we make sure that an appropriate message is displayed when another \TeX{} @@ -387,14 +422,17 @@ Now, we can announce the class name and its version: #+begin_src latex \ProvidesExplClass{letgut} - {2022-03-17} - {0.9} + {2022-10-03} + {0.9.4} { Class for the newsletter “The GUTenberg Letter” } #+end_src ** Messages +:PROPERTIES: +:CUSTOM_ID: ImplementationMessages-xg7g55h0jlj0 +:END: We specify the messages come from a class, which is letgut (see \url{https://github.com/latex3/latex3/issues/887}). @@ -454,6 +492,9 @@ Some messages are declared for future use. #+end_src ** Engine checking +:PROPERTIES: +:CUSTOM_ID: ImplementationEnginechecking-lz7g55h0jlj0 +:END: #+begin_src latex \sys_if_engine_luatex:F { @@ -462,8 +503,14 @@ Some messages are declared for future use. #+end_src ** Declarations +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarations-3j8g55h0jlj0 +:END: *** Booleans +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsBooleans-s09g55h0jlj0 +:END: - For testing the emptyness of the title. #+begin_src latex @@ -483,6 +530,9 @@ Some messages are declared for future use. #+end_src *** Dimensions +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsDimensions-gj9g55h0jlj0 +:END: - Geometry of the document #+begin_src latex @@ -565,6 +615,9 @@ Some messages are declared for future use. #+end_src *** Skips (lengths with rubber components) +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsSkipslengthswithrubbercomponents-a4ag55h0jlj0 +:END: The following skips, borrowed from the standard classes, are specified in ~ex~ unit, which depends on the font used and hence have to be specified @@ -663,11 +716,17 @@ We close the ~\AddToHook{begindocument/before}~ argument. *** Integers +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsIntegers-7pag55h0jlj0 +:END: #+begin_src latex \int_new:N \g__letgut_ltx_example_int #+end_src *** Strings +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsStrings-t7bg55h0jlj0 +:END: #+begin_src latex \str_new:N \g__letgut_label_ltx_example_str @@ -681,85 +740,94 @@ We close the ~\AddToHook{begindocument/before}~ argument. #+end_src *** Token lists +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsTokenlists-grbg55h0jlj0 +:END: **** Constant ones +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsTokenlistsConstantones-obcg55h0jlj0 +:END: #+begin_src latex - \tl_const:Nn \c__letgut_online_issn_tl { - 2742-6149~ (version~ numérique) - } - \tl_const:Nn \c__letgut_paper_issn_tl { - 1257–2217~ (version~ papier) - } - \tl_const:Nn \c__letgut_cahier_tl { \emph{ Cahier } } - \tl_const:Nn \c__letgut_cahiers_tl { - \c__letgut_cahier_tl \emph{ s } - } - \tl_const:Nn \c__letgut_gnu_linux_tl { \software{GNU/Linux} } - \tl_const:Nn \c__letgut_macOS_tl { \software{macOS} } - \tl_const:Nn \c__letgut_windows_tl { \software{Windows} } - \tl_const:Nn \c__letgut_package_tl { package } - \tl_const:Nn \c__letgut_class_tl { classe } - \tl_const:Nn \c__letgut_file_tl { fichier } - \tl_const:Nn \c__letgut_software_tl { logiciel } - \tl_const:Nn \c__letgut_tugboat_tl { \emph{ TUGboat } } - \tl_const:Nn \c__letgut_tex_live_tl { - \hologo{ TeX }\nobreakspace Live - } - \tl_const:Nn \c__letgut_banner_file_tl { bandeau } - \tl_const:Nn \c__letgut_editorial_file_tl { editorial } - \tl_const:Nn \c__letgut_informations_gutenberg_file_tl { - informations-gut - } - \tl_const:Nn \c__letgut_acronyms_file_tl { letgut-acronyms } - \tl_const:Nn \c__letgut_local_config_file_tl { localconf } - \tl_const:Nn \c__letgut_lstlanguage_file_tl { letgut-lstlang.sty } - \tl_const:Nn \c__letgut_contents_name_tl { Sommaire } - \tl_const:Nn \c__letgut_draftwatermark_text_tl { - \textnormal{Brouillon} - } - \tl_const:Nn \c__letgut_membership_reminder_tl { - {\LARGE - \bfseries - Avez-vous~ pensé~ à~ régler~ votre~ cotisation~ ? - % \the\year~ ? - \par - \medskip - } - Si~ vous~ avez~ oublié,~ ce~ n'est~ ni~ trop~ tard~ - ni~ difficile~ : - \par - \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne} - \bool_if:NT \g__letgut_informations_bool { - \file_if_exist:nT - {./\c__letgut_informations_gutenberg_file_tl}{ - \par - Voir~ aussi~ page~ \pageref{letgut_label_adhesions}. - } - } - } - \tl_const:Nn \c__letgut_missing_editorial_tl { - Ne~ pas~ omettre~ l'éditorial~ !\\(à~ faire~ figurer~ - dans~ un~ \file*{\c__letgut_editorial_file_tl.tex}~ - dans~ le~ dossier~ courant) - } - \tl_const:Nn \c__letgut_missing_infomations_tl { - Ne~ pas~ omettre~ les~ informations~ sur~ - \c__letgut_gutenberg_tl{}~ !\\(dans~ un~ - \file*{\c__letgut_informations_gutenberg_file_tl.tex}~ - situé~ soit~ dans~ le~ dossier~ courant, soit~ dans~ le~ - dossier~ parent) - } - \tl_const:Nn \c__letgut_default_alert_box_color_tl { - gray9 - } - \tl_const:Nn \c__letgut_default_allcolors_links_color_tl - { - teal!60!black - } + \tl_const:Nn \c__letgut_online_issn_tl { + 2742-6149~ (version~ numérique) + } + \tl_const:Nn \c__letgut_paper_issn_tl { + 1257–2217~ (version~ papier) + } + \tl_const:Nn \c__letgut_cahier_tl { \emph{ Cahier } } + \tl_const:Nn \c__letgut_cahiers_tl { + \c__letgut_cahier_tl \emph{ s } + } + \tl_const:Nn \c__letgut_gnu_linux_tl { \software{GNU/Linux} } + \tl_const:Nn \c__letgut_macOS_tl { \software{macOS} } + \tl_const:Nn \c__letgut_windows_tl { \software{Windows} } + \tl_const:Nn \c__letgut_package_tl { package } + \tl_const:Nn \c__letgut_class_tl { classe } + \tl_const:Nn \c__letgut_file_tl { fichier } + \tl_const:Nn \c__letgut_software_tl { logiciel } + \tl_const:Nn \c__letgut_tugboat_tl { \emph{ TUGboat } } + \tl_const:Nn \c__letgut_tex_live_tl { + \hologo{ TeX }\nobreakspace Live + } + \tl_const:Nn \c__letgut_banner_file_tl { bandeau } + \tl_const:Nn \c__letgut_editorial_file_tl { editorial } + \tl_const:Nn \c__letgut_informations_gutenberg_file_tl { + informations-gut + } + \tl_const:Nn \c__letgut_acronyms_file_tl { letgut-acronyms } + \tl_const:Nn \c__letgut_local_config_file_tl { localconf } + \tl_const:Nn \c__letgut_lstlanguage_file_tl { letgut-lstlang.sty } + \tl_const:Nn \c__letgut_contents_name_tl { Sommaire } + \tl_const:Nn \c__letgut_draftwatermark_text_tl { + \textnormal{Brouillon} + } + \tl_const:Nn \c__letgut_membership_reminder_tl { + {\LARGE + \bfseries + Avez-vous~ pensé~ à~ régler~ votre~ cotisation~ ? + % \the\year~ ? + \par + \medskip + } + Si~ vous~ avez~ oublié,~ ce~ n'est~ ni~ trop~ tard~ + ni~ difficile~ : + \par + \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne} + \bool_if:NT \g__letgut_informations_bool { + \file_if_exist:nT + {./\c__letgut_informations_gutenberg_file_tl}{ + \par + Voir~ aussi~ page~ \pageref{letgut_label_adhesions}. + } + } + } + \tl_const:Nn \c__letgut_missing_editorial_tl { + Ne~ pas~ omettre~ l'éditorial~ !\\(à~ faire~ figurer~ + dans~ un~ \file*{\c__letgut_editorial_file_tl.tex}~ + dans~ le~ dossier~ courant) + } + \tl_const:Nn \c__letgut_missing_infomations_tl { + Ne~ pas~ omettre~ les~ informations~ sur~ + \c__letgut_gutenberg_tl{}~ !\\(dans~ un~ + \file*{\c__letgut_informations_gutenberg_file_tl.tex}~ + situé~ soit~ dans~ le~ dossier~ courant, soit~ dans~ le~ + dossier~ parent) + } + \tl_const:Nn \c__letgut_default_alert_box_color_tl { + gray9 + } + \tl_const:Nn \c__letgut_default_allcolors_links_color_tl + { + teal!60!black + } #+end_src **** Variables ones +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsTokenlistsVariablesones-pxcg55h0jlj0 +:END: #+begin_src latex \tl_new:N \g__letgut_mark_tl @@ -772,6 +840,9 @@ We close the ~\AddToHook{begindocument/before}~ argument. #+end_src *** Comma separated lists +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsCommaseparatedlists-vhdg55h0jlj0 +:END: #+begin_src latex \clist_new:N \g__letgut_pagecolor_clist @@ -782,12 +853,18 @@ We close the ~\AddToHook{begindocument/before}~ argument. #+end_src *** Sequences +:PROPERTIES: +:CUSTOM_ID: ImplementationDeclarationsSequences-m2eg55h0jlj0 +:END: #+begin_src latex \seq_new:N \l__letgut_first_last_names_items_seq #+end_src ** Class options +:PROPERTIES: +:CUSTOM_ID: ImplementationClassoptions-4meg55h0jlj0 +:END: In order to provide class options, we load the \package{l3keys2e} which provides \LaTeXe{} option processing using \LaTeX3 keys: @@ -802,6 +879,9 @@ We define the 2 load time options for the target audience: - ~for-authors~, (only) the author(s) of an article of the “Lettre”. ** Date handling +:PROPERTIES: +:CUSTOM_ID: ImplementationDatehandling-c5fg55h0jlj0 +:END: #+begin_src latex \int_new:N \g__letgut_date_month_int @@ -909,6 +989,9 @@ We define the 2 load time options for the target audience: #+end_src ** Class and package loading +:PROPERTIES: +:CUSTOM_ID: ImplementationClassandpackageloading-aqfg55h0jlj0 +:END: The \letgutcls{} is based on the ~article~ class. It is by default two sided because of the alternating headers, and will by typeset with ~11pt~ as global @@ -1087,6 +1170,9 @@ We close the ~\AddToHook{begindocument/before}~ argument. #+end_src ** Settings for the loaded packages +:PROPERTIES: +:CUSTOM_ID: ImplementationSettingsfortheloadedpackages-cdgg55h0jlj0 +:END: - We switch to the French typographic conventions for \package{siunitx}. #+begin_src latex @@ -1302,6 +1388,9 @@ We close the ~\AddToHook{begindocument/before}~ argument. #+end_src ** Page color default settings +:PROPERTIES: +:CUSTOM_ID: ImplementationPagecolordefaultsettings-c1hg55h0jlj0 +:END: By default, the page color will be the one linked to the ~screen~ option. @@ -1312,6 +1401,9 @@ We close the ~\AddToHook{begindocument/before}~ argument. #+end_src ** Options +:PROPERTIES: +:CUSTOM_ID: ImplementationOptions-imhg55h0jlj0 +:END: We now define the options of the class: @@ -1389,6 +1481,9 @@ We now define the options of the class: #+end_src ** Headers +:PROPERTIES: +:CUSTOM_ID: ImplementationHeaders-78ig55h0jlj0 +:END: We now define the headers. @@ -1421,6 +1516,9 @@ We now define the headers. #+end_src ** Marginal notes +:PROPERTIES: +:CUSTOM_ID: ImplementationMarginalnotes-1uig55h0jlj0 +:END: We want the marginal notes to be in the left margin. #+begin_src latex @@ -1428,6 +1526,9 @@ We now define the headers. #+end_src ** Table of contents +:PROPERTIES: +:CUSTOM_ID: ImplementationTableofcontents-rhjg55h0jlj0 +:END: The table of contents is customized: @@ -1475,6 +1576,9 @@ We now define the headers. #+end_src ** COMMENT Alerts +:PROPERTIES: +:CUSTOM_ID: ImplementationAlerts-o4kg55h0jlj0 +:END: We create a box to display alerts. @@ -1492,6 +1596,9 @@ We now define the headers. #+end_src ** Geometry of the document +:PROPERTIES: +:CUSTOM_ID: ImplementationGeometryofthedocument-mqkg55h0jlj0 +:END: #+begin_src latex \geometry{ @@ -1509,6 +1616,9 @@ We now define the headers. #+end_src ** Alert box +:PROPERTIES: +:CUSTOM_ID: ImplementationAlertbox-rblg55h0jlj0 +:END: #+begin_src latex \cs_new_protected:Nn \__letgut_alert_box:nn @@ -1538,6 +1648,9 @@ We now define the headers. #+end_src ** “Title” and marks +:PROPERTIES: +:CUSTOM_ID: ImplementationTitleandmarks-5ylg55h0jlj0 +:END: We redefine ~\@title~ in order to make it empty. Hence we can later test if the ~\title~ has been populated by the user (thanks to ~\title~) and, if so, @@ -1590,6 +1703,9 @@ $>0$. #+end_src ** First page handling +:PROPERTIES: +:CUSTOM_ID: ImplementationFirstpagehandling-nmmg55h0jlj0 +:END: The first page is special as it should automatically contain certain elements: - the banner, @@ -1849,6 +1965,9 @@ Membership reminder. #+end_src ** Last page handling +:PROPERTIES: +:CUSTOM_ID: ImplementationLastpagehandling-jbng55h0jlj0 +:END: The last page is special: it should automatically contain some informations about \gutenberg. @@ -1903,8 +2022,14 @@ the author(s) of the “Lettre”. #+end_src ** Sections, subsections, etc. +:PROPERTIES: +:CUSTOM_ID: ImplementationSectionssubsectionsetc-vzng55h0jlj0 +:END: *** Numbering +:PROPERTIES: +:CUSTOM_ID: ImplementationSectionssubsectionsetcNumbering-lmog55h0jlj0 +:END: We want all the sections to be unnumbered. #+begin_src latex @@ -1912,6 +2037,9 @@ the author(s) of the “Lettre”. #+end_src *** Format +:PROPERTIES: +:CUSTOM_ID: ImplementationSectionssubsectionsetcFormat-tapg55h0jlj0 +:END: - We create the new level ~\title~ for the titles of the articles. They are displayed uppercased. @@ -2050,8 +2178,14 @@ the author(s) of the “Lettre”. #+end_src ** Document commands +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommands-s1qg55h0jlj0 +:END: *** Setup +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsSetup-roqg55h0jlj0 +:END: We define the command that lets us specify the newsletter setup. @@ -2062,6 +2196,9 @@ We define the command that lets us specify the newsletter setup. #+end_src *** For the rubric dedicated to new stuffs appeared on \acs{ctan} +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsFortherubricdedicatedtonewstuffsappearedonacsctan-jerg55h0jlj0 +:END: - We create a new type of list, dedicated to the new stuffs (classes, packages, etc.) on CTAN and similar to a description list (except the label provided in @@ -2110,6 +2247,9 @@ We define the command that lets us specify the newsletter setup. #+end_src *** Persons and authors +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsPersonsandauthors-h5sg55h0jlj0 +:END: For both persons and authors, the argument of: - a single individual is given as: @@ -2215,6 +2355,9 @@ For both persons and authors, the argument of: #+end_src *** Horizontal rule +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsHorizontalrule-8vsg55h0jlj0 +:END: #+begin_src latex \NewDocumentCommand {\separator} { } { @@ -2226,6 +2369,9 @@ For both persons and authors, the argument of: #+end_src *** Alert boxes +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsAlertboxes-ijtg55h0jlj0 +:END: #+begin_src latex \colorlet {letgut_default_alert_box_color} { @@ -2239,6 +2385,9 @@ For both persons and authors, the argument of: #+end_src *** Typesetting of packages, classes, files and softwares. +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsTypesettingofpackagesclassesfilesandsoftwares-09ug55h0jlj0 +:END: The ~\c__letgut_httpsprefix_tl~ comes from: @@ -2322,6 +2471,13 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843. #+end_src *** Names, expressions, etc. +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsNamesexpressionsetc-11vg55h0jlj0 +:END: + +We define here some commands for names and expressions that are likely to be +frequently used. The more the users will resort to these commands, the less +will be inconsistently typesetted these names and expressions. #+begin_src latex \NewExpandableDocumentCommand { \gutenberg } { } { @@ -2330,12 +2486,12 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843. \NewExpandableDocumentCommand { \gut } { } { \c__letgut_gutenberg_tl } - \NewExpandableDocumentCommand { \lettre } { } { - \c__letgut_Lettre_tl - } - \NewExpandableDocumentCommand { \lettregut } { } { - \lettre \c_space_tl \gutenberg - } + % \NewExpandableDocumentCommand { \lettre } { } { + % \c__letgut_Lettre_tl + % } + % \NewExpandableDocumentCommand { \lettregut } { } { + % \lettre \c_space_tl \gutenberg + % } \NewExpandableDocumentCommand { \Cahier } { } { \c__letgut_cahier_tl } @@ -2383,7 +2539,100 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843. } #+end_src +We define the command ~\lettrenumber~ that displays the number of +some \lettre{} issue: + +- preceeded by “\no” if used starred, +- by default the current one, +- possibly shifted w.r.t. the current one, depending on the first token of the + optional argument: + - if it is not ~.~, ~+~ nor ~-~: this argument (pretty useless: it is easier + to directly type the desired number), + - if it is ~.~: the current number of the \lettre (pretty useless: it is + easier to just not use the optional argument), + - if it is ~+~ or ~-~ followed by a number: the current number of the \lettre, + shifted by what is specified. + +#+begin_src latex + \cs_new_protected:Npn \__letgut_get_lettre_number:n #1 + { + \tl_if_empty:nTF {#1}{ + \int_use:N \g__letgut_number_int + }{ + \tl_set:Nx \l_tmpa_tl {\tl_head:n { #1 }} + \tl_set:Nn \l_tmpb_tl { #1 } + \tl_case:NnF \l_tmpa_tl { + {\c__letgut_plus_tl} {\int_eval:n {\g__letgut_number_int\l_tmpa_tl\tl_range:Nnn \l_tmpb_tl { 2 } { -1 }}} + {\c__letgut_minus_tl} {\int_eval:n {\g__letgut_number_int\l_tmpa_tl\tl_range:Nnn \l_tmpb_tl { 2 } { -1 }}} + {\c__letgut_dot_tl} {\int_use:N \g__letgut_number_int} + } + {\l_tmpb_tl} + } + } + \NewDocumentCommand { \lettrenumber } { s O{} } { + \IfBooleanT{#1}{ + \no + } + \__letgut_get_lettre_number:n { #2 } + } +#+end_src + +The “\lettre” and “\lettregut” expressions are treated separately since they are +subject to variations, depending how they are used. The corresponding commands +~\lettre~ and ~\lettregut~ used without star nor optional argument typeset +resp. “\lettre” and “\lettregut”: + +- immediately followed by “\no” if used starred, +- followed by some strings, depending on the first token of their optional + argument: + - if it is not ~.~, ~+~ nor ~-~: this argument, + - if it is ~.~: the current number of the \lettre, + - if it is ~+~ or ~-~ followed by a number: the current number of the \lettre, + shifted by what is specified. + +#+begin_src latex + \tl_const:Nn \c__letgut_plus_tl { + } + \tl_const:Nn \c__letgut_minus_tl { - } + \tl_const:Nn \c__letgut_dot_tl { . } + \cs_new_protected:Npn \__letgut_lettre:nnn #1 #2 #3 + { + \c__letgut_Lettre_tl #2 + \tl_if_empty:nF {#1} + { + #3 + \c_space_tl + \__letgut_get_lettre_number:n {#1} + } + } + \NewDocumentCommand { \lettre } { s O{} } { + \IfBooleanTF{#1}{ + \__letgut_lettre:nnn { #2 } { } { + \tl_if_empty:nF {#2}{ + \c_space_tl\no + } + } + }{ + \__letgut_lettre:nnn { #2 } { } { } + } + } + \NewDocumentCommand { \lettregut } { s O{} } { + \IfBooleanTF{#1}{ + \__letgut_lettre:nnn { #2 } { \c_space_tl \c__letgut_gutenberg_tl } { \c_space_tl\no } + }{ + \__letgut_lettre:nnn { #2 } { \c_space_tl \c__letgut_gutenberg_tl } { } + } + } +#+end_src + +The ~\lettre~ and ~\lettregut~ can be used in titles, sections, etc. (involving +bookmarks) but, because their last argument isn't a mandatory one, they would +have an inconsistent behavior if used with their star or their optional +argument (see https://tex.stackexchange.com/q/427557/18401). + *** Foreign locutions +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsForeignlocutions-1svg55h0jlj0 +:END: #+begin_src latex \cs_new_protected:Npn \__letgut_emphasis:n #1 @@ -2398,7 +2647,29 @@ https://github.com/latex3/hyperref/issues/188#issuecomment-826302843. } #+end_src +*** Unicode code points +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsUnicodecodes-30lksfa0nlj0 +:END: + +#+begin_src latex + \cs_new_protected:Npn \__letgut_unicode_code:nn #1 #2 + { + U+\bgroup\addfontfeature{Numbers={Lining,Proportional}}#2\egroup + \tl_if_empty:nF {#1}{ + \c_space_tl + ({\addfontfeature{RawFeature={smcp,c2sc}}#1}) + } + } + \NewDocumentCommand { \Ucode } { O{} m } { + \__letgut_unicode_code:nn {#1}{#2} + } +#+end_src + *** Bookmarks handling +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsBookmarkshandling-zbxg55h0jlj0 +:END: We disabling some commands when their arguments have to go to bookmarks. @@ -2449,6 +2720,9 @@ We disabling some commands when their arguments have to go to bookmarks. #+end_src *** Acronyms +:PROPERTIES: +:CUSTOM_ID: ImplementationDocumentcommandsAcronyms-93yg55h0jlj0 +:END: The following command let us define acronyms. The arguments are as follows: - ~#1~: optional argument that let us override the default settings of this @@ -2688,6 +2962,9 @@ is printed when used for the first time with ~\ac~). #+end_src ** Bibliography +:PROPERTIES: +:CUSTOM_ID: ImplementationBibliography-ruyg55h0jlj0 +:END: We want the ~\citeauthor~ command to display, not only the last, but the full name of the authors. @@ -2703,6 +2980,9 @@ full name of the authors. #+end_src ** Book reviews +:PROPERTIES: +:CUSTOM_ID: ImplementationBookreviews-ekzg55h0jlj0 +:END: #+begin_src latex \tl_new:N \g__letgut_bookreview_frontcover_tl @@ -2787,6 +3067,9 @@ extensions of the ~graphicx~ package. #+end_src ** Keyboard keys +:PROPERTIES: +:CUSTOM_ID: ImplementationKeyboardkeys-qa0h55h0jlj0 +:END: We make use of the Linux Biolinum Keyboard font and extend somehow the ~\LKey~ provided by the \package*{biolinum} in order to more easily write keyboard keys @@ -2837,6 +3120,9 @@ for usual characters on French keyboards. #+end_src ** Miscellanous +:PROPERTIES: +:CUSTOM_ID: ImplementationMiscellanous-r11h55h0jlj0 +:END: - We specify the possible hyphenations of \enquote{\gutenberg}. #+begin_src latex @@ -2844,6 +3130,9 @@ for usual characters on French keyboards. #+end_src *** ISSN +:PROPERTIES: +:CUSTOM_ID: ImplementationMiscellanousISSN-cr1h55h0jlj0 +:END: #+begin_src latex \cs_new_protected:Npn \__letgut_issn: @@ -2860,6 +3149,9 @@ for usual characters on French keyboards. #+end_src *** Non selectable text +:PROPERTIES: +:CUSTOM_ID: ImplementationMiscellanousNonselectabletext-wh2h55h0jlj0 +:END: We create a control sequence that makes its argument not selectable in the PDF. This will be used notably for the line numbers of the listings and the @@ -2872,6 +3164,9 @@ watermarks. #+end_src *** Typesetting of code, etc. +:PROPERTIES: +:CUSTOM_ID: ImplementationMiscellanousTypesettingofcodeetc-f83h55h0jlj0 +:END: We provide a ~\meta~ macro that (poorly) mimics the one of the \package*{doc}. It is added at the very end of the preamble since other @@ -2898,6 +3193,9 @@ watermarks. #+end_src ** Listings +:PROPERTIES: +:CUSTOM_ID: ImplementationListings-514h55h0jlj0 +:END: We define a style for all the listings which resets all the \TeX{} control sequences and keywords, and fix some defaults. @@ -2980,6 +3278,9 @@ following characteristics: #+end_src *** LaTeX listings and examples +:PROPERTIES: +:CUSTOM_ID: ImplementationListingsLaTeXlistingsandexamples-xt4h55h0jlj0 +:END: We define the colors for the syntax highlighting of LaTeX listings. @@ -3405,6 +3706,9 @@ the `lstlang0.sty` or ~letgut-lstlang.sty~ files. #+end_src *** Terminal listings +:PROPERTIES: +:CUSTOM_ID: ImplementationListingsTerminallistings-fq5h55h0jlj0 +:END: We define a command dedicated to terminal stdin and stdout. @@ -3638,6 +3942,9 @@ We define some colors used in the terminal listings. #+end_src *** Unicode characters with positions above 256 +:PROPERTIES: +:CUSTOM_ID: ImplementationListingsUnicodecharacterswithpositionsabove256-4l6h55h0jlj0 +:END: Unicode characters with positions above 256 causes troubles in listings. Here is a workaround for some of them (see @@ -3663,6 +3970,9 @@ https://tex.stackexchange.com/a/25396). #+end_src ** Local config file +:PROPERTIES: +:CUSTOM_ID: ImplementationLocalconfigfile-me7h55h0jlj0 +:END: Each issue of the Lettre requires certain local configurations: configuration dedicated to the issue in question, particular packages used in the articles, @@ -3675,16 +3985,18 @@ at its beginning. #+begin_src latex \file_if_exist:nT {./\c__letgut_local_config_file_tl}{ - \use:n { \ExplSyntaxOff \file_input:n {./\c__letgut_local_config_file_tl} } - \ExplSyntaxOn + \@pushfilename + \xdef\@currname{\c__letgut_local_config_file_tl} + \file_input:n {./\c__letgut_local_config_file_tl} + \@popfilename } #+end_src -We don't want the book review entry types to be listed in the bibliography -(they appears only thanks to the ~bookreview~ environment). + We don't want the book review entry types to be listed in the bibliography + (they appears only thanks to the ~bookreview~ environment). #+begin_src latex - \ExecuteBibliographyOptions[bookreview]{skipbib,skiplab} + \ExecuteBibliographyOptions[bookreview]{skipbib,skiplab} #+end_src #+begin_src latex @@ -3692,6 +4004,9 @@ We don't want the book review entry types to be listed in the bibliography #+end_src * (biblatex) Data model +:PROPERTIES: +:CUSTOM_ID: biblatexDatamodel-vx7h55h0jlj0 +:END: We give the (\package{biblatex}) data model that enriches the default one for several purposes: @@ -3699,7 +4014,7 @@ several purposes: - the books advertisements. #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.lbx :exports both -\ProvidesFile{letgut.lbx}[2022-09-02 v0.9.3 letgut localization] +\ProvidesFile{letgut.lbx}[2022-10-03 v0.9.4 letgut localization] \InheritBibliographyExtras{french} \DeclareBibliographyStrings{ inherit = {french}, @@ -3713,7 +4028,7 @@ several purposes: create the corresponding new entry). #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.dbx :exports both - \ProvidesFile{letgut.dbx}[2022-09-02 v0.9.3 letgut data model macros] + \ProvidesFile{letgut.dbx}[2022-10-03 v0.9.4 letgut data model macros] \DeclareBibliographyDriver{bookreview}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -3768,7 +4083,7 @@ several purposes: We provide a specific ~biblatex~ citation style . #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both - \ProvidesFile{letgut.cbx}[2022-09-02 v0.9.3 letgut base citation style] + \ProvidesFile{letgut.cbx}[2022-10-03 v0.9.4 letgut base citation style] \RequireCitationStyle{numeric} #+end_src @@ -3798,8 +4113,14 @@ well... #+end_src * Provided files +:PROPERTIES: +:CUSTOM_ID: Providedfiles-g09h55h0jlj0 +:END: ** Example file of an issue of the newsletter +:PROPERTIES: +:CUSTOM_ID: ProvidedfilesExamplefileofanissueofthenewsletter-ak9h55h0jlj0 +:END: #+begin_src latex :tangle ../../../doc/lualatex/letgut/lettre-example.tex :exports both % Hey, Emacs! This is a -*- mode: latex -*- file! @@ -3892,6 +4213,9 @@ well... #+end_src ** Example of an editorial +:PROPERTIES: +:CUSTOM_ID: ProvidedfilesExampleofaneditorial-06ah55h0jlj0 +:END: #+begin_src latex :tangle ../../../doc/lualatex/letgut/editorial.tex :exports both Ceci est un intéressant éditorial de la \lettregut{} @@ -3911,6 +4235,9 @@ well... #+end_src ** Informations about \gutenberg +:PROPERTIES: +:CUSTOM_ID: ProvidedfilesInformationsabout\gutenberg-hqah55h0jlj0 +:END: #+begin_src latex :tangle ../../../tex/lualatex/letgut/informations-gut.tex :exports both % Hey, Emacs! This is a -*- mode: latex -*- file! @@ -3945,7 +4272,7 @@ well... \item[le site \hologo{TeX}nique de questions et réponses :] \url{https://texnique.fr/} \item[la foire aux questions :] - \url{https://faq.gutenberg.eu.org} + \url{https://faq.gutenberg-asso.fr/} \end{description} \end{description} % @@ -4070,6 +4397,9 @@ well... #+end_src ** Acronyms +:PROPERTIES: +:CUSTOM_ID: ProvidedfilesAcronyms-8cbh55h0jlj0 +:END: #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut-acronyms.tex :exports both % Hey, Emacs! This is a -*- mode: latex -*- file! @@ -4366,6 +4696,9 @@ well... #+end_src ** Language driver file +:PROPERTIES: +:CUSTOM_ID: ProvidedfilesLanguagedriverfile-4cch55h0jlj0 +:END: #+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut-lstlang.sty :exports both % \lst@definelanguage[...]{TeX}{% @@ -4409,7 +4742,7 @@ well... package,package*,class,class*,software,software*,file,file*,% foreignloc,latinloc,gutenberg,gut,lettre,lettregut,Cahier,% Cahiers,letgut,letgutcls,knuth,lamport,tugboat,item*,letgutacro,% - separator,alertbox,terminal,inputarticle,% + separator,alertbox,terminal,inputarticle,lettrenumber,% },% % Keywords of class 1 : keywords that contain other characters (since % of the same class as the ones specified as 'otherkeywords') |