6 Figures and Tables

6.1 Vector SVG Figures

Vector figures are nicely supported. You should have a PDF file and an SVG file. The PDF will be used for the latex output and the SVG for the HTML output. The HTML output has a nice zoom feature using Colorbox.

Sirikata System Overview

Figure 6.1: The Sirikata metaverse platform architecture.

See an example in Figure 6.2. I suggest making figures in something like Inkscape. If you have only a vector PDF, you can use pdf2svg to convert (brew install pdf2svg or apt-get install pdf2svg).

6.2 Image Figures

Regular rasterized images work fine too.

Open3DHub Browsing Interface

Figure 6.3: The Open3DHub website allows browsing of 3D meshes.

A PNG example is shown in Figure 6.4.

6.3 Subfigures

The subfigure directives allow you to place multiple figures side-by-side in the document. Here's an example:

Base Mesh + 128x128 Texture (334 KB)

(a) Base Mesh + 128x128 Texture (334 KB)

Base Mesh + 25% Stream + 256x256 Texture (568 KB)

(c) Base Mesh + 25% Stream + 256x256 Texture (568 KB)

Base Mesh + 50% Stream + 512x512 Texture (923 KB)

(e) Base Mesh + 50% Stream + 512x512 Texture (923 KB)

Base Mesh + 75% Stream + 1024x1024 Texture (1755 KB)

(g) Base Mesh + 75% Stream + 1024x1024 Texture (1755 KB)

Base Mesh + 100% Stream + 2048x2048 Texture (4385 KB)

(i) Base Mesh + 100% Stream + 2048x2048 Texture (4385 KB)

Original Mesh (913 KB)

(k) Original Mesh (913 KB)

Figure 6.5: Example of a teddy bear model at different resolutions of the progressive format (1 draw call) and its original format (16 draw calls). The size in KB assumes downloading progressively, e.g., 6.5j's size includes lower-resolution textures.

You can reference the entire Figure 6.5 or one of its subfigures, e.g., Figure 6.5l.

6.4 Tables

Tables can be put inside the figtable directive which automatically numbers them, adds a caption, and adds a label.

Progressive 128 256 512 1024 2048
0% 0.53 0.63 0.81 1.03 1.35
25% 0.65 0.75 0.97 1.16 1.45
50% 0.74 0.85 1.02 1.26 1.58
75% 0.79 0.95 1.11 1.34 1.70
100% 0.88 0.99 1.20 1.44 1.82

Figure 6.6: Mean size of progressive format as a fraction of the original across all test models, shown as a function of the progressive stream downloaded and texture resolution.

Table 6.6 has all right-aligned columns.

Left Align Right Align
Some text is left align Followed by right-aligned
Some more text here And more text here
And even more text Also even more text here

Figure 6.7: This table has mixed alignment

Table 6.7 has one column left-aligned and one column right-aligned.

Progressive 128 256 512 1024 2048
0% 0.53 0.63 0.81 1.03 1.35
25% 0.65 0.75 0.97 1.16 1.45
50% 0.74 0.85 1.02 1.26 1.58
75% 0.79 0.95 1.11 1.34 1.70
100% 0.88 0.99 1.20 1.44 1.82

Figure 6.8: A table not inside a figure

Some people don't like tables inside figures, so you can disable it with an argument to the figtable directive. A table not inside a figure is shown in 6.8. Note this only effects the latex output.

6.5 Text Wrapping Table

Text wrapping in tables work if you specify the width and either raggedleft or raggedright.

Column Family Description
Users Stores a list of users who have authenticated with OpenID.
Names Stores a list of the 3D models in the database with their associated metadata.
TempFiles Temporarily stores the binary file data of uploaded files until they have been processed.
Files Stores the binary file data for uploaded and verified files.
Sessions Stores HTTP session information used by the Django framework to look up session state associated with a user's browser cookie.
OpenIdAssocs, OpenIdNonces Stores OpenID authentication information for users.
CeleryResults Stores the result of application processing tasks (see Section something).
APIConsumers Stores a list of consumers of the API for use with the OAuth protocol.

Figure 6.9: A list of Open3DHub's Cassandra column families and their descriptions

A text wrapping table example is shown in Figure 6.9.

6.6 CSV and List Tables

You can use CSV Table and List table from docutils directives.

Treat Quantity Description
Albatross 2.99 On a stick!
Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
Gannet Ripple 1.99 On a stick!

Figure 6.10: CSV table

Treat Quantity Description
Albatross 2.99 On a stick!
Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
Gannet Ripple 1.99 On a stick!vvv

Figure 6.11: List table

A CSV table example is shown in Figure 6.10 and List table in Figure 6.11.