{{-- 
    KaTeX 数学公式渲染脚本
    被卷子、判卷和知识点讲解模板共享
    
    注意：此片段仅包含客户端脚本。
    服务端预渲染逻辑在 ExamPdfExportService::inlineExternalResources() 中处理。
--}}
<!-- KaTeX JavaScript 库 -->
<script src="/js/katex.min.js"></script>
<script src="/js/auto-render.min.js"></script>

<script>
    document.addEventListener('DOMContentLoaded', function() {
        console.log('[KaTeX] 初始化数学公式渲染器');

        // 配置 KaTeX 自动渲染
        function renderMath() {
            try {
                renderMathInElement(document.body, {
                    delimiters: [
                        {left: '$$', right: '$$', display: true},
                        {left: '$', right: '$', display: false},
                        {left: '\\(', right: '\\)', display: false},
                        {left: '\\[', right: '\\]', display: true}
                    ],
                    throwOnError: false,
                    strict: false,
                    trust: true,
                    macros: {
                        "\\f": "#1f(#2)"
                    }
                });
                console.log('[KaTeX] 数学公式渲染完成');
            } catch (e) {
                console.warn('[KaTeX] 公式渲染警告:', e);
            }
        }

        // 页面加载后渲染
        renderMath();

        // 如果页面是动态加载的，等待一段时间后再次渲染
        setTimeout(renderMath, 500);
        setTimeout(renderMath, 1000);

        // 添加到全局，必要时手动调用
        window.renderPdfMath = renderMath;
    });
</script>
