38 lines
2.3 KiB
Markdown
38 lines
2.3 KiB
Markdown
# 9. Figures, tables and equations
|
||
|
||
## 9.1 Figures and panels
|
||
|
||
A figure holds its panels, its caption and its notes.
|
||
A panel's own content is its label only.
|
||
Its image and region are evidence, not content: re-extracting the image at native resolution adds an asset and changes no hash.
|
||
|
||
| Panel attribute | Holds |
|
||
| --- | --- |
|
||
| `image` | `{sha256, media_type, native, dpi?}`: the embedded image, at native resolution when the PDF holds one. |
|
||
| `crop` | `{sha256, media_type, dpi}`: a crop of the panel's region at a fixed resolution. |
|
||
| `figure_text` | `[{id, text, role, page_fp?, boxes?}]`: text found inside the panel, with `role` `axis-label`, `tick-label`, `legend`, `annotation` or `other`. |
|
||
|
||
Text inside a figure is not prose and is not split into sentences.
|
||
Its items have IDs ([4.2](04-identity.md#42-minting-node-ids)) so that a digitization can anchor its axis labels to them.
|
||
A panel's region on the page is its location ([7.4](07-geometry.md#74-locationsjsonl)).
|
||
|
||
## 9.2 Tables
|
||
|
||
A table holds its caption, an optional head, one body and its notes.
|
||
Rows and cells are nodes, with all five values, so the gate, the hashes and the database treat them like any other node, and a cell is addressed like a sentence.
|
||
|
||
Columns are defined in the table's `columns` attribute, each with an ID and a header path: the IDs of the header cells above it, outermost first.
|
||
Header text is stored once, in the header cells.
|
||
A row's `header_path` lists the cells that label it: a row-group header and the row's own header cell.
|
||
A cell records its column, its spans and its role; the expanded grid is derived, never stored.
|
||
|
||
So inserting a row that a reading dropped adds a row node and changes no other row's or cell's ID or hash, and fixing a header cell changes that cell, not the table.
|
||
A table continued across pages is one table node; its pages are locations.
|
||
For people, a cell can be shown as "Table 2, row CT–CT, column K_r" from its header paths.
|
||
|
||
## 9.3 Equations
|
||
|
||
An equation keeps its source as written, `tex` from a conversion or `typst` from a draft, and its printed number as its `label`, so numbering never collides with a renderer's own.
|
||
An equation that the source numbers line by line (Eq. 3a) has `equation-line` children, each with its own label and source.
|
||
MathML is derived by a pinned tool and recorded, with the tool's name and version, in `derived/mathml.jsonl`.
|