Figures, Tables, and Other Floating Bodies
Author: Luc Maranget

## B.9 Figures, Tables, and Other Floating Bodies

- Figures And Tables
- Footnotes
- Marginal Notes

### B.9.1 Figures And Tables

Figures and tables are put where they appear in the source (location “`h`”), regardless of their placement arguments. HEVEA wraps them in `BLOCKQUOTE` elements that are associated with CSS classes `figure` and `table` respectively. Figures and tables are separated from enclosing text by two horizontal rules (CSS class `floatrule`). If the capabilities of `floatrule` prove insufficient users can create their own separators by defining the parameter-less macro `\floatseparator`, like for example,

    \newcommand{\floatseparator}{\begin{center}\ast\end{center}}

or even drop them completely by supplying an empty expansion and thereby recover the original LATEX layout.

Captions and cross referencing are handled. However, captions are not moved at end of figures or tables: instead, they appear where the `\caption` commands occur in source.

The `\suppressfloats` command does nothing; the figure related counters (such as `topnumber`) exist but are useless.

### B.9.2 Footnotes

The basics of footnotes are discussed in section B.3.3.

HEVEA puts the text of every footnote in a block associated with CSS class `footnotetext`. The rule that separates the body text from the footnotes can by styled with CSS class `footnoterule`.

### B.9.3 Marginal Notes

Marginal notes go in the right margin by default. To get marginal notes in the left margin, use \reversemaginpar. Marginal notes are handled in an HEVEA specific way. By default, all notes go in the right margin. Issuing `\reversemarginpar` causes the notes to go in the left margin. Unsurprisingly, issuing `\normalmarginpar` reverts to default behaviour.

The `\marginpar` command has an optional argument.

`\marginpar[`left_text`]{`right_text`}`

If optional argument left_text is present and that notes go in the left margin, then left_text is the text of the note. Otherwise, right_text is the text of the note. As a conclusion, marginal notes in HEVEA always go to a fixed side of the page, which side being controlled by the commands `\normalmarginpar` (right side) and `\reversemarginpar` (left side). This departs form LATEX that selects a default side depending on the parity of the page counter.

Marginal notes are styled by the means of two environment style classes (see Section 9.3) : `marginpar` and `marginparside`. The latter `marginparside` takes care of margins and placement as a float, its value is `marginparright` for notes in the right margin and `marginparleft` for notes in the left margin. Users are not expected to alter those. The `marginpar` environment style class governs the general aspect of all marginal notes. Users can control the aspect of all marginal notes by defining a new style class and assigning the `marginpar` environment style class. For instance, to get all marginal notes in red font, and taking 10% of the page width (in place of the default 20%), one can issue the following commands in the document preamble.

    \newstyle{.mynote}{width:10\%; color:red;}
    \setenvclass{marginpar}{mynote}