マクロをサポートした、燃えるようなサーバー側のキャッシュラテックスレンダリングのためのJekyllプラグイン。肥大化したJavaScriptでサイトを乱雑にすることなく、ラテックスとマークダウンの快適さをお楽しみください。このプロジェクトはkatex.orgによって承認されています。
Jektexは、組み込みのKramdown Math Notationと、新しいLatexのみの数学表記の両方をサポートしています。
インライン式
段落の内側に2組のドル記号( $$
)の間に式を置きます。
Lorem ipsum dolor sit amet, consectetur $$ e^{i theta }= cos ( theta )+i sin ( theta ) $$
adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
式を表示します
2組のドルサイン( $$
)の間にフォーミュラを置き、2つの空の線で囲みます。
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
$$ left [ frac {- hbar ^2}{2 mu } nabla ^ 2 + V( mathbf {r},t) right ] Psi ( mathbf {r},t) $$
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat.
Jektexがインライン式には従来のシングル$
使用しないのはなぜですか、ディスプレイモードにはdouble $$
使用しないのですか?
これがKramdown(Jekyll's Markdown Parser)の仕組みであるため、この大会を尊重することにしました。このプラグインをより一貫性があり普遍的にします。詳細については、この問題を参照してください。
インライン式
2つの脱出されたブラケットの間に式を入れます(
)
。テキストにおけるその位置は重要ではありません。
Lorem ipsum dolor sit amet, consectetur ( e^{i theta }= cos ( theta )+i sin ( theta ) )
adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
式を表示します
2つの脱出された正方形の括弧の間に式を置きます[
]
。テキストにおけるその位置は重要ではありません。
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
[ left [ frac {- hbar ^2}{2 mu } nabla ^2 + V( mathbf {r},t) right ] Psi ( mathbf {r},t) ]
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat.
Jektexロゴ用のマクロのビルドがあります。 jektex
として使用できます。
jektex si _config.yml
ファイルを介して高度に構成可能。
キャッシュの無効化_config.yml
でdisable_disk_cache = true
でキャッシュを無効にすることができます。キャッシュはデフォルトで有効になっています。 Jekyllの公式Webサイトで詳細をご覧ください。
キャッシュの場所を設定します
デフォルトでは、jektexキャッシュは.jekyll-cache
ディレクトリに保存されます。これにより、 jekyll clean
に呼び出すと、削除されます。キャッシュの削除を防ぐため、またはキャッシュの場所を変更するには、 _config.yml
でcache_dir
を指定できます。
jektex :
cache_dir : " .jektex-cache "
ファイルを無視します
デフォルトでは、JektexはJekyllによってレンダリングされたすべてのファイルでラテックスをレンダリングしようとします。これは、例えば、ラテックスを含む抜粋でRSSフィードをレンダリングする場合、望ましくない場合があります。 Jektexは、 ignore
オプションを使用してこれを解決します。
jektex :
ignore : ["*.xml", "README.md", "_drafts/*" ]
*
を使用して従来のワイルドカードを使用できます。この例は、 _drafts
ディレクトリ内のすべての.xml
ファイル、 README.md
、およびすべてのファイルを無視します。
特定の投稿を無視する別の方法は、 jektex
属性をフロントマターのfalse
に設定することです。
---
title : " How Jektex works "
category : " Development "
jektex : false
layout : post
---
jektex
タグをtrue
に設定するか、まったく設定しないと、JekTexはその投稿でLaTex式をレンダリングします。
マクロの使用
グローバルマクロを定義できます。
jektex :
macros :
- ["\Q", "\mathbb{Q}"]
- ["\C", "\mathbb{C}"]
そして、はい、別の反発で反発( )を逃れなければなりません。これは、YAML仕様によるものです。
マクロをパラメーターで定義できます。
jektex :
macros :
- ["\vec", "\mathbf{#1}"]
- ["\addBar", "\bar{#1}"]
これは、LaTex newcommand
の動作をシミュレートします。
Jektex出力のサイレンシング
Jektexは、レンダリング/キャッシュされた方程式について定期的にユーザーに通知します。これが望ましくない場合は、 silent
オプションを設定できます(デフォルトでfalse
)。
jektex :
silent : true
完全な例
推奨config:
jektex :
cache_dir : " .jektex-cache "
ignore : ["*.xml"]
silent : false
macros :
- ["\Q", "\mathbb{Q}"]
- ["\C", "\mathbb{C}"]
構成がないことは、これに相当します。
jektex :
cache_dir : " .jekyll-cache "
ignore : []
silent : false
macros : []
このプラグインはRubygemとして利用できます。
バンドラーの使用Gemfile
にjektexを追加します:
group :jekyll_plugins do
gem "jektex"
end
bundle install
実行します
バンドラーなしgem install jektex
実行します
インストール後_config.yml
ファイルのプラグインリストにjektexを追加する
plugins :
- jektex
katex.min.css
html headに追加することを忘れないでください:
< link rel =" stylesheet " href =" https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css " integrity =" sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ " crossorigin =" anonymous " >
CSSファイルをダウンロードして、サーバーからの資産として直接ロードする方がはるかに良い練習です。 KatexのWebサイトで詳細をご覧ください。
バグを報告したり、公式リポジトリの問題で機能を要求したりしてください。私もプルリクエストのために開かれています。