76
76
# Finally, we also add some symbols manually (at the top) as needed,
77
77
# and edited others for consistency (e.g. #21646 and #14751).
78
78
79
+ # When a symbol has several completions, a canonical reverse mapping is
80
+ # specified at the bottom of this file. The complete reverse mapping is
81
+ # generated lazily in docview.jl.
82
+
79
83
# "font" prefixes
80
84
const bold = " \\ bf"
81
85
const italic = " \\ it"
@@ -182,7 +186,7 @@ const latex_symbols = Dict(
182
186
" \\ ^iota" => " ᶥ" ,
183
187
" \\ ^phi" => " ᵠ" ,
184
188
" \\ ^chi" => " ᵡ" ,
185
- " \\ ^Phi " => " ᶲ" ,
189
+ " \\ ^ltphi " => " ᶲ" ,
186
190
" \\ ^uparrow" => " ꜛ" ,
187
191
" \\ ^downarrow" => " ꜜ" ,
188
192
" \\ ^!" => " ꜝ" ,
@@ -1827,6 +1831,7 @@ const latex_symbols = Dict(
1827
1831
frak* " E" => " 𝔈" , # mathematical fraktur capital e
1828
1832
frak* " F" => " 𝔉" , # mathematical fraktur capital f
1829
1833
frak* " G" => " 𝔊" , # mathematical fraktur capital g
1834
+ frak* " I" => " ℑ" , # black-letter capital i (manual addition)
1830
1835
frak* " J" => " 𝔍" , # mathematical fraktur capital j
1831
1836
frak* " K" => " 𝔎" , # mathematical fraktur capital k
1832
1837
frak* " L" => " 𝔏" , # mathematical fraktur capital l
@@ -1835,6 +1840,7 @@ const latex_symbols = Dict(
1835
1840
frak* " O" => " 𝔒" , # mathematical fraktur capital o
1836
1841
frak* " P" => " 𝔓" , # mathematical fraktur capital p
1837
1842
frak* " Q" => " 𝔔" , # mathematical fraktur capital q
1843
+ frak* " R" => " ℜ" , # black-letter capital r (manual addition)
1838
1844
frak* " S" => " 𝔖" , # mathematical fraktur capital s
1839
1845
frak* " T" => " 𝔗" , # mathematical fraktur capital t
1840
1846
frak* " U" => " 𝔘" , # mathematical fraktur capital u
@@ -2257,7 +2263,7 @@ const latex_symbols = Dict(
2257
2263
bold* " beta" => " 𝛃" , # mathematical bold small beta
2258
2264
bold* " gamma" => " 𝛄" , # mathematical bold small gamma
2259
2265
bold* " delta" => " 𝛅" , # mathematical bold small delta
2260
- bold* " epsilon " => " 𝛆" , # mathematical bold small epsilon
2266
+ bold* " varepsilon " => " 𝛆" , # mathematical bold small epsilon
2261
2267
bold* " zeta" => " 𝛇" , # mathematical bold small zeta
2262
2268
bold* " eta" => " 𝛈" , # mathematical bold small eta
2263
2269
bold* " theta" => " 𝛉" , # mathematical bold small theta
@@ -2279,7 +2285,7 @@ const latex_symbols = Dict(
2279
2285
bold* " psi" => " 𝛙" , # mathematical bold small psi
2280
2286
bold* " omega" => " 𝛚" , # mathematical bold small omega
2281
2287
bold* " partial" => " 𝛛" , # mathematical bold partial differential
2282
- bold* " varepsilon " => " 𝛜" , # mathematical bold epsilon symbol
2288
+ bold* " epsilon " => " 𝛜" , # mathematical bold epsilon symbol
2283
2289
bold* " vartheta" => " 𝛝" , # mathematical bold theta symbol
2284
2290
bold* " varkappa" => " 𝛞" , # mathematical bold kappa symbol
2285
2291
bold* " phi" => " 𝛟" , # mathematical bold phi symbol
@@ -2315,7 +2321,7 @@ const latex_symbols = Dict(
2315
2321
italic* " beta" => " 𝛽" , # mathematical italic small beta
2316
2322
italic* " gamma" => " 𝛾" , # mathematical italic small gamma
2317
2323
italic* " delta" => " 𝛿" , # mathematical italic small delta
2318
- italic* " epsilon " => " 𝜀" , # mathematical italic small epsilon
2324
+ italic* " varepsilon " => " 𝜀" , # mathematical italic small epsilon
2319
2325
italic* " zeta" => " 𝜁" , # mathematical italic small zeta
2320
2326
italic* " eta" => " 𝜂" , # mathematical italic small eta
2321
2327
italic* " theta" => " 𝜃" , # mathematical italic small theta
@@ -2332,15 +2338,15 @@ const latex_symbols = Dict(
2332
2338
italic* " sigma" => " 𝜎" , # mathematical italic small sigma
2333
2339
italic* " tau" => " 𝜏" , # mathematical italic small tau
2334
2340
italic* " upsilon" => " 𝜐" , # mathematical italic small upsilon
2335
- italic* " phi " => " 𝜑" , # mathematical italic small phi
2341
+ italic* " varphi " => " 𝜑" , # mathematical italic small phi
2336
2342
italic* " chi" => " 𝜒" , # mathematical italic small chi
2337
2343
italic* " psi" => " 𝜓" , # mathematical italic small psi
2338
2344
italic* " omega" => " 𝜔" , # mathematical italic small omega
2339
2345
italic* " partial" => " 𝜕" , # mathematical italic partial differential
2340
- italic* " varepsilon " => " 𝜖" , # mathematical italic epsilon symbol
2346
+ italic* " epsilon " => " 𝜖" , # mathematical italic epsilon symbol
2341
2347
italic* " vartheta" => " 𝜗" , # mathematical italic theta symbol
2342
2348
italic* " varkappa" => " 𝜘" , # mathematical italic kappa symbol
2343
- italic* " varphi " => " 𝜙" , # mathematical italic phi symbol
2349
+ italic* " phi " => " 𝜙" , # mathematical italic phi symbol
2344
2350
italic* " varrho" => " 𝜚" , # mathematical italic rho symbol
2345
2351
italic* " varpi" => " 𝜛" , # mathematical italic pi symbol
2346
2352
bolditalic* " Alpha" => " 𝜜" , # mathematical bold italic capital alpha
@@ -2373,7 +2379,7 @@ const latex_symbols = Dict(
2373
2379
bolditalic* " beta" => " 𝜷" , # mathematical bold italic small beta
2374
2380
bolditalic* " gamma" => " 𝜸" , # mathematical bold italic small gamma
2375
2381
bolditalic* " delta" => " 𝜹" , # mathematical bold italic small delta
2376
- bolditalic* " epsilon " => " 𝜺" , # mathematical bold italic small epsilon
2382
+ bolditalic* " varepsilon " => " 𝜺" , # mathematical bold italic small epsilon
2377
2383
bolditalic* " zeta" => " 𝜻" , # mathematical bold italic small zeta
2378
2384
bolditalic* " eta" => " 𝜼" , # mathematical bold italic small eta
2379
2385
bolditalic* " theta" => " 𝜽" , # mathematical bold italic small theta
@@ -2390,15 +2396,15 @@ const latex_symbols = Dict(
2390
2396
bolditalic* " sigma" => " 𝝈" , # mathematical bold italic small sigma
2391
2397
bolditalic* " tau" => " 𝝉" , # mathematical bold italic small tau
2392
2398
bolditalic* " upsilon" => " 𝝊" , # mathematical bold italic small upsilon
2393
- bolditalic* " phi " => " 𝝋" , # mathematical bold italic small phi
2399
+ bolditalic* " varphi " => " 𝝋" , # mathematical bold italic small phi
2394
2400
bolditalic* " chi" => " 𝝌" , # mathematical bold italic small chi
2395
2401
bolditalic* " psi" => " 𝝍" , # mathematical bold italic small psi
2396
2402
bolditalic* " omega" => " 𝝎" , # mathematical bold italic small omega
2397
2403
bolditalic* " partial" => " 𝝏" , # mathematical bold italic partial differential
2398
- bolditalic* " varepsilon " => " 𝝐" , # mathematical bold italic epsilon symbol
2404
+ bolditalic* " epsilon " => " 𝝐" , # mathematical bold italic epsilon symbol
2399
2405
bolditalic* " vartheta" => " 𝝑" , # mathematical bold italic theta symbol
2400
2406
bolditalic* " varkappa" => " 𝝒" , # mathematical bold italic kappa symbol
2401
- bolditalic* " varphi " => " 𝝓" , # mathematical bold italic phi symbol
2407
+ bolditalic* " phi " => " 𝝓" , # mathematical bold italic phi symbol
2402
2408
bolditalic* " varrho" => " 𝝔" , # mathematical bold italic rho symbol
2403
2409
bolditalic* " varpi" => " 𝝕" , # mathematical bold italic pi symbol
2404
2410
boldsans* " Alpha" => " 𝝖" , # mathematical sans-serif bold capital alpha
@@ -2431,7 +2437,7 @@ const latex_symbols = Dict(
2431
2437
boldsans* " beta" => " 𝝱" , # mathematical sans-serif bold small beta
2432
2438
boldsans* " gamma" => " 𝝲" , # mathematical sans-serif bold small gamma
2433
2439
boldsans* " delta" => " 𝝳" , # mathematical sans-serif bold small delta
2434
- boldsans* " epsilon " => " 𝝴" , # mathematical sans-serif bold small epsilon
2440
+ boldsans* " varepsilon " => " 𝝴" , # mathematical sans-serif bold small epsilon
2435
2441
boldsans* " zeta" => " 𝝵" , # mathematical sans-serif bold small zeta
2436
2442
boldsans* " eta" => " 𝝶" , # mathematical sans-serif bold small eta
2437
2443
boldsans* " theta" => " 𝝷" , # mathematical sans-serif bold small theta
@@ -2448,15 +2454,15 @@ const latex_symbols = Dict(
2448
2454
boldsans* " sigma" => " 𝞂" , # mathematical sans-serif bold small sigma
2449
2455
boldsans* " tau" => " 𝞃" , # mathematical sans-serif bold small tau
2450
2456
boldsans* " upsilon" => " 𝞄" , # mathematical sans-serif bold small upsilon
2451
- boldsans* " phi " => " 𝞅" , # mathematical sans-serif bold small phi
2457
+ boldsans* " varphi " => " 𝞅" , # mathematical sans-serif bold small phi
2452
2458
boldsans* " chi" => " 𝞆" , # mathematical sans-serif bold small chi
2453
2459
boldsans* " psi" => " 𝞇" , # mathematical sans-serif bold small psi
2454
2460
boldsans* " omega" => " 𝞈" , # mathematical sans-serif bold small omega
2455
2461
boldsans* " partial" => " 𝞉" , # mathematical sans-serif bold partial differential
2456
- boldsans* " varepsilon " => " 𝞊" , # mathematical sans-serif bold epsilon symbol
2462
+ boldsans* " epsilon " => " 𝞊" , # mathematical sans-serif bold epsilon symbol
2457
2463
boldsans* " vartheta" => " 𝞋" , # mathematical sans-serif bold theta symbol
2458
2464
boldsans* " varkappa" => " 𝞌" , # mathematical sans-serif bold kappa symbol
2459
- boldsans* " varphi " => " 𝞍" , # mathematical sans-serif bold phi symbol
2465
+ boldsans* " phi " => " 𝞍" , # mathematical sans-serif bold phi symbol
2460
2466
boldsans* " varrho" => " 𝞎" , # mathematical sans-serif bold rho symbol
2461
2467
boldsans* " varpi" => " 𝞏" , # mathematical sans-serif bold pi symbol
2462
2468
bolditalicsans* " Alpha" => " 𝞐" , # mathematical sans-serif bold italic capital alpha
@@ -2489,7 +2495,7 @@ const latex_symbols = Dict(
2489
2495
bolditalicsans* " beta" => " 𝞫" , # mathematical sans-serif bold italic small beta
2490
2496
bolditalicsans* " gamma" => " 𝞬" , # mathematical sans-serif bold italic small gamma
2491
2497
bolditalicsans* " delta" => " 𝞭" , # mathematical sans-serif bold italic small delta
2492
- bolditalicsans* " epsilon " => " 𝞮" , # mathematical sans-serif bold italic small epsilon
2498
+ bolditalicsans* " varepsilon " => " 𝞮" , # mathematical sans-serif bold italic small epsilon
2493
2499
bolditalicsans* " zeta" => " 𝞯" , # mathematical sans-serif bold italic small zeta
2494
2500
bolditalicsans* " eta" => " 𝞰" , # mathematical sans-serif bold italic small eta
2495
2501
bolditalicsans* " theta" => " 𝞱" , # mathematical sans-serif bold italic small theta
@@ -2506,15 +2512,15 @@ const latex_symbols = Dict(
2506
2512
bolditalicsans* " sigma" => " 𝞼" , # mathematical sans-serif bold italic small sigma
2507
2513
bolditalicsans* " tau" => " 𝞽" , # mathematical sans-serif bold italic small tau
2508
2514
bolditalicsans* " upsilon" => " 𝞾" , # mathematical sans-serif bold italic small upsilon
2509
- bolditalicsans* " phi " => " 𝞿" , # mathematical sans-serif bold italic small phi
2515
+ bolditalicsans* " varphi " => " 𝞿" , # mathematical sans-serif bold italic small phi
2510
2516
bolditalicsans* " chi" => " 𝟀" , # mathematical sans-serif bold italic small chi
2511
2517
bolditalicsans* " psi" => " 𝟁" , # mathematical sans-serif bold italic small psi
2512
2518
bolditalicsans* " omega" => " 𝟂" , # mathematical sans-serif bold italic small omega
2513
2519
bolditalicsans* " partial" => " 𝟃" , # mathematical sans-serif bold italic partial differential
2514
- bolditalicsans* " varepsilon " => " 𝟄" , # mathematical sans-serif bold italic epsilon symbol
2520
+ bolditalicsans* " epsilon " => " 𝟄" , # mathematical sans-serif bold italic epsilon symbol
2515
2521
bolditalicsans* " vartheta" => " 𝟅" , # mathematical sans-serif bold italic theta symbol
2516
2522
bolditalicsans* " varkappa" => " 𝟆" , # mathematical sans-serif bold italic kappa symbol
2517
- bolditalicsans* " varphi " => " 𝟇" , # mathematical sans-serif bold italic phi symbol
2523
+ bolditalicsans* " phi " => " 𝟇" , # mathematical sans-serif bold italic phi symbol
2518
2524
bolditalicsans* " varrho" => " 𝟈" , # mathematical sans-serif bold italic rho symbol
2519
2525
bolditalicsans* " varpi" => " 𝟉" , # mathematical sans-serif bold italic pi symbol
2520
2526
bold* " Digamma" => " \U 1d7ca" , # mathematical bold capital digamma
@@ -2575,7 +2581,6 @@ const latex_symbols = Dict(
2575
2581
" \\ leftouterjoin" => " ⟕" , # left outer join
2576
2582
" \\ rightouterjoin" => " ⟖" , # right outer join
2577
2583
" \\ fullouterjoin" => " ⟗" , # full outer join
2578
- " \\ Join" => " ⨝" , # join
2579
2584
" \\ join" => " ⨝" , # join
2580
2585
" \\ underbar" => " ̲" , # combining low line
2581
2586
" \\ underleftrightarrow" => " ͍" , # underleftrightarrow accent
@@ -2613,3 +2618,37 @@ const latex_symbols = Dict(
2613
2618
" \\ 0/3" => " ↉" , # vulgar fraction zero thirds
2614
2619
" \\ 1/4" => " ¼" , # vulgar fraction one quarter
2615
2620
)
2621
+
2622
+
2623
+ # Canonical reverse mapping for symbols that have several completions (#39148).
2624
+ #
2625
+ # These duplicate mappings can be investigated with the folllowing commands:
2626
+ #=
2627
+ ls = REPL.REPLCompletions.latex_symbols; symbols = values(ls)
2628
+ duplicates = [v for v in unique(symbols) if count(==(v), symbols) > 1]
2629
+ [(v, REPL.symbol_latex(v)) => findall(==(v), ls) for v in duplicates]
2630
+ =#
2631
+ const symbols_latex_canonical = Dict (
2632
+ " ð" => " \\ dh" ,
2633
+ " …" => " \\ ldots" ,
2634
+ " ∅" => " \\ emptyset" ,
2635
+ " ℯ" => " \\ euler" ,
2636
+ " ♀" => " \\ female" ,
2637
+ " ≥" => " \\ ge" ,
2638
+ " ⟺" => " \\ iff" ,
2639
+ " ℑ" => " \\ Im" ,
2640
+ " ⟸" => " \\ impliedby" ,
2641
+ " ⟹" => " \\ implies" ,
2642
+ " ≤" => " \\ le" ,
2643
+ " ⟦" => " \\ llbracket" ,
2644
+ " ♂" => " \\ male" ,
2645
+ " ∇" => " \\ del" ,
2646
+ " ℎ" => " \\ planck" ,
2647
+ " ℜ" => " \\ Re" ,
2648
+ " ⟧" => " \\ rrbracket" ,
2649
+ " √" => " \\ sqrt" ,
2650
+ " ̶" => " \\ sout" ,
2651
+ " →" => " \\ to" ,
2652
+ " ε" => " \\ varepsilon" ,
2653
+ " ⊻" => " \\ xor" ,
2654
+ )
0 commit comments