2012-02-25 11 views
13

私はSphinxを使っていくつかのメモを書いています。私はノートのMathのためのMathjax拡張を使用しています。数学のデフォルトサイズは、私が望むよりも少し大きいです。 Mathjaxのページで、次のスクリプトをHTMLファイルに追加することでサイズを変更できることが分かりました。javascriptスクリプトタグを追加して、スフィンクスの文書のすべてのファイルで動作するようにします。

MathJax.Hub.Config({ 
    "HTML-CSS": {scale: 90} 
}); 

だから、私は.rstファイルに次のように追加してみました:その特定の.rstファイルで数学のための素晴らしい

.. raw:: html 

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

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

To change math size \\(\\alpha \\). 

上記作品。しかし、私は同じスフィンクス文書のすべてである多くの異なる.rstファイルに対してこれを実行したいと思います。上記のスクリプトをすべて.rstファイルに追加することなくこれを行うことは可能ですか?

これをお読みいただきありがとうございました。お手伝いいただければ幸いです。

答えて

15

これは、テンプレートを使用して行うことができます。

  1. はSphinxのプロジェクトディレクトリにtemplatesというフォルダを作成します。

    conf.pyで
  2. templatesディレクトリで

    templates_path = ["templates"] 
    
  3. を追加し、ファイルを作成するには、次の内容でlayout.htmlと呼ば:

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

<script>要素が含まれますすべての生成されたHTMLページの<head>にあります。

extraheadテンプレートブロックは、デフォルトでは空です。詳細については、Sphinx templating documentationを参照してください。

+0

ありがとうございます。これは素晴らしい仕事でした!特に詳細な手順をおねがいします。 '{% - ブロックの余分な}'の行に '-'があるのはなぜですか?ダッシュがなければ、動作しません。このリンクで見たコード例にはこの '-'がありません。 – Curious2learn

+0

sphinx/themes/basic/layout.htmlのデフォルトの 'extrahead'ブロックには、ハイフン/ダッシュ/マイナスの余白があります(これは[空白コントロール]に関するものです。http://jinja.pocoo.org/docs/templates/#whitespace -コントロール))。しかし、私は本当にそれがあなたのために働かない理由を説明することはできません... – mzjn

+0

ありがとう。私はそれを調べます。とにかく、それはダッシュで素晴らしい作品です。応答してくれてありがとう。 – Curious2learn

3

別の方法:

はあなたの上書きlayout.htmlファイルでscript_files設定を使用します。

3

とテンプレートを伴わない第3のアプローチ、:

コールadd_javascriptは、あなたのスフィンクス、プロジェクトのconf.pysetup機能に:

# conf.py 

# ... other settings ... 

def setup(app): 
    # (create a setup() function if you don't already have one; 
    # or add to the existing setup() ...) 
    app.add_javascript("mathjax-config.js") 

ファイル "mathjax-config.jsの" で作成_staticソースディレクトリ。静的ディレクトリを確認するにはconf.py html_static_pathの設定を確認し、必要に応じて静的ディレクトリを定義してください。)Sphinxはビルド中に出力ディレクトリにコピーします。

cssファイルにはadd_stylesheetメソッドもあります。また、両方とも静的ソースディレクトリへの相対パスか、外部リソースへの完全なURLを取ることができます。

+0

の代わりにスクリプトの種類として拡張機能を設定する必要があります。 – NirIzr

+1

拡張は必要ありません:プロジェクトのconf.pyに 'setup()'関数を置くことができます。 (あなたのプロジェクトは事実上、独自の拡張であることが許されています。) – medmunds