Commit 9175a82e7ba46d35c18232a04b8394326ee65889

Authored by Alain Prouté
1 parent 759ea33c

Minor enhancements in MAML4.

anubis_dev/library/doc_tools/basis.maml
... ... @@ -43,11 +43,11 @@ $if($defined(article))
43 43 $pushcounter(sec)(0)$pushcounter(subsec)(0)$pushcounter(subsubsec)(0)$// counters for sections etc...
44 44 $accumulator(tableofcontents)$// accumulator for the table of contents
45 45 $// Layout for section titles.
46   -$if($defined(seclayout))()($define(seclayout)(1)($par$big($big($bold($1)))$par$par))
47   -$if($defined(subseclayout))()($define(subseclayout)(1)($par$big($bold($1))$par))
48   -$if($defined(subsubseclayout))()($define(subsubseclayout)(1)($par$bold($1)$par))
  46 +$if($defined(seclayout))()($define(seclayout)(1)($par$par$big($big($bold($1)))$par$par))
  47 +$if($defined(subseclayout))()($define(subseclayout)(1)($par$big($bold($1))$par$par))
  48 +$if($defined(subsubseclayout))()($define(subsubseclayout)(1)($par$bold($1)$par$par))
49 49 $// Layout for table of contents lines.
50   -$if($defined(tocsec))()($define(tocsec)(1)($bold($1)$par))
  50 +$if($defined(tocsec))()($define(tocsec)(1)($par$bold($1)$par))
51 51 $if($defined(tocsubsec))()($define(tocsubsec)(1)($box(20)()$1$par))
52 52 $if($defined(tocsubsubsec))()($define(tocsubsubsec)(1)($box(40)()$1$par))
53 53 $define(tableofcontents)(0)($postpone($content(tableofcontents)))
... ...
anubis_dev/library/doc_tools/maml4.anubis
... ... @@ -196,6 +196,19 @@ execute echo Warning: this program needs Anubis 1.15 because it uses type aliase
196 196 read maml4_pdf.anubis
197 197  
198 198  
  199 +define String
  200 + force_sub_string
  201 + (
  202 + String s,
  203 + Int start,
  204 + Int l
  205 + ) =
  206 + if sub_string(s,start,l) is
  207 + {
  208 + failure then "",
  209 + success(c) then c
  210 + }.
  211 +
199 212 *** Separating options from other command line arguments.
200 213  
201 214 define (List(MAML_Option),List(String))
... ... @@ -211,6 +224,13 @@ define (List(MAML_Option),List(String))
211 224 if h = "-pdf" then iprint("Warning: PDF output not yet implemented in MAML4.\n");
212 225 ([pdf . opts1],others1) else
213 226 if h = "-verbose" | h = "-v" then ([verbose . opts1],others1) else
  227 + if h = "-justify" then ([justify . opts1],others1) else
  228 + if force_sub_string(h,0,6)
  229 + = "-width" then if decimal_scan(force_sub_string(h,6,length(h)-6)) is
  230 + {
  231 + failure then (opts1,others1),
  232 + success(w) then ([width(w) . opts1],others1)
  233 + } else
214 234 (opts1,[h . others1])
215 235 }.
216 236  
... ... @@ -223,6 +243,8 @@ define One
223 243 iprint("Usage: anbexec maml4 <file name> [options]\n" +
224 244 " Options:\n"+
225 245 " -pdf produce LaTeX and PDF outputs\n"+
  246 + " -justify the text is right justified\n"+
  247 + " -widthxxx (where xxx is an integer) sets the width of the text\n"+
226 248 " -verbose \n").
227 249  
228 250  
... ... @@ -235,6 +257,18 @@ define String
235 257 "Unknown mark '"+name+"' at '"+format(pos)+"'".
236 258  
237 259  
  260 +define Int
  261 + get_width
  262 + (
  263 + List(MAML_Option) opts
  264 + ) =
  265 + if opts is
  266 + {
  267 + [ ] then 600,
  268 + [h . t] then if h is width(n) then n else get_width(t)
  269 + }.
  270 +
  271 +
238 272 *** 'maml' as a command line tool.
239 273  
240 274 global define One
... ... @@ -254,6 +288,10 @@ global define One
254 288 {
255 289 failure then iprint("Cannot read file '"+fname+"'.\n"),
256 290 success(ls) then
  291 + with html_opts = options("png","png","tmp",12,10,
  292 + get_width(opts),
  293 + justify:opts
  294 + ),
257 295 with gcount_v = var((Int)0),
258 296 with kbox = toolboxkeep(opts,
259 297 var((Bool)false), // $noprimitive
... ... @@ -267,7 +305,7 @@ global define One
267 305 var((AccumulatorTree)new_tree(bt24cmp)),
268 306 var((Int)30),
269 307 noprimitive_default_msg,
270   - default
  308 + html_opts
271 309 ),
272 310 since ((String,String))split_path(fname) is (rel_path,fname1),
273 311 with start_path = get_current_directory/rel_path,
... ... @@ -279,12 +317,12 @@ global define One
279 317 map_forget((MAML_Error me) |->
280 318 print(cyan("Error: ")+to_English(me)+"\n"),
281 319 errors);
282   - with html_text = if_verbose(tbox,"Producing HTML ... ",to_HTML(start_path,default,cresult),"done\n"),
  320 + with html_text = if_verbose(tbox,"Producing HTML ... ",to_HTML(start_path,html_opts,cresult),"done\n"),
283 321 if file(fname+".html",new) is
284 322 {
285 323 failure then print("Cannot create file '"+fname+".html"+"'\n"),
286 324 success(htmlfp) then if_verbose(tbox,"Outputing HTML ... ",print(weaken(htmlfp),
287   - html_encapsulate(tbox.keep.html_options,html_text)),"done\n")
  325 + html_encapsulate(html_opts,html_text)),"done\n")
288 326 }
289 327  
290 328 }
... ...
anubis_dev/library/doc_tools/maml4_html.anubis
... ... @@ -26,7 +26,8 @@ public define MAML_HTML_Options
26 26 "tmp", // tmp_path
27 27 12, // font size
28 28 10, // footnote font size
29   - 600 // width of text (pixels)
  29 + 600, // width of text (pixels)
  30 + false // don't right justify
30 31 ).
31 32  
32 33  
... ... @@ -147,12 +148,12 @@ define String
147 148 (
148 149 MAML_HTML_Options opts
149 150 ) =
150   - since opts is options(spath,cpath,tpath,fsize,fnsize,twidth),
  151 + since opts is options(spath,cpath,tpath,fsize,fnsize,twidth,justif),
151 152 "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
152 153 <style>
153 154 body { counter-reset: section;
154 155 font-size: "+fsize+"px; }
155   -p { align: justify; width: "+twidth+"px; }
  156 +p { "+(if justif then "align: justify;" else "")+" width: "+twidth+"px; }
156 157 h2 { counter-reset: subsection; }
157 158 h2::before { counter-increment: section;
158 159 content: counter(section) \". \"; }
... ... @@ -185,10 +186,11 @@ public define Text
185 186 MAML_HTML_Options opts,
186 187 Text html_text
187 188 ) =
188   - "<html>"+html_head(default)+
189   - "<body><center><table style=\"width: 600px; font-size:12px;\"><tr><td>"+
190   - "<div style=\"text-align: justify; text-justify: inter-word; width: "+
191   - to_decimal(text_width(default))+"px;\">"+
  189 + since opts is options(spath,cpath,tpath,fsize,fnsize,twidth,justif),
  190 + "<html>"+html_head(opts)+
  191 + "<body><center><table style=\"width: "+to_decimal(twidth)+"px; font-size:12px;\"><tr><td>"+
  192 + "<div style=\""+(if justif then "text-align: justify;" else "")+" text-justify: inter-word; width: "+
  193 + to_decimal(twidth)+"px;\">"+
192 194 html_text+"</div></td></tr></table></center></body></html>".
193 195  
194 196  
... ...
anubis_dev/library/doc_tools/maml4_interface.anubis
... ... @@ -197,7 +197,9 @@ public define String to_English (MAML_Error e).
197 197 $acode(
198 198 public type MAML_Option:
199 199 verbose,
200   - pdf. // produce a PDF output (HTML only by default)
  200 + pdf, // produce a PDF output (HTML only by default)
  201 + justify,
  202 + width(Int).
201 203 )
202 204  
203 205  
... ... @@ -287,8 +289,9 @@ public type MAML_HTML_Options:
287 289 // font size for main text (in pixels)
288 290 Int note_font_size,
289 291 // font size for text in footnotes
290   - Int text_width
  292 + Int text_width,
291 293 // width of text in pixels
  294 + Bool right_justify
292 295 ).
293 296 )
294 297  
... ...
anubis_dev/library/doc_tools/maml4_png.anubis
... ... @@ -108,7 +108,7 @@ define ResultPNG_height
108 108 MAML_HTML_Options opts
109 109 ) =
110 110 //iprint("(1) LaTeX text: ["+text+"]\n");
111   - since opts is options(spath,cpath,tpath,fsize,fnsize,twidth),
  111 + since opts is options(spath,cpath,tpath,fsize,fnsize,twidth,justif),
112 112 forget(make_directory(spath,default_directory_mode));
113 113 forget(make_directory(cpath,default_directory_mode));
114 114 forget(make_directory(tpath,default_directory_mode));
... ...
anubis_dev/library/doc_tools/maml4_tutorial.maml
... ... @@ -54,15 +54,15 @@ $//$define(advcol)(0)($if($equals($countervalue(catacol))(3))($setcounter(cataco
54 54  
55 55 $// Displaying marks in the catalog and accumulating links to them.
56 56 $define(mark0)(1)
57   - ($append(tabmark)($1)$label($1)$marklo($red($mtt($$$1))))
  57 + ($append(tabmark)($1)$label($1)$marklo($mtt($$$1)))
58 58 $define(mark1)(2)
59   - ($append(tabmark)($1)$label($1)$marklo($red($mtt($$$1$lpar$argu($2)$rpar))))
  59 + ($append(tabmark)($1)$label($1)$marklo($mtt($$$1$lpar$argu($2)$rpar)))
60 60 $define(mark2)(3)
61   - ($append(tabmark)($1)$label($1)$marklo($red($mtt($$$1$lpar$argu($2)$rpar$lpar$argu($3)$rpar))))
  61 + ($append(tabmark)($1)$label($1)$marklo($mtt($$$1$lpar$argu($2)$rpar$lpar$argu($3)$rpar)))
62 62 $define(mark3)(4)
63   - ($append(tabmark)($1)$label($1)$marklo($red($mtt($$$1$lpar$argu($2)$rpar$lpar$argu($3)$rpar$lpar$argu($4)$rpar))))
  63 + ($append(tabmark)($1)$label($1)$marklo($mtt($$$1$lpar$argu($2)$rpar$lpar$argu($3)$rpar$lpar$argu($4)$rpar)))
64 64 $define(mark4)(5)
65   - ($append(tabmark)($1)$label($1)$marklo($red($mtt($$$1$lpar$argu($2)$rpar$lpar$argu($3)$rpar$lpar$argu($4)$rpar$lpar$argu($5)$rpar))))
  65 + ($append(tabmark)($1)$label($1)$marklo($mtt($$$1$lpar$argu($2)$rpar$lpar$argu($3)$rpar$lpar$argu($4)$rpar$lpar$argu($5)$rpar)))
66 66  
67 67  
68 68  
... ... @@ -277,6 +277,49 @@ $mcode($$if($$defined($argu(name)))()($$define($argu(name))(...)(...)))
277 277 that is that you provide a $em(default) definition, but only in case your user did not define $argu(name). Of course, this
278 278 implies that your user must define $argu(name) $em(before) writing $mtt($$input($argu(your style file))).$p
279 279  
  280 +$subsection(definewithindefine)($mtt($$define) within $mtt($$define))
  281 +You may wonder what happens if we write something like:
  282 +$mcode($$define(m1)(1)( ... $$define(m2)(1)(... $$1 ...) ... ))
  283 +Does this $mtt($$1) represent the operand of $mtt(m1) or the operand of $mtt(m2)$sp?$p
  284 +
  285 +The answer is that it represents
  286 +the operand of $mtt(m1) and that the operand of $mtt(m2) is represented by $mtt($$2). More generally, if we have a
  287 +$mtt($$define) within a $mtt($$define), the names of the variables of the second (inner) $mtt($$define) are $em(shifted) by the
  288 +number of variables of the first (outer) $mtt($$define). As another example, in
  289 +$mcode($$define(m1)(2)
  290 + ($tbgc($_pink)( $argu(zone 1) $$define(m2)(4)
  291 + ($tbgc($_yellow)( $argu(zone 2) $$define(m3)(3)
  292 + ($tbgc($_azure)( $argu(zone 3) ))
  293 + $argu(zone 2) ))
  294 + $argu(zone 1) )))
  295 +the valid variables are:
  296 +$list(
  297 + $item $mtt($$1) to $mtt($$2) in $argu(zone 1)
  298 + $item $mtt($$1) to $mtt($$6) in $argu(zone 2)
  299 + $item $mtt($$1) to $mtt($$9) in $argu(zone 3)
  300 +)
  301 +In other words, the variables of an inner $mtt($$define) do not hide the variables of an outer $mtt($$define).$p
  302 +
  303 +As an example, consider the following $MAML code:
  304 +$mcode($$define()()($$define()()()))
  305 +
  306 +
  307 +
  308 +$subsection(memorymarks)(Marks remember their birth environment)
  309 +When you define a new mark with $mtt($$define), you can include in the body of the definition a reference to a counter or to
  310 +an accumulator. For example, you can write:
  311 +$mcode($$pushcounter(n)(0)
  312 +$$define(count)(0)($$addtocounter(n)(1)$$countervalue(n)))
  313 +$pushcounter(n)(0)
  314 +$define(count)(0)($addtocounter(n)(1)$countervalue(n))
  315 +Then if you write $mtt($$count $$count $$count), you get $mtt($count $count $count).$p
  316 +
  317 +Now, what if you write $mtt($$count $$count $$pushcounter(n)(7)$$count)$sp?
  318 +
  319 +$count $count $pushcounter(n)(17)$count
  320 +
  321 +
  322 +$p
280 323 $/////////////////////////////////////////////////////////////////////////
281 324 $section(style)(Be stylish)
282 325 The primitive $MAML marks are rather basic, and should preferably be used for creating macros.
... ... @@ -858,7 +901,7 @@ $apply(putpar)($transpose($content(table)))
858 901 $par
859 902 This last manipulation makes even more obvious the fact that we actually got our table in the form of
860 903 a list of lists.
861   -
  904 +$p
862 905  
863 906  
864 907  
... ... @@ -895,13 +938,18 @@ or put viruses on your server by using $mtt($$output), and probably destroy your
895 938  
896 939 This is the reason why the incoming text must be wrapped into another $MAML text before being submitted to the $MAML
897 940 compiler. We have adopted a very simple and flexible way of insuring your web server security as far as $MAML is
898   -concerned. Indeed, we have the primitive mark $mtt($$macrosonly) which forbids the direct use of a primitive mark
899   -(except a small number of them which are not dangerous) for
900   -the rest of the text. Hence, if you append $mtt($$macrosonly) in front of the incomming text, any call to a primitive in
901   -this text is rejected.$p
902   -
903   -Nevertheless, $MAML can't do much without using primitives, but it will use them only though the macros you define
904   -yourself in the preambule of the wrapper text, and of course before $mtt($$macrosonly), otherwise your macros
  941 +concerned. Indeed, we have the primitive mark $mtt($$noprimitive) which forbids the direct use of a primitive mark
  942 +(except $ref(noprimitive)(a small number of them) which are not dangerous) for
  943 +the rest of the text. Hence, if you append $mtt($$noprimitive) in front of the incomming text, any call to a primitive in
  944 +this text is rejected. Notice that the marks comming from a library loaded by $mtt($$loadadm) are still allowed
  945 +after $mtt($$noprimitive), so that you should not load any library containing some dangerous stuff. If you want to
  946 +forbid the marks from the libraries as well, use $mtt($$nolibrary). The marks comming from the libraries can then only
  947 +be used through your macros, just as what happens for primitives.$p
  948 +
  949 +Nevertheless, $MAML can't do much without using primitives (and possibly library marks),
  950 +but it will use them only though the macros you define
  951 +yourself in the preambule of the wrapper text, and of course before $mtt($$noprimitive) and $mtt($$nolibrary),
  952 +otherwise your macros
905 953 could not do much. Now, its up to you to define the
906 954 macros your web users are allowed to write down. Depending on how you do that, your server is more or less in danger.
907 955 For example if you define:
... ... @@ -933,7 +981,8 @@ set already defined in $fname(doc_tools/maml_web_macros.maml).$p
933 981  
934 982  
935 983 $subsection(commonerrors)(Common errors)
936   -Below are most of the errors the author made himself during the writting of this tutorial.
  984 +Below are most of the errors the author made himself during the writting of this tutorial, plus some errors he did not
  985 +make but which are likely to happen.
937 986 $list(
938 987  
939 988 $item Thinking that $mtt($$tbgc($$_red)($$box(100)())) produces a red rectangle of the given width
... ... @@ -946,7 +995,9 @@ $list(
946 995 character (or the contrary).$p
947 996  
948 997 $item Writing $tt(#$$//.*) instead of $tt(#$$#/#/.*) as a regular expression in order to colorize $MAML line comments.
949   - Of course, the first form $em(is seen) as the beginning of a line comment, and the final result is quite surprising.
  998 + Of course, the first form $em(is seen) as the beginning of a line comment, and the final result is quite surprising.$p
  999 +
  1000 + $item Forgetting to shift variable names in case of a $mtt($$define) within a $mtt($$define).
950 1001 )
951 1002  
952 1003 $/////////////////////////////////////////////////////////////////////////////////
... ... @@ -1043,6 +1094,7 @@ $////////////////////////////////////////////////////////////////////////////:
1043 1094 $section(catalog)(The catalog of $MAML marks)
1044 1095 Below is a description of the $postpone($countervalue(markcount)) primitive $MAML marks.$p
1045 1096  
  1097 + $// Produce a table of contents on 4 columns for the catalog
1046 1098 $define(putboxmark)(1)($box(130)($ref($1)($mtt($$$1))))
1047 1099 $define(displaymarkgroup)(1)($apply(putboxmark)($1)$par)
1048 1100 $postpone($center($apply(displaymarkgroup)($transpose($groupby
... ... @@ -1279,6 +1331,13 @@ $$undefine(T))))
1279 1331 This mark has a boolean value which is $em(true) if $argu(expr 1) and $argu(expr 2) are equal. By $em(equal), we
1280 1332 mean identical after $argu(expr 1) and $argu(expr 2) are computed.
1281 1333  
  1334 + $mark1(error)(text)
  1335 + This mark produces an error message. This is useful when you write macros whose operands must satisfy a particular
  1336 + property. The operand $argu(text) is the text of the message. This text can contain the $MAML mark $mtt($$position)
  1337 + (taking no operand)
  1338 + which will be replaced by the position (file path + line number + column number) in the source text where your macro
  1339 + is used.
  1340 +
1282 1341 $mark0(false) This mark represents the truth value $em(false).
1283 1342  
1284 1343 $mark2(groupby)(n)(list)
... ... @@ -1355,7 +1414,7 @@ otherwise we shall have one column too many.
1355 1414 as a PNG image with transparent background.
1356 1415 $par$par
1357 1416 You can use $mtt($$latex) in the text. The result is correctly aligned with the text. For example,$par
1358   - $mcenter($mcode(the polynomial $$latex($$X^2+X+1$dollar) is of degree 2))
  1417 + $mcenter($mcode(the polynomial $$latex($black($$X^2+X+1$$)) is of degree 2))
1359 1418 is rendered as:
1360 1419 $mcenter(the polynomial $latex($X^2+X+1$) is of degree 2)
1361 1420  
... ... @@ -1370,7 +1429,9 @@ otherwise we shall have one column too many.
1370 1429 the result is $mtt(1) if the operand is not empty (i.e. if it contains at least one character), and $mtt(0) if it is
1371 1430 empty.
1372 1431  
1373   - $mark1(list)(items) This mark allows to create a list. The operand $argu(items) must be a sequence of $em(items),
  1432 + $mark1(list)(items) This mark allows to create a list (not in the sens of $MAML $ref(lists)(lists),
  1433 + but as a sequence of indented items in the output).
  1434 + The operand $argu(items) must be a sequence of $em(items),
1374 1435 i.e. texts which are all prefixed by the mark $ref(item)($mtt($$item)).$par$par
1375 1436 Example:
1376 1437 $mcode($$list(
... ... @@ -1382,24 +1443,17 @@ otherwise we shall have one column too many.
1382 1443 $item Girls: $list($item Julie $item Geraldine $item Sophia))
1383 1444  
1384 1445 $mark1(loadadm)(module name)
1385   - This mark loads the secondary Anubis module whose name is given. The Anubis type of this module must be
  1446 + This mark loads the secondary Anubis module whose path is given. The Anubis type of this module must be
1386 1447 $tt(MAML_Library) as explained in the section $ref(loadadm)(Loading a library of Anubis functions).$p
1387 1448  
1388 1449 Of course, this results in an error if the module is either not found, of another type, compiled with another version
1389 1450 of Anubis, etc... If the loading succeeds the Anubis functions defined in the library become automatically new $MAML
1390 1451 marks.
1391 1452  
1392   -
1393 1453 $mark0(lpar) This mark inserts a left (opening) parenthese into the text. You must use $mtt($$lpar) and/or
1394   - $mtt($$rpar) if you want to introduce unbalanced parentheses within an operand of a mark.
  1454 + $mtt($$rpar) (or alternatively $mtt($$$() and $mtt($$$))) if you want to introduce unbalanced parentheses
  1455 + within an operand of a mark.
1395 1456  
1396   - $mark0(macrosonly)
1397   - This mark disables the use of all primitive marks until the end of the document, except for the marks
1398   - $mtt($$alphabetic), $mtt($$colorize), $mtt($$define), $mtt($$if) and $mtt($$undefine). Hence, after $mtt($$macrosonly),
1399   - only the
1400   - macros and the marks listed above are allowed. This can be used for securing the usage of $MAML by web users. See
1401   - $ref(guidelinesweb)(the guidelines for the web).
1402   -
1403 1457 $mark2(mailto)(address)(text) This marks, which appears as $argu(text),
1404 1458 creates a link which is supposed, in the HTML case, to open your mail agent in order to let you
1405 1459 send an email to the indicated $argu(address). In the PDF case, the $argu(address) is just indicated between parentheses
... ... @@ -1412,6 +1466,15 @@ otherwise we shall have one column too many.
1412 1466 This mark inhibits the recognition of the square brackets and the comma as list delimitors within $argu(text). See
1413 1467 $ref(lists)(Lists).
1414 1468  
  1469 + $mark0(noprimitive)
  1470 + This mark disables the use of all primitive marks until the end of the document, except for the marks
  1471 + $mtt($$alphabetic), $mtt($$colorize), $mtt($$define), $mtt($$if) and $mtt($$undefine). Hence, after $mtt($$noprimitive),
  1472 + only the
  1473 + macros, the marks listed above and the marks coming from a library via
  1474 + $mtt($$loadadm) are allowed. This can be used for securing the usage of $MAML by web users,
  1475 + since the macros you define before $mtt($$noprimitive) can filter their operands. See
  1476 + $ref(guidelinesweb)(the guidelines for the web).
  1477 +
1415 1478 $mark1(note)(text) This mark produces a footnote containing $argu(text).
1416 1479 In the case of $LaTeX/PDF this is a usual
1417 1480 footnote.$ifpdf($note(Like this one.)) In the case of HTML, this is a popup which appears at the bottom of the browser's window when the mouse
... ... @@ -1474,7 +1537,8 @@ otherwise we shall have one column too many.
1474 1537 See also $ref(colors)(the predefined colors).
1475 1538  
1476 1539 $mark0(rpar) This mark inserts a right (closing) parenthese into the text. You must use $mtt($$lpar) and/or
1477   - $mtt($$rpar) if you want to introduce unbalanced parentheses within an operand of a mark.
  1540 + $mtt($$rpar) (or alternatively $mtt($$$() and $mtt($$$))) if you want to introduce unbalanced parentheses within
  1541 + an operand of a mark.
1478 1542  
1479 1543 $mark2(setcounter)(name)(value)
1480 1544 This mark puts the value $argu(value) in the most recent counter whose name is $argu(name). See $ref(counters)(Counters).
... ...
anubis_dev/library/doc_tools/maml4_tutorial.maml.html
... ... @@ -168,11 +168,11 @@ remains (partly because it&#39;s funny when pronounced in French and English).
168 168  
169 169 <br><br>
170 170 <center><table style="color: inherit; font-size: inherit;"><tr><td><strong>Table of Contents</strong></td></tr></table></center><br>
171   -<a rel="tag" href="#howto"><br><strong>1. How to use <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong></strong><br></a><a rel="tag" href="#ascmdlinetool"><div align="left" style="display: inline-block; width: 20px;"></div>1.1. As a command line tool<br></a><a rel="tag" href="#fromyoursource"><div align="left" style="display: inline-block; width: 20px;"></div>1.2. From within your Anubis source code<br></a><a rel="tag" href="#aswebuser"><div align="left" style="display: inline-block; width: 20px;"></div>1.3. As a web user<br></a><a rel="tag" href="#syntax"><br><strong>2. The <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> syntax</strong><br></a><a rel="tag" href="#beginend"><div align="left" style="display: inline-block; width: 20px;"></div>2.1. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span> and special characters<br></a><a rel="tag" href="#syntaxmark"><div align="left" style="display: inline-block; width: 20px;"></div>2.2. Marks<br></a><a rel="tag" href="#linecomments"><div align="left" style="display: inline-block; width: 20px;"></div>2.3. Line comments<br></a><a rel="tag" href="#balanced"><div align="left" style="display: inline-block; width: 20px;"></div>2.4. Parentheses must be balanced<br></a><a rel="tag" href="#marknamedelim"><div align="left" style="display: inline-block; width: 20px;"></div>2.5. How mark names are delimited<br></a><a rel="tag" href="#definingmarks"><div align="left" style="display: inline-block; width: 20px;"></div>2.6. Defining new marks with <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span><br></a><a rel="tag" href="#style"><br><strong>3. Be stylish</strong><br></a><a rel="tag" href="#basismaml"><div align="left" style="display: inline-block; width: 20px;"></div>3.1. The file <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div><br></a><a rel="tag" href="#styleexample"><div align="left" style="display: inline-block; width: 20px;"></div>3.2. An example<br></a><a rel="tag" href="#inputstyle"><div align="left" style="display: inline-block; width: 20px;"></div>3.3. Inputting a style file<br></a><a rel="tag" href="#tools"><br><strong>4. Basic tools</strong><br></a><a rel="tag" href="#arithmetics"><div align="left" style="display: inline-block; width: 20px;"></div>4.1. Elementary arithmetics<br></a><a rel="tag" href="#booleans"><div align="left" style="display: inline-block; width: 20px;"></div>4.2. Booleans and control<br></a><a rel="tag" href="#counters"><div align="left" style="display: inline-block; width: 20px;"></div>4.3. Counters<br></a><a rel="tag" href="#lists"><div align="left" style="display: inline-block; width: 20px;"></div>4.4. Lists<br></a><a rel="tag" href="#loadadm"><div align="left" style="display: inline-block; width: 20px;"></div>4.5. Loading a library of Anubis functions<br></a><a rel="tag" href="#colorize"><br><strong>5. Automatic colorization</strong><br></a><a rel="tag" href="#createcolorizer"><div align="left" style="display: inline-block; width: 20px;"></div>5.1. Creating a colorizer<br></a><a rel="tag" href="#mycolorizer"><div align="left" style="display: inline-block; width: 20px;"></div>5.2. A colorizer example<br></a><a rel="tag" href="#colorizerprecedence"><div align="left" style="display: inline-block; width: 20px;"></div>5.3. Primitive marks and colorizers<br></a><a rel="tag" href="#severalcolorizers"><div align="left" style="display: inline-block; width: 20px;"></div>5.4. Using several colorizers together<br></a><a rel="tag" href="#colorizercall"><div align="left" style="display: inline-block; width: 20px;"></div>5.5. Calling a colorizer from within a colorizer<br></a><a rel="tag" href="#colorcallexample"><div align="left" style="display: inline-block; width: 20px;"></div>5.6. A colorizer call example<br></a><a rel="tag" href="#noncolor"><div align="left" style="display: inline-block; width: 20px;"></div>5.7. A non colorizing example.<br></a><a rel="tag" href="#tips"><br><strong>6. Tips and tricks</strong><br></a><a rel="tag" href="#guidelinesweb"><div align="left" style="display: inline-block; width: 20px;"></div>6.1. Guidelines for using <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> on the web<br></a><a rel="tag" href="#commonerrors"><div align="left" style="display: inline-block; width: 20px;"></div>6.2. Common errors<br></a><a rel="tag" href="#toolsbasis"><br><strong>7. Tools available in <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div></strong><br></a><a rel="tag" href="#colors"><div align="left" style="display: inline-block; width: 20px;"></div>7.1. Colors<br></a><a rel="tag" href="#stylearticle"><div align="left" style="display: inline-block; width: 20px;"></div>7.2. The style <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">article</span><br></a><a rel="tag" href="#_"></a><a rel="tag" href="#_"></a><a rel="tag" href="#book"><div align="left" style="display: inline-block; width: 20px;"></div>7.3. The style <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">book</span><br></a><a rel="tag" href="#catalog"><br><strong>8. The catalog of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks</strong><br></a>
  171 +<a rel="tag" href="#howto"><br><strong>1. How to use <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong></strong><br></a><a rel="tag" href="#ascmdlinetool"><div align="left" style="display: inline-block; width: 20px;"></div>1.1. As a command line tool<br></a><a rel="tag" href="#fromyoursource"><div align="left" style="display: inline-block; width: 20px;"></div>1.2. From within your Anubis source code<br></a><a rel="tag" href="#aswebuser"><div align="left" style="display: inline-block; width: 20px;"></div>1.3. As a web user<br></a><a rel="tag" href="#syntax"><br><strong>2. The <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> syntax</strong><br></a><a rel="tag" href="#beginend"><div align="left" style="display: inline-block; width: 20px;"></div>2.1. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span> and special characters<br></a><a rel="tag" href="#syntaxmark"><div align="left" style="display: inline-block; width: 20px;"></div>2.2. Marks<br></a><a rel="tag" href="#linecomments"><div align="left" style="display: inline-block; width: 20px;"></div>2.3. Line comments<br></a><a rel="tag" href="#balanced"><div align="left" style="display: inline-block; width: 20px;"></div>2.4. Parentheses must be balanced<br></a><a rel="tag" href="#marknamedelim"><div align="left" style="display: inline-block; width: 20px;"></div>2.5. How mark names are delimited<br></a><a rel="tag" href="#definingmarks"><div align="left" style="display: inline-block; width: 20px;"></div>2.6. Defining new marks with <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span><br></a><a rel="tag" href="#definewithindefine"><div align="left" style="display: inline-block; width: 20px;"></div>2.7. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> within <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span><br></a><a rel="tag" href="#memorymarks"><div align="left" style="display: inline-block; width: 20px;"></div>2.8. Marks remember their birth environment<br></a><a rel="tag" href="#style"><br><strong>3. Be stylish</strong><br></a><a rel="tag" href="#basismaml"><div align="left" style="display: inline-block; width: 20px;"></div>3.1. The file <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div><br></a><a rel="tag" href="#styleexample"><div align="left" style="display: inline-block; width: 20px;"></div>3.2. An example<br></a><a rel="tag" href="#inputstyle"><div align="left" style="display: inline-block; width: 20px;"></div>3.3. Inputting a style file<br></a><a rel="tag" href="#tools"><br><strong>4. Basic tools</strong><br></a><a rel="tag" href="#arithmetics"><div align="left" style="display: inline-block; width: 20px;"></div>4.1. Elementary arithmetics<br></a><a rel="tag" href="#booleans"><div align="left" style="display: inline-block; width: 20px;"></div>4.2. Booleans and control<br></a><a rel="tag" href="#counters"><div align="left" style="display: inline-block; width: 20px;"></div>4.3. Counters<br></a><a rel="tag" href="#lists"><div align="left" style="display: inline-block; width: 20px;"></div>4.4. Lists<br></a><a rel="tag" href="#loadadm"><div align="left" style="display: inline-block; width: 20px;"></div>4.5. Loading a library of Anubis functions<br></a><a rel="tag" href="#colorize"><br><strong>5. Automatic colorization</strong><br></a><a rel="tag" href="#createcolorizer"><div align="left" style="display: inline-block; width: 20px;"></div>5.1. Creating a colorizer<br></a><a rel="tag" href="#mycolorizer"><div align="left" style="display: inline-block; width: 20px;"></div>5.2. A colorizer example<br></a><a rel="tag" href="#colorizerprecedence"><div align="left" style="display: inline-block; width: 20px;"></div>5.3. Primitive marks and colorizers<br></a><a rel="tag" href="#severalcolorizers"><div align="left" style="display: inline-block; width: 20px;"></div>5.4. Using several colorizers together<br></a><a rel="tag" href="#colorizercall"><div align="left" style="display: inline-block; width: 20px;"></div>5.5. Calling a colorizer from within a colorizer<br></a><a rel="tag" href="#colorcallexample"><div align="left" style="display: inline-block; width: 20px;"></div>5.6. A colorizer call example<br></a><a rel="tag" href="#noncolor"><div align="left" style="display: inline-block; width: 20px;"></div>5.7. A non colorizing example.<br></a><a rel="tag" href="#tips"><br><strong>6. Tips and tricks</strong><br></a><a rel="tag" href="#guidelinesweb"><div align="left" style="display: inline-block; width: 20px;"></div>6.1. Guidelines for using <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> on the web<br></a><a rel="tag" href="#commonerrors"><div align="left" style="display: inline-block; width: 20px;"></div>6.2. Common errors<br></a><a rel="tag" href="#toolsbasis"><br><strong>7. Tools available in <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div></strong><br></a><a rel="tag" href="#colors"><div align="left" style="display: inline-block; width: 20px;"></div>7.1. Colors<br></a><a rel="tag" href="#stylearticle"><div align="left" style="display: inline-block; width: 20px;"></div>7.2. The style <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">article</span><br></a><a rel="tag" href="#_"></a><a rel="tag" href="#_"></a><a rel="tag" href="#book"><div align="left" style="display: inline-block; width: 20px;"></div>7.3. The style <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">book</span><br></a><a rel="tag" href="#catalog"><br><strong>8. The catalog of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks</strong><br></a>
172 172  
173 173  
174 174  
175   -<a id="howto"></a><br><big><big><strong>1. How to use <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong></strong></big></big><br><br>
  175 +<a id="howto"></a><br><br><big><big><strong>1. How to use <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong></strong></big></big><br><br>
176 176  
177 177 <a id="ascmdlinetool"></a><br><big><strong>1.1. As a command line tool</strong></big><br><br>
178 178  
... ... @@ -211,7 +211,7 @@ marks is restricted for ensuring the security of the web server.&lt;br&gt;&lt;br&gt;
211 211  
212 212  
213 213  
214   -<a id="syntax"></a><br><big><big><strong>2. The <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> syntax</strong></big></big><br><br>
  214 +<a id="syntax"></a><br><br><big><big><strong>2. The <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> syntax</strong></big></big><br><br>
215 215  
216 216 <a id="beginend"></a><br><big><strong>2.1. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span> and special characters</strong></big><br><br>
217 217  
... ... @@ -361,8 +361,53 @@ to define these other macros conditionally, i.e. as follows:
361 361 that is that you provide a <em>default</em> definition, but only in case your user did not define <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>. Of course, this
362 362 implies that your user must define <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div> <em>before</em> writing <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;your style file&gt;</span></strong></div>)</span>.<br><br>
363 363  
  364 +<a id="definewithindefine"></a><br><big><strong>2.7. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> within <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span></strong></big><br><br>
  365 +
  366 +You may wonder what happens if we write something like:
  367 +<pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(m<div style="display: inline; color: rgb(160,082,045)">1</div>)(<div style="display: inline; color: rgb(160,082,045)">1</div>)( ... <strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(m<div style="display: inline; color: rgb(160,082,045)">2</div>)(<div style="display: inline; color: rgb(160,082,045)">1</div>)(... <div style="display: inline; color: rgb(255,000,255)">$1</div> ...) ... )<br><br></pre>
  368 +Does this <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$1</div></span> represent the operand of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">m<div style="display: inline; color: rgb(160,082,045)">1</div></span> or the operand of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">m<div style="display: inline; color: rgb(160,082,045)">2</div></span>&nbsp;?<br><br>
  369 +
  370 +The answer is that it represents
  371 +the operand of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">m<div style="display: inline; color: rgb(160,082,045)">1</div></span> and that the operand of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">m<div style="display: inline; color: rgb(160,082,045)">2</div></span> is represented by <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$2</div></span>. More generally, if we have a
  372 +<span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> within a <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>, the names of the variables of the second (inner) <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> are <em>shifted</em> by the
  373 +number of variables of the first (outer) <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>. As another example, in
  374 +<pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(m<div style="display: inline; color: rgb(160,082,045)">1</div>)(<div style="display: inline; color: rgb(160,082,045)">2</div>)
  375 + (<div style="display: inline; background-color: rgb(255,182,193); "> <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 1&gt;</span></strong></div> $define(m2)(4)
  376 + (<div style="display: inline; background-color: rgb(255,255,000); "> <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 2&gt;</span></strong></div> $define(m3)(3)
  377 + (<div style="display: inline; background-color: rgb(190,210,210); "> <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 3&gt;</span></strong></div> </div>)
  378 + <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 2&gt;</span></strong></div> </div>)
  379 + <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 1&gt;</span></strong></div> </div>)<br><br></pre>
  380 +the valid variables are:
  381 +<span><ul>
  382 + <li> <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$1</div></span> to <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$2</div></span> in <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 1&gt;</span></strong></div>
  383 + <li> <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$1</div></span> to <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$6</div></span> in <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 2&gt;</span></strong></div>
  384 + <li> <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$1</div></span> to <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(255,000,255)">$9</div></span> in <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;zone 3&gt;</span></strong></div>
  385 +</ul></span>
  386 +In other words, the variables of an inner <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> do not hide the variables of an outer <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>.<br><br>
  387 +
  388 +As an example, consider the following <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> code:
  389 +<pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>()()(<strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>()()())<br><br></pre>
  390 +
  391 +
  392 +
  393 +<a id="memorymarks"></a><br><big><strong>2.8. Marks remember their birth environment</strong></big><br><br>
  394 +
  395 +When you define a new mark with <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>, you can include in the body of the definition a reference to a counter or to
  396 +an accumulator. For example, you can write:
  397 +<pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$pushcounter</div></strong>(n)(<div style="display: inline; color: rgb(160,082,045)">0</div>)
  398 +<strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(count)(<div style="display: inline; color: rgb(160,082,045)">0</div>)(<strong><div style="display: inline; color: rgb(110,000,000)">$addtocounter</div></strong>(n)(<div style="display: inline; color: rgb(160,082,045)">1</div>)<strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong>(n))<br><br></pre>
  399 +
  400 +
  401 +Then if you write <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$count</div></strong> <strong><div style="display: inline; color: rgb(110,000,000)">$count</div></strong> <strong><div style="display: inline; color: rgb(110,000,000)">$count</div></strong></span>, you get <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(160,082,045)">1</div> <div style="display: inline; color: rgb(160,082,045)">2</div> <div style="display: inline; color: rgb(160,082,045)">3</div></span>.<br><br>
  402 +
  403 +Now, what if you write <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$count</div></strong> <strong><div style="display: inline; color: rgb(110,000,000)">$count</div></strong> <strong><div style="display: inline; color: rgb(110,000,000)">$pushcounter</div></strong>(n)(<div style="display: inline; color: rgb(160,082,045)">7</div>)<strong><div style="display: inline; color: rgb(110,000,000)">$count</div></strong></span>&nbsp;?
  404 +
  405 +4 5 18
  406 +
  407 +
  408 +<br><br>
364 409  
365   -<a id="style"></a><br><big><big><strong>3. Be stylish</strong></big></big><br><br>
  410 +<a id="style"></a><br><br><big><big><strong>3. Be stylish</strong></big></big><br><br>
366 411  
367 412 The primitive <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks are rather basic, and should preferably be used for creating macros.
368 413 In other words, it's better to first define (using the <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> mark) the concepts you will use in your
... ... @@ -400,7 +445,7 @@ of your source file. Notice that the input file also needs to contain a &lt;span st
400 445  
401 446  
402 447 <br><br>
403   -<a id="tools"></a><br><big><big><strong>4. Basic tools</strong></big></big><br><br>
  448 +<a id="tools"></a><br><br><big><big><strong>4. Basic tools</strong></big></big><br><br>
404 449  
405 450 <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> is <em>not a programming language</em>. It is a <em>document formatting language</em>. Nevertheless, it provides some
406 451 programming capabilities, but only those which are (to our opinion) required for the needs of the layout of the
... ... @@ -619,7 +664,7 @@ in &lt;div style=&quot;display: inline; color: rgb(0,80,50)&quot;&gt;&lt;span style=&quot;font-family:&#39;L
619 664  
620 665  
621 666  
622   -<a id="colorize"></a><br><big><big><strong>5. Automatic colorization</strong></big></big><br><br>
  667 +<a id="colorize"></a><br><br><big><big><strong>5. Automatic colorization</strong></big></big><br><br>
623 668  
624 669 <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> has a simple system for automatic colorization of texts. Within a <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> source text,
625 670 you can define one or several colorizers, and later apply them at will. Actually, by <em>colorization</em> we mean
... ... @@ -951,13 +996,13 @@ and &lt;span style=&quot;font-family:&#39;Lucida Console&#39;, monospace; font-size:inherit; fon
951 996 <br>
952 997 This last manipulation makes even more obvious the fact that we actually got our table in the form of
953 998 a list of lists.
  999 +<br><br>
954 1000  
955 1001  
956 1002  
957 1003  
958 1004  
959   -
960   -<a id="tips"></a><br><big><big><strong>6. Tips and tricks</strong></big></big><br><br>
  1005 +<a id="tips"></a><br><br><big><big><strong>6. Tips and tricks</strong></big></big><br><br>
961 1006  
962 1007 If your text needs to display some computer code, it can be the case (depending on the programming language)
963 1008 that this code uses dollar characters. This is the case of Anubis for example, since dollars are used by
... ... @@ -990,13 +1035,18 @@ or put viruses on your server by using &lt;span style=&quot;font-family:&#39;Lucida Console&#39;
990 1035  
991 1036 This is the reason why the incoming text must be wrapped into another <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> text before being submitted to the <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong>
992 1037 compiler. We have adopted a very simple and flexible way of insuring your web server security as far as <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> is
993   -concerned. Indeed, we have the primitive mark <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$macrosonly</div></strong></span> which forbids the direct use of a primitive mark
994   -(except a small number of them which are not dangerous) for
995   -the rest of the text. Hence, if you append <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$macrosonly</div></strong></span> in front of the incomming text, any call to a primitive in
996   -this text is rejected.<br><br>
997   -
998   -Nevertheless, <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> can't do much without using primitives, but it will use them only though the macros you define
999   -yourself in the preambule of the wrapper text, and of course before <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$macrosonly</div></strong></span>, otherwise your macros
  1038 +concerned. Indeed, we have the primitive mark <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span> which forbids the direct use of a primitive mark
  1039 +(except <a rel="tag" href="#noprimitive">a small number of them</a> which are not dangerous) for
  1040 +the rest of the text. Hence, if you append <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span> in front of the incomming text, any call to a primitive in
  1041 +this text is rejected. Notice that the marks comming from a library loaded by <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$loadadm</div></strong></span> are still allowed
  1042 +after <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span>, so that you should not load any library containing some dangerous stuff. If you want to
  1043 +forbid the marks from the libraries as well, use <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nolibrary</div></strong></span>. The marks comming from the libraries can then only
  1044 +be used through your macros, just as what happens for primitives.<br><br>
  1045 +
  1046 +Nevertheless, <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> can't do much without using primitives (and possibly library marks),
  1047 +but it will use them only though the macros you define
  1048 +yourself in the preambule of the wrapper text, and of course before <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nolibrary</div></strong></span>,
  1049 +otherwise your macros
1000 1050 could not do much. Now, its up to you to define the
1001 1051 macros your web users are allowed to write down. Depending on how you do that, your server is more or less in danger.
1002 1052 For example if you define:
... ... @@ -1029,7 +1079,8 @@ set already defined in &lt;div style=&quot;display: inline; color: rgb(0,80,50)&quot;&gt;&lt;span s
1029 1079  
1030 1080 <a id="commonerrors"></a><br><big><strong>6.2. Common errors</strong></big><br><br>
1031 1081  
1032   -Below are most of the errors the author made himself during the writting of this tutorial.
  1082 +Below are most of the errors the author made himself during the writting of this tutorial, plus some errors he did not
  1083 +make but which are likely to happen.
1033 1084 <span><ul>
1034 1085  
1035 1086 <li> Thinking that <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tbgc</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$_red</div></strong>)(<strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong>(<div style="display: inline; color: rgb(160,082,045)">100</div>)())</span> produces a red rectangle of the given width
... ... @@ -1042,11 +1093,13 @@ Below are most of the errors the author made himself during the writting of this
1042 1093 character (or the contrary).<br><br>
1043 1094  
1044 1095 <li> Writing <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">#$//.*</span> instead of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">#$#/#/.*</span> as a regular expression in order to colorize <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> line comments.
1045   - Of course, the first form <em>is seen</em> as the beginning of a line comment, and the final result is quite surprising.
  1096 + Of course, the first form <em>is seen</em> as the beginning of a line comment, and the final result is quite surprising.<br><br>
  1097 +
  1098 + <li> Forgetting to shift variable names in case of a <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span> within a <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>.
1046 1099 </ul></span>
1047 1100  
1048 1101  
1049   -<a id="toolsbasis"></a><br><big><big><strong>7. Tools available in <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div></strong></big></big><br><br>
  1102 +<a id="toolsbasis"></a><br><br><big><big><strong>7. Tools available in <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div></strong></big></big><br><br>
1050 1103  
1051 1104 This <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> file provides some tools of common usage. In order to use these tools, you must write
1052 1105 <center><table style="color: inherit; font-size: inherit;"><tr><td><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong>(basis.maml)</span></td></tr></table></center><br>
... ... @@ -1124,7 +1177,7 @@ equivalent to &lt;span style=&quot;font-family:&#39;Lucida Console&#39;, monospace; font-size:in
1124 1177 This <em>style</em> provides definitions for the marks <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$section</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$subsection</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$subsubsection</div></strong></span> (which
1125 1178 are not primitive marks), and also defines a mark <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tableofcontents</div></strong></span>.<br><br>
1126 1179  
1127   -<a id="_"></a><br><strong>7.2.1. How to use it</strong><br>
  1180 +<a id="_"></a><br><strong>7.2.1. How to use it</strong><br><br>
1128 1181  
1129 1182 In order to use this style, you must write:<br><br>
1130 1183 <center><table style="color: inherit; font-size: inherit;"><tr><td><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(article)(<div style="display: inline; color: rgb(160,082,045)">0</div>)()</span></td></tr></table></center><br>
... ... @@ -1142,7 +1195,7 @@ The mark
1142 1195 <a rel="tag" href="#postpone"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong></span></a>,
1143 1196 so that it provides a complete table of contents regardless of its position in your source text.<br><br>
1144 1197  
1145   -<a id="_"></a><br><strong>7.2.2. Customizing <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">article</span></strong><br>
  1198 +<a id="_"></a><br><strong>7.2.2. Customizing <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">article</span></strong><br><br>
1146 1199  
1147 1200 The lines of the table of contents are displayed by the marks <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tocsec</div></strong></span>,
1148 1201 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tocsubsec</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tocsubsubsec</div></strong></span>. If you are not satisfied with the layout provided by these marks, you can
... ... @@ -1165,17 +1218,18 @@ This style is the same as article, except that it also has a notion of chapter.
1165 1218  
1166 1219  
1167 1220  
1168   -<a id="catalog"></a><br><big><big><strong>8. The catalog of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks</strong></big></big><br><br>
  1221 +<a id="catalog"></a><br><br><big><big><strong>8. The catalog of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks</strong></big></big><br><br>
1169 1222  
1170   -Below is a description of the 63 primitive <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks.<br><br>
  1223 +Below is a description of the 64 primitive <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks.<br><br>
1171 1224  
  1225 +
1172 1226  
1173 1227  
1174   -<center><table style="color: inherit; font-size: inherit;"><tr><td><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#accumulator"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$accumulator</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#define"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#list"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#rpar"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#addtocounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$addtocounter</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#defined"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$defined</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#loadadm"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$loadadm</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#setcounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$setcounter</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#append"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#end"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#lpar"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sort"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sort</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#apply"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$apply</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#equals"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$equals</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#macrosonly"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$macrosonly</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sp"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sp</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#begin"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#false"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$false</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#mailto"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$mailto</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sub"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sub</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#big"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#groupby"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$groupby</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#nolist"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nolist</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sublist"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sublist</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#bold"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$bold</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#if"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$if</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#note"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$note</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sup"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sup</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#box"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#ifhtml"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifhtml</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#nth"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nth</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#tbgc"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tbgc</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#center"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$center</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#ifpdf"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifpdf</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#output"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$output</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#thisfilepath"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$thisfilepath</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#code"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#image"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$image</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#par"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#tlink"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tlink</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorize"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorize</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#input"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#popcounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$popcounter</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#transpose"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$transpose</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorizer"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizer</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#italic"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$italic</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#postpone"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#true"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$true</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorizercall"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizercall</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#item"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$item</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#pushcounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$pushcounter</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#tt"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tt</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorrule"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorrule</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#label"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$label</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#ref"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ref</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#undefine"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#content"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#latex"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#reverse"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$reverse</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#verbatim"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$verbatim</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#countervalue"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#length"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$length</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#rgb"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rgb</div></strong></span></a></div><br></td></tr></table></center>
  1228 +<center><table style="color: inherit; font-size: inherit;"><tr><td><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#accumulator"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$accumulator</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#define"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#length"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$length</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#rgb"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rgb</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#addtocounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$addtocounter</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#defined"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$defined</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#list"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#rpar"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#append"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#end"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#loadadm"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$loadadm</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#setcounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$setcounter</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#apply"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$apply</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#equals"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$equals</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#lpar"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sort"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sort</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#begin"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#error"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$error</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#mailto"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$mailto</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sp"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sp</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#big"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#false"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$false</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#nolist"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nolist</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sub"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sub</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#bold"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$bold</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#groupby"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$groupby</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#noprimitive"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sublist"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sublist</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#box"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#if"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$if</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#note"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$note</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#sup"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sup</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#center"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$center</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#ifhtml"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifhtml</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#nth"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nth</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#tbgc"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tbgc</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#code"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#ifpdf"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifpdf</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#output"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$output</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#thisfilepath"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$thisfilepath</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorize"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorize</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#image"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$image</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#par"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#tlink"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tlink</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorizer"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizer</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#input"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#popcounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$popcounter</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#transpose"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$transpose</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorizercall"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizercall</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#italic"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$italic</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#postpone"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#true"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$true</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#colorrule"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorrule</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#item"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$item</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#pushcounter"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$pushcounter</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#tt"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tt</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#content"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#label"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$label</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#ref"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ref</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#undefine"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong></span></a></div><br><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#countervalue"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#latex"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#reverse"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$reverse</div></strong></span></a></div><div align="left" style="display: inline-block; width: 130px;"><a rel="tag" href="#verbatim"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$verbatim</div></strong></span></a></div><br></td></tr></table></center>
1175 1229  
1176 1230  
1177 1231  
1178   - <a id="accumulator"></a><br><br><strong>8.1. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$accumulator</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br>
  1232 + <a id="accumulator"></a><br><br><strong>8.1. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$accumulator</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br>
1179 1233 This mark creates a <em>variable</em> named <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div> called an <em>accumulator</em>.
1180 1234 The content of an accumulator is always a list, and this list is empty when the accumulator is created. With the mark
1181 1235 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span>, you can add content to the accumulator. Each use of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span> adds an element to the end of the list
... ... @@ -1207,16 +1261,16 @@ Below is a description of the 63 primitive &lt;strong&gt;&lt;div style=&quot;display: inline;
1207 1261 tables of content and indexes.
1208 1262 See also <a rel="tag" href="#append"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span></a> and <a rel="tag" href="#content"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong></span></a>.
1209 1263  
1210   - <a id="addtocounter"></a><br><br><strong>8.2. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$addtocounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div>)</span></div></strong><br><br>
  1264 + <a id="addtocounter"></a><br><br><strong>8.2. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$addtocounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div>)</span></strong><br><br>
1211 1265 This marks adds <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div> to the most recent instance of the counter whose name is <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>.
1212 1266  
1213   - <a id="append"></a><br><br><strong>8.3. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br>
  1267 + <a id="append"></a><br><br><strong>8.3. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br>
1214 1268 This mark appends <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> at the end of the content of the <a rel="tag" href="#accumulator">accumulator</a> <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>. More
1215 1269 precisely, since the content of an accumulator is a list, the new content of the accumulator is the list obtained
1216 1270 by adding <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> as the last element of this list.
1217 1271 See also <a rel="tag" href="#accumulator"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$accumulator</div></strong></span></a> and <a rel="tag" href="#content"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong></span></a>.
1218 1272  
1219   - <a id="apply"></a><br><br><strong>8.4. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$apply</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1273 + <a id="apply"></a><br><br><strong>8.4. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$apply</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1220 1274 This mark applies the macro whose name is <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div> to all elements of the list <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>. This creates a new list
1221 1275 of the same length. If <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div> is not a list, the result is the same as if it was a one element list.<br><br>
1222 1276  
... ... @@ -1243,7 +1297,7 @@ abcd&lt;br&gt;
1243 1297 See also <a rel="tag" href="#box"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong></span></a> for a more sophisticated example.
1244 1298  
1245 1299  
1246   - <a id="begin"></a><br><br><strong>8.5. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span></div></strong><br><br> This mark is looked for by <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> before it parses anything (even within a file refered to by
  1300 + <a id="begin"></a><br><br><strong>8.5. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span></strong><br><br> This mark is looked for by <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> before it parses anything (even within a file refered to by
1247 1301 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong></span>). When <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span> is found, <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> parses the text until it
1248 1302 encounters the mark <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span>. After this mark, <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> continues ignoring everything until the next <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span>,
1249 1303 etc... <br><br>
... ... @@ -1253,7 +1307,7 @@ abcd&lt;br&gt;
1253 1307 ... your comment ...
1254 1308 <strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong><br><br></pre>
1255 1309  
1256   - <a id="big"></a><br><br><strong>8.6. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> Prints its operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> bigger. This mark can be nested. For example,
  1310 + <a id="big"></a><br><br><strong>8.6. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> Prints its operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> bigger. This mark can be nested. For example,
1257 1311 <span><ul>
1258 1312 <li> <div align="left" style="display: inline-block; width: 200px;"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong>(text)</span></div> produces <big>text</big>
1259 1313 <li> <div align="left" style="display: inline-block; width: 200px;"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong>(text))</span></div> produces <big><big>text</big></big>
... ... @@ -1261,9 +1315,9 @@ abcd&lt;br&gt;
1261 1315 </ul></span>
1262 1316  
1263 1317  
1264   - <a id="bold"></a><br><br><strong>8.7. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$bold</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> The operand is rendered in <strong>bold</strong>.
  1318 + <a id="bold"></a><br><br><strong>8.7. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$bold</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> The operand is rendered in <strong>bold</strong>.
1265 1319  
1266   - <a id="box"></a><br><br><strong>8.8. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark puts <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> into an invisible box of width <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div>. The text is left aligned
  1320 + <a id="box"></a><br><br><strong>8.8. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark puts <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> into an invisible box of width <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div>. The text is left aligned
1267 1321 within the box. This mark can be used for simulating tabulators. For example,
1268 1322 <pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(tableline)(<div style="display: inline; color: rgb(160,082,045)">4</div>)(<strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong>(<div style="display: inline; color: rgb(160,082,045)">50</div>)(<div style="display: inline; color: rgb(255,000,255)">$1</div>) <strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong>(<div style="display: inline; color: rgb(160,082,045)">50</div>)(<div style="display: inline; color: rgb(255,000,255)">$2</div>) <strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong>(<div style="display: inline; color: rgb(160,082,045)">30</div>)(<strong><div style="display: inline; color: rgb(110,000,000)">$red</div></strong>(<div style="display: inline; color: rgb(255,000,255)">$3</div>)) <div style="display: inline; color: rgb(255,000,255)">$4</div> <strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong>)
1269 1323  
... ... @@ -1317,11 +1371,11 @@ abcd&lt;br&gt;
1317 1371 The macro <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$pajamatable</div></strong></span> defined in <div style="display: inline; color: rgb(0,80,50)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">basis.maml</span></div> realises such a table and accepts the data in the form of a
1318 1372 list of lists.
1319 1373  
1320   - <a id="center"></a><br><br><strong>8.9. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$center</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark horizontally centers the <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> in the page. For example,
  1374 + <a id="center"></a><br><br><strong>8.9. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$center</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark horizontally centers the <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> in the page. For example,
1321 1375 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$center</div></strong>(centered text)</span> produces:<br>
1322 1376 <br><center><table style="color: inherit; font-size: inherit;"><tr><td>centered text</td></tr></table></center><br>
1323 1377  
1324   - <a id="code"></a><br><br><strong>8.10. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;background color&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This marks is for writing computer code.
  1378 + <a id="code"></a><br><br><strong>8.10. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;background color&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This marks is for writing computer code.
1325 1379 The <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> operand is formated using a fixed width
1326 1380 (typewriter) font, spaces and newlines are taken into account, so that the result has essentially the same layout as the
1327 1381 original. Nevertheless, <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks are allowed within <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>, but some of them, such as <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong></span>,
... ... @@ -1357,19 +1411,19 @@ define Int
1357 1411 <br><br>
1358 1412 See also <a rel="tag" href="#tt"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tt</div></strong>(...)</span></a> and <a rel="tag" href="#verbatim"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$verbatim</div></strong>(...)</span></a>
1359 1413  
1360   - <a id="colorize"></a><br><br><strong>8.11. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorize</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
1361   - <a id="colorizer"></a><br><br><strong>8.12. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizer</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
1362   - <a id="colorizercall"></a><br><br><strong>8.13. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizercall</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;regexpr&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;regexpr&gt;</span></strong></div>)</span></div></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
1363   - <a id="colorrule"></a><br><br><strong>8.14. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorrule</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;regexpr&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
  1414 + <a id="colorize"></a><br><br><strong>8.11. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorize</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
  1415 + <a id="colorizer"></a><br><br><strong>8.12. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizer</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
  1416 + <a id="colorizercall"></a><br><br><strong>8.13. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorizercall</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;regexpr&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;regexpr&gt;</span></strong></div>)</span></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
  1417 + <a id="colorrule"></a><br><br><strong>8.14. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorrule</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;regexpr&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> See <a rel="tag" href="#colorize">Automatic colorization</a>.
1364 1418  
1365   - <a id="content"></a><br><br><strong>8.15. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br>
  1419 + <a id="content"></a><br><br><strong>8.15. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br>
1366 1420 The value of this mark is the content of the <a rel="tag" href="#accumulator">accumulator</a> <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>. Recall that this content
1367 1421 is a list. See also <a rel="tag" href="#accumulator"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$accumulator</div></strong></span></a> and <a rel="tag" href="#append"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span></a>.
1368 1422  
1369   - <a id="countervalue"></a><br><br><strong>8.16. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br>
  1423 + <a id="countervalue"></a><br><br><strong>8.16. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br>
1370 1424 This mark produces the value of the counter <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div> in decimal notation. See <a rel="tag" href="#counters">Counters</a>.
1371 1425  
1372   - <a id="define"></a><br><br><strong>8.17. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;number of operands&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div>)</span></div></strong><br><br>
  1426 + <a id="define"></a><br><br><strong>8.17. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;number of operands&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div>)</span></strong><br><br>
1373 1427 This mark let you define new marks (i.e. <em>macros</em>). It takes three operands. The first operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>
1374 1428 is the name of the new mark. If it is
1375 1429 already in use, the new definition masks the previous one until you use an <a rel="tag" href="#undefine"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></a>.
... ... @@ -1385,20 +1439,27 @@ define Int
1385 1439 see <a rel="tag" href="#undefine"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong></span></a> where more explanations are given on the behavior of <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>.
1386 1440  
1387 1441  
1388   - <a id="defined"></a><br><br><strong>8.18. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$defined</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br>
  1442 + <a id="defined"></a><br><br><strong>8.18. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$defined</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br>
1389 1443 This mark has a boolean value which is <em>true</em> if a macro is defined with name <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div> and <em>false</em>
1390 1444 otherwise.
1391 1445  
1392   - <a id="end"></a><br><br><strong>8.19. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span></div></strong><br><br> This mark indicates that the <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> compiler should stop parsing until the next <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span> (or the end
  1446 + <a id="end"></a><br><br><strong>8.19. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span></strong><br><br> This mark indicates that the <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> compiler should stop parsing until the next <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span> (or the end
1393 1447 of file). See <a rel="tag" href="#begin"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span></a>.
1394 1448  
1395   - <a id="equals"></a><br><br><strong>8.20. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$equals</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 1&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 2&gt;</span></strong></div>)</span></div></strong><br><br>
  1449 + <a id="equals"></a><br><br><strong>8.20. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$equals</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 1&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 2&gt;</span></strong></div>)</span></strong><br><br>
1396 1450 This mark has a boolean value which is <em>true</em> if <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 1&gt;</span></strong></div> and <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 2&gt;</span></strong></div> are equal. By <em>equal</em>, we
1397 1451 mean identical after <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 1&gt;</span></strong></div> and <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;expr 2&gt;</span></strong></div> are computed.
1398 1452  
1399   - <a id="false"></a><br><br><strong>8.21. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$false</div></strong></span></div></strong><br><br> This mark represents the truth value <em>false</em>.
  1453 + <a id="error"></a><br><br><strong>8.21. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$error</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br>
  1454 + This mark produces an error message. This is useful when you write macros whose operands must satisfy a particular
  1455 + property. The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is the text of the message. This text can contain the <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> mark <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$position</div></strong></span>
  1456 + (taking no operand)
  1457 + which will be replaced by the position (file path + line number + column number) in the source text where your macro
  1458 + is used.
  1459 +
  1460 + <a id="false"></a><br><br><strong>8.22. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$false</div></strong></span></strong><br><br> This mark represents the truth value <em>false</em>.
1400 1461  
1401   - <a id="groupby"></a><br><br><strong>8.22. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$groupby</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1462 + <a id="groupby"></a><br><br><strong>8.23. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$groupby</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1402 1463 This mark accepts a positive non zero integer <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div> as its first operand and a list <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>
1403 1464 as its second operand. The result is a
1404 1465 list of lists, where all lists, except possibly the last one, have length <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div>. For example,
... ... @@ -1418,17 +1479,17 @@ the wanted number of columns, the quotient is the right answer, but if not, we m
1418 1479 otherwise we shall have one column too many.
1419 1480  
1420 1481  
1421   - <a id="if"></a><br><br><strong>8.23. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$if</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;test&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if true&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if false&gt;</span></strong></div>)</span></div></strong><br><br>
  1482 + <a id="if"></a><br><br><strong>8.24. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$if</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;test&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if true&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if false&gt;</span></strong></div>)</span></strong><br><br>
1422 1483 This mark represents <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if true&gt;</span></strong></div> if <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;test&gt;</span></strong></div> is true, and <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if false&gt;</span></strong></div> otherwise. Only one of
1423 1484 <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if true&gt;</span></strong></div> and <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;if false&gt;</span></strong></div> is evaluated.
1424 1485  
1425   - <a id="ifhtml"></a><br><br><strong>8.24. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifhtml</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is present in the HTML output, but not in the <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px"> nor in the PDF
  1486 + <a id="ifhtml"></a><br><br><strong>8.25. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifhtml</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is present in the HTML output, but not in the <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px"> nor in the PDF
1426 1487 output.
1427 1488  
1428   - <a id="ifpdf"></a><br><br><strong>8.25. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifpdf</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is present in the <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px"> and in the PDF
  1489 + <a id="ifpdf"></a><br><br><strong>8.26. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ifpdf</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is present in the <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px"> and in the PDF
1429 1490 output, but not in the HTML output.
1430 1491  
1431   - <a id="image"></a><br><br><strong>8.26. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$image</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file path&gt;</span></strong></div>)</span></div></strong><br><br>
  1492 + <a id="image"></a><br><br><strong>8.27. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$image</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file path&gt;</span></strong></div>)</span></strong><br><br>
1432 1493 This mark inserts an image in the text. The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;width&gt;</span></strong></div> is the width the image will have
1433 1494 when displayed (in pixels in the case of HTML, and points in the case of <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px">), and <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file path&gt;</span></strong></div> is the path of the file
1434 1495 containing the image. For example,
... ... @@ -1445,7 +1506,7 @@ otherwise we shall have one column too many.
1445 1506 can be computed using <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks.
1446 1507  
1447 1508  
1448   - <a id="input"></a><br><br><strong>8.27. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file name&gt;</span></strong></div>)</span></div></strong><br><br>
  1509 + <a id="input"></a><br><br><strong>8.28. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file name&gt;</span></strong></div>)</span></strong><br><br>
1449 1510 This mark let you insert the content of another <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> file. This other file could for example contain your own <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong>
1450 1511 macros.<br><br>
1451 1512 Notice that the input file also needs to have a <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$begin</div></strong></span> and an <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$end</div></strong></span>.
... ... @@ -1455,14 +1516,14 @@ otherwise we shall have one column too many.
1455 1516 This mark can be <strong><div style="display: inline; color: rgb(220,0,0)">unsafe</div></strong> on the web, except if you filter the operand. See the Anubis library documentation.
1456 1517  
1457 1518  
1458   - <a id="italic"></a><br><br><strong>8.28. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$italic</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> Prints its operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> in <em>italic</em>.
  1519 + <a id="italic"></a><br><br><strong>8.29. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$italic</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> Prints its operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> in <em>italic</em>.
1459 1520  
1460   - <a id="item"></a><br><br><strong>8.29. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$item</div></strong></span></div></strong><br><br> Marks the begining of an <em>item</em> within a <a rel="tag" href="#list"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong></span></a>
  1521 + <a id="item"></a><br><br><strong>8.30. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$item</div></strong></span></strong><br><br> Marks the begining of an <em>item</em> within a <a rel="tag" href="#list"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong></span></a>
1461 1522  
1462   - <a id="label"></a><br><br><strong>8.30. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$label</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;tag&gt;</span></strong></div>)</span></div></strong><br><br> This mark defines a <em>label</em> in the text, in other words, a position where to jump.
  1523 + <a id="label"></a><br><br><strong>8.31. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$label</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;tag&gt;</span></strong></div>)</span></strong><br><br> This mark defines a <em>label</em> in the text, in other words, a position where to jump.
1463 1524 This is to be used in conjunction with <a rel="tag" href="#ref"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ref</div></strong></span></a>.
1464 1525  
1465   - <a id="latex"></a><br><br><strong>8.31. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;formula&gt;</span></strong></div>)</span></div></strong><br><br> This mark allows to include math formulas to be formated by <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px">.
  1526 + <a id="latex"></a><br><br><strong>8.32. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;formula&gt;</span></strong></div>)</span></strong><br><br> This mark allows to include math formulas to be formated by <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px">.
1466 1527 For example,
1467 1528 <br><center><table style="color: inherit; font-size: inherit;"><tr><td><pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$$</div></strong>\int_<div style="display: inline; color: rgb(160,082,045)">0</div>^\infty\frac{dx}{<div style="display: inline; color: rgb(160,082,045)">1</div>+x^<div style="display: inline; color: rgb(160,082,045)">2</div>}<strong><div style="display: inline; color: rgb(110,000,000)">$$</div></strong>)<br><br></pre></td></tr></table></center><br>
1468 1529 is rendered as:
... ... @@ -1472,7 +1533,7 @@ otherwise we shall have one column too many.
1472 1533 as a PNG image with transparent background.
1473 1534 <br><br>
1474 1535 You can use <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong></span> in the text. The result is correctly aligned with the text. For example,<br>
1475   - <br><center><table style="color: inherit; font-size: inherit;"><tr><td><pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br>the polynomial <strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$X</div></strong>^<div style="display: inline; color: rgb(160,082,045)">2</div>+X+<div style="display: inline; color: rgb(160,082,045)">1</div><strong><div style="display: inline; color: rgb(110,000,000)">$)</div></strong> is of degree <div style="display: inline; color: rgb(160,082,045)">2</div><br><br></pre></td></tr></table></center><br>
  1536 + <br><center><table style="color: inherit; font-size: inherit;"><tr><td><pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br>the polynomial <strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong>(<div style="display: inline; color: rgb(000,000,000)">$X^2+X+1$</div>) is of degree <div style="display: inline; color: rgb(160,082,045)">2</div><br><br></pre></td></tr></table></center><br>
1476 1537 is rendered as:
1477 1538 <br><center><table style="color: inherit; font-size: inherit;"><tr><td>the polynomial <img src="png/fyKx7xRolFAoYjXkjs4VdbNyRjAQ.png" width="77" height="16" style="vertical-align: -1px"> is of degree <div style="display: inline; color: rgb(160,082,045)">2</div></td></tr></table></center><br>
1478 1539  
... ... @@ -1482,12 +1543,14 @@ otherwise we shall have one column too many.
1482 1543 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$latex</div></strong></span> mark is mainly used for inserting math formulas. See the Anubis library documentation to learn how
1483 1544 to install this list of safe <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px"> commands.
1484 1545  
1485   - <a id="length"></a><br><br><strong>8.32. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$length</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1546 + <a id="length"></a><br><br><strong>8.33. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$length</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1486 1547 This mark returns the number of elements in its operand which is supposed to be a list. If the operand is not a list,
1487 1548 the result is <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(160,082,045)">1</div></span> if the operand is not empty (i.e. if it contains at least one character), and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(160,082,045)">0</div></span> if it is
1488 1549 empty.
1489 1550  
1490   - <a id="list"></a><br><br><strong>8.33. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;items&gt;</span></strong></div>)</span></div></strong><br><br> This mark allows to create a list. The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;items&gt;</span></strong></div> must be a sequence of <em>items</em>,
  1551 + <a id="list"></a><br><br><strong>8.34. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;items&gt;</span></strong></div>)</span></strong><br><br> This mark allows to create a list (not in the sens of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> <a rel="tag" href="#lists">lists</a>,
  1552 + but as a sequence of indented items in the output).
  1553 + The operand <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;items&gt;</span></strong></div> must be a sequence of <em>items</em>,
1491 1554 i.e. texts which are all prefixed by the mark <a rel="tag" href="#item"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$item</div></strong></span></a>.<br><br>
1492 1555 Example:
1493 1556 <pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$list</div></strong>(
... ... @@ -1498,26 +1561,19 @@ otherwise we shall have one column too many.
1498 1561 <li> Boys: <span><ul> <li> John <li> Max</ul></span>
1499 1562 <li> Girls: <span><ul><li> Julie <li> Geraldine <li> Sophia</ul></span></ul></span>
1500 1563  
1501   - <a id="loadadm"></a><br><br><strong>8.34. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$loadadm</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;module name&gt;</span></strong></div>)</span></div></strong><br><br>
1502   - This mark loads the secondary Anubis module whose name is given. The Anubis type of this module must be
  1564 + <a id="loadadm"></a><br><br><strong>8.35. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$loadadm</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;module name&gt;</span></strong></div>)</span></strong><br><br>
  1565 + This mark loads the secondary Anubis module whose path is given. The Anubis type of this module must be
1503 1566 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">MAML_Library</span> as explained in the section <a rel="tag" href="#loadadm">Loading a library of Anubis functions</a>.<br><br>
1504 1567  
1505 1568 Of course, this results in an error if the module is either not found, of another type, compiled with another version
1506 1569 of Anubis, etc... If the loading succeeds the Anubis functions defined in the library become automatically new <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong>
1507 1570 marks.
1508 1571  
1509   -
1510   - <a id="lpar"></a><br><br><strong>8.35. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span></div></strong><br><br> This mark inserts a left (opening) parenthese into the text. You must use <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span> and/or
1511   - <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span> if you want to introduce unbalanced parentheses within an operand of a mark.
  1572 + <a id="lpar"></a><br><br><strong>8.36. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span></strong><br><br> This mark inserts a left (opening) parenthese into the text. You must use <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span> and/or
  1573 + <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span> (or alternatively <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$(</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$)</div></strong></span>) if you want to introduce unbalanced parentheses
  1574 + within an operand of a mark.
1512 1575  
1513   - <a id="macrosonly"></a><br><br><strong>8.36. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$macrosonly</div></strong></span></div></strong><br><br>
1514   - This mark disables the use of all primitive marks until the end of the document, except for the marks
1515   - <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$alphabetic</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorize</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$if</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong></span>. Hence, after <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$macrosonly</div></strong></span>,
1516   - only the
1517   - macros and the marks listed above are allowed. This can be used for securing the usage of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> by web users. See
1518   - <a rel="tag" href="#guidelinesweb">the guidelines for the web</a>.
1519   -
1520   - <a id="mailto"></a><br><br><strong>8.37. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$mailto</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;address&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This marks, which appears as <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>,
  1576 + <a id="mailto"></a><br><br><strong>8.37. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$mailto</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;address&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This marks, which appears as <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>,
1521 1577 creates a link which is supposed, in the HTML case, to open your mail agent in order to let you
1522 1578 send an email to the indicated <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;address&gt;</span></strong></div>. In the PDF case, the <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;address&gt;</span></strong></div> is just indicated between parentheses
1523 1579 beside <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>.
... ... @@ -1525,28 +1581,37 @@ otherwise we shall have one column too many.
1525 1581 <br><center><table style="color: inherit; font-size: inherit;"><tr><td><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$blue</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$mailto</div></strong>(XZ<div style="display: inline; color: rgb(160,082,045)">32</div>@planet.mars)(the martian))</span></td></tr></table></center><br> produces:
1526 1582 <div style="display: inline; color: rgb(000,000,255)"><a href="mailto:XZ32@planet.mars">the martian</a></div> (you can try it).
1527 1583  
1528   - <a id="nolist"></a><br><br><strong>8.38. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nolist</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br>
  1584 + <a id="nolist"></a><br><br><strong>8.38. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nolist</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br>
1529 1585 This mark inhibits the recognition of the square brackets and the comma as list delimitors within <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>. See
1530 1586 <a rel="tag" href="#lists">Lists</a>.
1531 1587  
1532   - <a id="note"></a><br><br><strong>8.39. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$note</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark produces a footnote containing <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>.
  1588 + <a id="noprimitive"></a><br><br><strong>8.39. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span></strong><br><br>
  1589 + This mark disables the use of all primitive marks until the end of the document, except for the marks
  1590 + <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$alphabetic</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$colorize</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span>, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$if</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong></span>. Hence, after <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span>,
  1591 + only the
  1592 + macros, the marks listed above and the marks coming from a library via
  1593 + <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$loadadm</div></strong></span> are allowed. This can be used for securing the usage of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> by web users,
  1594 + since the macros you define before <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$noprimitive</div></strong></span> can filter their operands. See
  1595 + <a rel="tag" href="#guidelinesweb">the guidelines for the web</a>.
  1596 +
  1597 + <a id="note"></a><br><br><strong>8.40. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$note</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark produces a footnote containing <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>.
1533 1598 In the case of <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px">/PDF this is a usual
1534 1599 footnote. In the case of HTML, this is a popup which appears at the bottom of the browser's window when the mouse
1535 1600 passes over this indication : <div class="dropdown"><span>(<sup>note</sup>)</span>
1536 1601 <div class="drp-content" style="font-size:10px; width:600-100; padding: 6px 6px 6px 6px;">Here is the note !</div></div>. Try it !
1537 1602  
1538   - <a id="nth"></a><br><br><strong>8.40. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nth</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1603 + <a id="nth"></a><br><br><strong>8.41. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$nth</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1539 1604 This mark extracts the <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;n&gt;</span></strong></div><sup>th</sup> element of the list <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>. It generates an error if this element doesn't
1540 1605 exist. Numbering begins at zero.
1541 1606  
1542   - <a id="output"></a><br><br><strong>8.41. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$output</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file path&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark does not produce anything in the resulting HTML or PDF files, but outputs
  1607 + <a id="output"></a><br><br><strong>8.42. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$output</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file path&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark does not produce anything in the resulting HTML or PDF files, but outputs
1543 1608 <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> (without any modification) into the file <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;file path&gt;</span></strong></div>.
1544 1609 <br>
1545 1610 <br>
1546 1611 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$output</div></strong></span> can be very <strong><div style="display: inline; color: rgb(220,0,0)">unsafe</div></strong> for the web. In any case it is not very useful on the web because web pages offer
1547 1612 other ways of uploading files. So, the best is just to forbid it.
1548 1613  
1549   - <a id="par"></a><br><br><strong>8.42. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong></span></div></strong><br><br> This marks generates a line break. You can use several <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong></span> in order to make some
  1614 + <a id="par"></a><br><br><strong>8.43. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong></span></strong><br><br> This marks generates a line break. You can use several <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$par</div></strong></span> in order to make some
1550 1615 vertical space in your text.
1551 1616 <br><br>
1552 1617 <em>Warning:</em> The MAML parser doesn't take newline characters into account (they are just read as spaces). Hence,
... ... @@ -1555,10 +1620,10 @@ otherwise we shall have one column too many.
1555 1620  
1556 1621  
1557 1622  
1558   - <a id="popcounter"></a><br><br><strong>8.43. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$popcounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br>
  1623 + <a id="popcounter"></a><br><br><strong>8.44. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$popcounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br>
1559 1624 This mark destroys the most recent counter whose name is <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>.
1560 1625  
1561   - <a id="postpone"></a><br><br><strong>8.44. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br>
  1626 + <a id="postpone"></a><br><br><strong>8.45. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br>
1562 1627 The <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> text <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is evaluated only after the entire <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> source is parsed and evaluated (including the
1563 1628 sources obtained via <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$input</div></strong></span>).
1564 1629 On the contrary, everything not within a <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong></span> is
... ... @@ -1566,24 +1631,24 @@ otherwise we shall have one column too many.
1566 1631 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$append</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$content</div></strong></span> for creating a table of contents at the beginning of a document. This is how
1567 1632 the table of contents at the beginning of this tutorial was made.<br><br>
1568 1633  
1569   - As another easy example, the sentence <em>Below is a description of the 63
  1634 + As another easy example, the sentence <em>Below is a description of the 64
1570 1635 primitive <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks.</em> that you can find just after the section title <a rel="tag" href="#catalog">The catalog of <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks</a> contains a
1571   - <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong>(markcount))</span> producing the number 63 (where
  1636 + <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$postpone</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$countervalue</div></strong>(markcount))</span> producing the number 64 (where
1572 1637 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">markcount</span> is the name of the counter used for numbering the marks in this catalog).
1573 1638  
1574   - <a id="pushcounter"></a><br><br><strong>8.45. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$pushcounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;init&gt;</span></strong></div>)</span></div></strong><br><br>
  1639 + <a id="pushcounter"></a><br><br><strong>8.46. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$pushcounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;init&gt;</span></strong></div>)</span></strong><br><br>
1575 1640 This mark creates a new counter under the name <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>, with <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;init&gt;</span></strong></div> as its initial value. See
1576 1641 <a rel="tag" href="#counters">Counters</a>.
1577 1642  
1578   - <a id="ref"></a><br><br><strong>8.46. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ref</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;tag&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br>
  1643 + <a id="ref"></a><br><br><strong>8.47. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ref</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;tag&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br>
1579 1644 This mark creates an internal hyperlink. When clicked upon, this moves the text
1580 1645 to the position of the <a rel="tag" href="#label"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$label</div></strong></span></a> (this is a <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$ref</div></strong></span> !) with the same tag name.
1581 1646  
1582   - <a id="reverse"></a><br><br><strong>8.47. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$reverse</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1647 + <a id="reverse"></a><br><br><strong>8.48. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$reverse</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1583 1648 This mark return its operand (assumed to be a list), but in reverse order. If the operand is not a list, an error
1584 1649 message is generated.
1585 1650  
1586   - <a id="rgb"></a><br><br><strong>8.48. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rgb</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark sets the color of characters in <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> to <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>, where
  1651 + <a id="rgb"></a><br><br><strong>8.49. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rgb</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark sets the color of characters in <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> to <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>, where
1587 1652 <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div> has the form of three integers separated by commas, representing the intensities of red, green and blue.
1588 1653 These numbers must be between 0 and 255. For example,<br>
1589 1654 <br><center><table style="color: inherit; font-size: inherit;"><tr><td><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rgb</div></strong>(<div style="display: inline; color: rgb(160,082,045)">255</div>,<div style="display: inline; color: rgb(160,082,045)">0</div>,<div style="display: inline; color: rgb(160,082,045)">0</div>)(the text)</span></td></tr></table></center><br>
... ... @@ -1591,13 +1656,14 @@ otherwise we shall have one column too many.
1591 1656 <br><center><table style="color: inherit; font-size: inherit;"><tr><td><div style="display: inline; color: rgb(255,0,0)">the text</div></td></tr></table></center><br>
1592 1657 See also <a rel="tag" href="#colors">the predefined colors</a>.
1593 1658  
1594   - <a id="rpar"></a><br><br><strong>8.49. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span></div></strong><br><br> This mark inserts a right (closing) parenthese into the text. You must use <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span> and/or
1595   - <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span> if you want to introduce unbalanced parentheses within an operand of a mark.
  1659 + <a id="rpar"></a><br><br><strong>8.50. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span></strong><br><br> This mark inserts a right (closing) parenthese into the text. You must use <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span> and/or
  1660 + <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span> (or alternatively <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$(</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$)</div></strong></span>) if you want to introduce unbalanced parentheses within
  1661 + an operand of a mark.
1596 1662  
1597   - <a id="setcounter"></a><br><br><strong>8.50. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$setcounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div>)</span></div></strong><br><br>
  1663 + <a id="setcounter"></a><br><br><strong>8.51. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$setcounter</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div>)</span></strong><br><br>
1598 1664 This mark puts the value <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;value&gt;</span></strong></div> in the most recent counter whose name is <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>. See <a rel="tag" href="#counters">Counters</a>.
1599 1665  
1600   - <a id="sort"></a><br><br><strong>8.51. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sort</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1666 + <a id="sort"></a><br><br><strong>8.52. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sort</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1601 1667 This marks performs a quick sorting of its operand which is supposed to be a list. If the operand is not a list, an
1602 1668 error message is generated.<br><br>
1603 1669  
... ... @@ -1608,12 +1674,12 @@ otherwise we shall have one column too many.
1608 1674 At the rendering stage <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$alphabetic</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;part&gt;</span></strong></div>)</span> is just replaced by <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;part&gt;</span></strong></div></span>. See <a rel="tag" href="#box"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$box</div></strong></span></a>
1609 1675 for an example.
1610 1676  
1611   - <a id="sp"></a><br><br><strong>8.52. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sp</div></strong></span></div></strong><br><br> This mark (space) produces an unbreakable space (translated into <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&amp;nbsp;</span> in HTML and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">~</span> in <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px">).
  1677 + <a id="sp"></a><br><br><strong>8.53. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sp</div></strong></span></strong><br><br> This mark (space) produces an unbreakable space (translated into <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&amp;nbsp;</span> in HTML and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">~</span> in <img src="png/fNScTnBA4MH-qH_w0pRfArXeeKE8.png" width="36" height="14" style="vertical-align: -3px">).
1612 1678  
1613   - <a id="sub"></a><br><br><strong>8.53. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sub</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark lowers <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> and renders it in a smaller size. For example, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">x<strong><div style="display: inline; color: rgb(110,000,000)">$sub</div></strong>(<div style="display: inline; color: rgb(160,082,045)">1</div>)</span>
  1679 + <a id="sub"></a><br><br><strong>8.54. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sub</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark lowers <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> and renders it in a smaller size. For example, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">x<strong><div style="display: inline; color: rgb(110,000,000)">$sub</div></strong>(<div style="display: inline; color: rgb(160,082,045)">1</div>)</span>
1614 1680 produces x<sub>1</sub>.
1615 1681  
1616   - <a id="sublist"></a><br><br><strong>8.54. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sublist</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;start&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;end&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></div></strong><br><br>
  1682 + <a id="sublist"></a><br><br><strong>8.55. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sublist</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;start&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;end&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list&gt;</span></strong></div>)</span></strong><br><br>
1617 1683 The third operand of this mark is supposed to be a list. If it's not a list, an error message is generated.<br><br>
1618 1684  
1619 1685 If it is a list, the result is the sublist beginning at element number <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;start&gt;</span></strong></div> (included) and finishing at
... ... @@ -1631,23 +1697,23 @@ otherwise we shall have one column too many.
1631 1697  
1632 1698  
1633 1699  
1634   - <a id="sup"></a><br><br><strong>8.55. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sup</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark raises <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> and renders it in a smaller size. For example, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">x<strong><div style="display: inline; color: rgb(110,000,000)">$sup</div></strong>(<div style="display: inline; color: rgb(160,082,045)">1</div>)</span>
  1700 + <a id="sup"></a><br><br><strong>8.56. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$sup</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark raises <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> and renders it in a smaller size. For example, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">x<strong><div style="display: inline; color: rgb(110,000,000)">$sup</div></strong>(<div style="display: inline; color: rgb(160,082,045)">1</div>)</span>
1635 1701 produces x<sup>1</sup>.
1636 1702  
1637   - <a id="tbgc"></a><br><br><strong>8.56. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tbgc</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark (<em>text background color</em>) shows <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> over a background of color
  1703 + <a id="tbgc"></a><br><br><strong>8.57. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tbgc</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark (<em>text background color</em>) shows <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> over a background of color
1638 1704 <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;color&gt;</span></strong></div>. For example, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tbgc</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$_lavender</div></strong>)(Some text.)</span>
1639 1705 produces: <div style="display: inline; background-color: rgb(200,200,220); ">Some text.</div>
1640 1706 <br><br>
1641 1707 This is valuable for short texts. For long texts, <a rel="tag" href="#code"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong>(...)</span></a> may be more
1642 1708 appropriate.
1643 1709  
1644   - <a id="thisfilepath"></a><br><br><strong>8.57. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$thisfilepath</div></strong></span></div></strong><br><br>
  1710 + <a id="thisfilepath"></a><br><br><strong>8.58. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$thisfilepath</div></strong></span></strong><br><br>
1645 1711 This marks provides the absolute path of the file it is written into.<br><br>
1646 1712  
1647 1713 <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$thisfilepath</div></strong></span> is <strong><div style="display: inline; color: rgb(220,0,0)">unsafe</div></strong> for the web, because it can reveal an absolute path of your web server. You should forbid
1648 1714 it.
1649 1715  
1650   - <a id="tlink"></a><br><br><strong>8.58. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tlink</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;url&gt;</span></strong></div>)</span></div></strong><br><br> This mark creates an hypertext link targeting the <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;url&gt;</span></strong></div>, and shown as the clickable
  1716 + <a id="tlink"></a><br><br><strong>8.59. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tlink</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;url&gt;</span></strong></div>)</span></strong><br><br> This mark creates an hypertext link targeting the <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;url&gt;</span></strong></div>, and shown as the clickable
1651 1717 <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> (which can also be an image). For example,
1652 1718 <pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$tlink</div></strong>(Visit
1653 1719 <strong><div style="display: inline; color: rgb(110,000,000)">$big</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$blue</div></strong>(G)<strong><div style="display: inline; color: rgb(110,000,000)">$red</div></strong>(o)<strong><div style="display: inline; color: rgb(110,000,000)">$yellow</div></strong>(o)<strong><div style="display: inline; color: rgb(110,000,000)">$blue</div></strong>(g)<strong><div style="display: inline; color: rgb(110,000,000)">$green</div></strong>(l)<strong><div style="display: inline; color: rgb(110,000,000)">$red</div></strong>(e)))
... ... @@ -1659,7 +1725,7 @@ otherwise we shall have one column too many.
1659 1725  
1660 1726  
1661 1727  
1662   - <a id="transpose"></a><br><br><strong>8.59. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$transpose</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list of lists&gt;</span></strong></div>)</span></div></strong><br><br>
  1728 + <a id="transpose"></a><br><br><strong>8.60. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$transpose</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;list of lists&gt;</span></strong></div>)</span></strong><br><br>
1663 1729 This mark <em>transposes</em> (somehow as in mathematics) a list of lists considered as a <em>matrix</em>. As an example,
1664 1730 we define:
1665 1731 <pre style="color: inherit; font-size: inherit; background-color: rgb(230,235,220); width: 600px;"><br><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong>(mylist)(<div style="display: inline; color: rgb(160,082,045)">0</div>)([[a,b],[c,d,e],[f,g]])
... ... @@ -1731,16 +1797,16 @@ Finally, we can get the wanted result by writing:
1731 1797  
1732 1798  
1733 1799  
1734   - <a id="true"></a><br><br><strong>8.60. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$true</div></strong></span></div></strong><br><br> This mark represents the truth value <em>true</em>.
  1800 + <a id="true"></a><br><br><strong>8.61. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$true</div></strong></span></strong><br><br> This mark represents the truth value <em>true</em>.
1735 1801  
1736   - <a id="tt"></a><br><br><strong>8.61. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tt</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This mark renders <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> in fixed width (typewriter) font. It is similar to
  1802 + <a id="tt"></a><br><br><strong>8.62. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$tt</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This mark renders <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> in fixed width (typewriter) font. It is similar to
1737 1803 <a rel="tag" href="#code"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong>(...)</span></a>, with the difference that <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> is put inline instead of as a separate block.
1738 1804 For example, <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$red</div></strong>(<strong><div style="display: inline; color: rgb(110,000,000)">$tt</div></strong>(This)) is <strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong>(<div style="display: inline; color: rgb(160,082,045)">220</div>,<div style="display: inline; color: rgb(160,082,045)">220</div>,<div style="display: inline; color: rgb(160,082,045)">220</div>)(an) example.</span>
1739 1805 produces: <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">This</span></div> is <pre style="color: inherit; font-size: inherit; background-color: rgb(220,220,220); width: 600px;">an</pre> example.
1740 1806 <br><br>
1741 1807 See also <a rel="tag" href="#code"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$code</div></strong>(...)</span></a> and <a rel="tag" href="#verbatim"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$verbatim</div></strong>(...)</span></a>.
1742 1808  
1743   - <a id="undefine"></a><br><br><strong>8.62. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></div></strong><br><br> This mark allows to <em>undefine</em> a macro previously defined by <a rel="tag" href="#define"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span></a>.
  1809 + <a id="undefine"></a><br><br><strong>8.63. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$undefine</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div>)</span></strong><br><br> This mark allows to <em>undefine</em> a macro previously defined by <a rel="tag" href="#define"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$define</div></strong></span></a>.
1744 1810 Actually, it removes only the last definition of the macro whose name is given, so that the previous definition of
1745 1811 this same mark name (if any) is working again.
1746 1812 If no macro with name <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;name&gt;</span></strong></div> exists, nothing happens. <br><br>
... ... @@ -1779,7 +1845,7 @@ Finally, we can get the wanted result by writing:
1779 1845 <div style="display: inline; color: rgb(120,0,0)"><em>Text1</em> Text2</div><br>
1780 1846  
1781 1847  
1782   - <a id="verbatim"></a><br><br><strong>8.63. <div style="display: inline; color: rgb(255,000,000)"><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$verbatim</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></div></strong><br><br> This marks reproduces its content without any change with two exceptions.
  1848 + <a id="verbatim"></a><br><br><strong>8.64. <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$verbatim</div></strong>(<div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div>)</span></strong><br><br> This marks reproduces its content without any change with two exceptions.
1783 1849 Indeed, <strong><div style="display: inline; color: rgb(180,0,0)">M</div><div style="display: inline; color: rgb(0,120,0)">A</div><div style="display: inline; color: rgb(80,80,80)">M</div><div style="display: inline; color: rgb(0,0,220)">L</div></strong> marks within
1784 1850 <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> are not interpreted, except the two marks <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$lpar</div></strong></span> and <span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;"><strong><div style="display: inline; color: rgb(110,000,000)">$rpar</div></strong></span>, which allows you
1785 1851 to produce unbalanced parentheses in <div style="display: inline; color: rgb(0,80,0)"><strong><span style="font-family:'Lucida Console', monospace; font-size:inherit; font-style: normal;">&lt;text&gt;</span></strong></div> despite the fact that actual parentheses <em>must</em> be
... ...