2019-02-04 22:26:45 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< title > 5/tf< / title >
2020-03-19 00:03:04 +00:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-02-04 22:26:45 +00:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-03-19 00:03:04 +00:00
< link href = "../inweb.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2019-02-04 22:26:45 +00:00
< / head >
< body >
2020-03-19 00:03:04 +00:00
< nav role = "navigation" >
< h1 > < a href = "../webs.html" > Sources< / a > < / h1 >
< ul >
< li > < a href = "../inweb/index.html" > inweb< / a > < / li >
< / ul >
< h2 > Foundation< / h2 >
< ul >
< li > < a href = "../foundation-module/index.html" > foundation-module< / a > < / li >
< li > < a href = "../foundation-test/index.html" > foundation-test< / a > < / li >
< / ul >
< / nav >
< main role = "main" >
2019-02-09 12:33:40 +00:00
<!-- Weave of '5/hf' generated by 7 -->
2020-03-23 15:04:43 +00:00
< ul class = "crumbs" > < li > < a href = "../webs.html" > Source< / a > < / li > < li > < a href = "index.html" > inweb< / a > < / li > < li > < a href = "index.html#5" > Chapter 5: Formats< / a > < / li > < li > < b > HTML Formats< / b > < / li > < / ul > < p class = "purpose" > To provide for weaving into HTML and into EPUB books.< / p >
2019-02-04 22:26:45 +00:00
2019-03-12 23:32:12 +00:00
< ul class = "toc" > < li > < a href = "#SP2" > § 2. Current state< / a > < / li > < li > < a href = "#SP6" > § 6. Methods< / a > < / li > < li > < a href = "#SP27" > § 27. EPUB-only methods< / a > < / li > < / ul > < hr class = "tocbar" >
2019-02-04 22:26:45 +00:00
< p class = "inwebparagraph" > < a id = "SP1" > < / a > < b > § 1. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::create< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< < span class = "cwebmacro" > Create HTML< / span > < span class = "cwebmacronumber" > 1.1< / span > > < span class = "plain" > ;< / span >
< < span class = "cwebmacro" > Create EPUB< / span > < span class = "cwebmacronumber" > 1.2< / span > > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::create is used in 5/wf (< a href = "5-wf.html#SP3" > § 3< / a > ).< / p >
< p class = "inwebparagraph" > < a id = "SP1_1" > < / a > < b > § 1.1. < / b > < code class = "display" >
< < span class = "cwebmacrodefn" > Create HTML< / span > < span class = "cwebmacronumber" > 1.1< / span > > =
< / code > < / p >
< pre class = "displaydefn" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > wf< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Formats::create_weave_format< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "string" > "HTML"< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > ".html"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > TOP_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::top< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< < span class = "cwebmacro" > Make this format basically HTML< / span > < span class = "cwebmacronumber" > 1.1.1< / span > > < span class = "plain" > ;< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > This code is used in < a href = "#SP1" > § 1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP1_2" > < / a > < b > § 1.2. < / b > < code class = "display" >
< < span class = "cwebmacrodefn" > Create EPUB< / span > < span class = "cwebmacronumber" > 1.2< / span > > =
< / code > < / p >
< pre class = "displaydefn" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > wf< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Formats::create_weave_format< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "string" > "ePub"< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > ".html"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > TOP_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::top_EPUB< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< < span class = "cwebmacro" > Make this format basically HTML< / span > < span class = "cwebmacronumber" > 1.1.1< / span > > < span class = "plain" > ;< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > BEGIN_WEAVING_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::begin_weaving_EPUB< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > END_WEAVING_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::end_weaving_EPUB< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > This code is used in < a href = "#SP1" > § 1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP1_1_1" > < / a > < b > § 1.1.1. < / b > < code class = "display" >
< < span class = "cwebmacrodefn" > Make this format basically HTML< / span > < span class = "cwebmacronumber" > 1.1.1< / span > > =
< / code > < / p >
< pre class = "displaydefn" >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > SUBHEADING_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::subheading< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > TOC_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::toc< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > PARAGRAPH_HEADING_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::paragraph_heading< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > SOURCE_CODE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::source_code< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > INLINE_CODE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::inline_code< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > DISPLAY_LINE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::display_line< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > ITEM_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::item< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > BAR_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::bar< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > FIGURE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::figure< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > PARA_MACRO_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::para_macro< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > PAGEBREAK_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::pagebreak< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > BLANK_LINE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::blank_line< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > CHANGE_MATERIAL_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::change_material< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > CHANGE_COLOUR_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::change_colour< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > ENDNOTE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::endnote< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > COMMENTARY_TEXT_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::commentary_text< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > LOCALE_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::locale< / span > < span class = "plain" > );< / span >
< span class = "identifier" > METHOD_ADD< / span > < span class = "plain" > (< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "constant" > TAIL_FOR_MTID< / span > < span class = "plain" > , < / span > < span class = "functiontext" > HTMLFormat::tail< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > This code is used in < a href = "#SP1_1" > § 1.1< / a > , < a href = "#SP1_2" > § 1.2< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP2" > < / a > < b > § 2. Current state. < / b > To keep track of what we're writing, across many intermittent calls to the
routines below, we store a crude sort of state in two global variables.
(This isn't thread-safe and means we can only write one file at a time,
but in fact that's fine here.)
< / p >
< pre class = "definitions" >
2020-04-06 11:26:10 +00:00
< span class = "definitionkeyword" > define< / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > < / span > < span class = "constant" > 0< / span > < span class = "plain" > < / span > < span class = "comment" > write position in HTML file is currently outside of p, pre, li< / span >
< span class = "definitionkeyword" > define< / span > < span class = "constant" > HTML_IN_P< / span > < span class = "plain" > < / span > < span class = "constant" > 1< / span > < span class = "plain" > < / span > < span class = "comment" > write position in HTML file is currently outside p< / span >
< span class = "definitionkeyword" > define< / span > < span class = "constant" > HTML_IN_PRE< / span > < span class = "plain" > < / span > < span class = "constant" > 2< / span > < span class = "plain" > < / span > < span class = "comment" > write position in HTML file is currently outside pre< / span >
< span class = "definitionkeyword" > define< / span > < span class = "constant" > HTML_IN_LI< / span > < span class = "plain" > < / span > < span class = "constant" > 3< / span > < span class = "plain" > < / span > < span class = "comment" > write position in HTML file is currently outside li< / span >
2019-02-04 22:26:45 +00:00
< / pre >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ; < / span > < span class = "comment" > one of the above< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ; < / span > < span class = "comment" > for < code class = "display" > < span class = "extract" > HTML_IN_LI< / span > < / code > only: how many lists we're nested inside< / span >
2019-02-04 22:26:45 +00:00
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > char< / span > < span class = "plain" > *< / span > < span class = "identifier" > class< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > class< / span > < span class = "plain" > ) < / span > < span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"%s\""< / span > < span class = "plain" > , < / span > < span class = "identifier" > class< / span > < span class = "plain" > )< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_IN_P< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::cp< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "p"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > char< / span > < span class = "plain" > *< / span > < span class = "identifier" > class< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > class< / span > < span class = "plain" > ) < / span > < span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "pre"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"%s\""< / span > < span class = "plain" > , < / span > < span class = "identifier" > class< / span > < span class = "plain" > )< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "pre"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > ); < / span > < span class = "constant" > INDENT< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_IN_PRE< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::cpre< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > ) {< / span >
< span class = "constant" > OUTDENT< / span > < span class = "plain" > ; < / span > < span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "pre"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::p is used in < a href = "#SP7" > § 7< / a > , < a href = "#SP9" > § 9< / a > , < a href = "#SP11" > § 11< / a > , < a href = "#SP12" > § 12< / a > , < a href = "#SP18" > § 18< / a > , < a href = "#SP19" > § 19< / a > , < a href = "#SP21" > § 21< / a > , < a href = "#SP22" > § 22< / a > .< / p >
< p class = "endnote" > The function HTMLFormat::cp is used in < a href = "#SP4" > § 4< / a > , < a href = "#SP7" > § 7< / a > , < a href = "#SP12" > § 12< / a > , < a href = "#SP21" > § 21< / a > .< / p >
2020-04-06 23:53:26 +00:00
< p class = "endnote" > The function HTMLFormat::pre is used in < a href = "#SP19" > § 19< / a > .< / p >
2019-02-04 22:26:45 +00:00
2020-04-06 23:53:26 +00:00
< p class = "endnote" > The function HTMLFormat::cpre is used in < a href = "#SP4" > § 4< / a > , < a href = "#SP19" > § 19< / a > .< / p >
2019-02-04 22:26:45 +00:00
< p class = "inwebparagraph" > < a id = "SP3" > < / a > < b > § 3. < / b > Depth 1 means "inside a list entry"; depth 2, "inside an entry of a list
which is itself inside a list entry"; and so on.
< / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::go_to_depth< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > depth< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > != < / span > < span class = "constant" > HTML_IN_LI< / span > < span class = "plain" > ) < / span > < span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > == < / span > < span class = "identifier" > depth< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "reserved" > while< / span > < span class = "plain" > (< / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > < < / span > < span class = "identifier" > depth< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"items\""< / span > < span class = "plain" > ); < / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > ++;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > while< / span > < span class = "plain" > (< / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > > < / span > < span class = "identifier" > depth< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > --;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > depth< / span > < span class = "plain" > > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_IN_LI< / span > < span class = "plain" > ;< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::go_to_depth is used in < a href = "#SP4" > § 4< / a > , < a href = "#SP13" > § 13< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP4" > < / a > < b > § 4. < / b > The following generically gets us out of whatever we're currently into:
< / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > HTML_IN_P:< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::cp< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > ); < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > HTML_IN_PRE:< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::cpre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > ); < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > HTML_IN_LI:< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::go_to_depth< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > ); < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::exit_current_paragraph is used in < a href = "#SP3" > § 3< / a > , < a href = "#SP7" > § 7< / a > , < a href = "#SP8" > § 8< / a > , < a href = "#SP9" > § 9< / a > , < a href = "#SP12" > § 12< / a > , < a href = "#SP14" > § 14< / a > , < a href = "#SP15" > § 15< / a > , < a href = "#SP17" > § 17< / a > , < a href = "#SP18" > § 18< / a > , < a href = "#SP19" > § 19< / a > , < a href = "#SP21" > § 21< / a > , < a href = "#SP25" > § 25< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP5" > < / a > < b > § 5. < / b > "Breadcrumbs" are the chain of links in a horizontal list at the top of
the page, and this drops one.
< / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > link< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > link< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::begin_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > link< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > text< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::end_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "b"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > text< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "b"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::breadcrumb is used in < a href = "#SP9" > § 9< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP6" > < / a > < b > § 6. Methods. < / b > For documentation, see "Weave Fornats".
< / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::top< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > comment< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTML::declare_as_HTML< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Indexer::cover_sheet_maker< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "template"< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "constant" > WEAVE_FIRST_HALF< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > self_contained< / span > < span class = "plain" > == < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > CSS< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Patterns::obtain_filename< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > pattern< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "inweb.css"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > pattern< / span > < span class = "plain" > -> < / span > < span class = "element" > hierarchical< / span > < span class = "plain" > )< / span >
< span class = "functiontext" > Patterns::copy_up_file_into_weave< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > CSS< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span >
< span class = "functiontext" > Patterns::copy_file_into_weave< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > CSS< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::comment< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > comment< / span > < span class = "plain" > );< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::top_EPUB< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > comment< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTML::declare_as_HTML< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "constant" > TRUE< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Epub::note_page< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_to< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > booklet_title< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > ""< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Indexer::cover_sheet_maker< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "template"< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "constant" > WEAVE_FIRST_HALF< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::comment< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > comment< / span > < span class = "plain" > );< / span >
< span class = "identifier" > html_in_para< / span > < span class = "plain" > = < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::top is used in < a href = "#SP1_1" > § 1.1< / a > .< / p >
< p class = "endnote" > The function HTMLFormat::top_EPUB is used in < a href = "#SP1_2" > § 1.2< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP7" > < / a > < b > § 7. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::subheading< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > level< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > comment< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > head< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > level< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "constant" > 1< / span > < span class = "plain" > : < / span > < span class = "functiontext" > HTML::heading< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "h3"< / span > < span class = "plain" > , < / span > < span class = "identifier" > comment< / span > < span class = "plain" > ); < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "constant" > 2< / span > < span class = "plain" > : < / span > < span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "purpose"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > comment< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > head< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > ": "< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > Formats::text< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > head< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::cp< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::subheading is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP8" > < / a > < b > § 8. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::toc< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > stage< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text1< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text2< / span > < span class = "plain" > , < / span > < span class = "reserved" > paragraph< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > stage< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "constant" > 1< / span > < span class = "plain" > :< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"toc\""< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "constant" > 2< / span > < span class = "plain" > :< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "constant" > 3< / span > < span class = "plain" > : {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::xref< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > P< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "constant" > TRUE< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::begin_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%s%S"< / span > < span class = "plain" > , (< / span > < span class = "functiontext" > Str::get_first_char< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > ornament< / span > < span class = "plain" > ) == < / span > < span class = "character" > 'S'< / span > < span class = "plain" > )?< / span > < span class = "string" > "& #167;"< / span > < span class = "plain" > :< / span > < span class = "string" > "& para;"< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > paragraph_number< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > ". %S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > text2< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::end_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "constant" > 4< / span > < span class = "plain" > :< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::hr< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "tocbar"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > ); < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::toc is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP9" > < / a > < b > § 9. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > section< / span > < span class = "plain" > *< / span > < span class = "identifier" > page_section< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > crumbs_dropped< / span > < span class = "plain" > = < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::paragraph_heading< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > TeX_macro< / span > < span class = "plain" > , < / span > < span class = "reserved" > section< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > , < / span > < span class = "reserved" > paragraph< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > heading_text< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > chaptermark< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > sectionmark< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > weight< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > page_section< / span > < span class = "plain" > = < / span > < span class = "identifier" > S< / span > < span class = "plain" > ;< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > weight< / span > < span class = "plain" > == < / span > < span class = "constant" > 3< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ; < / span > < span class = "comment" > Skip chapter headings< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "inwebparagraph"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::xref< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > P< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::anchor< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > )< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "b"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%s%S"< / span > < span class = "plain" > , (< / span > < span class = "functiontext" > Str::get_first_char< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > ornament< / span > < span class = "plain" > ) == < / span > < span class = "character" > 'S'< / span > < span class = "plain" > )?< / span > < span class = "string" > "& #167;"< / span > < span class = "plain" > :< / span > < span class = "string" > "& para;"< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > paragraph_number< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > ". %S%s "< / span > < span class = "plain" > , < / span > < span class = "identifier" > heading_text< / span > < span class = "plain" > , (< / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > heading_text< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > )?< / span > < span class = "string" > "."< / span > < span class = "plain" > :< / span > < span class = "string" > ""< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "b"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > self_contained< / span > < span class = "plain" > == < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > crumbs_dropped< / span > < span class = "plain" > == < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > C< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Patterns::obtain_filename< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > pattern< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "crumbs.gif"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > pattern< / span > < span class = "plain" > -> < / span > < span class = "element" > hierarchical< / span > < span class = "plain" > )< / span >
< span class = "functiontext" > Patterns::copy_up_file_into_weave< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > C< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span >
< span class = "functiontext" > Patterns::copy_file_into_weave< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > C< / span > < span class = "plain" > );< / span >
< span class = "identifier" > crumbs_dropped< / span > < span class = "plain" > = < / span > < span class = "constant" > TRUE< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"crumbs\""< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::drop_initial_breadcrumbs< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > breadcrumbs< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > docs_mode< / span > < span class = "plain" > );< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > bct< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Bibliographic::get_datum< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "Title"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Bibliographic::get_datum< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "Short Title"< / span > < span class = "plain" > )) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > bct< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Bibliographic::get_datum< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "Short Title"< / span > < span class = "plain" > );< / span >
2020-04-03 15:29:03 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > bct< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "index.html"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > chaptered< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > chapter_link< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > chapter_link< / span > < span class = "plain" > , < / span > < span class = "string" > "index.html#%s%S"< / span > < span class = "plain" > , (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > )?< / span > < span class = "string" > "C"< / span > < span class = "plain" > :< / span > < span class = "string" > ""< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > S< / span > < span class = "plain" > -> < / span > < span class = "element" > owning_chapter< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > ch_range< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > S< / span > < span class = "plain" > -> < / span > < span class = "element" > owning_chapter< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > ch_title< / span > < span class = "plain" > , < / span > < span class = "identifier" > chapter_link< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > chapter_link< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > heading_text< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"crumbs\""< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > heading_text< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
2020-03-19 00:03:04 +00:00
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::drop_initial_breadcrumbs< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > linked_list< / span > < span class = "plain" > *< / span > < span class = "identifier" > crumbs< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > docs_mode< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > LinkedLists::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > crumbs< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > breadcrumb_request< / span > < span class = "plain" > *< / span > < span class = "identifier" > BR< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > LOOP_OVER_LINKED_LIST< / span > < span class = "plain" > (< / span > < span class = "identifier" > BR< / span > < span class = "plain" > , < / span > < span class = "reserved" > breadcrumb_request< / span > < span class = "plain" > , < / span > < span class = "identifier" > crumbs< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > BR< / span > < span class = "plain" > -> < / span > < span class = "element" > breadcrumb_text< / span > < span class = "plain" > , < / span > < span class = "identifier" > BR< / span > < span class = "plain" > -> < / span > < span class = "element" > breadcrumb_link< / span > < span class = "plain" > );< / span >
2020-03-19 00:03:04 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > docs_mode< / span > < span class = "plain" > )< / span >
< span class = "functiontext" > HTMLFormat::breadcrumb< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "& #9733;"< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "../webs.html"< / span > < span class = "plain" > );< / span >
2020-03-19 00:03:04 +00:00
< span class = "plain" > }< / span >
2019-02-04 22:26:45 +00:00
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::paragraph_heading is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
2020-03-19 00:03:04 +00:00
< p class = "endnote" > The function HTMLFormat::drop_initial_breadcrumbs is used in 3/ti (< a href = "3-ti.html#SP5_1_8" > § 5.1.8< / a > ).< / p >
2019-02-04 22:26:45 +00:00
< p class = "inwebparagraph" > < a id = "SP10" > < / a > < b > § 10. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::source_code< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > tab_stops_of_indentation< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > prefatory< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > matter< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > colouring< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > concluding_comment< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > starts< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > finishes< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > code_mode< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > starts< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > prefatory< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"definitionkeyword\""< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > prefatory< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " "< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::eq< / span > < span class = "plain" > (< / span > < span class = "identifier" > prefatory< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "enum"< / span > < span class = "plain" > )) {< / span >
< span class = "reserved" > match_results< / span > < span class = "plain" > < / span > < span class = "identifier" > mr< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Regexp::create_mr< / span > < span class = "plain" > ();< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Regexp::match< / span > < span class = "plain" > (& < / span > < span class = "identifier" > mr< / span > < span class = "plain" > , < / span > < span class = "identifier" > matter< / span > < span class = "plain" > , < / span > < span class = "identifier" > L< / span > < span class = "string" > "(%c*) from (%C+) *"< / span > < span class = "plain" > )) {< / span >
< span class = "functiontext" > HTMLFormat::source_code< / span > < span class = "plain" > (< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "identifier" > mr< / span > < span class = "plain" > .< / span > < span class = "element" > exp< / span > < span class = "plain" > [0], < / span > < span class = "identifier" > colouring< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > concluding_comment< / span > < span class = "plain" > , < / span > < span class = "identifier" > starts< / span > < span class = "plain" > , < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > , < / span > < span class = "identifier" > code_mode< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"definitionkeyword\""< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " from "< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::source_code< / span > < span class = "plain" > (< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "identifier" > mr< / span > < span class = "plain" > .< / span > < span class = "element" > exp< / span > < span class = "plain" > [1], < / span > < span class = "identifier" > colouring< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > concluding_comment< / span > < span class = "plain" > , < / span > < span class = "constant" > FALSE< / span > < span class = "plain" > , < / span > < span class = "identifier" > finishes< / span > < span class = "plain" > , < / span > < span class = "identifier" > code_mode< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Regexp::dispose_of< / span > < span class = "plain" > (& < / span > < span class = "identifier" > mr< / span > < span class = "plain" > );< / span >
< span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > Regexp::dispose_of< / span > < span class = "plain" > (& < / span > < span class = "identifier" > mr< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span >
< span class = "reserved" > for< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > i< / span > < span class = "plain" > =0; < / span > < span class = "identifier" > i< / span > < span class = "plain" > < < / span > < span class = "identifier" > tab_stops_of_indentation< / span > < span class = "plain" > ; < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++)< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " "< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > current_colour< / span > < span class = "plain" > = -1, < / span > < span class = "identifier" > colour_wanted< / span > < span class = "plain" > = < / span > < span class = "constant" > PLAIN_COLOUR< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > for< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > i< / span > < span class = "plain" > =0; < / span > < span class = "identifier" > i< / span > < span class = "plain" > < < / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > matter< / span > < span class = "plain" > ); < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++) {< / span >
< span class = "identifier" > colour_wanted< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > colouring< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ); < / span > < < span class = "cwebmacro" > Adjust code colour as necessary< / span > < span class = "cwebmacronumber" > 10.1< / span > > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > matter< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '< '< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& lt;"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > matter< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '> '< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& gt;"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > matter< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '& '< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& amp;"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%c"< / span > < span class = "plain" > , < / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > matter< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ));< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_colour< / span > < span class = "plain" > > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > current_colour< / span > < span class = "plain" > = -1;< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > finishes< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > concluding_comment< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (!< / span > < span class = "identifier" > starts< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " "< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"comment\""< / span > < span class = "plain" > );< / span >
2020-04-08 11:48:06 +00:00
< span class = "functiontext" > Formats::text_comment< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > concluding_comment< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::source_code is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP10_1" > < / a > < b > § 10.1. < / b > < code class = "display" >
< < span class = "cwebmacrodefn" > Adjust code colour as necessary< / span > < span class = "cwebmacronumber" > 10.1< / span > > =
< / code > < / p >
< pre class = "displaydefn" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > colour_wanted< / span > < span class = "plain" > != < / span > < span class = "identifier" > current_colour< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_colour< / span > < span class = "plain" > > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Formats::change_colour< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > colour_wanted< / span > < span class = "plain" > , < / span > < span class = "constant" > TRUE< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > current_colour< / span > < span class = "plain" > = < / span > < span class = "identifier" > colour_wanted< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > This code is used in < a href = "#SP10" > § 10< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP11" > < / a > < b > § 11. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::inline_code< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > enter< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > enter< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > == < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ) < / span > < span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "inwebparagraph"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "code"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"display\""< / span > < span class = "plain" > );< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "code"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::inline_code is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP12" > < / a > < b > § 12. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::display_line< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > from< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "blockquote"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > ); < / span > < span class = "constant" > INDENT< / span > < span class = "plain" > ;< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > from< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::cp< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "constant" > OUTDENT< / span > < span class = "plain" > ; < / span > < span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "blockquote"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::display_line is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP13" > < / a > < b > § 13. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::item< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > depth< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > label< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::go_to_depth< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > depth< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > label< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "(%S) "< / span > < span class = "plain" > , < / span > < span class = "identifier" > label< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " "< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::item is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP14" > < / a > < b > § 14. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::bar< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::hr< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::bar is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP15" > < / a > < b > § 15. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::figure< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > figname< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > w< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > h< / span > < span class = "plain" > , < / span > < span class = "reserved" > programming_language< / span > < span class = "plain" > *< / span > < span class = "identifier" > pl< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > F< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Filenames::in_folder< / span > < span class = "plain" > (< / span >
< span class = "functiontext" > Pathnames::subfolder< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > path_to_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "Figures"< / span > < span class = "plain" > ),< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > figname< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > RF< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Filenames::from_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > figname< / span > < span class = "plain" > );< / span >
2020-04-06 23:53:26 +00:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "center"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::image< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > RF< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Patterns::copy_file_into_weave< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > F< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "center"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
2020-03-26 23:01:14 +00:00
< span class = "plain" > }< / span >
2019-02-04 22:26:45 +00:00
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::figure is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP16" > < / a > < b > § 16. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::para_macro< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > para_macro< / span > < span class = "plain" > *< / span > < span class = "identifier" > pmac< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > defn< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > paragraph< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > = < / span > < span class = "identifier" > pmac< / span > < span class = "plain" > -> < / span > < span class = "element" > defining_paragraph< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& lt;"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"%s\""< / span > < span class = "plain" > , (< / span > < span class = "identifier" > defn< / span > < span class = "plain" > )?< / span > < span class = "string" > "cwebmacrodefn"< / span > < span class = "plain" > :< / span > < span class = "string" > "cwebmacro"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > pmac< / span > < span class = "plain" > -> < / span > < span class = "element" > macro_name< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " "< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"cwebmacronumber\""< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > paragraph_number< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& gt;%s"< / span > < span class = "plain" > , (< / span > < span class = "identifier" > defn< / span > < span class = "plain" > )?< / span > < span class = "string" > " ="< / span > < span class = "plain" > :< / span > < span class = "string" > ""< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::para_macro is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP17" > < / a > < b > § 17. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::pagebreak< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::pagebreak is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP18" > < / a > < b > § 18. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::blank_line< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > in_comment< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > == < / span > < span class = "constant" > HTML_IN_PRE< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > old_state< / span > < span class = "plain" > = < / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > , < / span > < span class = "identifier" > old_depth< / span > < span class = "plain" > = < / span > < span class = "identifier" > item_depth< / span > < span class = "plain" > ;< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > old_state< / span > < span class = "plain" > == < / span > < span class = "constant" > HTML_IN_P< / span > < span class = "plain" > ) || ((< / span > < span class = "identifier" > old_state< / span > < span class = "plain" > == < / span > < span class = "constant" > HTML_IN_LI< / span > < span class = "plain" > ) & & (< / span > < span class = "identifier" > old_depth< / span > < span class = "plain" > > < / span > < span class = "constant" > 1< / span > < span class = "plain" > )))< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > ,< / span > < span class = "string" > "inwebparagraph"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::blank_line is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP19" > < / a > < b > § 19. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::change_material< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
2020-04-06 23:53:26 +00:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > old_material< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > new_material< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > content< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > plainly< / span > < span class = "plain" > ) {< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_material< / span > < span class = "plain" > != < / span > < span class = "identifier" > new_material< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_material< / span > < span class = "plain" > == < / span > < span class = "constant" > MACRO_MATERIAL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "code"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) || (< / span > < span class = "identifier" > new_material< / span > < span class = "plain" > != < / span > < span class = "constant" > MACRO_MATERIAL< / span > < span class = "plain" > ))< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_material< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > CODE_MATERIAL:< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > REGULAR_MATERIAL:< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > new_material< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > CODE_MATERIAL:< / span >
2020-04-06 23:53:26 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > plainly< / span > < span class = "plain" > ) < / span > < span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "display"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > DEFINITION_MATERIAL:< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "definitions"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > MACRO_MATERIAL:< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > ,< / span > < span class = "string" > "macrodefinition"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "code"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"display\""< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > REGULAR_MATERIAL:< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > ,< / span > < span class = "string" > "inwebparagraph"< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > MACRO_MATERIAL:< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > new_material< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > CODE_MATERIAL:< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "displaydefn"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > DEFINITION_MATERIAL:< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "definitions"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > DEFINITION_MATERIAL:< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > new_material< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > CODE_MATERIAL:< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
2020-04-06 23:53:26 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > plainly< / span > < span class = "plain" > ) < / span > < span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::pre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "display"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > MACRO_MATERIAL:< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "macrodefinition"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "code"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"display\""< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "\n"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2020-04-04 19:46:43 +00:00
< span class = "identifier" > default:< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::cpre< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::change_material is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP20" > < / a > < b > § 20. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::change_colour< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > col< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > in_code< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > char< / span > < span class = "plain" > *< / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "plain"< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > switch< / span > < span class = "plain" > (< / span > < span class = "identifier" > col< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > DEFINITION_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "cwebmacrotext"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > FUNCTION_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "functiontext"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > IDENTIFIER_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "identifier"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > ELEMENT_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "element"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > RESERVED_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "reserved"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > STRING_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "string"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > CHAR_LITERAL_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "character"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > CONSTANT_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "constant"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > PLAIN_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "plain"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > EXTRACT_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "extract"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > case< / span > < span class = "plain" > < / span > < span class = "identifier" > COMMENT_COLOUR:< / span > < span class = "plain" > < / span > < span class = "identifier" > cl< / span > < span class = "plain" > = < / span > < span class = "string" > "comment"< / span > < span class = "plain" > ; < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > default:< / span > < span class = "plain" > < / span > < span class = "identifier" > PRINT< / span > < span class = "plain" > (< / span > < span class = "string" > "col: %d\n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > col< / span > < span class = "plain" > ); < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "bad colour"< / span > < span class = "plain" > ); < / span > < span class = "reserved" > break< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "span"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"%s\""< / span > < span class = "plain" > , < / span > < span class = "identifier" > cl< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::change_colour is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP21" > < / a > < b > § 21. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::endnote< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > end< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > end< / span > < span class = "plain" > == < / span > < span class = "constant" > 1< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "endnote"< / span > < span class = "plain" > );< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "functiontext" > HTMLFormat::cp< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::endnote is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP22" > < / a > < b > § 22. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::commentary_text< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > id< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > for< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > i< / span > < span class = "plain" > =0; < / span > < span class = "identifier" > i< / span > < span class = "plain" > < < / span > < span class = "functiontext" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > ); < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > html_in_para< / span > < span class = "plain" > == < / span > < span class = "constant" > HTML_OUT< / span > < span class = "plain" > ) < / span > < span class = "functiontext" > HTMLFormat::p< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "inwebparagraph"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '& '< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& amp;"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '< '< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& lt;"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '> '< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& gt;"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > i< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) & & (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > '-'< / span > < span class = "plain" > ) & & < / span >
< span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +1) == < / span > < span class = "character" > '-'< / span > < span class = "plain" > ) & & < / span >
< span class = "plain" > ((< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +2) == < / span > < span class = "character" > ' '< / span > < span class = "plain" > ) || (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +2) == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ))) {< / span >
2019-02-10 23:08:53 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "& mdash;"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++;< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ) == < / span > < span class = "character" > ' '< / span > < span class = "plain" > ) & & (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +1) == < / span > < span class = "character" > '-'< / span > < span class = "plain" > ) & & < / span >
< span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +2) == < / span > < span class = "character" > '-'< / span > < span class = "plain" > ) & & < / span >
< span class = "plain" > ((< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +3) == < / span > < span class = "character" > ' '< / span > < span class = "plain" > ) || (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +3) == < / span > < span class = "character" > '\n'< / span > < span class = "plain" > ) ||< / span >
< span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > +3) == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ))) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > " & mdash;"< / span > < span class = "plain" > ); < / span > < span class = "identifier" > i< / span > < span class = "plain" > +=2;< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > PUT< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get_at< / span > < span class = "plain" > (< / span > < span class = "identifier" > id< / span > < span class = "plain" > , < / span > < span class = "identifier" > i< / span > < span class = "plain" > ));< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::commentary_text is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP23" > < / a > < b > § 23. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::locale< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > paragraph< / span > < span class = "plain" > *< / span > < span class = "identifier" > par1< / span > < span class = "plain" > , < / span > < span class = "reserved" > paragraph< / span > < span class = "plain" > *< / span > < span class = "identifier" > par2< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::xref< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > par1< / span > < span class = "plain" > , < / span > < span class = "identifier" > page_section< / span > < span class = "plain" > , < / span > < span class = "constant" > TRUE< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::begin_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > )< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%s%S"< / span > < span class = "plain" > ,< / span >
2020-04-06 11:26:10 +00:00
< span class = "plain" > (< / span > < span class = "functiontext" > Str::get_first_char< / span > < span class = "plain" > (< / span > < span class = "identifier" > par1< / span > < span class = "plain" > -> < / span > < span class = "element" > ornament< / span > < span class = "plain" > ) == < / span > < span class = "character" > 'S'< / span > < span class = "plain" > )?< / span > < span class = "string" > "& #167;"< / span > < span class = "plain" > :< / span > < span class = "string" > "& para;"< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > par1< / span > < span class = "plain" > -> < / span > < span class = "element" > paragraph_number< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > par2< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "-%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > par2< / span > < span class = "plain" > -> < / span > < span class = "element" > paragraph_number< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::end_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::locale is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP24" > < / a > < b > § 24. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::xref< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > paragraph< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > , < / span > < span class = "reserved" > section< / span > < span class = "plain" > *< / span > < span class = "identifier" > from< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > a_link< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > linkto< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > from< / span > < span class = "plain" > ) & & (< / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > under_section< / span > < span class = "plain" > != < / span > < span class = "identifier" > from< / span > < span class = "plain" > )) {< / span >
< span class = "functiontext" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > linkto< / span > < span class = "plain" > , < / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > under_section< / span > < span class = "plain" > -> < / span > < span class = "element" > sect_range< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > LOOP_THROUGH_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > , < / span > < span class = "identifier" > linkto< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "functiontext" > Str::get< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ) == < / span > < span class = "character" > '/'< / span > < span class = "plain" > ) || (< / span > < span class = "functiontext" > Str::get< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ) == < / span > < span class = "character" > ' '< / span > < span class = "plain" > ))< / span >
< span class = "functiontext" > Str::put< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > , < / span > < span class = "character" > '-'< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > linkto< / span > < span class = "plain" > , < / span > < span class = "string" > ".html"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "%S%s%S"< / span > < span class = "plain" > , < / span > < span class = "identifier" > linkto< / span > < span class = "plain" > , (< / span > < span class = "identifier" > a_link< / span > < span class = "plain" > )?< / span > < span class = "string" > "#"< / span > < span class = "plain" > :< / span > < span class = "string" > ""< / span > < span class = "plain" > , < / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > ornament< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > linkto< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "P"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > N< / span > < span class = "plain" > = < / span > < span class = "identifier" > P< / span > < span class = "plain" > -> < / span > < span class = "element" > paragraph_number< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > LOOP_THROUGH_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > , < / span > < span class = "identifier" > N< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ) == < / span > < span class = "character" > '.'< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "_"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > PUT< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ));< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::xref is used in < a href = "#SP8" > § 8< / a > , < a href = "#SP9" > § 9< / a > , < a href = "#SP23" > § 23< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP25" > < / a > < b > § 25. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::tail< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > self< / span > < span class = "plain" > , < / span > < span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > comment< / span > < span class = "plain" > , < / span > < span class = "reserved" > section< / span > < span class = "plain" > *< / span > < span class = "identifier" > this_S< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > HTMLFormat::exit_current_paragraph< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > docs_mode< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > chapter< / span > < span class = "plain" > *< / span > < span class = "identifier" > C< / span > < span class = "plain" > = < / span > < span class = "identifier" > this_S< / span > < span class = "plain" > -> < / span > < span class = "element" > owning_chapter< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > section< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > , *< / span > < span class = "identifier" > last_S< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , *< / span > < span class = "identifier" > prev_S< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , *< / span > < span class = "identifier" > next_S< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > LOOP_OVER_LINKED_LIST< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > , < / span > < span class = "reserved" > section< / span > < span class = "plain" > , < / span > < span class = "identifier" > C< / span > < span class = "plain" > -> < / span > < span class = "element" > sections< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > == < / span > < span class = "identifier" > this_S< / span > < span class = "plain" > ) < / span > < span class = "identifier" > prev_S< / span > < span class = "plain" > = < / span > < span class = "identifier" > last_S< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > last_S< / span > < span class = "plain" > == < / span > < span class = "identifier" > this_S< / span > < span class = "plain" > ) < / span > < span class = "identifier" > next_S< / span > < span class = "plain" > = < / span > < span class = "identifier" > S< / span > < span class = "plain" > ;< / span >
2019-03-12 23:32:12 +00:00
< span class = "identifier" > last_S< / span > < span class = "plain" > = < / span > < span class = "identifier" > S< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > prev_S< / span > < span class = "plain" > ) || (< / span > < span class = "identifier" > next_S< / span > < span class = "plain" > )) {< / span >
< span class = "functiontext" > HTML::hr< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "tocbar"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN_WITH< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > , < / span > < span class = "string" > "class=\"toc\""< / span > < span class = "plain" > );< / span >
2020-03-26 23:01:14 +00:00
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > prev_S< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< i> (This section begins %S.)< /i> "< / span > < span class = "plain" > , < / span > < span class = "identifier" > C< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > ch_title< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2020-03-26 23:01:14 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::sref< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > prev_S< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::begin_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "Back to '%S'"< / span > < span class = "plain" > , < / span > < span class = "identifier" > prev_S< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > sect_title< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::end_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2020-03-26 23:01:14 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_OPEN< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > next_S< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "< i> (This section ends %S.)< /i> "< / span > < span class = "plain" > , < / span > < span class = "identifier" > C< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > ch_title< / span > < span class = "plain" > );< / span >
< span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2020-03-26 23:01:14 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTMLFormat::sref< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "identifier" > next_S< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::begin_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > "Continue with '%S'"< / span > < span class = "plain" > , < / span > < span class = "identifier" > next_S< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > -> < / span > < span class = "element" > sect_title< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::end_link< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
2020-03-26 23:01:14 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > TEMP< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "li"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > HTML_CLOSE< / span > < span class = "plain" > (< / span > < span class = "string" > "ul"< / span > < span class = "plain" > );< / span >
2019-03-12 23:32:12 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::hr< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "string" > "tocbar"< / span > < span class = "plain" > );< / span >
2019-03-12 23:32:12 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "functiontext" > HTML::comment< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > comment< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > HTML::completed< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Bibliographic::set_datum< / span > < span class = "plain" > (< / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "Booklet Title"< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > booklet_title< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Indexer::cover_sheet_maker< / span > < span class = "plain" > (< / span > < span class = "identifier" > OUT< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > -> < / span > < span class = "element" > weave_web< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "template"< / span > < span class = "plain" > , < / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "constant" > WEAVE_SECOND_HALF< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::tail is used in < a href = "#SP1_1_1" > § 1.1.1< / a > .< / p >
2019-03-12 23:32:12 +00:00
< p class = "inwebparagraph" > < a id = "SP26" > < / a > < b > § 26. < / b > < / p >
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::sref< / span > < span class = "plain" > (< / span > < span class = "constant" > OUTPUT_STREAM< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_target< / span > < span class = "plain" > *< / span > < span class = "identifier" > wv< / span > < span class = "plain" > , < / span > < span class = "reserved" > section< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "unwoven section"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > LOOP_THROUGH_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > , < / span > < span class = "identifier" > S< / span > < span class = "plain" > -> < / span > < span class = "element" > sect_range< / span > < span class = "plain" > )< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ) == < / span > < span class = "character" > '/'< / span > < span class = "plain" > )< / span >
2019-03-12 23:32:12 +00:00
< span class = "identifier" > PUT< / span > < span class = "plain" > (< / span > < span class = "character" > '-'< / span > < span class = "plain" > );< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > else< / span >
< span class = "identifier" > PUT< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Str::get< / span > < span class = "plain" > (< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ));< / span >
2019-03-12 23:32:12 +00:00
< span class = "identifier" > WRITE< / span > < span class = "plain" > (< / span > < span class = "string" > ".html"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::sref is used in < a href = "#SP25" > § 25< / a > .< / p >
< p class = "inwebparagraph" > < a id = "SP27" > < / a > < b > § 27. EPUB-only methods. < / b > < / p >
2019-02-04 22:26:45 +00:00
< pre class = "display" >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::begin_weaving_EPUB< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "reserved" > web< / span > < span class = "plain" > *< / span > < span class = "identifier" > W< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_pattern< / span > < span class = "plain" > *< / span > < span class = "identifier" > pattern< / span > < span class = "plain" > ) {< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "string" > "%S"< / span > < span class = "plain" > , < / span > < span class = "functiontext" > Bibliographic::get_datum< / span > < span class = "plain" > (< / span > < span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > md< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "Title"< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Epub::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "string" > "P"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > filename< / span > < span class = "plain" > *< / span > < span class = "identifier" > CSS< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Patterns::obtain_filename< / span > < span class = "plain" > (< / span > < span class = "identifier" > pattern< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "inweb.css"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Epub::use_CSS_throughout< / span > < span class = "plain" > (< / span > < span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > , < / span > < span class = "identifier" > CSS< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Epub::attach_metadata< / span > < span class = "plain" > (< / span > < span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > , < / span > < span class = "identifier" > L< / span > < span class = "string" > "identifier"< / span > < span class = "plain" > , < / span > < span class = "identifier" > T< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > )< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > pathname< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Reader::woven_folder< / span > < span class = "plain" > (< / span > < span class = "identifier" > W< / span > < span class = "plain" > );< / span >
< span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > redirect_weaves_to< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Epub::begin_construction< / span > < span class = "plain" > (< / span > < span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > , < / span > < span class = "identifier" > P< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Shell::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > CSS< / span > < span class = "plain" > , < / span > < span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > redirect_weaves_to< / span > < span class = "plain" > , < / span > < span class = "string" > ""< / span > < span class = "plain" > );< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "constant" > SWARM_SECTIONS_SWM< / span > < span class = "plain" > ;< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
2020-04-06 11:26:10 +00:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > HTMLFormat::end_weaving_EPUB< / span > < span class = "plain" > (< / span > < span class = "reserved" > weave_format< / span > < span class = "plain" > *< / span > < span class = "identifier" > wf< / span > < span class = "plain" > , < / span > < span class = "reserved" > web< / span > < span class = "plain" > *< / span > < span class = "identifier" > W< / span > < span class = "plain" > , < / span > < span class = "reserved" > weave_pattern< / span > < span class = "plain" > *< / span > < span class = "identifier" > pattern< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > Epub::end_construction< / span > < span class = "plain" > (< / span > < span class = "identifier" > W< / span > < span class = "plain" > -> < / span > < span class = "element" > as_ebook< / span > < span class = "plain" > );< / span >
2019-02-04 22:26:45 +00:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function HTMLFormat::begin_weaving_EPUB is used in < a href = "#SP1_2" > § 1.2< / a > .< / p >
< p class = "endnote" > The function HTMLFormat::end_weaving_EPUB is used in < a href = "#SP1_2" > § 1.2< / a > .< / p >
2019-03-12 23:32:12 +00:00
< hr class = "tocbar" >
< ul class = "toc" > < li > < a href = "5-tf.html" > Back to 'TeX Format'< / a > < / li > < li > < a href = "5-rtt.html" > Continue with 'Running Through TeX'< / a > < / li > < / ul > < hr class = "tocbar" >
2019-03-18 11:16:10 +00:00
<!-- End of weave -->
2020-03-19 00:03:04 +00:00
< / main >
2019-02-04 22:26:45 +00:00
< / body >
< / html >