package require quill 0.3.0 macro macroset ::quill::macroset_html<li>...</li>
<i this is italics>is identical to
<i>this is italics</i>Note that when convenience form is used, the text... may not contain nested macros. For example, the following will not yield bold italic text:
<b "<i this is not bold italics>">
The following macros are used to define definition lists.
This application has the following features:<p> <deflist features> ... </deflist features>
Items are defined within a definition list using <def>.
The following features are of interest:<p> <deflist features> ... <def {My <i first> Feature.}> ... <def {My <i second> Feature.}> </deflist features>
This yields output like this:
The following macros are used to define topic lists.
<topiclist> <topic "Topic 1:"> ...Text elaborating on the topic... </topic> <topic "Topic 2:"> ...Text elaborating on the topic... </topic> </topiclist>Note the use of non-breaking spaces to present word-wrapping. The output looks like this:
Topic 1: | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque consectetur sollicitudin dolor, et blandit nisl iaculis quis. Donec eu urna nec augue vulputate tempor ut eu diam. Proin quam sapien, vehicula id pellentesque sed, iaculis vitae nunc. Aliquam venenatis suscipit sapien id faucibus. |
Topic 2: | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque consectetur sollicitudin dolor, et blandit nisl iaculis quis. Donec eu urna nec augue vulputate tempor ut eu diam. Proin quam sapien, vehicula id pellentesque sed, iaculis vitae nunc. Aliquam venenatis suscipit sapien id faucibus. |
And here's a topic list using <bigmark>'s, presumably annotating a <listing>:
<topiclist> <topic "<bigmark A>"> ...Text annotating mark A... </topic> <topic "<bigmark B>"> ...Text annotating mark B... </topic> </topiclist>
A |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque consectetur sollicitudin dolor, et blandit nisl iaculis quis. Donec eu urna nec augue vulputate tempor ut eu diam. Proin quam sapien, vehicula id pellentesque sed, iaculis vitae nunc. Aliquam venenatis suscipit sapien id faucibus. |
B |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque consectetur sollicitudin dolor, et blandit nisl iaculis quis. Donec eu urna nec augue vulputate tempor ut eu diam. Proin quam sapien, vehicula id pellentesque sed, iaculis vitae nunc. Aliquam venenatis suscipit sapien id faucibus. |
The topic list macros make use of the following CSS classes:
/* Topic List Styles */ tr.topicrow { vertical-align: baseline; } td.topicname { font-weight: bold; }
An example is a set of preformatted text, contained within <example> and </example> macros, to be displayed in a box with a distinctive background.
A source code listing is similar in appearance to an example, but adds line numbers on the left margin. It is contained within <listing> and </listing> macros.
Authors can add annotation marks to either kind of listing using <mark>. The annotations are typically documented by following the listing by a <topiclist> with matching <bigmark>'s as the topic names.
<listing> proc ::quill::ladd {listvar args} { <mark A> upvar 1 $listvar theList <mark B> foreach value $args { if {$value ni $theList} { lappend theList $value <mark C> } } return $theList } </listing>
And displays like this:
0001 proc ::quill::ladd {listvar args} {A0002 upvar 1 $listvar theListB0003 0004 foreach value $args { 0005 if {$value ni $theList} { 0006 lappend theList $valueC0007 } 0008 } 0009 0010 return $theList 0011 }
These macros depend on the following CSS classes:
div.box | Defines the border and background for <box>. |
pre.example | Defines the border and background for <example>. |
pre.listing | Defines the border and background for <listing>. |
pre.linenum | Defines the background for line numbers in a <listing>. |
div.mark | Defines the appearance of a <mark>. |
div.bigmark | Defines the appearance of a <bigmark>. |
It is up to the client to define reasonable CSS settings; these are reasonable defaults:
div.box { border: 1px solid blue; background-color: #DEF4FA; padding: 2px; } pre.example { border: 1px solid blue; background-color: #FAF5D2; padding: 2px; } pre.listing { border: 1px solid blue; background-color: #FAF5D2; padding: 2px; } span.linenum { background-color: #DEDC87; } div.mark { font-family: Verdana; font-size: 75%; border: 1px solid black; background-color: black; color: white; border-radius: 10px; padding-left: 2px; padding-right: 2px; display: inline; } div.bigmark { font-family: Verdana; font-size: 100%; border: 1px solid black; background-color: black; color: white; border-radius: 10px; padding-left: 2px; padding-right: 2px; display: inline; }