# 2  Sample format files

Several example format files are included in the Mistie distribution. They are:

## 2.1  plain.mistie

plain.mistie is a basic format file. It specifies a minimal markup that produces HTML. Example usage:

mistie.scm -f plain.mistie input.doc > input.html


plain converts the characters <, >, &, and " to their HTML encodings. One or more blank lines are treated as paragraph separation.

plain provides a small set of control sequences geared for manual writing. The default escape character is \ (backslash). Typically, arguments of plain's control sequences are specified within braces ({...}), as in TeX or LaTeX.

\i typesets its argument in italic. E.g., \i{italic} produces italic. Other control sequences in this vein are \b for bold and \small for small print.

\p puts its argument in monospace fixed font and is used for program code. If it is not convenient to enclose \p's argument in braces (e.g., the enclosed code contains non-matching braces), then the argument may be specified by the placing the same character on each side. (This is like LaTeX's \verb.) Another useful feature of the \p control sequence: If its argument starts with a newline, it is displayed with the linebreaks preserved.

Use \title for specifying a document's title, which is used as both the internal title and the external (bookmarkable) title.

\stylesheet{file.css} causes the resulting HTML file to use the file file.css as its style sheet. A sample style sheet mistie.css is included in the distribution.

\section, \subsection, \subsubsection produce numbered section headers of the appropriate depth. \section*, etc., produce unnumbered sections.

\urlh{URL}{TEXT} typesets TEXT as a link to URL.

\obeylines{...} preserves linebreaks for its argument. Note that this is dissimilar in call, though not in function, to TeX's {\obeylines ...}.

\flushright is like \obeylines, but sets its argument lines flush right.

\input FILE or \input{FILE} includes the contents of FILE.

\eval evaluates the following Scheme expression.

## 2.2  footnote.mistie

This format supplies the \footnote control sequence, which makes a footnote out of its (brace-delimited) argument. Footnotes are numbered from 1, and the footnote text is placed on the bottom of the same page as the footnote call. Here's an example footnote.1

## 2.3  scmhilit.mistie

This format provides the \q control sequence which is used exactly like \p, except that it syntax-highlights the enclosed code. (q is p with a twist.) Used for Scheme and Common Lisp code. scmhilit distinguishes between syntactic keywords (i.e., special forms and macros); user-defined constants; variables; booleans; characters; numbers; strings; comments; and background punctuation. You can add your own keywords and constants with \scmkeyword and \scmconstant, e.g.,

\scmkeyword (prog1 block)

\scmconstant (true false)


A style sheet (see plain.mistie) is used to set the colors. The style sheet mistie.css, provided with this distribution, has the following style class settings:

.scheme {
color: brown;
}

.scheme .keyword {
color: #cc0000;
font-weight: bold;
}

.scheme .variable {
color: navy;
}

.scheme .number,.string,.char,.boolean,.constant {
color: green;
}

.scheme .comment {
color: teal;
}


The class .scheme specifies the background punctuation style, and the various subclasses, -- .keyword, .variable, etc. -- specify the styles for the various syntactic categories. Note that we have combined the subclasses for numbers, strings, etc., into one, but you can separate them out if you want to distinguish between them.

You may wish to modify these settings for your documents. Additionally, there are browser-specific ways you can use to override the settings of other authors' documents.

## 2.4  multipage.mistie

This format provides the \pagebreak control sequence, which causes a fresh HTML page to used for subsequent text. The names of the HTML pages depend on the name of the input file, which means that standard input/output redirection on Mistie doesn't make sense when using this format.

Navigation bars at the bottom allow the user to travel across the pages.

## 2.5  xref.mistie

This provides LaTeX-like cross-references. \label{LABEL} associates LABEL with the nearest section (or footnote) number. \ref{LABEL} prints the number associated with LABEL.

\bibitem can be used to enumerate bibliographic entries. \cite{BIBKEY} points to the entry introduced by \bibitem{BIBKEY}. \cite's argument can list multiple keys, with comma as the separator.

## 2.6  timestamp.mistie

This prints the date of last modification at the bottom of the (first) page.

1 Here's an example footnote.