pub struct TocNode {Show 26 fields
pub id: String,
pub name: Option<String>,
pub role: Option<String>,
pub match_role: Option<String>,
pub match_style: Option<String>,
pub leader: Option<String>,
pub folio_style: Option<String>,
pub x: Option<PropertyValue>,
pub y: Option<PropertyValue>,
pub w: Option<PropertyValue>,
pub h: Option<PropertyValue>,
pub style: Option<String>,
pub fill: Option<PropertyValue>,
pub font_family: Option<PropertyValue>,
pub font_size: Option<PropertyValue>,
pub opacity: Option<f64>,
pub visible: Option<bool>,
pub locked: Option<bool>,
pub anchor: Option<String>,
pub anchor_zone: Option<String>,
pub anchor_sibling: Option<String>,
pub anchor_edge: Option<String>,
pub anchor_gap: Option<Dimension>,
pub anchor_parent: Option<bool>,
pub source_span: Option<Span>,
pub unknown_props: BTreeMap<String, UnknownProperty>,
}Expand description
A toc node — a compile-time table-of-contents placeholder.
A toc is a LEAF that, at compile time, resolves to a multi-line
tab-leader text block by collecting all heading nodes across the whole
document that match its selector (match-role and/or match-style).
Each row in the output is formatted as:
{heading text}\t{page number}, joined by newlines.
The synthesised TextNode uses tab-leader mode so the text engine
fills the gap between heading text and page number with the leader glyph
(default "."), and right-aligns the page number.
At least one of match_role or match_style must be set; when both are
absent the toc collects nothing and an advisory toc.no_selector is
emitted by the validator.
Fields§
§id: String§name: Option<String>§role: Option<String>§match_role: Option<String>Select heading nodes whose role equals this. None = no role filter.
match_style: Option<String>Select heading nodes whose style equals this. None = no style filter.
leader: Option<String>Leader glyph for the dotted fill between title and page number
(default "." when omitted).
folio_style: Option<String>Folio numbering style for the page numbers
("decimal" / "lower-roman" / "upper-roman").
x: Option<PropertyValue>§y: Option<PropertyValue>§w: Option<PropertyValue>§h: Option<PropertyValue>§style: Option<String>§fill: Option<PropertyValue>§font_family: Option<PropertyValue>§font_size: Option<PropertyValue>§opacity: Option<f64>§visible: Option<bool>§locked: Option<bool>§anchor: Option<String>Page-relative placement anchor (one of the nine named positions, e.g.
"bottom-right"). When present and recognized, the compile step derives
the node’s x and/or y from the page and node dimensions. An explicitly-
authored x or y always wins.
anchor_zone: Option<String>Optional safe-zone reference for the anchor. See RectNode::anchor_zone.
anchor_sibling: Option<String>Optional sibling node id for sibling-relative anchor positioning.
See RectNode::anchor_sibling.
anchor_edge: Option<String>Adjacent-placement edge relative to anchor-sibling: above/below/before/after.
See RectNode::anchor_edge.
anchor_gap: Option<Dimension>Gap (px) between this node and its anchor-sibling edge when anchor-edge is set.
See RectNode::anchor_gap.
anchor_parent: Option<bool>Parent-relative anchor toggle. See RectNode::anchor_parent.
source_span: Option<Span>Source declaration span, when available.
unknown_props: BTreeMap<String, UnknownProperty>Unknown properties preserved for forward-compat.