참고로, 여기 이 개발 버전에서 AI를 활용한 수식 교정이 실제로 작동하는 예시를 보여드립니다:

사용자는 마크다운 에디터에서 특정 수식을 선택(하이라이트)하고 교정을 요청할 수 있습니다. 새 수식 에디터에서도 이 기능을 옵션으로 제공할 수 있으면 좋겠습니다.
참고로, 여기 이 개발 버전에서 AI를 활용한 수식 교정이 실제로 작동하는 예시를 보여드립니다:

사용자는 마크다운 에디터에서 특정 수식을 선택(하이라이트)하고 교정을 요청할 수 있습니다. 새 수식 에디터에서도 이 기능을 옵션으로 제공할 수 있으면 좋겠습니다.
@sam 새로운 플러그인에서 KaTeX가 제대로 작동하지 않는 것으로 밝혀졌습니다. 확인해 보면, 분명히 폰트 누락 문제이며, 실제로 콘솔에는 여러 폰트(Woff-v2) 파일을 찾을 수 없다는 메시지가 표시됩니다.
폰트는 실제로 스타일 시트와 동일한 레벨에 있는 'fonts’라는 이름의 폴더 안에 존재해야 하는 올바른 위치에 있습니다. 예를 들어, 제 개발 버전에는 이 두 파일이 모두 존재합니다:
http://localhost:4200/plugins/discourse-math/katex/katex.min.css
그리고
http://localhost:4200/plugins/discourse-math/katex/fonts/KaTeX_Size2-Regular.woff2
콘솔의 Network 탭을 살펴보면, 브라우저가 다음과 같은 경로를 다운로드하려고 시도하는 것으로 보입니다:
http://localhost:4200/t/my-topic/fonts/KaTeX_Size2-Regular.woff2
즉, 브라우저는 주제 URL과 동일한 레벨에 있는 ‘fonts’ 폴더를 찾고 있는데, 이는 명백히 잘못된 것입니다.
이 모든 것은 katex-bundle에 정의된 loadKaTeX 함수와 관련이 있을 것 같습니다. 이 함수가 KaTeX를 비표준 방식으로 로드하여 KaTeX가 CSS 파일의 위치를 제대로 파악하지 못하게 만드는 것 같습니다. 하지만 어떻게 수정해야 할지는 잘 모르겠습니다.
마크, 정말 감사합니다. 커밋을 병합해 두었고, KaTeX 관련 사항은 오늘 확인해 보겠습니다.
이것은 교정자 페르소나를 위한 커스텀 프롬프트를 통해 이루어지는 것인가요?
걱정하지 마세요. 마크와 제가 이 문제를 잘 처리하고 있습니다.
두 가지 모두 훌륭합니다!
정말 맞습니다. 제가 원하고자 하는 동작과 "Proofread(교정)"라는 표현이 꽤 비슷해서 운이 좋았다고 할 수 있죠.
Katex 관련 수정 사항을 방금 push했습니다. 동작 여부를 확인해 주세요. @david에게 확인을 요청해서 안전성을 검증해야 하는데, 스타일시트를 임베딩하고 있기 때문에 CSS 파일을 로드하는 우리의 방식이 CSS 파일 내부의 상대 링크와 호환되지 않습니다.
참고로, 메인 수학 토픽에서 내용이 좀 묻히고 소란스러워져서 이 내용을 새 전용 토픽으로 옮겼습니다. 이번 업그레이드가 정말 기대되고, 거의 다 된 것 같습니다.
저에게 KaTeX는 최신 커밋에서 정상적으로 작동하는 것 같습니다!
일부 테스트가 통과하지 못한 것으로 보이지만, 기능이 모두 갖춰져 있다는 데에는 동의합니다.
저도 정말 설레요! ![]()
이 새 버전을 직접 써 보고 싶은 마음이 간지럽거나, (나처럼) 며칠 안에 이걸 사용할 수업이 있어서 기다릴 수 없는 분이라면, 여기에서 독립 설치 버전을 설치할 수 있습니다:
https://github.com/mcmcclur/discourse-math
이것은 이 커밋를 기반으로 작성한 것으로, 내 생각에는 MathJax를 내부에서 불러오지 않고 CDN에서 로드하도록 수정했습니다.
제 디스코urs 사이트의 이 게시물에서 실제 작동하는 모습을 확인할 수 있습니다.
이 업그레이드가 단순히 MathJax 업그레이드보다 훨씬 더 큰 의미를 가진다고 강조할 가치가 있다고 생각합니다. 또한 다음과 같은 개선 사항이 포함됩니다.
이 풀 리퀘스트가 병합된 것을 확인했습니다. 또한 두 분 모두 이 작업을 마무리하기까지 상당한 노력을 기울이셨다는 것도 눈치챘습니다. 정말 감사합니다!
현재 제 Discourse 사이트에서 이미 충분히 잘 작동하고 있기 때문에, 당장은 이 버전을 설치할 계획이 없습니다. 다만 몇 가지 질문이 있습니다.
loadMathjax와 loadKatex 함수를 정의하려는 계획은 폐기된 것으로 보입니다. 최신 버전은 loadScript로 되돌아간 것으로 보이지만, 스크립트가 어디서 로드되는지는 명확하지 않습니다. 맞나요? 그렇다면 그 이유는 무엇인가요?다시 한번 감사합니다!
현재 latest-release +17 버전을 수식 처리가 많은 프로덕션 인스턴스에서 사용 중입니다.
Meta에서 [grid]가 이제 제대로 작동하는 것을 보니 정말 좋습니다. 수식이 많은 게시물에 있어 큰 편의성 향상입니다. 필요에 따라 [center]는 타협할 수 있습니다.
참고로, 이전에 [grid] / [details] 내부의 수식 관련 엣지 케이스를 겪은 적이 있으며, 이를 이곳에 문서화해 두었습니다(아직 유용할 수 있다면):
MathJax 4 업그레이드에 힘쓰고 계신 모든 분께 다시 한번 감사드립니다. 이러한 세밀한 마무리가 적용되는 것을 보니 정말 좋습니다.
MathJax의 “Erroneous nesting of equation structures” 오류가 $$...$$ 내부에서 \begin{align}...\end{align}을 사용할 때 발생하고 있습니다. 이는 v4 업그레이드 작업 중에 MathJax가 "수식 환경을 중첩하지 말 것"이라는 규칙을 더 엄격하게 적용하고 있기 때문으로 보입니다.
실제로 Discourse에서 신뢰할 수 있는 패턴은 $$ 래퍼 안에 aligned를 사용하는 것입니다:
$$
{\large
\begin{aligned}
a &= b \\
&= c
\end{aligned}
}
$$
이 방식은 디스플레이 수식 구조(align)를 다른 디스플레이 래퍼($$...$$) 안에 중첩하는 것을 방지하므로, 오류의 원인이 되는 문제를 피할 수 있습니다.
@Ethsim2 님의 분석에 동의합니다.
이 동작은 MathJaxV4와 순수 LaTeX 모두와 일치하므로, 여기에는 "버그"가 없다고 생각됩니다. 다만, align 대신 aligned를 사용하는 것이 더 나은 방법이라는 점은 분명히 짚어둘 가치가 있습니다!