Expand description
Citation, bibliography, sorting, and document processing logic. The Citum processor for rendering citations and bibliographies.
§Architecture
Processor is intentionally a thin facade over a small set of focused
implementation modules:
setup: construction, configuration resolution, and numbering setupnote_context: note-number normalization and citation position inferencecitation: citation rendering orchestrationbibliography: bibliography rendering, grouping, and document-facing helpers
The processor remains intentionally “dumb”: it applies the style as written
without implicit logic. Style-specific behavior (for example, suppressing a
publisher for journals) should be expressed in the style YAML via
overrides, not hardcoded here.
§CSL 1.0 Compatibility
The processor implements the CSL 1.0 “variable-once” rule:
“Substituted variables are suppressed in the rest of the output to prevent duplication.”
This is tracked via rendered_vars in process_template().
Modules§
- disambiguation
- Author/date disambiguation and year-suffix assignment.
- document
- Document-level citation processing.
- labels
- Label generation for alphanumeric citation styles.
- matching
- Matching helpers for substitution and repeated-contributor detection. Matching logic for determining if references share primary contributors.
- rendering
- Template rendering orchestration and per-component state handling. Rendering logic for citation and bibliography output.
- sorting
- Citation and bibliography sorting helpers. Sorting logic for bibliography and citation entries.
Structs§
- Processed
References - Processed output containing citations and bibliography.
- Processor
- The Citum processor facade.
Functions§
- validate_
compound_ sets - Validate optional compound sets against the loaded bibliography.