# Some Block Elements

Some Blocks

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.

## Admonitions

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.

Beware the Title!

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.

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.

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.

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.

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.

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.

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.

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.

## Formal Blocks

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.

An Example

    $(_DOC_LC_DOCS) : $(_DOC_C_DOCS)
        if ! test -d $(dir $@); then mkdir $(dir $@); fi
        case "$(srcdir)" in /*) sd="$(srcdir)";; *) sd="../$(srcdir)";;esac; \
        if [ -f "C/$(notdir $@)" ]; then d="../"; else d="$$sd/"; fi; \
        (cd $(dir $@) && \
          $(_xml2po) -e -p \
              "$${d}$(dir $@)$(patsubst %/$(notdir $@),%,$@).po" \
                  "$${d}C/$(notdir $@)" > $(notdir $@).tmp && \
                      cp $(notdir $@).tmp $(notdir $@) && rm -f $(notdir $@).tmp)

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.

A Figure

The mascot for the Orca screen reader

The mascot for the Orca screen reader

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.

## 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.

    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;
      }
    }

    BEGIN { print "<section>"; }

    /<\!--\!\!/ {
      inthis = "title";
      this = "header";
      next;
    }

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.

    # The starting line number is 701.
    # So this is line number 72.

## Screens

This screen element has prompt, userinput, and computeroutput elements.

    [shaunm@verso testbook] make
    if [ ! -d html ]; then mkdir html; fi
    rm -f html/*.*
    xsltproc --timing --nonet --xinclude -o html/ \
            --param db.chunk.chunk_top 1 \
            --stringparam theme.icon.admon.path "../../../data/icons/" \
            --stringparam theme.icon.nav.previous "../../../data/icons/nav-previous.png" \
            --stringparam theme.icon.nav.next "../../../data/icons/nav-next.png" \
            ../../xslt/docbook/html/db2html.xsl \
            testbook.xml
    Parsing stylesheet ../../xslt/docbook/html/db2html.xsl took 0 ms
    Parsing document testbook.xml took 51 ms
    XInclude processing testbook.xml took 0 ms
    Running stylesheet and saving result took 144 ms

    [shaunm@verso testbook] make
    if [ ! -d html ]; then mkdir html; fi
    rm -f html/*.*
    xsltproc --timing --nonet --xinclude -o html/ \
            --param db.chunk.chunk_top 1 \
            --stringparam theme.icon.admon.path "../../../data/icons/" \
            --stringparam theme.icon.nav.previous "../../../data/icons/nav-previous.png" \
            --stringparam theme.icon.nav.next "../../../data/icons/nav-next.png" \
            ../../xslt/docbook/html/db2html.xsl \
            testbook.xml
    Parsing stylesheet ../../xslt/docbook/html/db2html.xsl took 0 ms
    Parsing document testbook.xml took 51 ms
    XInclude processing testbook.xml took 0 ms
    Running stylesheet and saving result took 144 ms

## Commands

`cd` directory `cal` -j -y month year `chgrp` -R -H -L -P -f group file

Here we use an sbr element:

`ls` --all--almost-all
--ignore-backups
--directory
--human-readable
--ignore=PATTERN
-l
FILE

And here we put sbr elements inside arg and group elements:

`ls` --all
--almost-all --ignore=
PATTERN
PATTERN
PATTERN
--ignore=PATTERN
PATTERN
PATTERN
fe=
fi fo
fum
-l FILE

Also, sbr tags with fragments:

`foo` foo
bar foo=
bar foo
bar foo=
bar foo
bar foo=
bar

Here we put two cmdsynopsis elements inside a single synopsis element:

        grep
        options
        PATTERN
        FILE

        grep
        options

          -e PATTERN
          -f FILE

        FILE

Here we just put both commands in a single cmdsynopsis element:

`grep` options PATTERN FILE `grep` options -e PATTERN -f FILE FILE

## Miscellaneous

> Henry Spencer

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

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:

> Richard Stallman, from the GNU Manifeto

> 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.

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.

And here is a synopsis element:

    #include <gtk/gtk.h>

                        GtkButton;
    GtkWidget*          gtk_button_new                      (void);
    GtkWidget*          gtk_button_new_with_label           (const gchar *label);
    GtkWidget*          gtk_button_new_with_mnemonic        (const gchar *label);
    GtkWidget*          gtk_button_new_from_stock           (const gchar *stock_id);

    #include <gtk/gtk.h>
    void                gtk_button_pressed                  (GtkButton *button);
    void                gtk_button_released                 (GtkButton *button);
    void                gtk_button_clicked                  (GtkButton *button);
    void                gtk_button_enter                    (GtkButton *button);
    void                gtk_button_leave                    (GtkButton *button);