@sciexpr/presets 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -274,13 +274,48 @@ var STATS_TEMPLATES = [
274
274
  }
275
275
  ];
276
276
  var PHYSICS_TEMPLATES = [
277
+ // --------------------------------------------------------------------------
278
+ // 力学 (Mechanics)
279
+ // --------------------------------------------------------------------------
277
280
  {
278
- id: "einstein-emc2",
279
- name: "\u8D28\u80FD\u65B9\u7A0B",
280
- latex: "E = mc^{2}",
281
+ id: "velocity-avg",
282
+ name: "\u5E73\u5747\u901F\u5EA6",
283
+ latex: "\\bar{v} = \\frac{\\Delta x}{\\Delta t}",
281
284
  category: "physics",
282
- description: "\u7231\u56E0\u65AF\u5766\u8D28\u80FD\u65B9\u7A0B",
283
- tags: ["einstein", "energy", "mass"]
285
+ description: "\u5E73\u5747\u901F\u5EA6\u5B9A\u4E49",
286
+ tags: ["kinematics", "velocity", "mechanics"]
287
+ },
288
+ {
289
+ id: "acceleration-def",
290
+ name: "\u52A0\u901F\u5EA6\u5B9A\u4E49",
291
+ latex: "\\vec{a} = \\frac{\\Delta \\vec{v}}{\\Delta t}",
292
+ category: "physics",
293
+ description: "\u52A0\u901F\u5EA6\u5B9A\u4E49",
294
+ tags: ["kinematics", "acceleration", "mechanics"]
295
+ },
296
+ {
297
+ id: "kinematic-vt",
298
+ name: "\u5300\u53D8\u901F\u901F\u5EA6\u516C\u5F0F",
299
+ latex: "v = v_0 + at",
300
+ category: "physics",
301
+ description: "\u5300\u53D8\u901F\u76F4\u7EBF\u8FD0\u52A8\u901F\u5EA6\u516C\u5F0F",
302
+ tags: ["kinematics", "mechanics"]
303
+ },
304
+ {
305
+ id: "kinematic-s",
306
+ name: "\u5300\u53D8\u901F\u4F4D\u79FB\u516C\u5F0F",
307
+ latex: "s = v_0 t + \\frac{1}{2} a t^{2}",
308
+ category: "physics",
309
+ description: "\u5300\u53D8\u901F\u76F4\u7EBF\u8FD0\u52A8\u4F4D\u79FB\u516C\u5F0F",
310
+ tags: ["kinematics", "mechanics"]
311
+ },
312
+ {
313
+ id: "kinematic-v2",
314
+ name: "\u901F\u5EA6-\u4F4D\u79FB\u5173\u7CFB",
315
+ latex: "v^{2} - v_0^{2} = 2 a s",
316
+ category: "physics",
317
+ description: "\u5300\u53D8\u901F\u76F4\u7EBF\u8FD0\u52A8\u901F\u5EA6-\u4F4D\u79FB\u5173\u7CFB",
318
+ tags: ["kinematics", "mechanics"]
284
319
  },
285
320
  {
286
321
  id: "newton-2nd",
@@ -288,8 +323,316 @@ var PHYSICS_TEMPLATES = [
288
323
  latex: "\\vec{F} = m\\vec{a}",
289
324
  category: "physics",
290
325
  description: "\u725B\u987F\u7B2C\u4E8C\u5B9A\u5F8B",
291
- tags: ["newton", "force", "acceleration"]
326
+ tags: ["newton", "force", "acceleration", "mechanics"]
327
+ },
328
+ {
329
+ id: "newton-3rd",
330
+ name: "\u725B\u987F\u7B2C\u4E09\u5B9A\u5F8B",
331
+ latex: "\\vec{F}_{AB} = -\\vec{F}_{BA}",
332
+ category: "physics",
333
+ description: "\u725B\u987F\u7B2C\u4E09\u5B9A\u5F8B\uFF08\u4F5C\u7528\u529B\u4E0E\u53CD\u4F5C\u7528\u529B\uFF09",
334
+ tags: ["newton", "mechanics"]
335
+ },
336
+ {
337
+ id: "momentum-def",
338
+ name: "\u52A8\u91CF\u5B9A\u4E49",
339
+ latex: "\\vec{p} = m\\vec{v}",
340
+ category: "physics",
341
+ description: "\u52A8\u91CF\u5B9A\u4E49",
342
+ tags: ["momentum", "mechanics"]
343
+ },
344
+ {
345
+ id: "momentum-conservation",
346
+ name: "\u52A8\u91CF\u5B88\u6052",
347
+ latex: "\\vec{p}_1 + \\vec{p}_2 = \\vec{p}_1' + \\vec{p}_2'",
348
+ category: "physics",
349
+ description: "\u52A8\u91CF\u5B88\u6052\u5B9A\u5F8B",
350
+ tags: ["momentum", "conservation", "mechanics"]
351
+ },
352
+ {
353
+ id: "impulse",
354
+ name: "\u51B2\u91CF\u5B9A\u7406",
355
+ latex: "\\vec{F}\\Delta t = \\Delta \\vec{p}",
356
+ category: "physics",
357
+ description: "\u51B2\u91CF\u5B9A\u7406\uFF08\u52A8\u91CF\u5B9A\u7406\uFF09",
358
+ tags: ["impulse", "momentum", "mechanics"]
359
+ },
360
+ {
361
+ id: "kinetic-energy",
362
+ name: "\u52A8\u80FD\u5B9A\u7406",
363
+ latex: "W = \\Delta E_k = \\frac{1}{2} m v^{2} - \\frac{1}{2} m v_0^{2}",
364
+ category: "physics",
365
+ description: "\u52A8\u80FD\u5B9A\u7406",
366
+ tags: ["energy", "kinetic", "mechanics"]
367
+ },
368
+ {
369
+ id: "potential-spring",
370
+ name: "\u5F39\u6027\u52BF\u80FD",
371
+ latex: "E_p = \\frac{1}{2} k x^{2}",
372
+ category: "physics",
373
+ description: "\u5F39\u6027\u52BF\u80FD\uFF08\u80E1\u514B\u5B9A\u5F8B\u52BF\u80FD\uFF09",
374
+ tags: ["energy", "spring", "mechanics"]
375
+ },
376
+ {
377
+ id: "potential-gravity",
378
+ name: "\u91CD\u529B\u52BF\u80FD",
379
+ latex: "E_p = mgh",
380
+ category: "physics",
381
+ description: "\u91CD\u529B\u52BF\u80FD",
382
+ tags: ["energy", "gravity", "mechanics"]
383
+ },
384
+ {
385
+ id: "mechanical-energy",
386
+ name: "\u673A\u68B0\u80FD\u5B88\u6052",
387
+ latex: "E_k + E_p = \\text{const}",
388
+ category: "physics",
389
+ description: "\u673A\u68B0\u80FD\u5B88\u6052\u5B9A\u5F8B",
390
+ tags: ["energy", "conservation", "mechanics"]
391
+ },
392
+ {
393
+ id: "work-def",
394
+ name: "\u529F\u7684\u5B9A\u4E49",
395
+ latex: "W = \\vec{F} \\cdot \\vec{s} = F s \\cos\\theta",
396
+ category: "physics",
397
+ description: "\u6052\u529B\u505A\u529F",
398
+ tags: ["work", "energy", "mechanics"]
399
+ },
400
+ {
401
+ id: "power-def",
402
+ name: "\u529F\u7387\u5B9A\u4E49",
403
+ latex: "P = \\frac{W}{t} = \\vec{F} \\cdot \\vec{v}",
404
+ category: "physics",
405
+ description: "\u5E73\u5747\u529F\u7387\u4E0E\u77AC\u65F6\u529F\u7387",
406
+ tags: ["power", "mechanics"]
407
+ },
408
+ {
409
+ id: "projectile-motion",
410
+ name: "\u629B\u4F53\u8FD0\u52A8\u65B9\u7A0B",
411
+ latex: "\\begin{cases} x = v_0 t \\cos\\theta \\\\ y = v_0 t \\sin\\theta - \\frac{1}{2} g t^{2} \\end{cases}",
412
+ category: "physics",
413
+ description: "\u629B\u4F53\u8FD0\u52A8\u53C2\u6570\u65B9\u7A0B",
414
+ tags: ["projectile", "kinematics", "mechanics"]
415
+ },
416
+ {
417
+ id: "shm",
418
+ name: "\u7B80\u8C10\u632F\u52A8",
419
+ latex: "x(t) = A \\cos(\\omega t + \\phi_0)",
420
+ category: "physics",
421
+ description: "\u7B80\u8C10\u632F\u52A8\u4F4D\u79FB\u65B9\u7A0B",
422
+ tags: ["shm", "oscillation", "mechanics"]
423
+ },
424
+ {
425
+ id: "shm-energy",
426
+ name: "\u7B80\u8C10\u632F\u52A8\u80FD\u91CF",
427
+ latex: "E = \\frac{1}{2} k A^{2}",
428
+ category: "physics",
429
+ description: "\u7B80\u8C10\u632F\u52A8\u603B\u80FD\u91CF",
430
+ tags: ["shm", "energy", "mechanics"]
431
+ },
432
+ // --------------------------------------------------------------------------
433
+ // 旋转运动 (Rotational Motion)
434
+ // --------------------------------------------------------------------------
435
+ {
436
+ id: "centripetal-force",
437
+ name: "\u5411\u5FC3\u529B",
438
+ latex: "F_c = m \\frac{v^{2}}{r} = m \\omega^{2} r",
439
+ category: "physics",
440
+ description: "\u5411\u5FC3\u529B\u516C\u5F0F",
441
+ tags: ["rotation", "centripetal", "mechanics"]
442
+ },
443
+ {
444
+ id: "angular-momentum",
445
+ name: "\u89D2\u52A8\u91CF",
446
+ latex: "\\vec{L} = \\vec{r} \\times \\vec{p} = I \\vec{\\omega}",
447
+ category: "physics",
448
+ description: "\u89D2\u52A8\u91CF\u5B9A\u4E49",
449
+ tags: ["rotation", "angular-momentum", "mechanics"]
450
+ },
451
+ {
452
+ id: "torque-def",
453
+ name: "\u529B\u77E9\u5B9A\u4E49",
454
+ latex: "\\vec{\\tau} = \\vec{r} \\times \\vec{F}",
455
+ category: "physics",
456
+ description: "\u529B\u77E9\u5B9A\u4E49",
457
+ tags: ["rotation", "torque", "mechanics"]
458
+ },
459
+ {
460
+ id: "torque-angular",
461
+ name: "\u8F6C\u52A8\u5B9A\u5F8B",
462
+ latex: "\\vec{\\tau} = I \\vec{\\alpha}",
463
+ category: "physics",
464
+ description: "\u521A\u4F53\u8F6C\u52A8\u5B9A\u5F8B",
465
+ tags: ["rotation", "torque", "mechanics"]
466
+ },
467
+ {
468
+ id: "rotational-ke",
469
+ name: "\u8F6C\u52A8\u52A8\u80FD",
470
+ latex: "E_k = \\frac{1}{2} I \\omega^{2}",
471
+ category: "physics",
472
+ description: "\u521A\u4F53\u8F6C\u52A8\u52A8\u80FD",
473
+ tags: ["rotation", "energy", "mechanics"]
474
+ },
475
+ // --------------------------------------------------------------------------
476
+ // 电磁学 (Electromagnetism)
477
+ // --------------------------------------------------------------------------
478
+ {
479
+ id: "coulomb-law",
480
+ name: "\u5E93\u4ED1\u5B9A\u5F8B",
481
+ latex: "F = k_e \\frac{q_1 q_2}{r^{2}}",
482
+ category: "physics",
483
+ description: "\u5E93\u4ED1\u5B9A\u5F8B\uFF08\u9759\u7535\u529B\uFF09",
484
+ tags: ["electrostatics", "electromagnetism"]
485
+ },
486
+ {
487
+ id: "electric-field",
488
+ name: "\u7535\u573A\u5F3A\u5EA6",
489
+ latex: "\\vec{E} = \\frac{\\vec{F}}{q}",
490
+ category: "physics",
491
+ description: "\u7535\u573A\u5F3A\u5EA6\u5B9A\u4E49",
492
+ tags: ["electrostatics", "electromagnetism"]
493
+ },
494
+ {
495
+ id: "gauss-law",
496
+ name: "\u9AD8\u65AF\u5B9A\u5F8B",
497
+ latex: "\\oint \\vec{E} \\cdot d\\vec{A} = \\frac{Q_{\\text{enc}}}{\\varepsilon_0}",
498
+ category: "physics",
499
+ description: "\u9AD8\u65AF\u5B9A\u5F8B\uFF08\u7535\u573A\uFF09",
500
+ tags: ["maxwell", "electrostatics", "electromagnetism"]
501
+ },
502
+ {
503
+ id: "magnetic-flux",
504
+ name: "\u78C1\u901A\u91CF",
505
+ latex: "\\Phi_B = \\int \\vec{B} \\cdot d\\vec{A}",
506
+ category: "physics",
507
+ description: "\u78C1\u901A\u91CF\u5B9A\u4E49",
508
+ tags: ["magnetism", "electromagnetism"]
509
+ },
510
+ {
511
+ id: "maxwell-faraday",
512
+ name: "\u6CD5\u62C9\u7B2C\u7535\u78C1\u611F\u5E94",
513
+ latex: "\\mathcal{E} = -\\frac{d\\Phi_B}{dt}",
514
+ category: "physics",
515
+ description: "\u6CD5\u62C9\u7B2C\u7535\u78C1\u611F\u5E94\u5B9A\u5F8B",
516
+ tags: ["maxwell", "electromagnetism", "induction"]
517
+ },
518
+ {
519
+ id: "ampere-law",
520
+ name: "\u5B89\u57F9\u73AF\u8DEF\u5B9A\u7406",
521
+ latex: "\\oint \\vec{B} \\cdot d\\vec{l} = \\mu_0 I_{\\text{enc}}",
522
+ category: "physics",
523
+ description: "\u5B89\u57F9\u73AF\u8DEF\u5B9A\u7406",
524
+ tags: ["maxwell", "magnetism", "electromagnetism"]
525
+ },
526
+ {
527
+ id: "lorentz-force",
528
+ name: "\u6D1B\u4F26\u5179\u529B",
529
+ latex: "\\vec{F} = q(\\vec{E} + \\vec{v} \\times \\vec{B})",
530
+ category: "physics",
531
+ description: "\u6D1B\u4F26\u5179\u529B\u516C\u5F0F",
532
+ tags: ["electromagnetism", "lorentz"]
533
+ },
534
+ {
535
+ id: "ohm-law",
536
+ name: "\u6B27\u59C6\u5B9A\u5F8B",
537
+ latex: "V = I R",
538
+ category: "physics",
539
+ description: "\u6B27\u59C6\u5B9A\u5F8B",
540
+ tags: ["circuit", "electromagnetism"]
541
+ },
542
+ {
543
+ id: "joule-heating",
544
+ name: "\u7126\u8033\u5B9A\u5F8B",
545
+ latex: "P = I^{2} R",
546
+ category: "physics",
547
+ description: "\u7126\u8033\u5B9A\u5F8B\uFF08\u7535\u963B\u53D1\u70ED\u529F\u7387\uFF09",
548
+ tags: ["circuit", "electromagnetism"]
549
+ },
550
+ {
551
+ id: "capacitor-energy",
552
+ name: "\u7535\u5BB9\u5668\u80FD\u91CF",
553
+ latex: "E = \\frac{1}{2} C V^{2} = \\frac{Q^{2}}{2C}",
554
+ category: "physics",
555
+ description: "\u7535\u5BB9\u5668\u50A8\u5B58\u7684\u7535\u80FD",
556
+ tags: ["circuit", "electromagnetism"]
557
+ },
558
+ {
559
+ id: "inductor-energy",
560
+ name: "\u7535\u611F\u80FD\u91CF",
561
+ latex: "E = \\frac{1}{2} L I^{2}",
562
+ category: "physics",
563
+ description: "\u7535\u611F\u50A8\u5B58\u7684\u78C1\u80FD",
564
+ tags: ["circuit", "electromagnetism"]
565
+ },
566
+ {
567
+ id: "capacitance",
568
+ name: "\u7535\u5BB9\u5B9A\u4E49",
569
+ latex: "C = \\frac{Q}{V}",
570
+ category: "physics",
571
+ description: "\u7535\u5BB9\u5B9A\u4E49",
572
+ tags: ["circuit", "electromagnetism"]
573
+ },
574
+ // --------------------------------------------------------------------------
575
+ // 热力学 (Thermodynamics)
576
+ // --------------------------------------------------------------------------
577
+ {
578
+ id: "ideal-gas-law",
579
+ name: "\u7406\u60F3\u6C14\u4F53\u72B6\u6001\u65B9\u7A0B",
580
+ latex: "PV = nRT",
581
+ category: "physics",
582
+ description: "\u7406\u60F3\u6C14\u4F53\u72B6\u6001\u65B9\u7A0B",
583
+ tags: ["thermodynamics", "gas"]
584
+ },
585
+ {
586
+ id: "first-law-thermo",
587
+ name: "\u70ED\u529B\u5B66\u7B2C\u4E00\u5B9A\u5F8B",
588
+ latex: "\\Delta U = Q - W",
589
+ category: "physics",
590
+ description: "\u70ED\u529B\u5B66\u7B2C\u4E00\u5B9A\u5F8B\uFF08\u5185\u80FD\u53D8\u5316 = \u5438\u70ED - \u5BF9\u5916\u505A\u529F\uFF09",
591
+ tags: ["thermodynamics", "energy"]
592
+ },
593
+ {
594
+ id: "entropy-def",
595
+ name: "\u71B5\u53D8\u5B9A\u4E49",
596
+ latex: "\\Delta S = \\int \\frac{dQ_{\\text{rev}}}{T}",
597
+ category: "physics",
598
+ description: "\u71B5\u53D8\u5B9A\u4E49\uFF08\u53EF\u9006\u8FC7\u7A0B\uFF09",
599
+ tags: ["thermodynamics", "entropy"]
600
+ },
601
+ {
602
+ id: "carnot-efficiency",
603
+ name: "\u5361\u8BFA\u6548\u7387",
604
+ latex: "\\eta = 1 - \\frac{T_C}{T_H}",
605
+ category: "physics",
606
+ description: "\u5361\u8BFA\u70ED\u673A\u6548\u7387",
607
+ tags: ["thermodynamics", "carnot"]
608
+ },
609
+ {
610
+ id: "thermal-expansion",
611
+ name: "\u70ED\u81A8\u80C0",
612
+ latex: "\\Delta L = \\alpha L_0 \\Delta T",
613
+ category: "physics",
614
+ description: "\u7EBF\u81A8\u80C0\u516C\u5F0F",
615
+ tags: ["thermodynamics", "expansion"]
292
616
  },
617
+ {
618
+ id: "heat-capacity",
619
+ name: "\u70ED\u5BB9\u91CF",
620
+ latex: "Q = mc\\Delta T",
621
+ category: "physics",
622
+ description: "\u70ED\u5BB9\u91CF\u4E0E\u6BD4\u70ED\u5BB9",
623
+ tags: ["thermodynamics", "heat"]
624
+ },
625
+ {
626
+ id: "stefan-boltzmann",
627
+ name: "\u65AF\u7279\u85E9-\u73BB\u5C14\u5179\u66FC\u5B9A\u5F8B",
628
+ latex: "P = \\sigma A T^{4}",
629
+ category: "physics",
630
+ description: "\u9ED1\u4F53\u8F90\u5C04\u603B\u529F\u7387",
631
+ tags: ["thermodynamics", "radiation"]
632
+ },
633
+ // --------------------------------------------------------------------------
634
+ // 量子力学 (Quantum Mechanics)
635
+ // --------------------------------------------------------------------------
293
636
  {
294
637
  id: "schrodinger",
295
638
  name: "\u859B\u5B9A\u8C14\u65B9\u7A0B",
@@ -299,20 +642,299 @@ var PHYSICS_TEMPLATES = [
299
642
  tags: ["quantum", "schrodinger"]
300
643
  },
301
644
  {
302
- id: "maxwell-faraday",
303
- name: "\u6CD5\u62C9\u7B2C\u5B9A\u5F8B",
304
- latex: "\\nabla \\times \\vec{E} = -\\frac{\\partial\\vec{B}}{\\partial t}",
645
+ id: "schrodinger-tise",
646
+ name: "\u5B9A\u6001\u859B\u5B9A\u8C14\u65B9\u7A0B",
647
+ latex: "\\hat{H} \\psi = E \\psi",
648
+ category: "physics",
649
+ description: "\u5B9A\u6001\uFF08\u4E0D\u542B\u65F6\uFF09\u859B\u5B9A\u8C14\u65B9\u7A0B",
650
+ tags: ["quantum", "schrodinger"]
651
+ },
652
+ {
653
+ id: "uncertainty-principle",
654
+ name: "\u4E0D\u786E\u5B9A\u6027\u539F\u7406",
655
+ latex: "\\Delta x \\cdot \\Delta p \\geq \\frac{\\hbar}{2}",
656
+ category: "physics",
657
+ description: "\u6D77\u68EE\u5821\u4E0D\u786E\u5B9A\u6027\u539F\u7406",
658
+ tags: ["quantum", "heisenberg"]
659
+ },
660
+ {
661
+ id: "debroglie",
662
+ name: "\u5FB7\u5E03\u7F57\u610F\u6CE2\u957F",
663
+ latex: "\\lambda = \\frac{h}{p} = \\frac{h}{mv}",
305
664
  category: "physics",
306
- description: "\u9EA6\u514B\u65AF\u97E6-\u6CD5\u62C9\u7B2C\u65B9\u7A0B",
307
- tags: ["maxwell", "electromagnetism"]
665
+ description: "\u5FB7\u5E03\u7F57\u610F\u7269\u8D28\u6CE2",
666
+ tags: ["quantum", "wave-particle"]
308
667
  },
668
+ {
669
+ id: "photoelectric",
670
+ name: "\u5149\u7535\u6548\u5E94",
671
+ latex: "E_k = h\\nu - W_0",
672
+ category: "physics",
673
+ description: "\u5149\u7535\u6548\u5E94\u65B9\u7A0B\uFF08\u7231\u56E0\u65AF\u5766\uFF09",
674
+ tags: ["quantum", "photon", "photoelectric"]
675
+ },
676
+ {
677
+ id: "commutator-xp",
678
+ name: "\u4F4D\u7F6E-\u52A8\u91CF\u5BF9\u6613\u5173\u7CFB",
679
+ latex: "[\\hat{x}, \\hat{p}] = i\\hbar",
680
+ category: "physics",
681
+ description: "\u6B63\u5219\u5BF9\u6613\u5173\u7CFB",
682
+ tags: ["quantum", "commutator"]
683
+ },
684
+ {
685
+ id: "bohr-model",
686
+ name: "\u73BB\u5C14\u6C22\u539F\u5B50\u6A21\u578B",
687
+ latex: "E_n = -\\frac{13.6 \\ \\text{eV}}{n^{2}}",
688
+ category: "physics",
689
+ description: "\u73BB\u5C14\u6C22\u539F\u5B50\u80FD\u7EA7",
690
+ tags: ["quantum", "atom", "bohr"]
691
+ },
692
+ {
693
+ id: "pauli-exclusion",
694
+ name: "\u6CE1\u5229\u4E0D\u76F8\u5BB9\u539F\u7406",
695
+ latex: "\\Psi(1,2) = -\\Psi(2,1)",
696
+ category: "physics",
697
+ description: "\u6CE1\u5229\u4E0D\u76F8\u5BB9\u539F\u7406\uFF08\u8D39\u7C73\u5B50\u53CD\u5BF9\u79F0\u6CE2\u51FD\u6570\uFF09",
698
+ tags: ["quantum", "pauli"]
699
+ },
700
+ {
701
+ id: "harmonic-oscillator",
702
+ name: "\u91CF\u5B50\u8C10\u632F\u5B50",
703
+ latex: "E_n = \\hbar \\omega \\left(n + \\frac{1}{2}\\right)",
704
+ category: "physics",
705
+ description: "\u4E00\u7EF4\u91CF\u5B50\u8C10\u632F\u5B50\u80FD\u7EA7",
706
+ tags: ["quantum", "oscillator"]
707
+ },
708
+ {
709
+ id: "potential-well",
710
+ name: "\u65E0\u9650\u6DF1\u52BF\u9631",
711
+ latex: "E_n = \\frac{n^{2} \\pi^{2} \\hbar^{2}}{2 m L^{2}}",
712
+ category: "physics",
713
+ description: "\u4E00\u7EF4\u65E0\u9650\u6DF1\u65B9\u52BF\u9631\u80FD\u7EA7",
714
+ tags: ["quantum", "potential-well"]
715
+ },
716
+ // --------------------------------------------------------------------------
717
+ // 相对论 (Relativity)
718
+ // --------------------------------------------------------------------------
719
+ {
720
+ id: "einstein-emc2",
721
+ name: "\u8D28\u80FD\u65B9\u7A0B",
722
+ latex: "E = mc^{2}",
723
+ category: "physics",
724
+ description: "\u7231\u56E0\u65AF\u5766\u8D28\u80FD\u65B9\u7A0B",
725
+ tags: ["relativity", "einstein", "energy", "mass"]
726
+ },
727
+ {
728
+ id: "lorentz-transform",
729
+ name: "\u6D1B\u4F26\u5179\u53D8\u6362",
730
+ latex: "x' = \\gamma(x - vt), \\; t' = \\gamma\\left(t - \\frac{vx}{c^{2}}\\right)",
731
+ category: "physics",
732
+ description: "\u6D1B\u4F26\u5179\u5750\u6807\u53D8\u6362",
733
+ tags: ["relativity", "lorentz"]
734
+ },
735
+ {
736
+ id: "time-dilation",
737
+ name: "\u65F6\u95F4\u81A8\u80C0",
738
+ latex: "\\Delta t = \\frac{\\Delta t_0}{\\sqrt{1 - v^{2}/c^{2}}}",
739
+ category: "physics",
740
+ description: "\u76F8\u5BF9\u8BBA\u65F6\u95F4\u81A8\u80C0",
741
+ tags: ["relativity", "time"]
742
+ },
743
+ {
744
+ id: "length-contraction",
745
+ name: "\u957F\u5EA6\u6536\u7F29",
746
+ latex: "L = L_0 \\sqrt{1 - \\frac{v^{2}}{c^{2}}}",
747
+ category: "physics",
748
+ description: "\u76F8\u5BF9\u8BBA\u957F\u5EA6\u6536\u7F29",
749
+ tags: ["relativity", "length"]
750
+ },
751
+ {
752
+ id: "energy-momentum",
753
+ name: "\u80FD\u91CF-\u52A8\u91CF\u5173\u7CFB",
754
+ latex: "E^{2} = (pc)^{2} + (mc^{2})^{2}",
755
+ category: "physics",
756
+ description: "\u76F8\u5BF9\u8BBA\u80FD\u91CF-\u52A8\u91CF\u5173\u7CFB",
757
+ tags: ["relativity", "energy", "momentum"]
758
+ },
759
+ {
760
+ id: "velocity-addition",
761
+ name: "\u76F8\u5BF9\u8BBA\u901F\u5EA6\u53E0\u52A0",
762
+ latex: "u = \\frac{u' + v}{1 + \\frac{u' v}{c^{2}}}",
763
+ category: "physics",
764
+ description: "\u76F8\u5BF9\u8BBA\u901F\u5EA6\u53E0\u52A0\u516C\u5F0F",
765
+ tags: ["relativity", "velocity"]
766
+ },
767
+ {
768
+ id: "lorentz-factor",
769
+ name: "\u6D1B\u4F26\u5179\u56E0\u5B50",
770
+ latex: "\\gamma = \\frac{1}{\\sqrt{1 - v^{2}/c^{2}}}",
771
+ category: "physics",
772
+ description: "\u6D1B\u4F26\u5179\u56E0\u5B50 \u03B3",
773
+ tags: ["relativity", "lorentz"]
774
+ },
775
+ // --------------------------------------------------------------------------
776
+ // 万有引力与天体物理 (Gravitation & Astrophysics)
777
+ // --------------------------------------------------------------------------
309
778
  {
310
779
  id: "gravitation",
311
- name: "\u4E07\u6709\u5F15\u529B",
780
+ name: "\u4E07\u6709\u5F15\u529B\u5B9A\u5F8B",
312
781
  latex: "F = G \\frac{m_1 m_2}{r^{2}}",
313
782
  category: "physics",
314
783
  description: "\u725B\u987F\u4E07\u6709\u5F15\u529B\u5B9A\u5F8B",
315
- tags: ["newton", "gravitation"]
784
+ tags: ["gravitation", "newton", "mechanics"]
785
+ },
786
+ {
787
+ id: "kepler-3rd",
788
+ name: "\u5F00\u666E\u52D2\u7B2C\u4E09\u5B9A\u5F8B",
789
+ latex: "\\frac{T^{2}}{a^{3}} = \\frac{4\\pi^{2}}{GM}",
790
+ category: "physics",
791
+ description: "\u5F00\u666E\u52D2\u7B2C\u4E09\u5B9A\u5F8B",
792
+ tags: ["gravitation", "kepler", "orbit"]
793
+ },
794
+ {
795
+ id: "escape-velocity",
796
+ name: "\u9003\u9038\u901F\u5EA6",
797
+ latex: "v_{\\text{esc}} = \\sqrt{\\frac{2GM}{R}}",
798
+ category: "physics",
799
+ description: "\u5929\u4F53\u9003\u9038\u901F\u5EA6",
800
+ tags: ["gravitation", "escape"]
801
+ },
802
+ {
803
+ id: "orbital-velocity",
804
+ name: "\u8F68\u9053\u901F\u5EA6",
805
+ latex: "v = \\sqrt{\\frac{GM}{r}}",
806
+ category: "physics",
807
+ description: "\u5706\u8F68\u9053\u73AF\u7ED5\u901F\u5EA6",
808
+ tags: ["gravitation", "orbit"]
809
+ },
810
+ // --------------------------------------------------------------------------
811
+ // 光学 (Optics)
812
+ // --------------------------------------------------------------------------
813
+ {
814
+ id: "snell-law",
815
+ name: "\u65AF\u6D85\u5C14\u6298\u5C04\u5B9A\u5F8B",
816
+ latex: "n_1 \\sin\\theta_1 = n_2 \\sin\\theta_2",
817
+ category: "physics",
818
+ description: "\u65AF\u6D85\u5C14\u6298\u5C04\u5B9A\u5F8B",
819
+ tags: ["optics", "refraction"]
820
+ },
821
+ {
822
+ id: "lens-equation",
823
+ name: "\u900F\u955C\u516C\u5F0F",
824
+ latex: "\\frac{1}{f} = \\frac{1}{d_o} + \\frac{1}{d_i}",
825
+ category: "physics",
826
+ description: "\u8584\u900F\u955C\u65B9\u7A0B",
827
+ tags: ["optics", "lens"]
828
+ },
829
+ {
830
+ id: "young-double-slit",
831
+ name: "\u6768\u6C0F\u53CC\u7F1D\u5E72\u6D89",
832
+ latex: "d \\sin\\theta = m \\lambda",
833
+ category: "physics",
834
+ description: "\u6768\u6C0F\u53CC\u7F1D\u5E72\u6D89\uFF08\u660E\u7EB9\u6761\u4EF6\uFF09",
835
+ tags: ["optics", "interference"]
836
+ },
837
+ {
838
+ id: "diffraction-grating",
839
+ name: "\u5149\u6805\u65B9\u7A0B",
840
+ latex: "d \\sin\\theta = k \\lambda",
841
+ category: "physics",
842
+ description: "\u884D\u5C04\u5149\u6805\u65B9\u7A0B",
843
+ tags: ["optics", "diffraction"]
844
+ },
845
+ {
846
+ id: "brewster-angle",
847
+ name: "\u5E03\u5112\u65AF\u7279\u89D2",
848
+ latex: "\\tan\\theta_B = \\frac{n_2}{n_1}",
849
+ category: "physics",
850
+ description: "\u5E03\u5112\u65AF\u7279\u89D2\uFF08\u504F\u632F\uFF09",
851
+ tags: ["optics", "polarization"]
852
+ },
853
+ {
854
+ id: "malus-law",
855
+ name: "\u9A6C\u5415\u65AF\u5B9A\u5F8B",
856
+ latex: "I = I_0 \\cos^{2}\\theta",
857
+ category: "physics",
858
+ description: "\u9A6C\u5415\u65AF\u5B9A\u5F8B\uFF08\u504F\u632F\u5149\u5F3A\u5EA6\uFF09",
859
+ tags: ["optics", "polarization"]
860
+ },
861
+ // --------------------------------------------------------------------------
862
+ // 核物理 (Nuclear Physics)
863
+ // --------------------------------------------------------------------------
864
+ {
865
+ id: "radioactive-decay",
866
+ name: "\u653E\u5C04\u6027\u8870\u53D8\u5B9A\u5F8B",
867
+ latex: "N(t) = N_0 e^{-\\lambda t}",
868
+ category: "physics",
869
+ description: "\u653E\u5C04\u6027\u8870\u53D8\u5B9A\u5F8B\uFF08\u6307\u6570\u8870\u53D8\uFF09",
870
+ tags: ["nuclear", "decay"]
871
+ },
872
+ {
873
+ id: "half-life",
874
+ name: "\u534A\u8870\u671F",
875
+ latex: "t_{1/2} = \\frac{\\ln 2}{\\lambda}",
876
+ category: "physics",
877
+ description: "\u653E\u5C04\u6027\u534A\u8870\u671F",
878
+ tags: ["nuclear", "decay"]
879
+ },
880
+ {
881
+ id: "binding-energy",
882
+ name: "\u7ED3\u5408\u80FD",
883
+ latex: "E_B = [Zm_p + (A-Z)m_n - M]c^{2}",
884
+ category: "physics",
885
+ description: "\u539F\u5B50\u6838\u7ED3\u5408\u80FD",
886
+ tags: ["nuclear", "binding"]
887
+ },
888
+ {
889
+ id: "nuclear-reaction",
890
+ name: "\u6838\u53CD\u5E94 Q \u503C",
891
+ latex: "Q = (M_i - M_f)c^{2}",
892
+ category: "physics",
893
+ description: "\u6838\u53CD\u5E94\u91CA\u653E/\u5438\u6536\u7684\u80FD\u91CF",
894
+ tags: ["nuclear", "reaction"]
895
+ },
896
+ // --------------------------------------------------------------------------
897
+ // 流体力学 (Fluid Mechanics)
898
+ // --------------------------------------------------------------------------
899
+ {
900
+ id: "bernoulli",
901
+ name: "\u4F2F\u52AA\u5229\u65B9\u7A0B",
902
+ latex: "P + \\frac{1}{2}\\rho v^{2} + \\rho g h = \\text{const}",
903
+ category: "physics",
904
+ description: "\u4F2F\u52AA\u5229\u65B9\u7A0B\uFF08\u7406\u60F3\u6D41\u4F53\uFF09",
905
+ tags: ["fluid", "bernoulli"]
906
+ },
907
+ {
908
+ id: "continuity",
909
+ name: "\u8FDE\u7EED\u6027\u65B9\u7A0B",
910
+ latex: "A_1 v_1 = A_2 v_2",
911
+ category: "physics",
912
+ description: "\u6D41\u4F53\u8FDE\u7EED\u6027\u65B9\u7A0B",
913
+ tags: ["fluid", "continuity"]
914
+ },
915
+ {
916
+ id: "archimedes",
917
+ name: "\u963F\u57FA\u7C73\u5FB7\u539F\u7406",
918
+ latex: "F_B = \\rho_f g V_{\\text{disp}}",
919
+ category: "physics",
920
+ description: "\u963F\u57FA\u7C73\u5FB7\u6D6E\u529B\u539F\u7406",
921
+ tags: ["fluid", "buoyancy"]
922
+ },
923
+ {
924
+ id: "stokes-law",
925
+ name: "Stokes \u963B\u529B\u5B9A\u5F8B",
926
+ latex: "F_d = 6\\pi \\eta r v",
927
+ category: "physics",
928
+ description: "Stokes \u963B\u529B\u516C\u5F0F\uFF08\u4F4E\u901F\u5C0F\u7403\uFF09",
929
+ tags: ["fluid", "drag"]
930
+ },
931
+ {
932
+ id: "reynolds-number",
933
+ name: "\u96F7\u8BFA\u6570",
934
+ latex: "Re = \\frac{\\rho v L}{\\eta}",
935
+ category: "physics",
936
+ description: "\u96F7\u8BFA\u6570\uFF08\u5224\u65AD\u5C42\u6D41/\u6E4D\u6D41\uFF09",
937
+ tags: ["fluid", "reynolds"]
316
938
  }
317
939
  ];
318
940
  var ALL_MATH_TEMPLATES = [
@@ -1180,64 +1802,39 @@ function getElementsByGroup(group) {
1180
1802
  }
1181
1803
 
1182
1804
  // src/greek-presets.ts
1805
+ import {
1806
+ GREEK_LOWERCASE,
1807
+ GREEK_UPPERCASE
1808
+ } from "@sciexpr/math";
1809
+ var VARIANT_MAP = {
1810
+ "\\epsilon": [{ latex: "\\varepsilon", unicode: "\u03B5", name: "Epsilon (var)" }],
1811
+ "\\theta": [{ latex: "\\vartheta", unicode: "\u03D1", name: "Theta (var)" }],
1812
+ "\\pi": [{ latex: "\\varpi", unicode: "\u03D6", name: "Pi (var)" }],
1813
+ "\\rho": [{ latex: "\\varrho", unicode: "\u03F1", name: "Rho (var)" }],
1814
+ "\\sigma": [{ latex: "\\varsigma", unicode: "\u03C2", name: "Sigma (final)" }],
1815
+ "\\phi": [{ latex: "\\varphi", unicode: "\u03D5", name: "Phi (var)" }]
1816
+ };
1817
+ function capitalize(s) {
1818
+ return s.charAt(0).toUpperCase() + s.slice(1);
1819
+ }
1820
+ function toGreekLetter(entry) {
1821
+ return {
1822
+ latex: entry.latex,
1823
+ unicode: entry.unicode,
1824
+ name: entry.description ?? capitalize(entry.name),
1825
+ englishName: entry.name,
1826
+ variants: VARIANT_MAP[entry.latex]
1827
+ };
1828
+ }
1183
1829
  var GREEK_LOWERCASE_GROUP = {
1184
1830
  id: "greek-lowercase",
1185
1831
  label: "Greek Lowercase (\u5C0F\u5199)",
1186
- letters: [
1187
- { latex: "\\alpha", unicode: "\u03B1", name: "Alpha", englishName: "alpha" },
1188
- { latex: "\\beta", unicode: "\u03B2", name: "Beta", englishName: "beta" },
1189
- { latex: "\\gamma", unicode: "\u03B3", name: "Gamma", englishName: "gamma" },
1190
- { latex: "\\delta", unicode: "\u03B4", name: "Delta", englishName: "delta" },
1191
- { latex: "\\epsilon", unicode: "\u03B5", name: "Epsilon", englishName: "epsilon", variants: [
1192
- { latex: "\\varepsilon", unicode: "\u03B5", name: "Epsilon (var)" }
1193
- ] },
1194
- { latex: "\\zeta", unicode: "\u03B6", name: "Zeta", englishName: "zeta" },
1195
- { latex: "\\eta", unicode: "\u03B7", name: "Eta", englishName: "eta" },
1196
- { latex: "\\theta", unicode: "\u03B8", name: "Theta", englishName: "theta", variants: [
1197
- { latex: "\\vartheta", unicode: "\u03D1", name: "Theta (var)" }
1198
- ] },
1199
- { latex: "\\iota", unicode: "\u03B9", name: "Iota", englishName: "iota" },
1200
- { latex: "\\kappa", unicode: "\u03BA", name: "Kappa", englishName: "kappa" },
1201
- { latex: "\\lambda", unicode: "\u03BB", name: "Lambda", englishName: "lambda" },
1202
- { latex: "\\mu", unicode: "\u03BC", name: "Mu", englishName: "mu" },
1203
- { latex: "\\nu", unicode: "\u03BD", name: "Nu", englishName: "nu" },
1204
- { latex: "\\xi", unicode: "\u03BE", name: "Xi", englishName: "xi" },
1205
- { latex: "\\omicron", unicode: "\u03BF", name: "Omicron", englishName: "omicron" },
1206
- { latex: "\\pi", unicode: "\u03C0", name: "Pi", englishName: "pi", variants: [
1207
- { latex: "\\varpi", unicode: "\u03D6", name: "Pi (var)" }
1208
- ] },
1209
- { latex: "\\rho", unicode: "\u03C1", name: "Rho", englishName: "rho", variants: [
1210
- { latex: "\\varrho", unicode: "\u03F1", name: "Rho (var)" }
1211
- ] },
1212
- { latex: "\\sigma", unicode: "\u03C3", name: "Sigma", englishName: "sigma", variants: [
1213
- { latex: "\\varsigma", unicode: "\u03C2", name: "Sigma (final)" }
1214
- ] },
1215
- { latex: "\\tau", unicode: "\u03C4", name: "Tau", englishName: "tau" },
1216
- { latex: "\\upsilon", unicode: "\u03C5", name: "Upsilon", englishName: "upsilon" },
1217
- { latex: "\\phi", unicode: "\u03C6", name: "Phi", englishName: "phi", variants: [
1218
- { latex: "\\varphi", unicode: "\u03D5", name: "Phi (var)" }
1219
- ] },
1220
- { latex: "\\chi", unicode: "\u03C7", name: "Chi", englishName: "chi" },
1221
- { latex: "\\psi", unicode: "\u03C8", name: "Psi", englishName: "psi" },
1222
- { latex: "\\omega", unicode: "\u03C9", name: "Omega", englishName: "omega" }
1223
- ]
1832
+ letters: GREEK_LOWERCASE.map(toGreekLetter)
1224
1833
  };
1225
1834
  var GREEK_UPPERCASE_GROUP = {
1226
1835
  id: "greek-uppercase",
1227
1836
  label: "Greek Uppercase (\u5927\u5199)",
1228
- letters: [
1229
- { latex: "\\Gamma", unicode: "\u0393", name: "Gamma", englishName: "Gamma" },
1230
- { latex: "\\Delta", unicode: "\u0394", name: "Delta", englishName: "Delta" },
1231
- { latex: "\\Theta", unicode: "\u0398", name: "Theta", englishName: "Theta" },
1232
- { latex: "\\Lambda", unicode: "\u039B", name: "Lambda", englishName: "Lambda" },
1233
- { latex: "\\Xi", unicode: "\u039E", name: "Xi", englishName: "Xi" },
1234
- { latex: "\\Pi", unicode: "\u03A0", name: "Pi", englishName: "Pi" },
1235
- { latex: "\\Sigma", unicode: "\u03A3", name: "Sigma", englishName: "Sigma" },
1236
- { latex: "\\Upsilon", unicode: "\u03A5", name: "Upsilon", englishName: "Upsilon" },
1237
- { latex: "\\Phi", unicode: "\u03A6", name: "Phi", englishName: "Phi" },
1238
- { latex: "\\Psi", unicode: "\u03A8", name: "Psi", englishName: "Psi" },
1239
- { latex: "\\Omega", unicode: "\u03A9", name: "Omega", englishName: "Omega" }
1240
- ]
1837
+ letters: GREEK_UPPERCASE.map(toGreekLetter)
1241
1838
  };
1242
1839
  var GREEK_GROUPS = [
1243
1840
  GREEK_LOWERCASE_GROUP,
@@ -1269,12 +1866,126 @@ function searchGreekWithVariants(query) {
1269
1866
  }
1270
1867
  return results;
1271
1868
  }
1869
+
1870
+ // src/palette-chem.ts
1871
+ import {
1872
+ GREEK_LOWERCASE as GREEK_LOWERCASE2,
1873
+ GREEK_UPPERCASE as GREEK_UPPERCASE2
1874
+ } from "@sciexpr/math";
1875
+ function templateToEntry(t, isCommon) {
1876
+ return {
1877
+ latex: t.latex,
1878
+ unicode: "",
1879
+ name: t.name,
1880
+ description: t.description,
1881
+ isCommon
1882
+ };
1883
+ }
1884
+ function takeCommon(list, count) {
1885
+ return list.slice(0, count).map((t) => templateToEntry(t, true));
1886
+ }
1887
+ function takeRest(list, fromIndex) {
1888
+ return list.slice(fromIndex).map((t) => templateToEntry(t, false));
1889
+ }
1890
+ function fromGreekSymbol(s, desc, isCommon = false) {
1891
+ return { latex: s.latex, unicode: s.unicode, name: s.name, description: desc, isCommon };
1892
+ }
1893
+ var CHEM_GREEK_COMMON = /* @__PURE__ */ new Set([
1894
+ "\\alpha",
1895
+ "\\beta",
1896
+ "\\gamma",
1897
+ "\\delta",
1898
+ "\\epsilon",
1899
+ "\\mu",
1900
+ "\\nu",
1901
+ "\\pi",
1902
+ "\\rho",
1903
+ "\\sigma",
1904
+ "\\theta",
1905
+ "\\omega"
1906
+ ]);
1907
+ var CHEM_GREEK_DESCRIPTIONS = {
1908
+ "\\alpha": "\u5E38\u7528\u4E8E\u5316\u5B66\u8868\u793A",
1909
+ "\\delta": "\u5316\u5B66\u4F4D\u79FB",
1910
+ "\\Delta": "\u5927\u5199 Delta / \u52A0\u70ED\u7B26\u53F7",
1911
+ "\\epsilon": "\u6469\u5C14\u5438\u5149\u7CFB\u6570",
1912
+ "\\lambda": "\u6CE2\u957F",
1913
+ "\\mu": "\u5FAE (10\u207B\u2076) / \u5076\u6781\u77E9",
1914
+ "\\nu": "\u9891\u7387 / \u5316\u5B66\u8BA1\u91CF\u7CFB\u6570",
1915
+ "\\pi": "\u6E17\u900F\u538B",
1916
+ "\\rho": "\u5BC6\u5EA6",
1917
+ "\\sigma": "Sigma \u952E / \u8868\u9762\u5F20\u529B",
1918
+ "\\Sigma": "\u6C42\u548C",
1919
+ "\\theta": "\u8986\u76D6\u7387"
1920
+ };
1921
+ var CHEM_PALETTE_CATEGORIES = [
1922
+ {
1923
+ id: "compounds",
1924
+ label: "\u5316\u5B66\u7269\u8D28",
1925
+ symbols: [
1926
+ ...takeCommon(COMPOUND_TEMPLATES, 12),
1927
+ ...takeRest(COMPOUND_TEMPLATES, 12)
1928
+ ]
1929
+ },
1930
+ {
1931
+ id: "ions",
1932
+ label: "\u5316\u5B66\u79BB\u5B50",
1933
+ symbols: [
1934
+ ...takeCommon(ION_TEMPLATES, 10),
1935
+ ...takeRest(ION_TEMPLATES, 10)
1936
+ ]
1937
+ },
1938
+ {
1939
+ id: "chem-symbols",
1940
+ label: "\u5E38\u7528\u7B26\u53F7",
1941
+ symbols: [
1942
+ { latex: "\\ce{->}", unicode: "\u2192", name: "\u53CD\u5E94\u7BAD\u5934", description: "\u5316\u5B66\u53CD\u5E94\u751F\u6210", isCommon: true },
1943
+ { latex: "\\ce{<-}", unicode: "\u2190", name: "\u53CD\u5411\u7BAD\u5934", description: "\u9006\u53CD\u5E94", isCommon: false },
1944
+ { latex: "\\ce{<=>}", unicode: "\u21CC", name: "\u53EF\u9006\u53CD\u5E94", description: "\u5316\u5B66\u5E73\u8861", isCommon: true },
1945
+ { latex: "\\ce{<->}", unicode: "\u21C4", name: "\u53CC\u5411\u7BAD\u5934", isCommon: false },
1946
+ { latex: "\\ce{->[\\Delta]}", unicode: "\u2192[\u0394]", name: "\u52A0\u70ED\u53CD\u5E94", description: "\u52A0\u70ED\u6761\u4EF6\u4E0B", isCommon: true },
1947
+ { latex: "\\ce{->[H+]}", unicode: "\u2192[H\u207A]", name: "\u9178\u50AC\u5316", description: "\u9178\u6027\u6761\u4EF6", isCommon: false },
1948
+ { latex: "\\ce{->[\u4E0A\u9762][\u4E0B\u9762]}", unicode: "\u2192[...][...]", name: "\u6761\u4EF6\u53CD\u5E94", description: "\u663E\u793A\u53CD\u5E94\u6761\u4EF6", isCommon: true },
1949
+ { latex: "\\ce{^{2+}}", unicode: "\xB2\u207A", name: "\u7535\u8377+2", description: "\u4E8C\u4EF7\u9633\u79BB\u5B50", isCommon: true },
1950
+ { latex: "\\ce{^{3+}}", unicode: "\xB3\u207A", name: "\u7535\u8377+3", description: "\u4E09\u4EF7\u9633\u79BB\u5B50", isCommon: true },
1951
+ { latex: "\\ce{^{-}}", unicode: "\u207B", name: "\u7535\u8377-1", description: "\u4E00\u4EF7\u9634\u79BB\u5B50", isCommon: true },
1952
+ { latex: "\\ce{^{2-}}", unicode: "\xB2\u207B", name: "\u7535\u8377-2", description: "\u4E8C\u4EF7\u9634\u79BB\u5B50", isCommon: true },
1953
+ { latex: "\\uparrow", unicode: "\u2191", name: "\u6C14\u4F53\u9038\u51FA", description: "\u2191 \u4EA7\u751F\u6C14\u4F53", isCommon: true },
1954
+ { latex: "\\downarrow", unicode: "\u2193", name: "\u6C89\u6DC0", description: "\u2193 \u4EA7\u751F\u6C89\u6DC0", isCommon: true },
1955
+ { latex: "\\Delta", unicode: "\u0394", name: "\u52A0\u70ED\u7B26\u53F7", isCommon: true },
1956
+ { latex: "\\ce{H2O}", unicode: "H\u2082O", name: "\u6C34", isCommon: true },
1957
+ { latex: "pH", unicode: "pH", name: "pH\u503C", isCommon: true },
1958
+ { latex: "K_{sp}", unicode: "K_sp", name: "\u6EB6\u5EA6\u79EF\u5E38\u6570", isCommon: false },
1959
+ { latex: "K_a", unicode: "K_a", name: "\u9178\u89E3\u79BB\u5E38\u6570", isCommon: false },
1960
+ { latex: "K_b", unicode: "K_b", name: "\u78B1\u89E3\u79BB\u5E38\u6570", isCommon: false }
1961
+ ]
1962
+ },
1963
+ {
1964
+ id: "chem-greek",
1965
+ label: "\u5E0C\u814A\u5B57\u6BCD",
1966
+ symbols: [
1967
+ // Common Greek: lowercase (chemical subset, with domain-specific descriptions)
1968
+ ...GREEK_LOWERCASE2.filter((s) => CHEM_GREEK_COMMON.has(s.latex)).map((s) => fromGreekSymbol(s, CHEM_GREEK_DESCRIPTIONS[s.latex], true)),
1969
+ // Common Greek: uppercase (Delta, Sigma for chemistry)
1970
+ ...GREEK_UPPERCASE2.filter((s) => s.latex === "\\Delta" || s.latex === "\\Sigma").map((s) => fromGreekSymbol(s, CHEM_GREEK_DESCRIPTIONS[s.latex], s.latex === "\\Delta"))
1971
+ ]
1972
+ },
1973
+ {
1974
+ id: "chem-elements",
1975
+ label: "\u5316\u5B66\u5143\u7D20",
1976
+ symbols: [
1977
+ ...takeCommon(ELEMENT_TEMPLATES, 15),
1978
+ ...takeRest(ELEMENT_TEMPLATES, 15)
1979
+ ]
1980
+ }
1981
+ ];
1272
1982
  export {
1273
1983
  ALGEBRA_TEMPLATES,
1274
1984
  ALL_CHEM_TEMPLATES,
1275
1985
  ALL_GREEK,
1276
1986
  ALL_MATH_TEMPLATES,
1277
1987
  CALCULUS_TEMPLATES,
1988
+ CHEM_PALETTE_CATEGORIES,
1278
1989
  COMPOUND_TEMPLATES,
1279
1990
  ELECTROCHEM_TEMPLATES,
1280
1991
  ELEMENT_TEMPLATES,