Added Code In Code Comments Notation and Code In Commentary Notation

This commit is contained in:
Graham Nelson 2020-04-08 12:48:06 +01:00
parent e86e7cfb42
commit 5e65f71a85
12 changed files with 1011 additions and 931 deletions

View file

@ -322,7 +322,7 @@ void HTMLFormat::source_code(weave_format *self, text_stream *OUT, weave_target
if (Str::len(concluding_comment) > 0) {
if (!starts) WRITE(" ");
HTML_OPEN_WITH("span", "class=\"comment\"");
Formats::text(OUT, wv, concluding_comment);
Formats::text_comment(OUT, wv, concluding_comment);
HTML_CLOSE("span");
}
WRITE("\n");

View file

@ -482,7 +482,8 @@ int TeX::preform_document(weave_format *self, text_stream *OUT, web *W, weave_ta
WRITE("\\hfill$\\longrightarrow$ {\\ttninepoint\\it %S}", problem);
else if (Str::len(concluding_comment) > 0) {
WRITE(" \\hfill{\\ttninepoint\\it ");
if (concluding_comment) Formats::text(OUT, wv, concluding_comment);
if (Str::len(concluding_comment) > 0)
Formats::text_comment(OUT, wv, concluding_comment);
WRITE("}");
}
WRITE("\n");

View file

@ -370,22 +370,30 @@ as appropriate.
=
void Formats::text(OUTPUT_STREAM, weave_target *wv, text_stream *id) {
Formats::text_r(OUT, wv, id, FALSE);
Formats::text_r(OUT, wv, id, FALSE, FALSE);
}
void Formats::text_comment(OUTPUT_STREAM, weave_target *wv, text_stream *id) {
Formats::text_r(OUT, wv, id, FALSE, TRUE);
}
void Formats::text_r(OUTPUT_STREAM, weave_target *wv, text_stream *id, int within) {
for (int i=0; i < Str::len(id); i++) {
if (Str::get_at(id, i) == '\\') i++;
else if (Str::get_at(id, i) == '|') {
TEMPORARY_TEXT(before);
Str::copy(before, id); Str::truncate(before, i);
TEMPORARY_TEXT(after);
Str::substr(after, Str::at(id, i+1), Str::end(id));
Formats::text_r(OUT, wv, before, within);
Formats::text_r(OUT, wv, after, (within)?FALSE:TRUE);
DISCARD_TEXT(before);
DISCARD_TEXT(after);
return;
void Formats::text_r(OUTPUT_STREAM, weave_target *wv, text_stream *id,
int within, int comments) {
text_stream *notation = Bibliographic::get_datum(wv->weave_web->md,
(comments)?(I"Code In Code Comments Notation"):(I"Code In Commentary Notation"));
if (Str::ne(notation, I"Off")) {
for (int i=0; i < Str::len(id); i++) {
if (Str::get_at(id, i) == '\\') i += Str::len(notation) - 1;
else if (ACMESupport::text_at(id, i, notation)) {
TEMPORARY_TEXT(before);
Str::copy(before, id); Str::truncate(before, i);
TEMPORARY_TEXT(after);
Str::substr(after, Str::at(id, i + Str::len(notation)), Str::end(id));
Formats::text_r(OUT, wv, before, within, comments);
Formats::text_r(OUT, wv, after, (within)?FALSE:TRUE, comments);
DISCARD_TEXT(before);
DISCARD_TEXT(after);
return;
}
}
}
if (within) {

View file

@ -281,11 +281,25 @@ indented one tab stop further in, like so:
(-d) Pick a song and sing a yellow nectarine. (Scott Weiland)
@ Text placed between vertical strokes will be set in a fixed-space, code
style font, |thus|.
If a series of lines is indented with tab characters and consists entirely
of courier-type code extracts, it will be set as a running-on series of
code lines.
style font, |thus|. This paragraph appears in the web you are reading thus:
= (text as Inweb)
@ Text placed between vertical strokes will be set in a fixed-space, code
style font, |thus|. This paragraph appears in the web you are reading thus:
=
This notation may be inconvenient if you need the vertical stroke character
for something else, especially as the notation is used both in code comments
and in paragraph commentary. But both notations can be configured in the
Contents page of a web, thus:
= (text as Inweb)
Code In Code Comments Notation: Off
Code In Commentary Notation: %%
=
This example would turn off the feature in code comments, but allow it in
paragraph commentary; we would then need to write...
= (text as Inweb)
@ Text placed between vertical strokes will be set in a fixed-space, code
style font, %%thus%%. This paragraph appears in the web you are reading thus:
=
@ A line written thus:
= (text as Inweb)

File diff suppressed because it is too large Load diff

View file

@ -110,6 +110,7 @@ convenient to store them directly here than to use a dictionary.
<span class="identifier">bd</span><span class="plain"> = </span><span class="functiontext">Bibliographic::set_datum</span><span class="plain">(</span><span class="identifier">Wm</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Strict Usage Rules"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Off"</span><span class="plain">); </span><span class="identifier">bd</span><span class="plain">-&gt;</span><span class="element">on_or_off</span><span class="plain"> = </span><span class="constant">TRUE</span><span class="plain">;</span>
<span class="identifier">bd</span><span class="plain"> = </span><span class="functiontext">Bibliographic::set_datum</span><span class="plain">(</span><span class="identifier">Wm</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"TeX Mathematics Notation"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"On"</span><span class="plain">); </span><span class="identifier">bd</span><span class="plain">-&gt;</span><span class="element">on_or_off</span><span class="plain"> = </span><span class="constant">TRUE</span><span class="plain">;</span>
<span class="identifier">bd</span><span class="plain"> = </span><span class="functiontext">Bibliographic::set_datum</span><span class="plain">(</span><span class="identifier">Wm</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Code In Commentary Notation"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"|"</span><span class="plain">);</span>
<span class="identifier">bd</span><span class="plain"> = </span><span class="functiontext">Bibliographic::set_datum</span><span class="plain">(</span><span class="identifier">Wm</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Code In Code Comments Notation"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"|"</span><span class="plain">);</span>
<span class="identifier">bd</span><span class="plain"> = </span><span class="functiontext">Bibliographic::set_datum</span><span class="plain">(</span><span class="identifier">Wm</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Web Syntax Version"</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>

View file

@ -280,7 +280,7 @@ files to crash Inweb.)
<p class="endnote">The function ACMESupport::parse_comment is used in <a href="#SP1">&#167;1</a>.</p>
<p class="endnote">The function ACMESupport::text_at is used in 4/tp (<a href="4-tp.html#SP2_2">&#167;2.2</a>, <a href="4-tp.html#SP3">&#167;3</a>, <a href="4-tp.html#SP5">&#167;5</a>).</p>
<p class="endnote">The function ACMESupport::text_at is used in 4/tp (<a href="4-tp.html#SP2_2">&#167;2.2</a>, <a href="4-tp.html#SP3">&#167;3</a>, <a href="4-tp.html#SP5">&#167;5</a>), 5/wf (<a href="5-wf.html#SP22">&#167;22</a>).</p>
<p class="inwebparagraph"><a id="SP4"></a><b>&#167;4. </b>This is here so that tangling the Standard Rules extension doesn't insert
a spurious comment betraying Inweb's involvement in the process.

View file

@ -449,7 +449,7 @@ the page, and this drops one.
<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">) &gt; </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>
<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">concluding_comment</span><span class="plain">);</span>
<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>
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"span"</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>

View file

@ -762,7 +762,8 @@ the special Preform grammar document.
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\\hfill$\\longrightarrow$ {\\ttninepoint\\it %S}"</span><span class="plain">, </span><span class="identifier">problem</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::len</span><span class="plain">(</span><span class="identifier">concluding_comment</span><span class="plain">) &gt; </span><span class="constant">0</span><span class="plain">) {</span>
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" \\hfill{\\ttninepoint\\it "</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">concluding_comment</span><span class="plain">) </span><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">concluding_comment</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">) &gt; </span><span class="constant">0</span><span class="plain">)</span>
<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>
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"}"</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>

View file

@ -594,22 +594,30 @@ as appropriate.
<pre class="display">
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Formats::text</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">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">) {</span>
<span class="functiontext">Formats::text_r</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">id</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">);</span>
<span class="functiontext">Formats::text_r</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">id</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Formats::text_comment</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">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">) {</span>
<span class="functiontext">Formats::text_r</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">id</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="constant">TRUE</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Formats::text_r</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">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">within</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"> &lt; </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="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">i</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">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">);</span>
<span class="functiontext">Str::copy</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">); </span><span class="functiontext">Str::truncate</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">, </span><span class="identifier">i</span><span class="plain">);</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">after</span><span class="plain">);</span>
<span class="functiontext">Str::substr</span><span class="plain">(</span><span class="identifier">after</span><span class="plain">, </span><span class="functiontext">Str::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="functiontext">Str::end</span><span class="plain">(</span><span class="identifier">id</span><span class="plain">));</span>
<span class="functiontext">Formats::text_r</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">before</span><span class="plain">, </span><span class="identifier">within</span><span class="plain">);</span>
<span class="functiontext">Formats::text_r</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">after</span><span class="plain">, (</span><span class="identifier">within</span><span class="plain">)?</span><span class="identifier">FALSE:TRUE</span><span class="plain">);</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">);</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">after</span><span class="plain">);</span>
<span class="reserved">return</span><span class="plain">;</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Formats::text_r</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">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">,</span>
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">within</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">comments</span><span class="plain">) {</span>
<span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">notation</span><span class="plain"> = </span><span class="functiontext">Bibliographic::get_datum</span><span class="plain">(</span><span class="identifier">wv</span><span class="plain">-&gt;</span><span class="element">weave_web</span><span class="plain">-&gt;</span><span class="element">md</span><span class="plain">,</span>
<span class="plain">(</span><span class="identifier">comments</span><span class="plain">)?(</span><span class="identifier">I</span><span class="string">"Code In Code Comments Notation"</span><span class="plain">):(</span><span class="identifier">I</span><span class="string">"Code In Commentary Notation"</span><span class="plain">));</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::ne</span><span class="plain">(</span><span class="identifier">notation</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"Off"</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"> &lt; </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="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">i</span><span class="plain"> += </span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">notation</span><span class="plain">) - </span><span class="constant">1</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">ACMESupport::text_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="identifier">notation</span><span class="plain">)) {</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">);</span>
<span class="functiontext">Str::copy</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">); </span><span class="functiontext">Str::truncate</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">, </span><span class="identifier">i</span><span class="plain">);</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">after</span><span class="plain">);</span>
<span class="functiontext">Str::substr</span><span class="plain">(</span><span class="identifier">after</span><span class="plain">, </span><span class="functiontext">Str::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="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">notation</span><span class="plain">)), </span><span class="functiontext">Str::end</span><span class="plain">(</span><span class="identifier">id</span><span class="plain">));</span>
<span class="functiontext">Formats::text_r</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">before</span><span class="plain">, </span><span class="identifier">within</span><span class="plain">, </span><span class="identifier">comments</span><span class="plain">);</span>
<span class="functiontext">Formats::text_r</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">after</span><span class="plain">, (</span><span class="identifier">within</span><span class="plain">)?</span><span class="identifier">FALSE:TRUE</span><span class="plain">, </span><span class="identifier">comments</span><span class="plain">);</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">before</span><span class="plain">);</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">after</span><span class="plain">);</span>
<span class="reserved">return</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">within</span><span class="plain">) {</span>
@ -622,7 +630,9 @@ as appropriate.
<p class="inwebparagraph"></p>
<p class="endnote">The function Formats::text is used in 2/tgs (<a href="2-tgs.html#SP7">&#167;7</a>, <a href="2-tgs.html#SP7_1">&#167;7.1</a>), 3/tw (<a href="3-tw.html#SP1_3_3_1_8">&#167;1.3.3.1.8</a>, <a href="3-tw.html#SP1_3_3_1_8_4">&#167;1.3.3.1.8.4</a>, <a href="3-tw.html#SP1_3_3_1_10_5">&#167;1.3.3.1.10.5</a>, <a href="3-tw.html#SP2_1">&#167;2.1</a>, <a href="3-tw.html#SP2_2">&#167;2.2</a>, <a href="3-tw.html#SP2_2_1">&#167;2.2.1</a>, <a href="3-tw.html#SP2_3">&#167;2.3</a>), 5/ptf (<a href="5-ptf.html#SP3">&#167;3</a>), 5/tf (<a href="5-tf.html#SP4">&#167;4</a>, <a href="5-tf.html#SP24_2">&#167;24.2</a>), 5/hf (<a href="5-hf.html#SP7">&#167;7</a>, <a href="5-hf.html#SP10">&#167;10</a>).</p>
<p class="endnote">The function Formats::text is used in 2/tgs (<a href="2-tgs.html#SP7">&#167;7</a>, <a href="2-tgs.html#SP7_1">&#167;7.1</a>), 3/tw (<a href="3-tw.html#SP1_3_3_1_8">&#167;1.3.3.1.8</a>, <a href="3-tw.html#SP1_3_3_1_8_4">&#167;1.3.3.1.8.4</a>, <a href="3-tw.html#SP1_3_3_1_10_5">&#167;1.3.3.1.10.5</a>, <a href="3-tw.html#SP2_1">&#167;2.1</a>, <a href="3-tw.html#SP2_2">&#167;2.2</a>, <a href="3-tw.html#SP2_2_1">&#167;2.2.1</a>, <a href="3-tw.html#SP2_3">&#167;2.3</a>), 5/ptf (<a href="5-ptf.html#SP3">&#167;3</a>), 5/tf (<a href="5-tf.html#SP4">&#167;4</a>), 5/hf (<a href="5-hf.html#SP7">&#167;7</a>).</p>
<p class="endnote">The function Formats::text_comment is used in 5/tf (<a href="5-tf.html#SP24_2">&#167;24.2</a>), 5/hf (<a href="5-hf.html#SP10">&#167;10</a>).</p>
<p class="endnote">The function Formats::text_r appears nowhere else.</p>

View file

@ -406,14 +406,36 @@ indented one tab stop further in, like so:
</li></ul>
</li></ul>
<p class="inwebparagraph"><a id="SP10"></a><b>&#167;10. </b>Text placed between vertical strokes will be set in a fixed-space, code
style font, <code class="display"><span class="extract">thus</span></code>.
style font, <code class="display"><span class="extract">thus</span></code>. This paragraph appears in the web you are reading thus:
</p>
<p class="inwebparagraph">If a series of lines is indented with tab characters and consists entirely
of courier-type code extracts, it will be set as a running-on series of
code lines.
<pre class="display">
<span class="functiontext">@</span><span class="plain"> Text placed between vertical strokes will be set in a fixed-space, code</span>
<span class="plain">style font, |thus|. This paragraph appears in the web you are reading thus:</span>
</pre>
<p class="inwebparagraph">This notation may be inconvenient if you need the vertical stroke character
for something else, especially as the notation is used both in code comments
and in paragraph commentary. But both notations can be configured in the
Contents page of a web, thus:
</p>
<pre class="display">
<span class="element">Code In Code Comments Notation</span><span class="plain">:</span><span class="string"> Off</span>
<span class="element">Code In Commentary Notation</span><span class="plain">:</span><span class="string"> %%</span>
</pre>
<p class="inwebparagraph">This example would turn off the feature in code comments, but allow it in
paragraph commentary; we would then need to write...
</p>
<pre class="display">
<span class="functiontext">@</span><span class="plain"> Text placed between vertical strokes will be set in a fixed-space, code</span>
<span class="plain">style font, %%thus%%. This paragraph appears in the web you are reading thus:</span>
</pre>
<p class="inwebparagraph"></p>
<p class="inwebparagraph"><a id="SP11"></a><b>&#167;11. </b>A line written thus:
</p>

View file

@ -69,6 +69,7 @@ void Bibliographic::initialise_data(web_md *Wm) {
bd = Bibliographic::set_datum(Wm, I"Strict Usage Rules", I"Off"); bd->on_or_off = TRUE;
bd = Bibliographic::set_datum(Wm, I"TeX Mathematics Notation", I"On"); bd->on_or_off = TRUE;
bd = Bibliographic::set_datum(Wm, I"Code In Commentary Notation", I"|");
bd = Bibliographic::set_datum(Wm, I"Code In Code Comments Notation", I"|");
bd = Bibliographic::set_datum(Wm, I"Web Syntax Version", NULL);
}