Skip to content

Conversation

@ChrisGVE
Copy link

Summary

This PR adds Priority 1 LaTeX symbols and 48 negated relation symbols from amssymb.

Priority 1 Symbol Additions

Bug Fix:

  • varsigma: Corrected Unicode from U+03C1 (rho) to U+03C2 (final sigma)

New Symbol Mappings (18 symbols):

Category Symbols
Greek variants varkappa (U+03F0)
Arrows longmapsto (U+27FC), hookrightarrow (U+21AA), hookleftarrow (U+21A9)
Slanted inequalities leqslant (U+2A7D), geqslant (U+2A7E)
Precedence relations preceq (U+2AAF), succeq (U+2AB0)
Turnstile relations vdash (U+22A2), dashv (U+22A3), bowtie (U+22C8)
Binary operators diamond (U+22C4)
Hebrew letters beth (U+2136), gimel (U+2137), daleth (U+2138)
Miscellaneous varnothing (U+2205), Box (U+25A1), measuredangle (U+2221)

Note: digamma (U+03DD) and Digamma (U+03DC) were initially added but removed as they are not supported by Latin Modern Math font.

Negated Relations (48 symbols)

Category Symbols
Inequality negations (14) \nless, \ngtr, \nleq, \ngeq, \nleqslant, \ngeqslant, \lneq, \gneq, \lneqq, \gneqq, \lnsim, \gnsim, \lnapprox, \gnapprox
Ordering negations (10) \nprec, \nsucc, \npreceq, \nsucceq, \precneqq, \succneqq, \precnsim, \succnsim, \precnapprox, \succnapprox
Similarity/Congruence (6) \nsim, \ncong, \nmid, \nshortmid, \nparallel, \nshortparallel
Set relations (12) \nsubseteq, \nsupseteq, \subsetneq, \supsetneq, \subsetneqq, \supsetneqq, \varsubsetneq, \varsupsetneq, \varsubsetneqq, \varsupsetneqq, \notni, \nni
Triangle (4) \ntriangleleft, \ntriangleright, \ntrianglelefteq, \ntrianglerighteq
Turnstile (4) \nvdash, \nvDash, \nVdash, \nVDash
Square subset (2) \nsqsubseteq, \nsqsupseteq

Test Plan

  • Run existing tests to verify no regressions
  • Unit tests for all new symbols verify correct parsing and Unicode values
  • Visual render tests generate PNG images for verification:
    • Priority 1 symbols: 10 test images
    • Negated relations: 18 test images
  • Verify all test images render correctly

Notes

🤖 Generated with Claude Code

   2
   3 Fix varsigma to use U+03C2 (Greek small letter final sigma ς)
   4 instead of incorrect U+03C1 (Greek small letter rho ρ).
   5
   6 Co-Authored-By: Claude Opus 4.5 <[email protected]>
   2
   3 Add 20 new symbol mappings to supportedLatexSymbols dictionary:
   4
   5 Greek variants:
   6 - varkappa (U+03F0), digamma (U+03DD), Digamma (U+03DC)
   7
   8 Arrows:
   9 - longmapsto (U+27FC), hookrightarrow (U+21AA), hookleftarrow (U+21A9)
  10
  11 Slanted inequalities:
  12 - leqslant (U+2A7D), geqslant (U+2A7E)
  13
  14 Precedence relations:
  15 - preceq (U+2AAF), succeq (U+2AB0)
  16
  17 Turnstile relations:
  18 - vdash (U+22A2), dashv (U+22A3), bowtie (U+22C8)
  19
  20 Binary operators:
  21 - diamond (U+22C4)
  22
  23 Hebrew letters:
  24 - beth (U+2136), gimel (U+2137), daleth (U+2138)
  25
  26 Miscellaneous:
  27 - varnothing (U+2205), Box (U+25A1), measuredangle (U+2221)
  28
  29 Co-Authored-By: Claude Opus 4.5 <[email protected]>
   2
   3 Add 9 new test functions covering all Priority 1 symbol additions:
   4 - testGreekVariants: varkappa, digamma, Digamma and existing variants
   5 - testVarsigmaCorrectUnicode: verify varsigma maps to U+03C2 (final sigma)
   6 - testNewArrows: longmapsto, hookrightarrow, hookleftarrow
   7 - testSlantedInequalities: leqslant, geqslant
   8 - testPrecedenceRelations: preceq, succeq
   9 - testTurnstileRelations: vdash, dashv, bowtie
  10 - testDiamondOperator: diamond binary operator
  11 - testHebrewLetters: aleph, beth, gimel, daleth
  12 - testMiscSymbols: varnothing, Box, measuredangle
  13
  14 Co-Authored-By: Claude Opus 4.5 <[email protected]>
   2
   3 Verify that \mathbb{} command works correctly for common letters
   4 (N, Z, Q, R, C, H, P) and round-trips correctly to LaTeX string.
   5
   6 Note: \mathbb was already implemented in the codebase.
   7
   8 Co-Authored-By: Claude Opus 4.5 <[email protected]>
   2
   3 Add comprehensive set of negated relation symbols from amssymb:
   4
   5 Inequality negations (14): nless, ngtr, nleq, ngeq, nleqslant,
   6 ngeqslant, lneq, gneq, lneqq, gneqq, lnsim, gnsim, lnapprox, gnapprox
   7
   8 Ordering negations (10): nprec, nsucc, npreceq, nsucceq, precneqq,
   9 succneqq, precnsim, succnsim, precnapprox, succnapprox
  10
  11 Similarity/congruence negations (6): nsim, ncong, nmid, nshortmid,
  12 nparallel, nshortparallel
  13
  14 Set relation negations (12): nsubseteq, nsupseteq, subsetneq, supsetneq,
  15 subsetneqq, supsetneqq, varsubsetneq, varsupsetneq, varsubsetneqq,
  16 varsupsetneqq, notni, nni
  17
  18 Triangle negations (4): ntriangleleft, ntriangleright, ntrianglelefteq,
  19 ntrianglerighteq
  20
  21 Turnstile negations (4): nvdash, nvDash, nVdash, nVDash
  22
  23 Square subset negations (2): nsqsubseteq, nsqsupseteq
  24
  25 Also includes:
  26 - Remove digamma/Digamma (not supported by Latin Modern Math font)
  27 - Add SymbolRenderTests with visual render tests for Priority 1 symbols
  28   and negated relations (28 test images total)
  29 - Update testGreekVariants to exclude digamma
  30
  31 Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant