Skip to content

feat: support LaTeX middle delimiters - #318

Open
Happypig375 wants to merge 1 commit into
masterfrom
issue-303-middle-delimiters
Open

feat: support LaTeX middle delimiters#318
Happypig375 wants to merge 1 commit into
masterfrom
issue-303-middle-delimiters

Conversation

@Happypig375

Copy link
Copy Markdown
Collaborator

Closes #303

Summary

  • parse and round-trip LaTeX \middle delimiters, including multiple, nested, composite, and null boundaries
  • model inner atoms as immutable ordered segments plus middle boundaries while preserving the legacy single-list API
  • typeset all outer and middle delimiters to one shared extent and retain delimiter assemblies/order
  • make multi-segment inners explicitly atomic in editor navigation while preserving legacy no-middle descent
  • add source-aware errors, public API ledger entries, structural equality/hash behavior, and cross-backend coverage

Validation

  • middle parser/model cases: 11 passed
  • typesetter geometry: 3 passed (Display/Text/Script)
  • SkiaSharp + Avalonia rendering checks: 6 passed
  • editor regression selectors: 1,014 passed
  • MathList/MathAtom selectors: 25 passed
  • Release Core/Rendering builds passed; scoped format and diff checks passed
  • independent validation and review: approved

@Happypig375 Happypig375 added Type/Enhancement A concrete change to CSharpMath behavior or capability. Area/Parsing LaTeX tokenization, parsing, commands, and serialization. Area/Rendering Typesetting, measurement, fonts, text layout, and drawing. labels Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area/Parsing LaTeX tokenization, parsing, commands, and serialization. Area/Rendering Typesetting, measurement, fonts, text layout, and drawing. Type/Enhancement A concrete change to CSharpMath behavior or capability.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support scalable \middle delimiters

1 participant