Provide figure and table captions with reference and automatic numbering
Compatible with DokuWiki
Similar to latexcaption
Please refer to the plugin homepage for the original installation and documentation guide (note that instructions are only available in German).
The plugin basically provides two different syntax elements, similar to the blockquote plugin, one for the outer block (figure, table, codeblock, fileblock), one for the caption:
<figure> ... <caption>...</caption> </figure>
Besides <figure>…</figure>
as shown above, you can use <table>…</table>
, <codeblock>…</codeblock>
, and <fileblock>…</fileblock>
as well.
<caption>…</caption>
should only ever be used within one of the other two environments.
Note: Illustrations always have their captions set below the actual illustration, tables (and code/file blocks) always have their captions placed above. Place the caption accordingly.
Within the syntax elements, almost every other DokuWiki markup is allowed.
The caption environment provides for automatic numbering and the output of the string “Fig.” or “Figure” (and corresponding for the tables, code and file blocks).
Whether the abbreviated or spelled notation is to be used can be set via the configuration interface of the plugin. The respective strings are localized, localizations for German, English, Korean and Portuguese-Brazil are currently available, others can be easily installed if necessary1).
Note: In DokuWiki almost everything is allowed within a <caption>
, but you should be aware that e.g. footnotes within a floating environment are not allowed in LaTeX.2)
Since the figures and tables are automatically numbered by the plugin, there is a need to be able to refer to these figures / tables automatically in the text without having to change all references by hand each time when regrouping the figures / tables.
The original restriction by the parser that only references to already defined figures / tables were resolved has been fixed3).
The syntax looks like this:
<figure label> ... </figure> ... {{ref>label}}
The same applies to the tables. This means that the (optional) label is defined in the opening tag of an image / table 4) and via the structure
{{ref>label}}
referred to. The reference does not differentiate between figures and tables; without exception (like the corresponding LaTeX command \ref{}
) it outputs the corresponding number. This number is also a link to the corresponding figure / table.
Note: If a label / table has a label defined, this will be displayed as a “hover” text (“tooltip”), if you move the mouse over the respective beginning of the respective label (“Fig[ure] n” / “Tab[le] m”).
Sometimes you would like to control the numbering of your figures/tables/… This is possible as well (new 2021-09-29). You can (re)set the counters everywhere on your dokuwiki page, and independently for all kinds of environments (figures, tables, code and file listings). Suppose you would want to set the counter for figures to 5:
{{setcounter figure=5}}
Note: You can only set the four defined types (figure
, table
, codeblock
, fileblock
), and you can only use integers.
And that's how the DokuWiki markup could look like:
<figure> {{:Stuff:kuschelpanzer.jpg|cuddle tanks}} <caption>**The ultimate pink cuddly shell.** Now I finally have to get one Create a caption, which also contains some // formatting //. Basically, everything is allowed ((footnotes actually?))</caption> </figure>
And the result:
or analogously for a table:
<table> <caption>And a table heading with some **bold text**.</caption> ^ Heading 1 ^ Heading 2 ^ Heading 3 ^ | Some text | some more text | some less text | | no idea what to write in here ||| | | But still some idea for here || </table>
The individual elements are as far as possible separately addressable and adaptable via changes to the CSS file of the plugin.
The following is an example of the XHTML code generated by the plugin, specifying the appropriate classes.
<figure class="plugin_caption_figure"> <figcaption class="plugin_caption_caption"> <span class="plugin_caption_caption_number">Figure 2:</span> <span class="plugin_caption_caption_text">...</span> </figcaption> </figure>
Basically, it is important to format the image subheadings and table headings so that they are as clear as possible from the surrounding body text (especially if they span multiple paragraphs, which may be less common, but may well occur).
The DokuWiki configuration interface can be used to set whether the over / signatures begin with abbreviated or advertised “labels” (“Figure” vs. “Fig.” / “Table” vs. “Tab.”).
The “labels” are initially available in German and English via the standard localization of the plugins, but can also be supplemented for other languages if required.
Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.
Development takes place via git and GitHub.
Feel free to fork the repository, change it and submit pull requests.
Please report bugs or feature requests at the bug tracker.