在某些地方添加javascript脚本标记,以便它适用于sphinx文档中的每个文件

Cur*_*arn 13 javascript python python-sphinx

我正在使用Sphinx写一些笔记.我在笔记中使用Mathjax扩展数学.数学的默认大小比我想要的大一点.在Mathjax页面上,我发现可以通过将以下脚本添加到HTML文件来更改该大小.

MathJax.Hub.Config({
  "HTML-CSS": {scale: 90}
});
Run Code Online (Sandbox Code Playgroud)

所以,我尝试在.rst文件中添加以下内容:

.. raw:: html

    <script type="text/javascript" >
        MathJax.Hub.Config({
            "HTML-CSS": {
                scale: 90
            }
        });
    </script>

==========
Objective
==========

To change math size \\( \\alpha \\).
Run Code Online (Sandbox Code Playgroud)

以上工作非常适合该特定.rst文件中的数学运算.但我想为许多不同的.rst文件执行此操作,这些文件都是同一个sphinx文档的一部分.是否可以在不将上述脚本添加到每个.rst文件的情况下执行此操作?

感谢您阅读本文,如果您能提供帮助,我们将不胜感激.

mzj*_*zjn 18

这可以使用模板完成:

  1. 创建templates在Sphinx项目目录中调用的文件夹.

  2. 在conf.py中,添加

    templates_path = ["templates"]
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在templates目录中,创建一个layout.html使用以下内容调用的文件:

    {% extends "!layout.html" %}
    
    {%- block extrahead %} 
     <script type="text/javascript">
           MathJax.Hub.Config({
               "HTML-CSS": {
                   scale: 90
               }
           });
      </script>      
    {% endblock %}
    
    Run Code Online (Sandbox Code Playgroud)

该<script>元素将包含在<head>每个生成的HTML页面中.

extrahead默认情况下,模板块为空.有关详细信息,请参阅Sphinx模板文档.