katex4arabic 1.1.1 → 1.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/README.md +32 -13
- package/dist/cdn/katex-arabic.min.cjs +1 -1
- package/dist/cdn/katex-arabic.min.js +1 -1
- package/dist/cdn/katex-arabic.min.mjs +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.cjs.map +1 -1
- package/dist/lib/index.d.cts +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.mjs +1 -1
- package/dist/lib/index.mjs.map +1 -1
- package/docs/INSTALL.md +41 -19
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ npm run check # فحص شامل: typecheck + tests + build
|
|
|
51
51
|
> 📖 **دليل التنصيب والاستخدام الكامل**: [docs/INSTALL.md](docs/INSTALL.md)
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
npm install
|
|
54
|
+
npm install katex4arabic
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
الحزمة تتطلب `katex` كاعتماد نظير (peer dependency)، و`react` اختيارياً
|
|
@@ -65,13 +65,32 @@ npm install katex
|
|
|
65
65
|
|
|
66
66
|
```ts
|
|
67
67
|
// الدوال الأساسية
|
|
68
|
-
import { renderArabicToString, renderArabic, processLatex } from '
|
|
68
|
+
import { renderArabicToString, renderArabic, processLatex } from 'katex4arabic';
|
|
69
69
|
|
|
70
70
|
// خطاطيف React (اختياري)
|
|
71
|
-
import { useArabicKatex, useArabicKatexResult } from '
|
|
71
|
+
import { useArabicKatex, useArabicKatexResult } from 'katex4arabic/hooks';
|
|
72
72
|
|
|
73
73
|
// ملف الأنماط — يجب استيراده مرة واحدة في تطبيقك
|
|
74
|
-
import '
|
|
74
|
+
import 'katex4arabic/katex-arabic.css';
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 📦 كحزمة npm — استيراد وتحميل بملف واحد فقط
|
|
80
|
+
|
|
81
|
+
بعد `npm install katex4arabic katex`، يمكن استيراد **كامل المكتبة من ملف JS واحد** (KaTeX مدمج داخله — صفر إعداد):
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
import KaTeXArabic from 'katex4arabic/bundle'; // ملف واحد (يشمل KaTeX)
|
|
85
|
+
import 'katex4arabic/bundle.css'; // ملف CSS واحد
|
|
86
|
+
|
|
87
|
+
const html = KaTeXArabic.renderToString('x^2 + y^2 = z^2');
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
أو في بيئة CommonJS:
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
const KaTeXArabic = require('katex4arabic/bundle');
|
|
75
94
|
```
|
|
76
95
|
|
|
77
96
|
---
|
|
@@ -103,8 +122,8 @@ import 'katex-arabic/katex-arabic.css';
|
|
|
103
122
|
```
|
|
104
123
|
|
|
105
124
|
> بعد النشر على npm يعمل الرابط الأقصر أيضاً:
|
|
106
|
-
> `https://cdn.jsdelivr.net/npm/
|
|
107
|
-
> مع ملف CSS بنفس المسار، ويعمل `https://cdn.jsdelivr.net/npm/
|
|
125
|
+
> `https://cdn.jsdelivr.net/npm/katex4arabic/dist/cdn/katex-arabic.min.js` —
|
|
126
|
+
> مع ملف CSS بنفس المسار، ويعمل `https://cdn.jsdelivr.net/npm/katex4arabic` على نقطة دخول jsDelivr مباشرة.
|
|
108
127
|
|
|
109
128
|
المتغير العمومي `window.KaTeXArabic` بنفس واجهة `katex`:
|
|
110
129
|
|
|
@@ -112,7 +131,7 @@ import 'katex-arabic/katex-arabic.css';
|
|
|
112
131
|
const html = KaTeXArabic.renderToString('\\sin^2 x + \\cos^2 x = 1'); // ← افتراضياً: أرقام عربية + جا/جتا + RTL
|
|
113
132
|
KaTeXArabic.render('\\int_0^1 x^2 dx', element); // (latex, element, options?)
|
|
114
133
|
KaTeXArabic.toArabicNumerals('123'); // '١٢٣'
|
|
115
|
-
KaTeXArabic.VERSION; // '1.1.
|
|
134
|
+
KaTeXArabic.VERSION; // '1.1.2'
|
|
116
135
|
```
|
|
117
136
|
|
|
118
137
|
> الدليل التفصيلي: [docs/INSTALL.md](docs/INSTALL.md)
|
|
@@ -158,8 +177,8 @@ KaTeXArabic.VERSION; // '1.1.1'
|
|
|
158
177
|
### Vanilla JS
|
|
159
178
|
|
|
160
179
|
```ts
|
|
161
|
-
import { renderArabicToString } from '
|
|
162
|
-
import '
|
|
180
|
+
import { renderArabicToString } from 'katex4arabic';
|
|
181
|
+
import 'katex4arabic/katex-arabic.css';
|
|
163
182
|
|
|
164
183
|
const html = renderArabicToString('\\sin^2(x) + \\cos^2(x) = 1', {
|
|
165
184
|
numerals: 'arabic',
|
|
@@ -172,7 +191,7 @@ document.getElementById('eq')!.innerHTML = html;
|
|
|
172
191
|
### معالجة LaTeX فقط (بدون عرض)
|
|
173
192
|
|
|
174
193
|
```ts
|
|
175
|
-
import { processLatex, validateLatex } from '
|
|
194
|
+
import { processLatex, validateLatex } from 'katex4arabic';
|
|
176
195
|
|
|
177
196
|
const processed = processLatex('\\sin(x) + dx');
|
|
178
197
|
// → "\\operatorname{جا}(\\text{س}) + \\text{د}\\text{س}"
|
|
@@ -188,7 +207,7 @@ if (validateLatex('\\frac{1}{2} + x') === null) {
|
|
|
188
207
|
وذاكرة التخزين المؤقت مشتركة):
|
|
189
208
|
|
|
190
209
|
```ts
|
|
191
|
-
import { renderArabicBatch } from '
|
|
210
|
+
import { renderArabicBatch } from 'katex4arabic';
|
|
192
211
|
|
|
193
212
|
const results = renderArabicBatch(
|
|
194
213
|
['x = 1', { latex: 'y = 2', options: { numerals: 'latin' } }],
|
|
@@ -204,7 +223,7 @@ const results = renderArabicBatch(
|
|
|
204
223
|
(مثلاً عند تغيّر الخيارات جذرياً أو في الاختبارات):
|
|
205
224
|
|
|
206
225
|
```ts
|
|
207
|
-
import { clearRenderCache } from '
|
|
226
|
+
import { clearRenderCache } from 'katex4arabic';
|
|
208
227
|
clearRenderCache();
|
|
209
228
|
```
|
|
210
229
|
|
|
@@ -228,7 +247,7 @@ import { MathBlock, MathInline } from './components/MathEquation';
|
|
|
228
247
|
### خطاطيف React
|
|
229
248
|
|
|
230
249
|
```tsx
|
|
231
|
-
import { useArabicKatex, useArabicKatexResult } from '
|
|
250
|
+
import { useArabicKatex, useArabicKatexResult } from 'katex4arabic/hooks';
|
|
232
251
|
|
|
233
252
|
const html = useArabicKatex('x^2 + y^2', { numerals: 'arabic' });
|
|
234
253
|
const { ok, error } = useArabicKatexResult(latex, options);
|
|
@@ -255,4 +255,4 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
|
255
255
|
?)[ \r ]*`,Lt="[̀-ͯ]",Kn=new RegExp(Lt+"+$"),Jn="("+Aa+"+)|"+(Zn+"|")+"([!-\\[\\]-‧-豈-]"+(Lt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Lt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Yn)+("|"+Wn+")");class za{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Jn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new p0("EOF",new h0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new w("Unexpected character: '"+e[t]+"'",new p0(e[t],new h0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var s=e.indexOf(`
|
|
256
256
|
`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new p0(n,new h0(this,t,this.tokenRegex.lastIndex))}}class Qn{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new w("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t of Object.keys(e))e[t]===void 0?delete this.current[t]:this.current[t]=e[t]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){return Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:Object.prototype.hasOwnProperty.call(this.builtins,e)?this.builtins[e]:void 0}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!Object.prototype.hasOwnProperty.call(s,e)&&(s[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}t==null?delete this.current[e]:this.current[e]=t}}var _n=ea;c("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}}),c("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}}),c("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}}),c("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}}),c("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),c("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),c("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Ma={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};c("\\char",function(r){var e=r.popToken(),t,a=0;if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new w("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Ma[e.text],a==null||a>=t)throw new w("Invalid base-"+t+" digit "+e.text);for(var n;(n=Ma[r.future().text])!=null&&n<t;)a*=t,a+=n,r.popToken()}return"\\@char{"+a+"}"});var Pt=(r,e,t,a)=>{var n=r.consumeArg().tokens;if(n.length!==1)throw new w("\\newcommand's first argument must be a macro name");var s=n[0].text,o=r.isDefined(s);if(o&&!e)throw new w("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!o&&!t)throw new w("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var h=0;if(n=r.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var m="",d=r.expandNextToken();d.text!=="]"&&d.text!=="EOF";)m+=d.text,d=r.expandNextToken();if(!m.match(/^\s*[0-9]+\s*$/))throw new w("Invalid number of arguments: "+m);h=parseInt(m),n=r.consumeArg().tokens}return o&&a||r.macros.set(s,{tokens:n,numArgs:h}),""};c("\\newcommand",r=>Pt(r,!1,!0,!1)),c("\\renewcommand",r=>Pt(r,!0,!1,!1)),c("\\providecommand",r=>Pt(r,!0,!0,!0)),c("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""}),c("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""}),c("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),U0[t],W.math[t],W.text[t]),""}),c("\\bgroup","{"),c("\\egroup","}"),c("~","\\nobreakspace"),c("\\lq","`"),c("\\rq","'"),c("\\aa","\\r a"),c("\\AA","\\r A"),c("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),c("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),c("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),c("ℬ","\\mathscr{B}"),c("ℰ","\\mathscr{E}"),c("ℱ","\\mathscr{F}"),c("ℋ","\\mathscr{H}"),c("ℐ","\\mathscr{I}"),c("ℒ","\\mathscr{L}"),c("ℳ","\\mathscr{M}"),c("ℛ","\\mathscr{R}"),c("ℭ","\\mathfrak{C}"),c("ℌ","\\mathfrak{H}"),c("ℨ","\\mathfrak{Z}"),c("\\Bbbk","\\Bbb{k}"),c("\\llap","\\mathllap{\\textrm{#1}}"),c("\\rlap","\\mathrlap{\\textrm{#1}}"),c("\\clap","\\mathclap{\\textrm{#1}}"),c("\\mathstrut","\\vphantom{(}"),c("\\underbar","\\underline{\\text{#1}}"),c("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),c("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),c("\\ne","\\neq"),c("≠","\\neq"),c("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),c("∉","\\notin"),c("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),c("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),c("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),c("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),c("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),c("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),c("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),c("⟂","\\perp"),c("‼","\\mathclose{!\\mkern-0.8mu!}"),c("∌","\\notni"),c("⌜","\\ulcorner"),c("⌝","\\urcorner"),c("⌞","\\llcorner"),c("⌟","\\lrcorner"),c("©","\\copyright"),c("®","\\textregistered"),c("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),c("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),c("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),c("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),c("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),c("⋮","\\vdots"),c("\\varGamma","\\mathit{\\Gamma}"),c("\\varDelta","\\mathit{\\Delta}"),c("\\varTheta","\\mathit{\\Theta}"),c("\\varLambda","\\mathit{\\Lambda}"),c("\\varXi","\\mathit{\\Xi}"),c("\\varPi","\\mathit{\\Pi}"),c("\\varSigma","\\mathit{\\Sigma}"),c("\\varUpsilon","\\mathit{\\Upsilon}"),c("\\varPhi","\\mathit{\\Phi}"),c("\\varPsi","\\mathit{\\Psi}"),c("\\varOmega","\\mathit{\\Omega}"),c("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),c("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),c("\\boxed","\\fbox{$\\displaystyle{#1}$}"),c("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),c("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),c("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),c("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),c("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Ta={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},ei=new Set(["bin","rel"]);c("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Ta?e=Ta[t]:(t.slice(0,4)==="\\not"||t in W.math&&ei.has(W.math[t].group))&&(e="\\dotsb"),e});var Gt={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};c("\\dotso",function(r){var e=r.future().text;return e in Gt?"\\ldots\\,":"\\ldots"}),c("\\dotsc",function(r){var e=r.future().text;return e in Gt&&e!==","?"\\ldots\\,":"\\ldots"}),c("\\cdots",function(r){var e=r.future().text;return e in Gt?"\\@cdots\\,":"\\@cdots"}),c("\\dotsb","\\cdots"),c("\\dotsm","\\cdots"),c("\\dotsi","\\!\\cdots"),c("\\dotsx","\\ldots\\,"),c("\\DOTSI","\\relax"),c("\\DOTSB","\\relax"),c("\\DOTSX","\\relax"),c("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),c("\\,","\\tmspace+{3mu}{.1667em}"),c("\\thinspace","\\,"),c("\\>","\\mskip{4mu}"),c("\\:","\\tmspace+{4mu}{.2222em}"),c("\\medspace","\\:"),c("\\;","\\tmspace+{5mu}{.2777em}"),c("\\thickspace","\\;"),c("\\!","\\tmspace-{3mu}{.1667em}"),c("\\negthinspace","\\!"),c("\\negmedspace","\\tmspace-{4mu}{.2222em}"),c("\\negthickspace","\\tmspace-{5mu}{.277em}"),c("\\enspace","\\kern.5em "),c("\\enskip","\\hskip.5em\\relax"),c("\\quad","\\hskip1em\\relax"),c("\\qquad","\\hskip2em\\relax"),c("\\tag","\\@ifstar\\tag@literal\\tag@paren"),c("\\tag@paren","\\tag@literal{({#1})}"),c("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new w("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),c("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),c("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),c("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),c("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),c("\\newline","\\\\\\relax"),c("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Ca=z(k0["Main-Regular"][84][1]-.7*k0["Main-Regular"][65][1]);c("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),c("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),c("\\hspace","\\@ifstar\\@hspacer\\@hspace"),c("\\@hspace","\\hskip #1\\relax"),c("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),c("\\ordinarycolon",":"),c("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),c("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),c("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),c("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),c("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),c("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),c("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),c("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),c("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),c("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),c("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),c("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),c("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),c("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),c("∷","\\dblcolon"),c("∹","\\eqcolon"),c("≔","\\coloneqq"),c("≕","\\eqqcolon"),c("⩴","\\Coloneqq"),c("\\ratio","\\vcentcolon"),c("\\coloncolon","\\dblcolon"),c("\\colonequals","\\coloneqq"),c("\\coloncolonequals","\\Coloneqq"),c("\\equalscolon","\\eqqcolon"),c("\\equalscoloncolon","\\Eqqcolon"),c("\\colonminus","\\coloneq"),c("\\coloncolonminus","\\Coloneq"),c("\\minuscolon","\\eqcolon"),c("\\minuscoloncolon","\\Eqcolon"),c("\\coloncolonapprox","\\Colonapprox"),c("\\coloncolonsim","\\Colonsim"),c("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),c("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),c("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),c("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),c("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),c("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),c("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),c("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),c("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),c("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),c("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),c("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),c("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),c("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),c("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),c("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),c("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),c("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),c("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),c("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),c("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),c("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),c("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),c("\\imath","\\html@mathml{\\@imath}{ı}"),c("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),c("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),c("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),c("⟦","\\llbracket"),c("⟧","\\rrbracket"),c("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),c("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),c("⦃","\\lBrace"),c("⦄","\\rBrace"),c("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),c("⦵","\\minuso"),c("\\darr","\\downarrow"),c("\\dArr","\\Downarrow"),c("\\Darr","\\Downarrow"),c("\\lang","\\langle"),c("\\rang","\\rangle"),c("\\uarr","\\uparrow"),c("\\uArr","\\Uparrow"),c("\\Uarr","\\Uparrow"),c("\\N","\\mathbb{N}"),c("\\R","\\mathbb{R}"),c("\\Z","\\mathbb{Z}"),c("\\alef","\\aleph"),c("\\alefsym","\\aleph"),c("\\Alpha","\\mathrm{A}"),c("\\Beta","\\mathrm{B}"),c("\\bull","\\bullet"),c("\\Chi","\\mathrm{X}"),c("\\clubs","\\clubsuit"),c("\\cnums","\\mathbb{C}"),c("\\Complex","\\mathbb{C}"),c("\\Dagger","\\ddagger"),c("\\diamonds","\\diamondsuit"),c("\\empty","\\emptyset"),c("\\Epsilon","\\mathrm{E}"),c("\\Eta","\\mathrm{H}"),c("\\exist","\\exists"),c("\\harr","\\leftrightarrow"),c("\\hArr","\\Leftrightarrow"),c("\\Harr","\\Leftrightarrow"),c("\\hearts","\\heartsuit"),c("\\image","\\Im"),c("\\infin","\\infty"),c("\\Iota","\\mathrm{I}"),c("\\isin","\\in"),c("\\Kappa","\\mathrm{K}"),c("\\larr","\\leftarrow"),c("\\lArr","\\Leftarrow"),c("\\Larr","\\Leftarrow"),c("\\lrarr","\\leftrightarrow"),c("\\lrArr","\\Leftrightarrow"),c("\\Lrarr","\\Leftrightarrow"),c("\\Mu","\\mathrm{M}"),c("\\natnums","\\mathbb{N}"),c("\\Nu","\\mathrm{N}"),c("\\Omicron","\\mathrm{O}"),c("\\plusmn","\\pm"),c("\\rarr","\\rightarrow"),c("\\rArr","\\Rightarrow"),c("\\Rarr","\\Rightarrow"),c("\\real","\\Re"),c("\\reals","\\mathbb{R}"),c("\\Reals","\\mathbb{R}"),c("\\Rho","\\mathrm{P}"),c("\\sdot","\\cdot"),c("\\sect","\\S"),c("\\spades","\\spadesuit"),c("\\sub","\\subset"),c("\\sube","\\subseteq"),c("\\supe","\\supseteq"),c("\\Tau","\\mathrm{T}"),c("\\thetasym","\\vartheta"),c("\\weierp","\\wp"),c("\\Zeta","\\mathrm{Z}"),c("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),c("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),c("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),c("\\bra","\\mathinner{\\langle{#1}|}"),c("\\ket","\\mathinner{|{#1}\\rangle}"),c("\\braket","\\mathinner{\\langle{#1}\\rangle}"),c("\\Bra","\\left\\langle#1\\right|"),c("\\Ket","\\left|#1\\right\\rangle");var Ba=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var m=b=>y=>{r&&(y.macros.set("|",o),n.length&&y.macros.set("\\|",h));var x=b;if(!b&&n.length){var M=y.future();M.text==="|"&&(y.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",m(!1)),n.length&&e.macros.set("\\|",m(!0));var d=e.consumeArg().tokens,v=e.expandTokens([...s,...d,...t]);return e.macros.endGroup(),{tokens:v.reverse(),numArgs:0}};c("\\bra@ket",Ba(!1)),c("\\bra@set",Ba(!0)),c("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),c("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),c("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),c("\\angln","{\\angl n}"),c("\\blue","\\textcolor{##6495ed}{#1}"),c("\\orange","\\textcolor{##ffa500}{#1}"),c("\\pink","\\textcolor{##ff00af}{#1}"),c("\\red","\\textcolor{##df0030}{#1}"),c("\\green","\\textcolor{##28ae7b}{#1}"),c("\\gray","\\textcolor{gray}{#1}"),c("\\purple","\\textcolor{##9d38bd}{#1}"),c("\\blueA","\\textcolor{##ccfaff}{#1}"),c("\\blueB","\\textcolor{##80f6ff}{#1}"),c("\\blueC","\\textcolor{##63d9ea}{#1}"),c("\\blueD","\\textcolor{##11accd}{#1}"),c("\\blueE","\\textcolor{##0c7f99}{#1}"),c("\\tealA","\\textcolor{##94fff5}{#1}"),c("\\tealB","\\textcolor{##26edd5}{#1}"),c("\\tealC","\\textcolor{##01d1c1}{#1}"),c("\\tealD","\\textcolor{##01a995}{#1}"),c("\\tealE","\\textcolor{##208170}{#1}"),c("\\greenA","\\textcolor{##b6ffb0}{#1}"),c("\\greenB","\\textcolor{##8af281}{#1}"),c("\\greenC","\\textcolor{##74cf70}{#1}"),c("\\greenD","\\textcolor{##1fab54}{#1}"),c("\\greenE","\\textcolor{##0d923f}{#1}"),c("\\goldA","\\textcolor{##ffd0a9}{#1}"),c("\\goldB","\\textcolor{##ffbb71}{#1}"),c("\\goldC","\\textcolor{##ff9c39}{#1}"),c("\\goldD","\\textcolor{##e07d10}{#1}"),c("\\goldE","\\textcolor{##a75a05}{#1}"),c("\\redA","\\textcolor{##fca9a9}{#1}"),c("\\redB","\\textcolor{##ff8482}{#1}"),c("\\redC","\\textcolor{##f9685d}{#1}"),c("\\redD","\\textcolor{##e84d39}{#1}"),c("\\redE","\\textcolor{##bc2612}{#1}"),c("\\maroonA","\\textcolor{##ffbde0}{#1}"),c("\\maroonB","\\textcolor{##ff92c6}{#1}"),c("\\maroonC","\\textcolor{##ed5fa6}{#1}"),c("\\maroonD","\\textcolor{##ca337c}{#1}"),c("\\maroonE","\\textcolor{##9e034e}{#1}"),c("\\purpleA","\\textcolor{##ddd7ff}{#1}"),c("\\purpleB","\\textcolor{##c6b9fc}{#1}"),c("\\purpleC","\\textcolor{##aa87ff}{#1}"),c("\\purpleD","\\textcolor{##7854ab}{#1}"),c("\\purpleE","\\textcolor{##543b78}{#1}"),c("\\mintA","\\textcolor{##f5f9e8}{#1}"),c("\\mintB","\\textcolor{##edf2df}{#1}"),c("\\mintC","\\textcolor{##e0e5cc}{#1}"),c("\\grayA","\\textcolor{##f6f7f7}{#1}"),c("\\grayB","\\textcolor{##f0f1f2}{#1}"),c("\\grayC","\\textcolor{##e3e5e6}{#1}"),c("\\grayD","\\textcolor{##d6d8da}{#1}"),c("\\grayE","\\textcolor{##babec2}{#1}"),c("\\grayF","\\textcolor{##888d93}{#1}"),c("\\grayG","\\textcolor{##626569}{#1}"),c("\\grayH","\\textcolor{##3b3e40}{#1}"),c("\\grayI","\\textcolor{##21242c}{#1}"),c("\\kaBlue","\\textcolor{##314453}{#1}"),c("\\kaGreen","\\textcolor{##71B307}{#1}");var Da={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class ti{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Qn(_n,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new za(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken();var s=this.consumeArg(["]"]);n=s.tokens,a=s.end}else{var o=this.consumeArg();n=o.tokens,t=o.start,a=o.end}return this.pushToken(new p0("EOF",a.loc)),this.pushTokens(n),new p0("",h0.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s,o=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++o;else if(s.text==="}"){if(--o,o===-1)throw new w("Extra }",s)}else if(s.text==="EOF")throw new w("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((o===0||o===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(o!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new w("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;n<a.length;n++){var s=this.popToken();if(a[n]!==s.text)throw new w("Use of the macro doesn't match its definition",s)}}for(var o=[],h=0;h<e;h++)o.push(this.consumeArg(t&&t[h+1]).tokens);return o}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new w("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new w("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var m=s[h];if(m.text==="#"){if(h===0)throw new w("Incomplete placeholder at end of macro body",m);if(m=s[--h],m.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(m.text))s.splice(h,2,...o[+m.text-1]);else throw new w("Not a valid argument number",m)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new p0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var s=0;if(n.includes("#"))for(var o=n.replace(/##/g,"");o.includes("#"+(s+1));)++s;for(var h=new za(n,this.settings),m=[],d=h.lex();d.text!=="EOF";)m.push(d),d=h.lex();m.reverse();var v={tokens:m,numArgs:s};return v}return n}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(U0,e)||Object.prototype.hasOwnProperty.call(W.math,e)||Object.prototype.hasOwnProperty.call(W.text,e)||Object.prototype.hasOwnProperty.call(Da,e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:Object.prototype.hasOwnProperty.call(U0,e)&&!U0[e].primitive}}var qa=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Le=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Ut={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ra={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Pe{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ti(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new w("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new p0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(Pe.endOfExpression.has(n.text)||t&&n.text===t||e&&U0[n.text]&&U0[n.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n<e.length;n++){var s=e[n];if(s.type==="infix"){if(t!==-1)throw new w("only one infix operator per group",s.token);t=n,a=s.replaceWith}}if(t!==-1&&a){var o,h,m=e.slice(0,t),d=e.slice(t+1);m.length===1&&m[0].type==="ordgroup"?o=m[0]:o={type:"ordgroup",mode:this.mode,body:m},d.length===1&&d[0].type==="ordgroup"?h=d[0]:h={type:"ordgroup",mode:this.mode,body:d};var v;return a==="\\\\abovefrac"?v=this.callFunction(a,[o,e[t],h],[]):v=this.callFunction(a,[o,h],[]),[v]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var n;do{var s;n=this.parseGroup(e)}while(((s=n)==null?void 0:s.type)==="internal");if(!n)throw new w("Expected group after '"+a+"'",t);return n}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var n={type:"text",mode:this.mode,body:t},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]};return s}parseAtom(e){var t=this.parseGroup("atom",e);if((t==null?void 0:t.type)==="internal"||this.mode==="text")return t;for(var a,n;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(t&&t.type==="op")t.limits=s.text==="\\limits",t.alwaysHandleSupSub=!0;else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=s.text==="\\limits");else throw new w("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(a)throw new w("Double superscript",s);a=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(n)throw new w("Double subscript",s);n=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(a)throw new w("Double superscript",s);var o={type:"textord",mode:this.mode,text:"\\prime"},h=[o];for(this.consume();this.fetch().text==="'";)h.push(o),this.consume();this.fetch().text==="^"&&h.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:h}}else if(Le[s.text]){var m=qa.test(s.text),d=[];for(d.push(new p0(Le[s.text])),this.consume();;){var v=this.fetch().text;if(!Le[v]||qa.test(v)!==m)break;d.unshift(new p0(Le[v])),this.consume()}var b=this.subparse(d);m?n={type:"ordgroup",mode:"math",body:b}:a={type:"ordgroup",mode:"math",body:b}}else break}return a&&n?{type:"supsub",mode:this.mode,base:t,sup:a,sub:n}:a?{type:"supsub",mode:this.mode,base:t,sup:a}:n?{type:"supsub",mode:this.mode,base:t,sub:n}:t}parseFunction(e,t){var a=this.fetch(),n=a.text,s=U0[n];if(!s)return null;if(this.consume(),t&&t!=="atom"&&!s.allowedInArgument)throw new w("Got function '"+n+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!s.allowedInText)throw new w("Can't use function '"+n+"' in text mode",a);if(this.mode==="math"&&s.allowedInMath===!1)throw new w("Can't use function '"+n+"' in math mode",a);var o=this.parseArguments(n,s),h=o.args,m=o.optArgs;return this.callFunction(n,h,m,a,e)}callFunction(e,t,a,n,s){var o={funcName:e,parser:this,token:n,breakOnTokenText:s},h=U0[e];if(h&&h.handler)return h.handler(o,t,a);throw new w("No function handler for "+e)}parseArguments(e,t){var a,n=(a=t.numOptionalArgs)!=null?a:0,s=t.numArgs+n;if(s===0)return{args:[],optArgs:[]};for(var o=[],h=[],m=0;m<s;m++){var d,v=(d=t.argTypes)==null?void 0:d[m],b=m<n;("primitive"in t&&t.primitive&&v==null||t.type==="sqrt"&&m===1&&h[0]==null)&&(v="primitive");var y=this.parseGroupOfType("argument to '"+e+"'",v,b);if(b)h.push(y);else if(y!=null)o.push(y);else throw new w("Null argument, please report this as a bug")}return{args:o,optArgs:h}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var n=this.parseArgumentGroup(a,"text");return n!=null?{type:"styling",mode:n.mode,body:[n],style:"text",resetFont:!0}:null}case"raw":{var s=this.parseStringGroup(a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new w("A primitive argument cannot be optional");var o=this.parseGroup(e);if(o==null)throw new w("Expected group as "+e,this.fetch());return o}case"original":case void 0:return this.parseArgumentGroup(a);default:throw new w("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e){var t=this.gullet.scanArgument(e);if(t==null)return null;for(var a="",n;(n=this.fetch()).text!=="EOF";)a+=n.text,this.consume();return this.consume(),t.text=a,t}parseRegexGroup(e,t){for(var a=this.fetch(),n=a,s="",o;(o=this.fetch()).text!=="EOF"&&e.test(s+o.text);)n=o,s+=n.text,this.consume();if(s==="")throw new w("Invalid "+t+": '"+a.text+"'",a);return a.range(n,s)}parseColorGroup(e){var t=this.parseStringGroup(e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new w("Invalid color: '"+t.text+"'",t);var n=a[0];return/^[0-9a-f]{6}$/i.test(n)&&(n="#"+n),{type:"color-token",mode:this.mode,color:n}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup(e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!n)throw new w("Invalid size: '"+t.text+"'",t);var s={number:+(n[1]+n[2]),unit:n[3]};if(!sr(s))throw new w("Invalid unit: '"+s.unit+"'",t);return{type:"size",mode:this.mode,value:s,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup(e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var n=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var o={type:"ordgroup",mode:this.mode,loc:a.loc,body:s};return t&&this.switchMode(n),o}parseGroup(e,t){var a=this.fetch(),n=a.text,s;if(n==="{"||n==="\\begingroup"){this.consume();var o=n==="{"?"}":"\\endgroup";this.gullet.beginGroup();var h=this.parseExpression(!1,o),m=this.fetch();this.expect(o),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:h0.range(a,m),body:h,semisimple:n==="\\begingroup"||void 0}}else if(s=this.parseFunction(t,e)||this.parseSymbol(),s==null&&n[0]==="\\"&&!Object.prototype.hasOwnProperty.call(Da,n)){if(this.settings.throwOnError)throw new w("Undefined control sequence: "+n,a);s=this.formatUnsupportedCmd(n),this.consume()}return s}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var n=e[a];if(n.type==="textord"){var s=n.text,o=e[a+1];if(!(!o||o.type!=="textord")){if(s==="-"&&o.text==="-"){var h=e[a+2];a+1<t&&h&&h.type==="textord"&&h.text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:h0.range(n,h),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:"--"}),t-=1)}(s==="'"||s==="`")&&o.text===s&&(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:s+s}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),n=a.charAt(0)==="*";if(n&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new w(`\\verb assertion failed --
|
|
257
257
|
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:n}}Object.prototype.hasOwnProperty.call(Ra,t[0])&&!W[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ra[t[0]]+t.slice(1));var s=Kn.exec(t);s&&(t=t.substring(0,s.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var o;if(W[this.mode][t]){this.settings.strict&&this.mode==="math"&&ot.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var h=W[this.mode][t].group,m=h0.range(e),d;ln(h)?d={type:"atom",mode:this.mode,family:h,loc:m,text:t}:d={type:h,mode:this.mode,loc:m,text:t},o=d}else if(t.charCodeAt(0)>=128)this.settings.strict&&(nr(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:h0.range(e),text:t};else return null;if(this.consume(),s)for(var v=0;v<s[0].length;v++){var b=s[0][v];if(!Ut[b])throw new w("Unknown accent ' "+b+"'",e);var y=Ut[b][this.mode]||Ut[b].text;if(!y)throw new w("Accent "+b+" unsupported in "+this.mode+" mode",e);o={type:"accent",mode:this.mode,loc:h0.range(e),label:y,isStretchy:!1,isShifty:!0,base:o}}return o}}Pe.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Vt=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new Pe(e,t);delete a.gullet.macros.current["\\df@tag"];var n=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new w("\\tag works only in display equations");n=[{type:"tag",mode:"text",body:n,tag:a.subparse([new p0("\\df@tag")])}]}return n},Na=function(e,t,a){t.textContent="";var n=$t(e,a).toNode();t.appendChild(n)};typeof document!="undefined"&&document.compatMode!=="CSS1Compat"&&(typeof console!="undefined"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Na=function(){throw new w("KaTeX doesn't work in quirks mode.")});var ri=function(e,t){var a=$t(e,t).toMarkup();return a},ai=function(e,t){var a=new Ke(t);return Vt(e,a)},Ea=function(e,t,a){if(a.throwOnError||!(e instanceof w))throw e;var n=S(["katex-error"],[new m0(t)]);return n.setAttribute("title",e.toString()),n.setAttribute("style","color:"+a.errorColor),n},$t=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return K1(n,e,a)}catch(s){return Ea(s,e,a)}},ni=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return J1(n,e,a)}catch(s){return Ea(s,e,a)}},ii="0.18.4",si={Span:re,Anchor:ke,SymbolNode:m0,SvgNode:B0,PathNode:F0,LineNode:tt},Ia={version:ii,render:Na,renderToString:ri,ParseError:w,SETTINGS_SCHEMA:Ze,__parse:ai,__renderToDomTree:$t,__renderToHTMLTree:ni,__setFontMetrics:q1,__defineSymbol:i,__defineFunction:B,__defineMacro:c,__domTree:si};const jt=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],Oa=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],li={arabic:jt,extended:Oa};function Xt(r,e="arabic"){if(e==="latin")return String(r);const t=li[e];return String(r).replace(/[0-9]/g,a=>t[Number(a)])}function oi(r){return String(r).replace(/[٠-٩]/g,e=>String(jt.indexOf(e))).replace(/[۰-۹]/g,e=>String(Oa.indexOf(e)))}function Wt(r){return r.replace(/,/g,"٬").replace(/\./g,"٫").replace(/[0-9]/g,e=>jt[Number(e)])}function ui(r,e="arabic",t=!0){return e==="latin"?r:r.replace(/\d+(?:[.,]\d+)*/g,a=>t?Wt(a):Xt(a,e))}function hi(r){return/[٠-٩۰-۹]/.test(r)}const ci=["text","textnormal","textbf","textit","textrm","mathrm","mathbf","mathit","mathtt","mathsf","mathscr","mathfrak","mathbb","mathcal","color","textcolor","operatorname","operatorname*","operatornamewithlimits"],Fa=new RegExp(`\\\\(?:${ci.join("|")})\\{[^}]*\\}`,"g");function Yt(r){const e=[];let t;for(Fa.lastIndex=0;(t=Fa.exec(r))!==null;)e.push({start:t.index,end:t.index+t[0].length});e.sort((n,s)=>n.start-s.start);const a=[];for(const n of e){const s=a[a.length-1];s&&n.start<=s.end?s.end=Math.max(s.end,n.end):a.push({...n})}return a}function Zt(r,e){for(const t of e){if(r>=t.start&&r<t.end)return!0;if(t.start>r)break}return!1}const mi={"\\sin":"\\operatorname{جا}","\\cos":"\\operatorname{جتا}","\\tan":"\\operatorname{ظا}","\\cot":"\\operatorname{ظتا}","\\sec":"\\operatorname{قا}","\\csc":"\\operatorname{قتا}","\\arcsin":"\\operatorname{جا}^{-1}","\\arccos":"\\operatorname{جتا}^{-1}","\\arctan":"\\operatorname{ظا}^{-1}","\\arccot":"\\operatorname{ظتا}^{-1}","\\arcsec":"\\operatorname{قا}^{-1}","\\arccsc":"\\operatorname{قتا}^{-1}","\\sinh":"\\operatorname{جـا}","\\cosh":"\\operatorname{جتـا}","\\tanh":"\\operatorname{ظـا}","\\coth":"\\operatorname{ظتـا}","\\sech":"\\operatorname{قـا}","\\csch":"\\operatorname{قتـا}","\\ln":"\\operatorname{لو}","\\log":"\\operatorname{لغ}","\\lg":"\\operatorname{لغ}","\\liminf":"\\operatorname*{نها}","\\max":"\\operatorname*{أقصى}","\\min":"\\operatorname*{أدنى}","\\sup":"\\operatorname*{حد\\,أعلى}","\\inf":"\\operatorname*{حد\\,أدنى}","\\det":"\\operatorname{محدد}","\\dim":"\\operatorname{بعد}","\\ker":"\\operatorname{نواة}","\\rank":"\\operatorname{رتبة}","\\tr":"\\operatorname{أثر}","\\diag":"\\operatorname{قطري}","\\span":"\\operatorname{مدى}","\\null":"\\operatorname{فضاء\\,صفري}","\\gcd":"\\operatorname{ق.م.أ}","\\lcm":"\\operatorname{م.م.أ}","\\mod":"\\operatorname{باقي}","\\bmod":"\\operatorname{باقي}","\\Pr":"\\operatorname{حا}","\\P":"\\operatorname{حا}","\\arg":"\\operatorname{سعة}","\\deg":"\\operatorname{درجة}","\\sgn":"\\operatorname{إشا}","\\Re":"\\operatorname{حق}","\\Im":"\\operatorname{تخ}","\\hom":"\\operatorname{تشا}","\\Hom":"\\operatorname{تشا}","\\sum":"\\sum","\\prod":"\\prod","\\coprod":"\\coprod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint","\\partial":"\\partial","\\nabla":"\\nabla","\\infty":"\\infty","\\lim":"\\lim","\\limsup":"\\operatorname*{نها}","\\arabiLim":"\\operatorname*{نها}"},Kt={x:"س",y:"ص",z:"ع",a:"أ",b:"ب",c:"جـ",d:"د",e:"هـ",f:"ف",g:"ق",h:"ح",i:"ت",j:"ج",k:"ك",l:"ل",m:"م",n:"ن",o:"ع",p:"ب",q:"ق",r:"ر",s:"ز",t:"ت",A:"أ",B:"ب",C:"جـ",D:"د",E:"هـ",F:"ف",G:"ق",H:"ح",I:"ت",J:"ج",K:"ك",L:"ل",M:"م",N:"ن",O:"ع",P:"ح",Q:"ق",R:"ر",S:"ز",T:"ت",U:"ث",V:"ڤ",W:"و",X:"س",Y:"ص",Z:"ز"};function di(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function Jt(r,e={}){const t={...mi,...e},a=Yt(r),n=/\\[a-zA-Z]+/g;let s="",o=0,h;for(;(h=n.exec(r))!==null;){const m=h[0],d=h.index+m.length,v=r[d],y=!!v&&/[A-Za-z]/.test(v)?void 0:t[m];if(y!==void 0&&!Zt(h.index,a)){s+=r.slice(o,h.index)+y,o=d;continue}s+=r.slice(o,d),o=d}return s+=r.slice(o),s}function Ge(r){let e=r;return e=e.replace(/\bd([xyztruvs])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e=e.replace(/d\\(theta|phi|rho|alpha|beta|gamma|delta)\b/g,(t,a)=>`\\text{د}\\${a}`),e=e.replace(/\bd([AVS])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e}function Qt(r,e={}){const t={...Kt,...e},a=Object.keys(t);if(a.length===0)return r;const n=a.sort((h,m)=>m.length-h.length),s=Yt(r),o=new RegExp(`(?<![A-Za-z\\\\])(${n.map(di).join("|")})(?![A-Za-z])`,"g");return r.replace(o,(h,m,d,v)=>{const b=Number(d);return Zt(b,s)?h:`\\text{${t[h]}}`})}function fi(r){return Ge(r)}function pi(r,e={}){const{functions:t=!0,variables:a=!0,differentials:n=!0,customFunctionMap:s={},customVariableMap:o={}}=e;let h=r;return n&&(h=Ge(h)),t&&(h=Jt(h,s)),a&&(h=Qt(h,o)),h}const vi={...{"<":">",">":"<","\\lt":"\\gt","\\gt":"\\lt","\\leq":"\\geq","\\geq":"\\leq","\\le":"\\ge","\\ge":"\\le","\\leqslant":"\\geqslant","\\geqslant":"\\leqslant","\\lesssim":"\\gtrsim","\\gtrsim":"\\lesssim","\\ll":"\\gg","\\gg":"\\ll","\\nless":"\\ngtr","\\ngtr":"\\nless","\\nleq":"\\ngeq","\\ngeq":"\\nleq"},...{"\\to":"\\gets","\\gets":"\\to","\\rightarrow":"\\leftarrow","\\leftarrow":"\\rightarrow","\\longrightarrow":"\\longleftarrow","\\longleftarrow":"\\longrightarrow","\\Rightarrow":"\\Leftarrow","\\Leftarrow":"\\Rightarrow","\\Longrightarrow":"\\Longleftarrow","\\Longleftarrow":"\\Longrightarrow","\\hookrightarrow":"\\hookleftarrow","\\hookleftarrow":"\\hookrightarrow","\\mapsto":"\\mapsfrom","\\mapsfrom":"\\mapsto","\\rightleftharpoons":"\\leftrightharpoons","\\leftrightharpoons":"\\rightleftharpoons"},...{"\\langle":"\\rangle","\\rangle":"\\langle","\\lceil":"\\rceil","\\rceil":"\\lceil","\\lfloor":"\\rfloor","\\rfloor":"\\lfloor","\\lbrace":"\\rbrace","\\rbrace":"\\lbrace","\\lbrack":"\\rbrack","\\rbrack":"\\lbrack"},...{"\\sum":"\\sum","\\prod":"\\prod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint"}};function gi(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function bi(r){const e=gi(r);return r.length===1?new RegExp(`(?<![A-Za-z\\\\])${e}(?![A-Za-z])`,"g"):new RegExp(e+"(?![A-Za-z])","g")}function Ha(r,e=!0){if(!e)return r;const t=Object.entries(vi).sort((o,h)=>h[0].length-o[0].length),a=new RegExp(t.map(([o])=>`(?:${bi(o).source})`).join("|"),"g"),n=new Map(t.map(([o,h])=>[o,h])),s=Yt(r);return r.replace(a,(...o)=>{var d;const h=o[0],m=o[1];return Zt(m,s)?h:(d=n.get(h))!=null?d:h})}const La=2e4,yi=256;class xi{constructor(e){ar(this,"capacity");ar(this,"map",new Map);this.capacity=e}get(e){const t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.capacity){const a=this.map.keys().next().value;a!==void 0&&this.map.delete(a)}this.map.set(e,t)}clear(){this.map.clear()}get size(){return this.map.size}}const _t=new xi(yi);function wi(){_t.clear()}function ki(r,e){return[r,e.numerals,e.formatNumbers,e.translateFuncs,e.translateVars,e.translateDiffs,JSON.stringify(e.customFunctionMap),JSON.stringify(e.customVariableMap),e.mirrorSymbols,e.mirrorBigOperators,e.mirrorSqrt,e.mirrorBrackets,e.direction,e.fontFamily,e.displayMode,e.fullArabicMode,e.operatorScale,JSON.stringify(e.macros),e.output,String(e.strict),e.trust,e.minRuleThickness].join("|")}const Pa={numerals:"arabic",formatNumbers:!0,translateFuncs:!0,translateVars:!0,translateDiffs:!0,customFunctionMap:{},customVariableMap:{},mirrorSymbols:!0,mirrorBigOperators:!0,mirrorSqrt:!0,mirrorBrackets:!0,direction:"rtl",fontFamily:"Amiri",displayMode:!1,fullArabicMode:!0,operatorScale:1.05,macros:{},throwOnError:!1,output:"html",strict:!1,trust:!1,minRuleThickness:.04};function K0(r={}){return{...Pa,...r}}function er(r,e={}){const t=K0(e);let a=r.length>La?r.slice(0,La):r;return a.trim()&&(t.translateFuncs&&(a=a.replace(/\\lim(?![A-Za-z])/g,"\\arabiLim")),t.translateDiffs&&(a=Ge(a)),t.translateFuncs&&(a=Jt(a,t.customFunctionMap)),t.translateVars&&(a=Qt(a,t.customVariableMap)),t.mirrorSymbols&&(a=Ha(a,!0)),t.numerals!=="latin"&&(a=Si(a,t.numerals,t.formatNumbers))),a}function Si(r,e,t){let a="",n=0;for(;n<r.length;){const s=r[n];if(s&&/[0-9]/.test(s)){const o=n>0?r[n-1]:"";if(o&&/[A-Za-z]/.test(o))a+=s;else{let h=n;for(;h<r.length;){const d=r[h];if(d&&/[0-9.,]/.test(d))h++;else break}const m=r.slice(n,h);a+=t?Wt(m):Xt(m,e),n=h;continue}}else a+=s!=null?s:"";n++}return a}function Ga(r={}){return{"\\جا":"\\operatorname{جا}","\\جتا":"\\operatorname{جتا}","\\ظا":"\\operatorname{ظا}","\\ظتا":"\\operatorname{ظتا}","\\قا":"\\operatorname{قا}","\\قتا":"\\operatorname{قتا}","\\لو":"\\operatorname{لو}","\\لغ":"\\operatorname{لغ}","\\نها":"\\operatorname*{نها}","\\نهى":"\\operatorname*{نها}","\\اقصى":"\\operatorname*{أقصى}","\\ادنى":"\\operatorname*{أدنى}","\\ت":"\\text{ت}","\\هـ":"\\text{هـ}",...r}}function Ua(r){const e=K0(r),t=["katex-arabic"];return e.mirrorBigOperators&&t.push("mirror-big-ops"),e.mirrorSqrt&&t.push("mirror-sqrt"),e.mirrorBrackets&&t.push("mirror-brackets"),e.mirrorSymbols&&t.push("mirror-symbols"),e.fullArabicMode&&t.push("full-rtl-mode"),e.displayMode?t.push("is-display"):t.push("is-inline"),t}function Ai(r,e){const t=K0(e);return`<span class="${Ua(t).join(" ")}" dir="${t.direction}" style="font-family:'${t.fontFamily}','KaTeX_Main',serif;direction:${t.direction};--ka-op-scale:${t.operatorScale};">${r}</span>`}function zi(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Va(r,e={}){return Ue(r,e).html}function Ue(r,e={}){var o;const t=K0(e),a=ki(r,t),n=_t.get(a);if(n!==void 0)return{html:n,error:null};const s=er(r,t);try{const h=Ia.renderToString(s,{displayMode:t.displayMode,throwOnError:!0,output:t.output,strict:t.strict,trust:t.trust,minRuleThickness:t.minRuleThickness,macros:{...Ga(t.macros),...(o=t.macros)!=null?o:{}}}),m=Ai(h,t);return _t.set(a,m),{html:m,error:null}}catch(h){const m=h instanceof Error?h.message:String(h);if(t.throwOnError)throw h instanceof Error?h:new Error(m);return console.error("[katex-arabic] render failed:",m,`
|
|
258
|
-
LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.
|
|
258
|
+
LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.2"}}));
|
|
@@ -255,4 +255,4 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
|
255
255
|
?)[ \r ]*`,Lt="[̀-ͯ]",Kn=new RegExp(Lt+"+$"),Jn="("+Aa+"+)|"+(Zn+"|")+"([!-\\[\\]-‧-豈-]"+(Lt+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Lt+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Yn)+("|"+Wn+")");class za{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Jn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new p0("EOF",new h0(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new w("Unexpected character: '"+e[t]+"'",new p0(e[t],new h0(this,t,t+1)));var n=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[n]===14){var s=e.indexOf(`
|
|
256
256
|
`,this.tokenRegex.lastIndex);return s===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}return new p0(n,new h0(this,t,this.tokenRegex.lastIndex))}}class Qn{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new w("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t of Object.keys(e))e[t]===void 0?delete this.current[t]:this.current[t]=e[t]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){return Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:Object.prototype.hasOwnProperty.call(this.builtins,e)?this.builtins[e]:void 0}set(e,t,a){if(a===void 0&&(a=!1),a){for(var n=0;n<this.undefStack.length;n++)delete this.undefStack[n][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var s=this.undefStack[this.undefStack.length-1];s&&!Object.prototype.hasOwnProperty.call(s,e)&&(s[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}t==null?delete this.current[e]:this.current[e]=t}}var _n=ea;c("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}}),c("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}}),c("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}}),c("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}}),c("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),c("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),c("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var Ma={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};c("\\char",function(r){var e=r.popToken(),t,a=0;if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new w("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=Ma[e.text],a==null||a>=t)throw new w("Invalid base-"+t+" digit "+e.text);for(var n;(n=Ma[r.future().text])!=null&&n<t;)a*=t,a+=n,r.popToken()}return"\\@char{"+a+"}"});var Pt=(r,e,t,a)=>{var n=r.consumeArg().tokens;if(n.length!==1)throw new w("\\newcommand's first argument must be a macro name");var s=n[0].text,o=r.isDefined(s);if(o&&!e)throw new w("\\newcommand{"+s+"} attempting to redefine "+(s+"; use \\renewcommand"));if(!o&&!t)throw new w("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");var h=0;if(n=r.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var m="",d=r.expandNextToken();d.text!=="]"&&d.text!=="EOF";)m+=d.text,d=r.expandNextToken();if(!m.match(/^\s*[0-9]+\s*$/))throw new w("Invalid number of arguments: "+m);h=parseInt(m),n=r.consumeArg().tokens}return o&&a||r.macros.set(s,{tokens:n,numArgs:h}),""};c("\\newcommand",r=>Pt(r,!1,!0,!1)),c("\\renewcommand",r=>Pt(r,!0,!1,!1)),c("\\providecommand",r=>Pt(r,!0,!0,!0)),c("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""}),c("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""}),c("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),U0[t],W.math[t],W.text[t]),""}),c("\\bgroup","{"),c("\\egroup","}"),c("~","\\nobreakspace"),c("\\lq","`"),c("\\rq","'"),c("\\aa","\\r a"),c("\\AA","\\r A"),c("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),c("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),c("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),c("ℬ","\\mathscr{B}"),c("ℰ","\\mathscr{E}"),c("ℱ","\\mathscr{F}"),c("ℋ","\\mathscr{H}"),c("ℐ","\\mathscr{I}"),c("ℒ","\\mathscr{L}"),c("ℳ","\\mathscr{M}"),c("ℛ","\\mathscr{R}"),c("ℭ","\\mathfrak{C}"),c("ℌ","\\mathfrak{H}"),c("ℨ","\\mathfrak{Z}"),c("\\Bbbk","\\Bbb{k}"),c("\\llap","\\mathllap{\\textrm{#1}}"),c("\\rlap","\\mathrlap{\\textrm{#1}}"),c("\\clap","\\mathclap{\\textrm{#1}}"),c("\\mathstrut","\\vphantom{(}"),c("\\underbar","\\underline{\\text{#1}}"),c("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),c("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),c("\\ne","\\neq"),c("≠","\\neq"),c("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),c("∉","\\notin"),c("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),c("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),c("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),c("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),c("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),c("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),c("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),c("⟂","\\perp"),c("‼","\\mathclose{!\\mkern-0.8mu!}"),c("∌","\\notni"),c("⌜","\\ulcorner"),c("⌝","\\urcorner"),c("⌞","\\llcorner"),c("⌟","\\lrcorner"),c("©","\\copyright"),c("®","\\textregistered"),c("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),c("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),c("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),c("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),c("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),c("⋮","\\vdots"),c("\\varGamma","\\mathit{\\Gamma}"),c("\\varDelta","\\mathit{\\Delta}"),c("\\varTheta","\\mathit{\\Theta}"),c("\\varLambda","\\mathit{\\Lambda}"),c("\\varXi","\\mathit{\\Xi}"),c("\\varPi","\\mathit{\\Pi}"),c("\\varSigma","\\mathit{\\Sigma}"),c("\\varUpsilon","\\mathit{\\Upsilon}"),c("\\varPhi","\\mathit{\\Phi}"),c("\\varPsi","\\mathit{\\Psi}"),c("\\varOmega","\\mathit{\\Omega}"),c("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),c("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),c("\\boxed","\\fbox{$\\displaystyle{#1}$}"),c("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),c("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),c("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),c("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),c("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Ta={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},ei=new Set(["bin","rel"]);c("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in Ta?e=Ta[t]:(t.slice(0,4)==="\\not"||t in W.math&&ei.has(W.math[t].group))&&(e="\\dotsb"),e});var Gt={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};c("\\dotso",function(r){var e=r.future().text;return e in Gt?"\\ldots\\,":"\\ldots"}),c("\\dotsc",function(r){var e=r.future().text;return e in Gt&&e!==","?"\\ldots\\,":"\\ldots"}),c("\\cdots",function(r){var e=r.future().text;return e in Gt?"\\@cdots\\,":"\\@cdots"}),c("\\dotsb","\\cdots"),c("\\dotsm","\\cdots"),c("\\dotsi","\\!\\cdots"),c("\\dotsx","\\ldots\\,"),c("\\DOTSI","\\relax"),c("\\DOTSB","\\relax"),c("\\DOTSX","\\relax"),c("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),c("\\,","\\tmspace+{3mu}{.1667em}"),c("\\thinspace","\\,"),c("\\>","\\mskip{4mu}"),c("\\:","\\tmspace+{4mu}{.2222em}"),c("\\medspace","\\:"),c("\\;","\\tmspace+{5mu}{.2777em}"),c("\\thickspace","\\;"),c("\\!","\\tmspace-{3mu}{.1667em}"),c("\\negthinspace","\\!"),c("\\negmedspace","\\tmspace-{4mu}{.2222em}"),c("\\negthickspace","\\tmspace-{5mu}{.277em}"),c("\\enspace","\\kern.5em "),c("\\enskip","\\hskip.5em\\relax"),c("\\quad","\\hskip1em\\relax"),c("\\qquad","\\hskip2em\\relax"),c("\\tag","\\@ifstar\\tag@literal\\tag@paren"),c("\\tag@paren","\\tag@literal{({#1})}"),c("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new w("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),c("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),c("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),c("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),c("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),c("\\newline","\\\\\\relax"),c("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Ca=z(k0["Main-Regular"][84][1]-.7*k0["Main-Regular"][65][1]);c("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),c("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Ca+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),c("\\hspace","\\@ifstar\\@hspacer\\@hspace"),c("\\@hspace","\\hskip #1\\relax"),c("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),c("\\ordinarycolon",":"),c("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),c("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),c("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),c("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),c("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),c("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),c("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),c("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),c("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),c("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),c("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),c("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),c("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),c("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),c("∷","\\dblcolon"),c("∹","\\eqcolon"),c("≔","\\coloneqq"),c("≕","\\eqqcolon"),c("⩴","\\Coloneqq"),c("\\ratio","\\vcentcolon"),c("\\coloncolon","\\dblcolon"),c("\\colonequals","\\coloneqq"),c("\\coloncolonequals","\\Coloneqq"),c("\\equalscolon","\\eqqcolon"),c("\\equalscoloncolon","\\Eqqcolon"),c("\\colonminus","\\coloneq"),c("\\coloncolonminus","\\Coloneq"),c("\\minuscolon","\\eqcolon"),c("\\minuscoloncolon","\\Eqcolon"),c("\\coloncolonapprox","\\Colonapprox"),c("\\coloncolonsim","\\Colonsim"),c("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),c("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),c("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),c("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),c("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),c("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),c("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),c("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),c("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),c("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),c("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),c("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),c("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),c("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),c("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),c("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),c("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),c("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),c("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),c("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),c("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),c("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),c("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),c("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),c("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),c("\\imath","\\html@mathml{\\@imath}{ı}"),c("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),c("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),c("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),c("⟦","\\llbracket"),c("⟧","\\rrbracket"),c("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),c("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),c("⦃","\\lBrace"),c("⦄","\\rBrace"),c("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),c("⦵","\\minuso"),c("\\darr","\\downarrow"),c("\\dArr","\\Downarrow"),c("\\Darr","\\Downarrow"),c("\\lang","\\langle"),c("\\rang","\\rangle"),c("\\uarr","\\uparrow"),c("\\uArr","\\Uparrow"),c("\\Uarr","\\Uparrow"),c("\\N","\\mathbb{N}"),c("\\R","\\mathbb{R}"),c("\\Z","\\mathbb{Z}"),c("\\alef","\\aleph"),c("\\alefsym","\\aleph"),c("\\Alpha","\\mathrm{A}"),c("\\Beta","\\mathrm{B}"),c("\\bull","\\bullet"),c("\\Chi","\\mathrm{X}"),c("\\clubs","\\clubsuit"),c("\\cnums","\\mathbb{C}"),c("\\Complex","\\mathbb{C}"),c("\\Dagger","\\ddagger"),c("\\diamonds","\\diamondsuit"),c("\\empty","\\emptyset"),c("\\Epsilon","\\mathrm{E}"),c("\\Eta","\\mathrm{H}"),c("\\exist","\\exists"),c("\\harr","\\leftrightarrow"),c("\\hArr","\\Leftrightarrow"),c("\\Harr","\\Leftrightarrow"),c("\\hearts","\\heartsuit"),c("\\image","\\Im"),c("\\infin","\\infty"),c("\\Iota","\\mathrm{I}"),c("\\isin","\\in"),c("\\Kappa","\\mathrm{K}"),c("\\larr","\\leftarrow"),c("\\lArr","\\Leftarrow"),c("\\Larr","\\Leftarrow"),c("\\lrarr","\\leftrightarrow"),c("\\lrArr","\\Leftrightarrow"),c("\\Lrarr","\\Leftrightarrow"),c("\\Mu","\\mathrm{M}"),c("\\natnums","\\mathbb{N}"),c("\\Nu","\\mathrm{N}"),c("\\Omicron","\\mathrm{O}"),c("\\plusmn","\\pm"),c("\\rarr","\\rightarrow"),c("\\rArr","\\Rightarrow"),c("\\Rarr","\\Rightarrow"),c("\\real","\\Re"),c("\\reals","\\mathbb{R}"),c("\\Reals","\\mathbb{R}"),c("\\Rho","\\mathrm{P}"),c("\\sdot","\\cdot"),c("\\sect","\\S"),c("\\spades","\\spadesuit"),c("\\sub","\\subset"),c("\\sube","\\subseteq"),c("\\supe","\\supseteq"),c("\\Tau","\\mathrm{T}"),c("\\thetasym","\\vartheta"),c("\\weierp","\\wp"),c("\\Zeta","\\mathrm{Z}"),c("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),c("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),c("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),c("\\bra","\\mathinner{\\langle{#1}|}"),c("\\ket","\\mathinner{|{#1}\\rangle}"),c("\\braket","\\mathinner{\\langle{#1}\\rangle}"),c("\\Bra","\\left\\langle#1\\right|"),c("\\Ket","\\left|#1\\right\\rangle");var Ba=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,n=e.consumeArg().tokens,s=e.consumeArg().tokens,o=e.macros.get("|"),h=e.macros.get("\\|");e.macros.beginGroup();var m=b=>y=>{r&&(y.macros.set("|",o),n.length&&y.macros.set("\\|",h));var x=b;if(!b&&n.length){var M=y.future();M.text==="|"&&(y.popToken(),x=!0)}return{tokens:x?n:a,numArgs:0}};e.macros.set("|",m(!1)),n.length&&e.macros.set("\\|",m(!0));var d=e.consumeArg().tokens,v=e.expandTokens([...s,...d,...t]);return e.macros.endGroup(),{tokens:v.reverse(),numArgs:0}};c("\\bra@ket",Ba(!1)),c("\\bra@set",Ba(!0)),c("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),c("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),c("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),c("\\angln","{\\angl n}"),c("\\blue","\\textcolor{##6495ed}{#1}"),c("\\orange","\\textcolor{##ffa500}{#1}"),c("\\pink","\\textcolor{##ff00af}{#1}"),c("\\red","\\textcolor{##df0030}{#1}"),c("\\green","\\textcolor{##28ae7b}{#1}"),c("\\gray","\\textcolor{gray}{#1}"),c("\\purple","\\textcolor{##9d38bd}{#1}"),c("\\blueA","\\textcolor{##ccfaff}{#1}"),c("\\blueB","\\textcolor{##80f6ff}{#1}"),c("\\blueC","\\textcolor{##63d9ea}{#1}"),c("\\blueD","\\textcolor{##11accd}{#1}"),c("\\blueE","\\textcolor{##0c7f99}{#1}"),c("\\tealA","\\textcolor{##94fff5}{#1}"),c("\\tealB","\\textcolor{##26edd5}{#1}"),c("\\tealC","\\textcolor{##01d1c1}{#1}"),c("\\tealD","\\textcolor{##01a995}{#1}"),c("\\tealE","\\textcolor{##208170}{#1}"),c("\\greenA","\\textcolor{##b6ffb0}{#1}"),c("\\greenB","\\textcolor{##8af281}{#1}"),c("\\greenC","\\textcolor{##74cf70}{#1}"),c("\\greenD","\\textcolor{##1fab54}{#1}"),c("\\greenE","\\textcolor{##0d923f}{#1}"),c("\\goldA","\\textcolor{##ffd0a9}{#1}"),c("\\goldB","\\textcolor{##ffbb71}{#1}"),c("\\goldC","\\textcolor{##ff9c39}{#1}"),c("\\goldD","\\textcolor{##e07d10}{#1}"),c("\\goldE","\\textcolor{##a75a05}{#1}"),c("\\redA","\\textcolor{##fca9a9}{#1}"),c("\\redB","\\textcolor{##ff8482}{#1}"),c("\\redC","\\textcolor{##f9685d}{#1}"),c("\\redD","\\textcolor{##e84d39}{#1}"),c("\\redE","\\textcolor{##bc2612}{#1}"),c("\\maroonA","\\textcolor{##ffbde0}{#1}"),c("\\maroonB","\\textcolor{##ff92c6}{#1}"),c("\\maroonC","\\textcolor{##ed5fa6}{#1}"),c("\\maroonD","\\textcolor{##ca337c}{#1}"),c("\\maroonE","\\textcolor{##9e034e}{#1}"),c("\\purpleA","\\textcolor{##ddd7ff}{#1}"),c("\\purpleB","\\textcolor{##c6b9fc}{#1}"),c("\\purpleC","\\textcolor{##aa87ff}{#1}"),c("\\purpleD","\\textcolor{##7854ab}{#1}"),c("\\purpleE","\\textcolor{##543b78}{#1}"),c("\\mintA","\\textcolor{##f5f9e8}{#1}"),c("\\mintB","\\textcolor{##edf2df}{#1}"),c("\\mintC","\\textcolor{##e0e5cc}{#1}"),c("\\grayA","\\textcolor{##f6f7f7}{#1}"),c("\\grayB","\\textcolor{##f0f1f2}{#1}"),c("\\grayC","\\textcolor{##e3e5e6}{#1}"),c("\\grayD","\\textcolor{##d6d8da}{#1}"),c("\\grayE","\\textcolor{##babec2}{#1}"),c("\\grayF","\\textcolor{##888d93}{#1}"),c("\\grayG","\\textcolor{##626569}{#1}"),c("\\grayH","\\textcolor{##3b3e40}{#1}"),c("\\grayI","\\textcolor{##21242c}{#1}"),c("\\kaBlue","\\textcolor{##314453}{#1}"),c("\\kaGreen","\\textcolor{##71B307}{#1}");var Da={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class ti{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Qn(_n,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new za(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,n;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken();var s=this.consumeArg(["]"]);n=s.tokens,a=s.end}else{var o=this.consumeArg();n=o.tokens,t=o.start,a=o.end}return this.pushToken(new p0("EOF",a.loc)),this.pushTokens(n),new p0("",h0.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var n=this.future(),s,o=0,h=0;do{if(s=this.popToken(),t.push(s),s.text==="{")++o;else if(s.text==="}"){if(--o,o===-1)throw new w("Extra }",s)}else if(s.text==="EOF")throw new w("Unexpected end of input in a macro argument, expected '"+(e&&a?e[h]:"}")+"'",s);if(e&&a)if((o===0||o===1&&e[h]==="{")&&s.text===e[h]){if(++h,h===e.length){t.splice(-h,h);break}}else h=0}while(o!==0||a);return n.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:n,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new w("The length of delimiters doesn't match the number of args!");for(var a=t[0],n=0;n<a.length;n++){var s=this.popToken();if(a[n]!==s.text)throw new w("Use of the macro doesn't match its definition",s)}}for(var o=[],h=0;h<e;h++)o.push(this.consumeArg(t&&t[h+1]).tokens);return o}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new w("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,n=t.noexpand?null:this._getExpansion(a);if(n==null||e&&n.unexpandable){if(e&&n==null&&a[0]==="\\"&&!this.isDefined(a))throw new w("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var s=n.tokens,o=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs){s=s.slice();for(var h=s.length-1;h>=0;--h){var m=s[h];if(m.text==="#"){if(h===0)throw new w("Incomplete placeholder at end of macro body",m);if(m=s[--h],m.text==="#")s.splice(h+1,1);else if(/^[1-9]$/.test(m.text))s.splice(h,2,...o[+m.text-1]);else throw new w("Not a valid argument number",m)}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new p0(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var n=typeof t=="function"?t(this):t;if(typeof n=="string"){var s=0;if(n.includes("#"))for(var o=n.replace(/##/g,"");o.includes("#"+(s+1));)++s;for(var h=new za(n,this.settings),m=[],d=h.lex();d.text!=="EOF";)m.push(d),d=h.lex();m.reverse();var v={tokens:m,numArgs:s};return v}return n}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(U0,e)||Object.prototype.hasOwnProperty.call(W.math,e)||Object.prototype.hasOwnProperty.call(W.text,e)||Object.prototype.hasOwnProperty.call(Da,e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:Object.prototype.hasOwnProperty.call(U0,e)&&!U0[e].primitive}}var qa=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Le=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Ut={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ra={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Pe{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new ti(e,t,this.mode),this.settings=t,this.leftrightDepth=0,this.nextToken=null}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new w("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new p0("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var n=this.fetch();if(Pe.endOfExpression.has(n.text)||t&&n.text===t||e&&U0[n.text]&&U0[n.text].infix)break;var s=this.parseAtom(t);if(s){if(s.type==="internal")continue}else break;a.push(s)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,n=0;n<e.length;n++){var s=e[n];if(s.type==="infix"){if(t!==-1)throw new w("only one infix operator per group",s.token);t=n,a=s.replaceWith}}if(t!==-1&&a){var o,h,m=e.slice(0,t),d=e.slice(t+1);m.length===1&&m[0].type==="ordgroup"?o=m[0]:o={type:"ordgroup",mode:this.mode,body:m},d.length===1&&d[0].type==="ordgroup"?h=d[0]:h={type:"ordgroup",mode:this.mode,body:d};var v;return a==="\\\\abovefrac"?v=this.callFunction(a,[o,e[t],h],[]):v=this.callFunction(a,[o,h],[]),[v]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var n;do{var s;n=this.parseGroup(e)}while(((s=n)==null?void 0:s.type)==="internal");if(!n)throw new w("Expected group after '"+a+"'",t);return n}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var n={type:"text",mode:this.mode,body:t},s={type:"color",mode:this.mode,color:this.settings.errorColor,body:[n]};return s}parseAtom(e){var t=this.parseGroup("atom",e);if((t==null?void 0:t.type)==="internal"||this.mode==="text")return t;for(var a,n;;){this.consumeSpaces();var s=this.fetch();if(s.text==="\\limits"||s.text==="\\nolimits"){if(t&&t.type==="op")t.limits=s.text==="\\limits",t.alwaysHandleSupSub=!0;else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=s.text==="\\limits");else throw new w("Limit controls must follow a math operator",s);this.consume()}else if(s.text==="^"){if(a)throw new w("Double superscript",s);a=this.handleSupSubscript("superscript")}else if(s.text==="_"){if(n)throw new w("Double subscript",s);n=this.handleSupSubscript("subscript")}else if(s.text==="'"){if(a)throw new w("Double superscript",s);var o={type:"textord",mode:this.mode,text:"\\prime"},h=[o];for(this.consume();this.fetch().text==="'";)h.push(o),this.consume();this.fetch().text==="^"&&h.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:h}}else if(Le[s.text]){var m=qa.test(s.text),d=[];for(d.push(new p0(Le[s.text])),this.consume();;){var v=this.fetch().text;if(!Le[v]||qa.test(v)!==m)break;d.unshift(new p0(Le[v])),this.consume()}var b=this.subparse(d);m?n={type:"ordgroup",mode:"math",body:b}:a={type:"ordgroup",mode:"math",body:b}}else break}return a&&n?{type:"supsub",mode:this.mode,base:t,sup:a,sub:n}:a?{type:"supsub",mode:this.mode,base:t,sup:a}:n?{type:"supsub",mode:this.mode,base:t,sub:n}:t}parseFunction(e,t){var a=this.fetch(),n=a.text,s=U0[n];if(!s)return null;if(this.consume(),t&&t!=="atom"&&!s.allowedInArgument)throw new w("Got function '"+n+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!s.allowedInText)throw new w("Can't use function '"+n+"' in text mode",a);if(this.mode==="math"&&s.allowedInMath===!1)throw new w("Can't use function '"+n+"' in math mode",a);var o=this.parseArguments(n,s),h=o.args,m=o.optArgs;return this.callFunction(n,h,m,a,e)}callFunction(e,t,a,n,s){var o={funcName:e,parser:this,token:n,breakOnTokenText:s},h=U0[e];if(h&&h.handler)return h.handler(o,t,a);throw new w("No function handler for "+e)}parseArguments(e,t){var a,n=(a=t.numOptionalArgs)!=null?a:0,s=t.numArgs+n;if(s===0)return{args:[],optArgs:[]};for(var o=[],h=[],m=0;m<s;m++){var d,v=(d=t.argTypes)==null?void 0:d[m],b=m<n;("primitive"in t&&t.primitive&&v==null||t.type==="sqrt"&&m===1&&h[0]==null)&&(v="primitive");var y=this.parseGroupOfType("argument to '"+e+"'",v,b);if(b)h.push(y);else if(y!=null)o.push(y);else throw new w("Null argument, please report this as a bug")}return{args:o,optArgs:h}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var n=this.parseArgumentGroup(a,"text");return n!=null?{type:"styling",mode:n.mode,body:[n],style:"text",resetFont:!0}:null}case"raw":{var s=this.parseStringGroup(a);return s!=null?{type:"raw",mode:"text",string:s.text}:null}case"primitive":{if(a)throw new w("A primitive argument cannot be optional");var o=this.parseGroup(e);if(o==null)throw new w("Expected group as "+e,this.fetch());return o}case"original":case void 0:return this.parseArgumentGroup(a);default:throw new w("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e){var t=this.gullet.scanArgument(e);if(t==null)return null;for(var a="",n;(n=this.fetch()).text!=="EOF";)a+=n.text,this.consume();return this.consume(),t.text=a,t}parseRegexGroup(e,t){for(var a=this.fetch(),n=a,s="",o;(o=this.fetch()).text!=="EOF"&&e.test(s+o.text);)n=o,s+=n.text,this.consume();if(s==="")throw new w("Invalid "+t+": '"+a.text+"'",a);return a.range(n,s)}parseColorGroup(e){var t=this.parseStringGroup(e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new w("Invalid color: '"+t.text+"'",t);var n=a[0];return/^[0-9a-f]{6}$/i.test(n)&&(n="#"+n),{type:"color-token",mode:this.mode,color:n}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup(e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var n=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!n)throw new w("Invalid size: '"+t.text+"'",t);var s={number:+(n[1]+n[2]),unit:n[3]};if(!sr(s))throw new w("Invalid unit: '"+s.unit+"'",t);return{type:"size",mode:this.mode,value:s,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup(e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var n=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var s=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var o={type:"ordgroup",mode:this.mode,loc:a.loc,body:s};return t&&this.switchMode(n),o}parseGroup(e,t){var a=this.fetch(),n=a.text,s;if(n==="{"||n==="\\begingroup"){this.consume();var o=n==="{"?"}":"\\endgroup";this.gullet.beginGroup();var h=this.parseExpression(!1,o),m=this.fetch();this.expect(o),this.gullet.endGroup(),s={type:"ordgroup",mode:this.mode,loc:h0.range(a,m),body:h,semisimple:n==="\\begingroup"||void 0}}else if(s=this.parseFunction(t,e)||this.parseSymbol(),s==null&&n[0]==="\\"&&!Object.prototype.hasOwnProperty.call(Da,n)){if(this.settings.throwOnError)throw new w("Undefined control sequence: "+n,a);s=this.formatUnsupportedCmd(n),this.consume()}return s}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var n=e[a];if(n.type==="textord"){var s=n.text,o=e[a+1];if(!(!o||o.type!=="textord")){if(s==="-"&&o.text==="-"){var h=e[a+2];a+1<t&&h&&h.type==="textord"&&h.text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:h0.range(n,h),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:"--"}),t-=1)}(s==="'"||s==="`")&&o.text===s&&(e.splice(a,2,{type:"textord",mode:"text",loc:h0.range(n,o),text:s+s}),t-=1)}}}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),n=a.charAt(0)==="*";if(n&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new w(`\\verb assertion failed --
|
|
257
257
|
please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:n}}Object.prototype.hasOwnProperty.call(Ra,t[0])&&!W[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ra[t[0]]+t.slice(1));var s=Kn.exec(t);s&&(t=t.substring(0,s.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var o;if(W[this.mode][t]){this.settings.strict&&this.mode==="math"&&ot.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var h=W[this.mode][t].group,m=h0.range(e),d;ln(h)?d={type:"atom",mode:this.mode,family:h,loc:m,text:t}:d={type:h,mode:this.mode,loc:m,text:t},o=d}else if(t.charCodeAt(0)>=128)this.settings.strict&&(nr(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:h0.range(e),text:t};else return null;if(this.consume(),s)for(var v=0;v<s[0].length;v++){var b=s[0][v];if(!Ut[b])throw new w("Unknown accent ' "+b+"'",e);var y=Ut[b][this.mode]||Ut[b].text;if(!y)throw new w("Accent "+b+" unsupported in "+this.mode+" mode",e);o={type:"accent",mode:this.mode,loc:h0.range(e),label:y,isStretchy:!1,isShifty:!0,base:o}}return o}}Pe.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Vt=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new Pe(e,t);delete a.gullet.macros.current["\\df@tag"];var n=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new w("\\tag works only in display equations");n=[{type:"tag",mode:"text",body:n,tag:a.subparse([new p0("\\df@tag")])}]}return n},Na=function(e,t,a){t.textContent="";var n=$t(e,a).toNode();t.appendChild(n)};typeof document!="undefined"&&document.compatMode!=="CSS1Compat"&&(typeof console!="undefined"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Na=function(){throw new w("KaTeX doesn't work in quirks mode.")});var ri=function(e,t){var a=$t(e,t).toMarkup();return a},ai=function(e,t){var a=new Ke(t);return Vt(e,a)},Ea=function(e,t,a){if(a.throwOnError||!(e instanceof w))throw e;var n=S(["katex-error"],[new m0(t)]);return n.setAttribute("title",e.toString()),n.setAttribute("style","color:"+a.errorColor),n},$t=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return K1(n,e,a)}catch(s){return Ea(s,e,a)}},ni=function(e,t){var a=new Ke(t);try{var n=Vt(e,a);return J1(n,e,a)}catch(s){return Ea(s,e,a)}},ii="0.18.4",si={Span:re,Anchor:ke,SymbolNode:m0,SvgNode:B0,PathNode:F0,LineNode:tt},Ia={version:ii,render:Na,renderToString:ri,ParseError:w,SETTINGS_SCHEMA:Ze,__parse:ai,__renderToDomTree:$t,__renderToHTMLTree:ni,__setFontMetrics:q1,__defineSymbol:i,__defineFunction:B,__defineMacro:c,__domTree:si};const jt=["٠","١","٢","٣","٤","٥","٦","٧","٨","٩"],Oa=["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"],li={arabic:jt,extended:Oa};function Xt(r,e="arabic"){if(e==="latin")return String(r);const t=li[e];return String(r).replace(/[0-9]/g,a=>t[Number(a)])}function oi(r){return String(r).replace(/[٠-٩]/g,e=>String(jt.indexOf(e))).replace(/[۰-۹]/g,e=>String(Oa.indexOf(e)))}function Wt(r){return r.replace(/,/g,"٬").replace(/\./g,"٫").replace(/[0-9]/g,e=>jt[Number(e)])}function ui(r,e="arabic",t=!0){return e==="latin"?r:r.replace(/\d+(?:[.,]\d+)*/g,a=>t?Wt(a):Xt(a,e))}function hi(r){return/[٠-٩۰-۹]/.test(r)}const ci=["text","textnormal","textbf","textit","textrm","mathrm","mathbf","mathit","mathtt","mathsf","mathscr","mathfrak","mathbb","mathcal","color","textcolor","operatorname","operatorname*","operatornamewithlimits"],Fa=new RegExp(`\\\\(?:${ci.join("|")})\\{[^}]*\\}`,"g");function Yt(r){const e=[];let t;for(Fa.lastIndex=0;(t=Fa.exec(r))!==null;)e.push({start:t.index,end:t.index+t[0].length});e.sort((n,s)=>n.start-s.start);const a=[];for(const n of e){const s=a[a.length-1];s&&n.start<=s.end?s.end=Math.max(s.end,n.end):a.push({...n})}return a}function Zt(r,e){for(const t of e){if(r>=t.start&&r<t.end)return!0;if(t.start>r)break}return!1}const mi={"\\sin":"\\operatorname{جا}","\\cos":"\\operatorname{جتا}","\\tan":"\\operatorname{ظا}","\\cot":"\\operatorname{ظتا}","\\sec":"\\operatorname{قا}","\\csc":"\\operatorname{قتا}","\\arcsin":"\\operatorname{جا}^{-1}","\\arccos":"\\operatorname{جتا}^{-1}","\\arctan":"\\operatorname{ظا}^{-1}","\\arccot":"\\operatorname{ظتا}^{-1}","\\arcsec":"\\operatorname{قا}^{-1}","\\arccsc":"\\operatorname{قتا}^{-1}","\\sinh":"\\operatorname{جـا}","\\cosh":"\\operatorname{جتـا}","\\tanh":"\\operatorname{ظـا}","\\coth":"\\operatorname{ظتـا}","\\sech":"\\operatorname{قـا}","\\csch":"\\operatorname{قتـا}","\\ln":"\\operatorname{لو}","\\log":"\\operatorname{لغ}","\\lg":"\\operatorname{لغ}","\\liminf":"\\operatorname*{نها}","\\max":"\\operatorname*{أقصى}","\\min":"\\operatorname*{أدنى}","\\sup":"\\operatorname*{حد\\,أعلى}","\\inf":"\\operatorname*{حد\\,أدنى}","\\det":"\\operatorname{محدد}","\\dim":"\\operatorname{بعد}","\\ker":"\\operatorname{نواة}","\\rank":"\\operatorname{رتبة}","\\tr":"\\operatorname{أثر}","\\diag":"\\operatorname{قطري}","\\span":"\\operatorname{مدى}","\\null":"\\operatorname{فضاء\\,صفري}","\\gcd":"\\operatorname{ق.م.أ}","\\lcm":"\\operatorname{م.م.أ}","\\mod":"\\operatorname{باقي}","\\bmod":"\\operatorname{باقي}","\\Pr":"\\operatorname{حا}","\\P":"\\operatorname{حا}","\\arg":"\\operatorname{سعة}","\\deg":"\\operatorname{درجة}","\\sgn":"\\operatorname{إشا}","\\Re":"\\operatorname{حق}","\\Im":"\\operatorname{تخ}","\\hom":"\\operatorname{تشا}","\\Hom":"\\operatorname{تشا}","\\sum":"\\sum","\\prod":"\\prod","\\coprod":"\\coprod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint","\\partial":"\\partial","\\nabla":"\\nabla","\\infty":"\\infty","\\lim":"\\lim","\\limsup":"\\operatorname*{نها}","\\arabiLim":"\\operatorname*{نها}"},Kt={x:"س",y:"ص",z:"ع",a:"أ",b:"ب",c:"جـ",d:"د",e:"هـ",f:"ف",g:"ق",h:"ح",i:"ت",j:"ج",k:"ك",l:"ل",m:"م",n:"ن",o:"ع",p:"ب",q:"ق",r:"ر",s:"ز",t:"ت",A:"أ",B:"ب",C:"جـ",D:"د",E:"هـ",F:"ف",G:"ق",H:"ح",I:"ت",J:"ج",K:"ك",L:"ل",M:"م",N:"ن",O:"ع",P:"ح",Q:"ق",R:"ر",S:"ز",T:"ت",U:"ث",V:"ڤ",W:"و",X:"س",Y:"ص",Z:"ز"};function di(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function Jt(r,e={}){const t={...mi,...e},a=Yt(r),n=/\\[a-zA-Z]+/g;let s="",o=0,h;for(;(h=n.exec(r))!==null;){const m=h[0],d=h.index+m.length,v=r[d],y=!!v&&/[A-Za-z]/.test(v)?void 0:t[m];if(y!==void 0&&!Zt(h.index,a)){s+=r.slice(o,h.index)+y,o=d;continue}s+=r.slice(o,d),o=d}return s+=r.slice(o),s}function Ge(r){let e=r;return e=e.replace(/\bd([xyztruvs])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e=e.replace(/d\\(theta|phi|rho|alpha|beta|gamma|delta)\b/g,(t,a)=>`\\text{د}\\${a}`),e=e.replace(/\bd([AVS])\b/g,(t,a)=>{var s;return`\\text{د}\\text{${(s=Kt[a])!=null?s:a}}`}),e}function Qt(r,e={}){const t={...Kt,...e},a=Object.keys(t);if(a.length===0)return r;const n=a.sort((h,m)=>m.length-h.length),s=Yt(r),o=new RegExp(`(?<![A-Za-z\\\\])(${n.map(di).join("|")})(?![A-Za-z])`,"g");return r.replace(o,(h,m,d,v)=>{const b=Number(d);return Zt(b,s)?h:`\\text{${t[h]}}`})}function fi(r){return Ge(r)}function pi(r,e={}){const{functions:t=!0,variables:a=!0,differentials:n=!0,customFunctionMap:s={},customVariableMap:o={}}=e;let h=r;return n&&(h=Ge(h)),t&&(h=Jt(h,s)),a&&(h=Qt(h,o)),h}const vi={...{"<":">",">":"<","\\lt":"\\gt","\\gt":"\\lt","\\leq":"\\geq","\\geq":"\\leq","\\le":"\\ge","\\ge":"\\le","\\leqslant":"\\geqslant","\\geqslant":"\\leqslant","\\lesssim":"\\gtrsim","\\gtrsim":"\\lesssim","\\ll":"\\gg","\\gg":"\\ll","\\nless":"\\ngtr","\\ngtr":"\\nless","\\nleq":"\\ngeq","\\ngeq":"\\nleq"},...{"\\to":"\\gets","\\gets":"\\to","\\rightarrow":"\\leftarrow","\\leftarrow":"\\rightarrow","\\longrightarrow":"\\longleftarrow","\\longleftarrow":"\\longrightarrow","\\Rightarrow":"\\Leftarrow","\\Leftarrow":"\\Rightarrow","\\Longrightarrow":"\\Longleftarrow","\\Longleftarrow":"\\Longrightarrow","\\hookrightarrow":"\\hookleftarrow","\\hookleftarrow":"\\hookrightarrow","\\mapsto":"\\mapsfrom","\\mapsfrom":"\\mapsto","\\rightleftharpoons":"\\leftrightharpoons","\\leftrightharpoons":"\\rightleftharpoons"},...{"\\langle":"\\rangle","\\rangle":"\\langle","\\lceil":"\\rceil","\\rceil":"\\lceil","\\lfloor":"\\rfloor","\\rfloor":"\\lfloor","\\lbrace":"\\rbrace","\\rbrace":"\\lbrace","\\lbrack":"\\rbrack","\\rbrack":"\\lbrack"},...{"\\sum":"\\sum","\\prod":"\\prod","\\int":"\\int","\\iint":"\\iint","\\iiint":"\\iiint","\\oint":"\\oint"}};function gi(r){return r.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}function bi(r){const e=gi(r);return r.length===1?new RegExp(`(?<![A-Za-z\\\\])${e}(?![A-Za-z])`,"g"):new RegExp(e+"(?![A-Za-z])","g")}function Ha(r,e=!0){if(!e)return r;const t=Object.entries(vi).sort((o,h)=>h[0].length-o[0].length),a=new RegExp(t.map(([o])=>`(?:${bi(o).source})`).join("|"),"g"),n=new Map(t.map(([o,h])=>[o,h])),s=Yt(r);return r.replace(a,(...o)=>{var d;const h=o[0],m=o[1];return Zt(m,s)?h:(d=n.get(h))!=null?d:h})}const La=2e4,yi=256;class xi{constructor(e){ar(this,"capacity");ar(this,"map",new Map);this.capacity=e}get(e){const t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.capacity){const a=this.map.keys().next().value;a!==void 0&&this.map.delete(a)}this.map.set(e,t)}clear(){this.map.clear()}get size(){return this.map.size}}const _t=new xi(yi);function wi(){_t.clear()}function ki(r,e){return[r,e.numerals,e.formatNumbers,e.translateFuncs,e.translateVars,e.translateDiffs,JSON.stringify(e.customFunctionMap),JSON.stringify(e.customVariableMap),e.mirrorSymbols,e.mirrorBigOperators,e.mirrorSqrt,e.mirrorBrackets,e.direction,e.fontFamily,e.displayMode,e.fullArabicMode,e.operatorScale,JSON.stringify(e.macros),e.output,String(e.strict),e.trust,e.minRuleThickness].join("|")}const Pa={numerals:"arabic",formatNumbers:!0,translateFuncs:!0,translateVars:!0,translateDiffs:!0,customFunctionMap:{},customVariableMap:{},mirrorSymbols:!0,mirrorBigOperators:!0,mirrorSqrt:!0,mirrorBrackets:!0,direction:"rtl",fontFamily:"Amiri",displayMode:!1,fullArabicMode:!0,operatorScale:1.05,macros:{},throwOnError:!1,output:"html",strict:!1,trust:!1,minRuleThickness:.04};function K0(r={}){return{...Pa,...r}}function er(r,e={}){const t=K0(e);let a=r.length>La?r.slice(0,La):r;return a.trim()&&(t.translateFuncs&&(a=a.replace(/\\lim(?![A-Za-z])/g,"\\arabiLim")),t.translateDiffs&&(a=Ge(a)),t.translateFuncs&&(a=Jt(a,t.customFunctionMap)),t.translateVars&&(a=Qt(a,t.customVariableMap)),t.mirrorSymbols&&(a=Ha(a,!0)),t.numerals!=="latin"&&(a=Si(a,t.numerals,t.formatNumbers))),a}function Si(r,e,t){let a="",n=0;for(;n<r.length;){const s=r[n];if(s&&/[0-9]/.test(s)){const o=n>0?r[n-1]:"";if(o&&/[A-Za-z]/.test(o))a+=s;else{let h=n;for(;h<r.length;){const d=r[h];if(d&&/[0-9.,]/.test(d))h++;else break}const m=r.slice(n,h);a+=t?Wt(m):Xt(m,e),n=h;continue}}else a+=s!=null?s:"";n++}return a}function Ga(r={}){return{"\\جا":"\\operatorname{جا}","\\جتا":"\\operatorname{جتا}","\\ظا":"\\operatorname{ظا}","\\ظتا":"\\operatorname{ظتا}","\\قا":"\\operatorname{قا}","\\قتا":"\\operatorname{قتا}","\\لو":"\\operatorname{لو}","\\لغ":"\\operatorname{لغ}","\\نها":"\\operatorname*{نها}","\\نهى":"\\operatorname*{نها}","\\اقصى":"\\operatorname*{أقصى}","\\ادنى":"\\operatorname*{أدنى}","\\ت":"\\text{ت}","\\هـ":"\\text{هـ}",...r}}function Ua(r){const e=K0(r),t=["katex-arabic"];return e.mirrorBigOperators&&t.push("mirror-big-ops"),e.mirrorSqrt&&t.push("mirror-sqrt"),e.mirrorBrackets&&t.push("mirror-brackets"),e.mirrorSymbols&&t.push("mirror-symbols"),e.fullArabicMode&&t.push("full-rtl-mode"),e.displayMode?t.push("is-display"):t.push("is-inline"),t}function Ai(r,e){const t=K0(e);return`<span class="${Ua(t).join(" ")}" dir="${t.direction}" style="font-family:'${t.fontFamily}','KaTeX_Main',serif;direction:${t.direction};--ka-op-scale:${t.operatorScale};">${r}</span>`}function zi(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Va(r,e={}){return Ue(r,e).html}function Ue(r,e={}){var o;const t=K0(e),a=ki(r,t),n=_t.get(a);if(n!==void 0)return{html:n,error:null};const s=er(r,t);try{const h=Ia.renderToString(s,{displayMode:t.displayMode,throwOnError:!0,output:t.output,strict:t.strict,trust:t.trust,minRuleThickness:t.minRuleThickness,macros:{...Ga(t.macros),...(o=t.macros)!=null?o:{}}}),m=Ai(h,t);return _t.set(a,m),{html:m,error:null}}catch(h){const m=h instanceof Error?h.message:String(h);if(t.throwOnError)throw h instanceof Error?h:new Error(m);return console.error("[katex-arabic] render failed:",m,`
|
|
258
|
-
LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.
|
|
258
|
+
LaTeX:`,r),{html:`<span class="katex-arabic katex-arabic--error" dir="rtl" role="alert" style="color:#dc2626;font-family:monospace;"><span class="katex-arabic__error-icon" aria-hidden="true">⚠</span> <span class="katex-arabic__error-text">${zi(r)}</span></span>`,error:m}}}function Mi(r,e,t={}){const a=Va(r,t);e.innerHTML=a,Di(e,t)}function Ti(r,e={}){return r.map(t=>typeof t=="string"?Ue(t,e):Ue(t.latex,{...e,...t.options}))}function Ci(r,e={}){return er(r,e)}function Bi(r,e={}){const t=K0(e),a=er(r,t);try{return Ia.renderToString(a,{displayMode:t.displayMode,throwOnError:!0,strict:t.strict,trust:t.trust}),null}catch(n){return n instanceof Error?n.message:String(n)}}function Di(r,e){const t=K0(e),a=r.querySelector(".katex");a&&(a.setAttribute("dir",t.direction),a.style.fontFamily=`'${t.fontFamily}', 'KaTeX_Main', serif`,a.style.direction=t.direction)}return{render:Mi,renderToString:Va,renderWithMeta:Ue,renderBatch:Ti,process:Ci,validate:Bi,toArabicNumerals:Xt,fromArabicNumerals:oi,formatArabicNumber:Wt,convertNumbersInText:ui,isArabicDigit:hi,translateFunctions:Jt,translateVariables:Qt,translateDifferentials:Ge,translateSpecialPatterns:fi,translateAll:pi,applyMirroredSymbols:Ha,resolveOptions:K0,buildCssClasses:Ua,getArabicMacros:Ga,clearCache:wi,DEFAULT_OPTIONS:Pa,VERSION:"1.1.2"}}));
|
|
@@ -11842,7 +11842,7 @@ function $i(r, e) {
|
|
|
11842
11842
|
const t = Z0(e), a = r.querySelector(".katex");
|
|
11843
11843
|
a && (a.setAttribute("dir", t.direction), a.style.fontFamily = `'${t.fontFamily}', 'KaTeX_Main', serif`, a.style.direction = t.direction);
|
|
11844
11844
|
}
|
|
11845
|
-
const ji = "1.1.
|
|
11845
|
+
const ji = "1.1.2", Wi = {
|
|
11846
11846
|
// ─── Rendering ───────────────────────────────────────────
|
|
11847
11847
|
render: Pi,
|
|
11848
11848
|
renderToString: Ka,
|
package/dist/lib/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const render = require("./render.cjs");
|
|
4
|
-
const VERSION = "1.1.
|
|
4
|
+
const VERSION = "1.1.2";
|
|
5
5
|
const KaTeXArabic = {
|
|
6
6
|
// ─── Rendering ───────────────────────────────────────────
|
|
7
7
|
render: render.renderArabic,
|
package/dist/lib/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.2';\n\n// ═══════════════════════════════════════════════════════════════\n// Default export — the \"KaTeXArabic\" namespace\n//\n// This object is what a CDN <script> tag exposes as `window.KaTeXArabic`,\n// and what `import KaTeXArabic from 'katex-arabic'` returns. It mirrors\n// `katex`'s own API shape (render / renderToString / …) plus every\n// Arabic helper, so it works as a full drop-in namespace.\n// ═══════════════════════════════════════════════════════════════\n\nconst KaTeXArabic = {\n // ─── Rendering ───────────────────────────────────────────\n render: renderArabic,\n renderToString: renderArabicToString,\n renderWithMeta: renderArabicWithMeta,\n renderBatch: renderArabicBatch,\n\n // ─── Text processing ─────────────────────────────────────\n process: processLatex,\n validate: validateLatex,\n\n // ─── Numerals ────────────────────────────────────────────\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n\n // ─── Translation ─────────────────────────────────────────\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n\n // ─── Mirroring ───────────────────────────────────────────\n applyMirroredSymbols,\n\n // ─── Options / cache ─────────────────────────────────────\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearCache: clearRenderCache,\n DEFAULT_OPTIONS,\n VERSION,\n};\n\nexport default KaTeXArabic;"],"names":["renderArabic","renderArabicToString","renderArabicWithMeta","renderArabicBatch","processLatex","validateLatex","toArabicNumerals","fromArabicNumerals","formatArabicNumber","convertNumbersInText","isArabicDigit","translateFunctions","translateVariables","translateDifferentials","translateSpecialPatterns","translateAll","applyMirroredSymbols","resolveOptions","buildCssClasses","getArabicMacros","clearRenderCache","DEFAULT_OPTIONS"],"mappings":";;;AAuGO,MAAM,UAAU;AAWvB,MAAM,cAAc;AAAA;AAAA,EAElB,QAAQA,OAAAA;AAAAA,EACR,gBAAgBC,OAAAA;AAAAA,EAChB,gBAAgBC,OAAAA;AAAAA,EAChB,aAAaC,OAAAA;AAAAA;AAAAA,EAGb,SAASC,OAAAA;AAAAA,EACT,UAAUC,OAAAA;AAAAA;AAAAA,EAAA,kBAGVC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,sBACAC,OAAAA;AAAAA,EAAA,eACAC,OAAAA;AAAAA;AAAAA,EAAA,oBAGAC,OAAAA;AAAAA,EAAA,oBACAC,OAAAA;AAAAA,EAAA,wBACAC,OAAAA;AAAAA,EAAA,0BACAC,OAAAA;AAAAA,EAAA,cACAC,OAAAA;AAAAA;AAAAA,EAAA,sBAGAC,OAAAA;AAAAA;AAAAA,EAAA,gBAGAC,OAAAA;AAAAA,EAAA,iBACAC,OAAAA;AAAAA,EAAA,iBACAC,OAAAA;AAAAA,EACA,YAAYC,OAAAA;AAAAA,EAAA,iBACZC,OAAAA;AAAAA,EACA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/lib/index.d.cts
CHANGED
|
@@ -23,7 +23,7 @@ export { renderArabicToString, renderArabicWithMeta, renderArabic, renderArabicB
|
|
|
23
23
|
export { toArabicNumerals, fromArabicNumerals, formatArabicNumber, convertNumbersInText, isArabicDigit, } from './arabicNumerals';
|
|
24
24
|
export { translateFunctions, translateVariables, translateDifferentials, translateSpecialPatterns, translateAll, FUNCTION_MAP, VARIABLE_MAP, GREEK_MAP, DIFFERENTIAL_PATTERNS, } from './arabicFunctions';
|
|
25
25
|
export { applyMirroredSymbols, MIRRORED_SYMBOLS, COMPARISON_SYMBOLS, ARROW_SYMBOLS, BRACKET_SYMBOLS, ARABIC_MATH_UNICODE, SPECIAL_ARABIC_SYMBOLS, } from './arabicSymbols';
|
|
26
|
-
export declare const VERSION = "1.1.
|
|
26
|
+
export declare const VERSION = "1.1.2";
|
|
27
27
|
declare const KaTeXArabic: {
|
|
28
28
|
render: typeof renderArabic;
|
|
29
29
|
renderToString: typeof renderArabicToString;
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export { renderArabicToString, renderArabicWithMeta, renderArabic, renderArabicB
|
|
|
23
23
|
export { toArabicNumerals, fromArabicNumerals, formatArabicNumber, convertNumbersInText, isArabicDigit, } from './arabicNumerals';
|
|
24
24
|
export { translateFunctions, translateVariables, translateDifferentials, translateSpecialPatterns, translateAll, FUNCTION_MAP, VARIABLE_MAP, GREEK_MAP, DIFFERENTIAL_PATTERNS, } from './arabicFunctions';
|
|
25
25
|
export { applyMirroredSymbols, MIRRORED_SYMBOLS, COMPARISON_SYMBOLS, ARROW_SYMBOLS, BRACKET_SYMBOLS, ARABIC_MATH_UNICODE, SPECIAL_ARABIC_SYMBOLS, } from './arabicSymbols';
|
|
26
|
-
export declare const VERSION = "1.1.
|
|
26
|
+
export declare const VERSION = "1.1.2";
|
|
27
27
|
declare const KaTeXArabic: {
|
|
28
28
|
render: typeof renderArabic;
|
|
29
29
|
renderToString: typeof renderArabicToString;
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { D as DEFAULT_OPTIONS, c as clearRenderCache, g as getArabicMacros, b as buildCssClasses, d as resolveOptions, e as applyMirroredSymbols, t as translateAll, f as translateSpecialPatterns, h as translateDifferentials, i as translateVariables, j as translateFunctions, k as isArabicDigit, l as convertNumbersInText, m as formatArabicNumber, n as fromArabicNumerals, o as toArabicNumerals, v as validateLatex, q as processLatex, a as renderArabicBatch, r as renderArabicWithMeta, s as renderArabicToString, u as renderArabic } from "./render.mjs";
|
|
2
2
|
import { A, w, B, C, x, F, G, M, y, S, V } from "./render.mjs";
|
|
3
|
-
const VERSION = "1.1.
|
|
3
|
+
const VERSION = "1.1.2";
|
|
4
4
|
const KaTeXArabic = {
|
|
5
5
|
// ─── Rendering ───────────────────────────────────────────
|
|
6
6
|
render: renderArabic,
|
package/dist/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/lib/katex-arabic/index.ts"],"sourcesContent":["/**\n * ════════════════════════════════════════════════════════════════\n * index.ts\n * Public entry point for the KaTeX Arabic library.\n *\n * This module is the *only* file the application should import\n * from when consuming the library. All internal modules are\n * re-exported below for advanced use cases.\n *\n * The render functions themselves live in `render.ts` so that\n * `hooks.ts` can import them without a circular dependency\n * through this barrel.\n * ════════════════════════════════════════════════════════════════\n */\n\nimport {\n renderArabic,\n renderArabicToString,\n renderArabicWithMeta,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\nimport {\n DEFAULT_OPTIONS,\n clearRenderCache,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n} from './rtlRenderer';\nimport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\nimport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n} from './arabicFunctions';\nimport { applyMirroredSymbols } from './arabicSymbols';\n\n// ─── Re-exports: configuration ─────────────────────────────\nexport {\n DEFAULT_OPTIONS,\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearRenderCache,\n MAX_INPUT_LENGTH,\n} from './rtlRenderer';\nexport type { ArabicKatexOptions, PartialArabicOptions, RenderResult } from './types';\n\n// ─── Re-exports: render functions ────────────────────────────\nexport {\n renderArabicToString,\n renderArabicWithMeta,\n renderArabic,\n renderArabicBatch,\n processLatex,\n validateLatex,\n} from './render';\n\n// ─── Re-exports: numerals ──────────────────────────────────\nexport {\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n} from './arabicNumerals';\n\n// ─── Re-exports: function translation ──────────────────────\nexport {\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n FUNCTION_MAP,\n VARIABLE_MAP,\n GREEK_MAP,\n DIFFERENTIAL_PATTERNS,\n} from './arabicFunctions';\n\n// ─── Re-exports: symbol mirroring ──────────────────────────\nexport {\n applyMirroredSymbols,\n MIRRORED_SYMBOLS,\n COMPARISON_SYMBOLS,\n ARROW_SYMBOLS,\n BRACKET_SYMBOLS,\n ARABIC_MATH_UNICODE,\n SPECIAL_ARABIC_SYMBOLS,\n} from './arabicSymbols';\n\n// ─── Version constant ──────────────────────────────────────\n// Kept in sync with package.json by scripts/build-cdn.mjs\n// (the CDN build fails if these ever drift apart).\nexport const VERSION = '1.1.2';\n\n// ═══════════════════════════════════════════════════════════════\n// Default export — the \"KaTeXArabic\" namespace\n//\n// This object is what a CDN <script> tag exposes as `window.KaTeXArabic`,\n// and what `import KaTeXArabic from 'katex-arabic'` returns. It mirrors\n// `katex`'s own API shape (render / renderToString / …) plus every\n// Arabic helper, so it works as a full drop-in namespace.\n// ═══════════════════════════════════════════════════════════════\n\nconst KaTeXArabic = {\n // ─── Rendering ───────────────────────────────────────────\n render: renderArabic,\n renderToString: renderArabicToString,\n renderWithMeta: renderArabicWithMeta,\n renderBatch: renderArabicBatch,\n\n // ─── Text processing ─────────────────────────────────────\n process: processLatex,\n validate: validateLatex,\n\n // ─── Numerals ────────────────────────────────────────────\n toArabicNumerals,\n fromArabicNumerals,\n formatArabicNumber,\n convertNumbersInText,\n isArabicDigit,\n\n // ─── Translation ─────────────────────────────────────────\n translateFunctions,\n translateVariables,\n translateDifferentials,\n translateSpecialPatterns,\n translateAll,\n\n // ─── Mirroring ───────────────────────────────────────────\n applyMirroredSymbols,\n\n // ─── Options / cache ─────────────────────────────────────\n resolveOptions,\n buildCssClasses,\n getArabicMacros,\n clearCache: clearRenderCache,\n DEFAULT_OPTIONS,\n VERSION,\n};\n\nexport default KaTeXArabic;"],"names":[],"mappings":";;AAuGO,MAAM,UAAU;AAWvB,MAAM,cAAc;AAAA;AAAA,EAElB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,aAAa;AAAA;AAAA,EAGb,SAAS;AAAA,EACT,UAAU;AAAA;AAAA,EAGV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AACF;"}
|
package/docs/INSTALL.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
17
|
# تثبيت الحزمة مع KaTeX
|
|
18
|
-
npm install
|
|
18
|
+
npm install katex4arabic katex
|
|
19
19
|
|
|
20
20
|
# إذا كنت تستخدم React وتريد الخطاطيف
|
|
21
21
|
npm install react react-dom
|
|
@@ -37,22 +37,44 @@ pnpm add katex-arabic katex
|
|
|
37
37
|
| المدخل | المحتوى |
|
|
38
38
|
| --- | --- |
|
|
39
39
|
| `katex-arabic` | الدوال الأساسية للعرض والمعالجة |
|
|
40
|
-
| `
|
|
41
|
-
| `
|
|
40
|
+
| `katex4arabic/hooks` | خطاطيف React (اختياري) |
|
|
41
|
+
| `katex4arabic/katex-arabic.css` | ملف الأنماط — **يجب استيراده مرة واحدة** |
|
|
42
42
|
|
|
43
43
|
```ts
|
|
44
44
|
// الدوال الأساسية
|
|
45
|
-
import { renderArabicToString, renderArabic, processLatex } from '
|
|
45
|
+
import { renderArabicToString, renderArabic, processLatex } from 'katex4arabic';
|
|
46
46
|
|
|
47
47
|
// خطاطيف React (اختياري)
|
|
48
|
-
import { useArabicKatex, useArabicKatexResult } from '
|
|
48
|
+
import { useArabicKatex, useArabicKatexResult } from 'katex4arabic/hooks';
|
|
49
49
|
|
|
50
50
|
// ملف الأنماط — استورده مرة واحدة في نقطة دخول تطبيقك
|
|
51
|
-
import '
|
|
51
|
+
import 'katex4arabic/katex-arabic.css';
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
---
|
|
55
55
|
|
|
56
|
+
## 2️⃣ أ) التثبيت عبر npm — بملف واحد فقط
|
|
57
|
+
|
|
58
|
+
بعد التنصيب، يمكنك استيراد **كامل المكتبة من ملف JS واحد** (KaTeX مدمج داخله):
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import KaTeXArabic from 'katex4arabic/bundle'; // ملف واحد (يشمل KaTeX)
|
|
62
|
+
import 'katex4arabic/bundle.css'; // ملف CSS واحد
|
|
63
|
+
|
|
64
|
+
const html = KaTeXArabic.renderToString('x^2 + y^2 = z^2');
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
أو عبر CommonJS:
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
const KaTeXArabic = require('katex4arabic/bundle');
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
> ملاحظة: `bundle` يحزم KaTeX + كل تحويلاتنا في ملف واحد مصغّر للراحة التامّة.
|
|
74
|
+
> أما مدخل `katex4arabic` الأساسي فمصمّم للمشاريع الاحترافية (KaTeX كاعتماد نظير، بدون تكرار).
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
56
78
|
## 2️⃣ ب) التثبيت عبر CDN (ملفان فقط — بدون أي إعداد)
|
|
57
79
|
|
|
58
80
|
تُبنى الحزمة أيضاً كملفين جاهزين للتحميل المباشر عبر أي CDN:
|
|
@@ -69,9 +91,9 @@ https://cdn.jsdelivr.net/gh/AhmedAlmaghz/katex4arabic@main/dist/cdn/katex-arabic
|
|
|
69
91
|
https://cdn.jsdelivr.net/gh/AhmedAlmaghz/katex4arabic@main/dist/cdn/katex-arabic.min.css
|
|
70
92
|
```
|
|
71
93
|
|
|
72
|
-
> استبدل `@main` بفرعك الافتراضي (سيكون `master` في بعض المستودعات) أو بنسخة release مثل `@1.1.
|
|
94
|
+
> استبدل `@main` بفرعك الافتراضي (سيكون `master` في بعض المستودعات) أو بنسخة release مثل `@1.1.2`.
|
|
73
95
|
> بعد النشر على npm يعمل أيضاً:
|
|
74
|
-
> `https://cdn.jsdelivr.net/npm/
|
|
96
|
+
> `https://cdn.jsdelivr.net/npm/katex4arabic/dist/cdn/katex-arabic.min.js` + ملف CSS بنفس المسار.
|
|
75
97
|
|
|
76
98
|
**مثال HTML كامل — لا يحتاج شيئاً سواهما:**
|
|
77
99
|
|
|
@@ -107,7 +129,7 @@ KaTeXArabic.render('\\int_0^1 x^2 dx', element);
|
|
|
107
129
|
KaTeXArabic.toArabicNumerals('123'); // '١٢٣'
|
|
108
130
|
KaTeXArabic.translateFunctions('sin'); // 'جا'
|
|
109
131
|
KaTeXArabic.resolveOptions({}); // الخيارات الافتراضية
|
|
110
|
-
KaTeXArabic.VERSION; // '1.1.
|
|
132
|
+
KaTeXArabic.VERSION; // '1.1.2'
|
|
111
133
|
```
|
|
112
134
|
|
|
113
135
|
---
|
|
@@ -117,8 +139,8 @@ KaTeXArabic.VERSION; // '1.1.1'
|
|
|
117
139
|
### أ) JavaScript عادي (Vanilla JS)
|
|
118
140
|
|
|
119
141
|
```ts
|
|
120
|
-
import { renderArabicToString } from '
|
|
121
|
-
import '
|
|
142
|
+
import { renderArabicToString } from 'katex4arabic';
|
|
143
|
+
import 'katex4arabic/katex-arabic.css';
|
|
122
144
|
|
|
123
145
|
const html = renderArabicToString('\\sin^2(x) + \\cos^2(x) = 1', {
|
|
124
146
|
numerals: 'arabic', // أرقام عربية-هندية ٠١٢…٩
|
|
@@ -134,7 +156,7 @@ document.getElementById('equation').innerHTML = html;
|
|
|
134
156
|
### ب) العرض داخل عنصر DOM مباشرة
|
|
135
157
|
|
|
136
158
|
```ts
|
|
137
|
-
import { renderArabic } from '
|
|
159
|
+
import { renderArabic } from 'katex4arabic';
|
|
138
160
|
|
|
139
161
|
const element = document.getElementById('math');
|
|
140
162
|
// التوقيع: renderArabic(latex, element, options)
|
|
@@ -149,8 +171,8 @@ renderArabic('\\int_0^1 x^2 \\, dx', element, {
|
|
|
149
171
|
### ج) مع React (الخطاطيف)
|
|
150
172
|
|
|
151
173
|
```tsx
|
|
152
|
-
import { useArabicKatex } from '
|
|
153
|
-
import '
|
|
174
|
+
import { useArabicKatex } from 'katex4arabic/hooks';
|
|
175
|
+
import 'katex4arabic/katex-arabic.css';
|
|
154
176
|
|
|
155
177
|
function Equation({ latex }: { latex: string }) {
|
|
156
178
|
const html = useArabicKatex(latex, { numerals: 'arabic' });
|
|
@@ -161,7 +183,7 @@ function Equation({ latex }: { latex: string }) {
|
|
|
161
183
|
وللحصول على نتيجة مفصّلة مع رسالة الخطأ (مفيد للمحررات):
|
|
162
184
|
|
|
163
185
|
```tsx
|
|
164
|
-
import { useArabicKatexResult } from '
|
|
186
|
+
import { useArabicKatexResult } from 'katex4arabic/hooks';
|
|
165
187
|
|
|
166
188
|
function Editor({ latex }: { latex: string }) {
|
|
167
189
|
const { html, ok, error, processedLatex } = useArabicKatexResult(latex);
|
|
@@ -174,7 +196,7 @@ function Editor({ latex }: { latex: string }) {
|
|
|
174
196
|
ولعرض قائمة معادلات دفعة واحدة (الأكثر كفاءة):
|
|
175
197
|
|
|
176
198
|
```tsx
|
|
177
|
-
import { useArabicKatexBatch } from '
|
|
199
|
+
import { useArabicKatexBatch } from 'katex4arabic/hooks';
|
|
178
200
|
|
|
179
201
|
function Gallery({ items }: { items: string[] }) {
|
|
180
202
|
const results = useArabicKatexBatch(items, { fullArabicMode: true });
|
|
@@ -263,14 +285,14 @@ import {
|
|
|
263
285
|
processLatex, // المعالجة دون عرض
|
|
264
286
|
clearRenderCache, // مسح ذاكرة التخزين المؤقت
|
|
265
287
|
VERSION, // رقم إصدار المكتبة
|
|
266
|
-
} from '
|
|
288
|
+
} from 'katex4arabic';
|
|
267
289
|
```
|
|
268
290
|
|
|
269
291
|
---
|
|
270
292
|
|
|
271
293
|
## 6️⃣ ملاحظات مهمة
|
|
272
294
|
|
|
273
|
-
1. **ملف CSS إلزامي**: بدون استيراد `
|
|
295
|
+
1. **ملف CSS إلزامي**: بدون استيراد `katex4arabic/katex-arabic.css` ستظهر المعادلات بدون تنسيق صحيح (محاذاة، خطوط، عكس الرموز).
|
|
274
296
|
2. **الخطوط العربية**: يفضّل تحميل خط عربي في صفحتك (مثل Amiri أو Noto Naskh Arabic) للحصول على أفضل تشكيل للحروف.
|
|
275
297
|
3. **الأداء**: الدوال تستخدم ذاكرة تخزين مؤقت (LRU cache) داخليا، فلا تقلق من استدعاء نفس المعادلة مرارا.
|
|
276
298
|
4. **الخطأ الآمن**: عند وجود خطأ في LaTeX، تعرض رسالة خطأ منسّقة بدلا من توقف التطبيق (ما لم تفعّل `throwOnError: true`).
|
|
@@ -289,7 +311,7 @@ import {
|
|
|
289
311
|
<body>
|
|
290
312
|
<div id="math"></div>
|
|
291
313
|
<script type="module">
|
|
292
|
-
import { renderArabic } from '
|
|
314
|
+
import { renderArabic } from 'katex4arabic';
|
|
293
315
|
renderArabic(document.getElementById('math'),
|
|
294
316
|
'\\lim_{x \\to \\infty} \\frac{\\sin(x)}{x} = 0',
|
|
295
317
|
{ fullArabicMode: true, displayMode: true });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "katex4arabic",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Render LaTeX math with Arabic transforms: Arabic-Indic numerals, translated function/variable names, RTL mirroring, and full KaTeX compatibility.",
|
|
5
5
|
"author": "Ahmed Almaghz",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/ahmedalmaghz/KaTeX4Arabic.git"
|
|
11
11
|
},
|
|
12
|
-
"homepage": "https://
|
|
12
|
+
"homepage": "https://KaTeX4Arabic.vercel.app",
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/ahmedalmaghz/KaTeX4Arabic/issues"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
17
|
"katex",
|
|
18
18
|
"arabic",
|
|
19
|
+
"arabic-math",
|
|
19
20
|
"math",
|
|
20
21
|
"latex",
|
|
21
22
|
"rtl",
|