Miscellaneous

Those who do not understand Unix are condemned to reinvent it, poorly.

Henry Spencer

The above was brought to you courtesy of the epigraph element. Now here is an address element:

Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301 USA

Here is a blockquote element:

I consider that the golden rule requires that if I like a program I must share it with other people who like it. Software sellers want to divide the users and conquer them, making each user agree not to share with others. I refuse to break solidarity with other users in this way. I cannot in good conscience sign a nondisclosure agreement or a software license agreement. For years I worked within the Artificial Intelligence Lab to resist such tendencies and other inhospitalities, but eventually they had gone too far: I could not remain in an institution where such things are done for me against my will.

Richard Stallman, from the GNU Manifeto
Formal Paragraph

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed risus dui, faucibus at, blandit eu, congue in, sem. Suspendisse nec mi. Sed vel augue. Cras egestas. Vivamus nisi. Fusce neque. Aenean posuere, orci non lacinia consectetuer, neque libero semper metus, ut ullamcorper eros lorem at tellus. Ut ante tellus, iaculis at, tincidunt quis, ultrices at, ligula. Pellentesque porttitor condimentum nulla.

Next we have a literallayout element:

This is a line. This is another line. This line is indented.

Program Listings

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed risus dui, faucibus at, blandit eu, congue in, sem. Suspendisse nec mi. Sed vel augue. Cras egestas. Vivamus nisi. Fusce neque. Aenean posuere, orci non lacinia consectetuer, neque libero semper metus, ut ullamcorper eros lorem at tellus. Ut ante tellus, iaculis at, tincidunt quis, ultrices at, ligula. Pellentesque porttitor condimentum nulla.

function runline (line, ix, jx, pre, aft, char, name, id, fmt) {
  ix = match(line, /[\*\$\@\%\!\#]\{[^\}]*\}/)
  if (ix > 0) {
    jx = ix + index(substr(line, ix), "}");
    pre = substr(line, 1, ix - 1);
    aft = substr(line, jx);
    char = substr(line, ix, 1);
    name = substr(line, ix + 2, jx - ix - 3);
    id = name;
    while (sub(/[\.-]/, "_", id));
    if (char == "!")
      fmt = "<filename><link linkend='S__%s'>%s</link></filename>";
    else if (char == "*")
      fmt = "<function><link linkend='T__%s'>%s</link></function>";
    else if (char == "%")
      fmt = "<function><link linkend='M__%s'>%s</link></function>";
    else if (char == "@") 
      fmt = "<parameter><link linkend='P__%s'>%s</link></parameter>";
    else if (char == "$") 
      fmt = "<parameter>"name"</parameter>";
    else if (char == "#")
      fmt = "<literal>"name"</literal>";
    else
      fmt = name;
    return sprintf("%s%s%s",
		   runline(pre),
		   sprintf(fmt, id, name),
		   runline(aft) );
  } else {
    return line;
  }
}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed risus dui, faucibus at, blandit eu, congue in, sem. Suspendisse nec mi. Sed vel augue. Cras egestas. Vivamus nisi. Fusce neque. Aenean posuere, orci non lacinia consectetuer, neque libero semper metus, ut ullamcorper eros lorem at tellus. Ut ante tellus, iaculis at, tincidunt quis, ultrices at, ligula. Pellentesque porttitor condimentum nulla.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function runline (line, ix, jx, pre, aft, char, name, id, fmt) {
  ix = match(line, /[\*\$\@\%\!\#]\{[^\}]*\}/)
  if (ix > 0) {
    jx = ix + index(substr(line, ix), "}");
    pre = substr(line, 1, ix - 1);
    aft = substr(line, jx);
    char = substr(line, ix, 1);
    name = substr(line, ix + 2, jx - ix - 3);
    id = name;
    while (sub(/[\.-]/, "_", id));
    if (char == "!")
      fmt = "<filename><link linkend='S__%s'>%s</link></filename>";
    else if (char == "*")
      fmt = "<function><link linkend='T__%s'>%s</link></function>";
    else if (char == "%")
      fmt = "<function><link linkend='M__%s'>%s</link></function>";
    else if (char == "@") 
      fmt = "<parameter><link linkend='P__%s'>%s</link></parameter>";
    else if (char == "$") 
      fmt = "<parameter>"name"</parameter>";
    else if (char == "#")
      fmt = "<literal>"name"</literal>";
    else
      fmt = name;
    return sprintf("%s%s%s",
		   runline(pre),
		   sprintf(fmt, id, name),
		   runline(aft) );
  } else {
    return line;
  }
}