fix(textbooks): убраны лишние слэши в LaTeX-формулах (over-escaping)
Формулы в JS-литералах имели \\\\dfrac / \\\\\\\\dfrac (4/8 слэшей) вместо
\\dfrac (2). После JS-анескейпа KaTeX получал \\dfrac, трактовал \\ как
перенос строки и печатал dfrac/cdot/sqrt/pi как текст (карточка пирамиды и
конуса в geometry_11_ch2, и др.).
Схлопнуты прогоны слэшей кратные 4 перед LaTeX-командой -> 2. Прогоны из
3 слэшей (\\ перенос строки + \cmd в \begin{cases}) и перед x/цифрой не
тронуты. 150 правок в 7 файлах (algebra_11_ch1/ch2/ch3, geometry_11_ch1..ch4).
БД чиста: questions (1398) text/explanation/correct_text + options (5187) -
0 багов. Скрипт: backend/scripts/fix_overescaped_latex.js (идемпотентный,
dry-run по умолчанию, --apply, с KaTeX-валидацией).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -413,30 +413,30 @@ const SIDEBARS = {
|
||||
["Пирамида", "основание + апекс"],
|
||||
["Правильная","основание — правильный многоугольник; высота в центре основания"],
|
||||
["Апофема $l$","высота боковой грани"],
|
||||
["Объём","$V=\\\\dfrac{1}{3}S_{осн}\\\\cdot h$"],
|
||||
["$S_{бок}$ (правильной)","$\\\\dfrac{1}{2}P_{осн}\\\\cdot l$"],
|
||||
["Боковое ребро","$b=\\\\sqrt{R^2+h^2}$"],
|
||||
["Апофема","$l=\\\\sqrt{r^2+h^2}$"],
|
||||
["Усечённая","$V=\\\\dfrac{h}{3}(S_1+S_2+\\\\sqrt{S_1 S_2})$"]
|
||||
["Объём","$V=\\dfrac{1}{3}S_{осн}\\cdot h$"],
|
||||
["$S_{бок}$ (правильной)","$\\dfrac{1}{2}P_{осн}\\cdot l$"],
|
||||
["Боковое ребро","$b=\\sqrt{R^2+h^2}$"],
|
||||
["Апофема","$l=\\sqrt{r^2+h^2}$"],
|
||||
["Усечённая","$V=\\dfrac{h}{3}(S_1+S_2+\\sqrt{S_1 S_2})$"]
|
||||
]},
|
||||
p4:{title:"Шпаргалка § 4", rows:[
|
||||
["Конус","основание ($R$) + апекс"],
|
||||
["Связь","$l^2=R^2+h^2$"],
|
||||
["$S_{осн}$","$\\\\pi R^2$"],
|
||||
["$S_{бок}$","$\\\\pi R l$"],
|
||||
["$S_{полн}$","$\\\\pi R(R+l)$"],
|
||||
["$V$","$\\\\dfrac{1}{3}\\\\pi R^2 h$"],
|
||||
["Развёртка","сектор $r=l$, дуга $2\\\\pi R$"],
|
||||
["Угол развёртки","$\\\\varphi=\\\\dfrac{360°R}{l}$"],
|
||||
["Усечённый $V$","$\\\\dfrac{\\\\pi h}{3}(R_1^2+R_2^2+R_1R_2)$"],
|
||||
["Усечённый $S_{бок}$","$\\\\pi(R_1+R_2)l$"]
|
||||
["$S_{осн}$","$\\pi R^2$"],
|
||||
["$S_{бок}$","$\\pi R l$"],
|
||||
["$S_{полн}$","$\\pi R(R+l)$"],
|
||||
["$V$","$\\dfrac{1}{3}\\pi R^2 h$"],
|
||||
["Развёртка","сектор $r=l$, дуга $2\\pi R$"],
|
||||
["Угол развёртки","$\\varphi=\\dfrac{360°R}{l}$"],
|
||||
["Усечённый $V$","$\\dfrac{\\pi h}{3}(R_1^2+R_2^2+R_1R_2)$"],
|
||||
["Усечённый $S_{бок}$","$\\pi(R_1+R_2)l$"]
|
||||
]},
|
||||
final2:{title:"Финал раздела 2", rows:[["§ 3–§ 4","теория раздела 2"],["Награда","+50 XP"]]}
|
||||
};
|
||||
|
||||
const TIPS=[
|
||||
{sec:'p3',html:"Главное правило: <b>$V=\\\\\\\\dfrac{1}{3}S_{осн}h$</b> для <i>любой</i> пирамиды. А для правильной — $S_{бок}=\\\\\\\\dfrac{1}{2}P_{осн}l$, где $l$ — апофема."},
|
||||
{sec:'p4',html:"Запомни связку: $l^2=R^2+h^2$. Все формулы конуса — это $\\\\\\\\pi R$ умноженное на соответствующий «множитель»: $R$ (основание), $l$ (боковая), $R+l$ (полная), $\\\\\\\\dfrac{Rh}{3}$ (объём)."},
|
||||
{sec:'p3',html:"Главное правило: <b>$V=\\dfrac{1}{3}S_{осн}h$</b> для <i>любой</i> пирамиды. А для правильной — $S_{бок}=\\dfrac{1}{2}P_{осн}l$, где $l$ — апофема."},
|
||||
{sec:'p4',html:"Запомни связку: $l^2=R^2+h^2$. Все формулы конуса — это $\\pi R$ умноженное на соответствующий «множитель»: $R$ (основание), $l$ (боковая), $R+l$ (полная), $\\dfrac{Rh}{3}$ (объём)."},
|
||||
{sec:'final2',html:"Финал раздела 2 — интегрированные задачи по разделу."}
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user