定义带参数的Sphinx MathJax宏时抛出“MathJax: Invalid option”错误
Sphinx中MathJax带参数宏配置错误的解决办法
你的问题出在conf.py的配置结构错误——带参数的ddx宏没有放在macros字典内部,而是和macros平级了,MathJax把它当成了TeX配置的无效选项,所以才会报"Invalid option 'ddx'"的错误。
正确的conf.py配置应该把ddx放到macros字典里,和RR同级:
mathjax3_config = { 'tex': { 'macros': { 'RR': "{\\bf R}", # 无参数宏正常工作 'ddx': ['\\frac{d#2}{d#1}', 2, 'x'] # 带参数宏移到macros内部 } } }
MathJax 3的宏配置规则是:所有自定义宏(无论有无参数)都必须放在tex.macros这个字典下。你之前把ddx直接写在tex层级下,不符合配置结构要求,导致识别失败。
修改后重新编译Sphinx文档,\ddx{m}{t}就能正常渲染成$\frac{dm}{dt}$;不带参数的\ddx会使用默认参数x,渲染为$\frac{dx}{dx}$。
内容的提问来源于stack exchange,提问作者Aaron Caba
相关产品推荐
相关产品推荐

