First implementation (#1)
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
1 parent
34c0abb26a
commit
4fa326dc76
534 files changed
+28280
-37
No files matched your search
@@ -0,0 +1,37 @@
|
||||
# 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`.
|
||||
Reference in new issue
Block a user