Как определить пользовательские макросы в MathJax
Я пытаюсь определить пользовательские макросы, используемые в файлах LaTeX в MathJax.
Может определять простые макросы (один параметр) без каких-либо проблем, таких как;
\newcommand{\braket}[1]{\langle #1 \rangle}
как
Macros: {
braket: ['{\\langle #1 \\rangle}', 1]
}
Но бороться со сложными;
\newcommand{\Abs}[2][]{\left\lvert#2\right\rvert_{\text{#1}}}
пытаясь определить это как;
Macros: {
Abs: ['{\\left\\lvert#2\\rvert_{\\text{#1}}}', 2]
}
но не повезло.
Вот как это используется в файле LaTeX
\begin{align}\nonumber
p_e = \Abs{\braket{e|\psi(t)}}^2 = \sin^2\Omega t\, .
\end{align}
Не уверен, где я ошибся.
Я не эксперт по LaTeX, а просто разработчик, пытающийся отобразить файлы LaTeX в веб-приложении (для сообщества квантовой физики), поэтому я был бы очень признателен за вашу помощь. Благодарю.
PS этот вопрос был задан и закрыт на SE, они перенаправили меня на SO.
1 ответ
Решение
Я обновил кодовую ручку из моего комментария.
Примарлий, ты забыл \\right
; Я также изменил ваше определение макроса, чтобы оно имело необязательный параметр. Другими словами, что-то вроде:
Macros: {
braket: ['{\\langle #1 \\rangle}', 1],
Abs: ['\\left\\lvert #2 \\right\\rvert_{\\text{#1}}', 2, ""]
}},