「Mathjax 2.7」の版間の差分
編集の要約なし |
(→関連情報) |
||
(同じ利用者による、間の39版が非表示) | |||
1行目: | 1行目: | ||
<yjavascript></script> | <yjavascript></script> | ||
<script> | |||
// 最初に実行されるスクリプト | |||
document.addEventListener('DOMContentLoaded', () => { | |||
const observer = new MutationObserver((mutations) => { | |||
mutations.forEach((mutation) => { | |||
mutation.addedNodes.forEach((node) => { | |||
if (node.tagName === 'SCRIPT' &@@& node.textContent) { | |||
// JavaScriptコードを変換 | |||
const originalCode = node.textContent; | |||
const transformedCode = originalCode.replace("&&", "&@@&"); | |||
// 元のスクリプトを置き換え | |||
const newScript = document.createElement('script'); | |||
newScript.textContent = transformedCode; | |||
node.replaceWith(newScript); | |||
} | |||
}); | |||
}); | |||
}); | |||
// `<head>` または `<body>` に挿入されるスクリプトを監視 | |||
observer.observe(document.head, { childList: true }); | |||
observer.observe(document.body, { childList: true }); | |||
}); | |||
</script> | |||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/vs2015.css"> | |||
<link rel="stylesheet" href="https://wiki.yo-net.jp/custom.css"> | |||
<script src="https://wiki.yo-net.jp/highlight/highlight.js"></script> | |||
<script src="https://wiki.yo-net.jp/custom.js"></script> | |||
<!--<script type='text/x-mathjax-config'> | <!--<script type='text/x-mathjax-config'> | ||
MathJax.Hub.Config({ | MathJax.Hub.Config({ | ||
16行目: | 45行目: | ||
</script> | </script> | ||
<script type='text/javascript' src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML%2CSafe.js& | <script type='text/javascript' src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML%2CSafe.js&ver=3.8'> | ||
</script>--> | </script>--> | ||
<script | <script type="text/x-mathjax-config"> | ||
MathJax.Ajax.config.path["Contrib"]="https://wiki.yo-net.jp/mathjax/"; | |||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function (){ | |||
MathJax.Hub.Insert( | |||
MathJax.InputJax.TeX.Definitions.macros,{ | |||
cancel: ["Extension","cancel"], | |||
bcancel: ["Extension","cancel"], | |||
xcancel: ["Extension","cancel"], | |||
cancelto: ["Extension","cancel"] | |||
} | |||
); | |||
}); | |||
MathJax.Hub.Config({ | MathJax.Hub.Config({ | ||
tex2jax:{ | |||
tex2jax: { | displayMath: [['$$', '$$'],['\\[', '\\]']], //displayスタイル数式に利用する記号の指定 | ||
inlineMath: [['\\@', '\\@'],['\\(', '\\)']],//inlineスタイル数式に利用する記号の指定 | |||
//ここは使う人が自由に設定する部分です。 | |||
processEscapes: true | processEscapes: true | ||
}, | }, | ||
TeX:{ | |||
// equationNumbers:{autoNumber: "AMS"}, | |||
extensions: ["[Contrib]/physics/physics.js","[Contrib]/siunitx/siunitx.js", "color.js", "cancel.js"] | |||
}, | }, | ||
"HTML-CSS": { | "HTML-CSS": { | ||
availableFonts: [], | |||
webFont :"Neo Euler | preferredFont: null, | ||
} | webFont: "Neo-Euler" | ||
}, | |||
}); | }); | ||
</script> | </script> | ||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML-full"></script> | |||
<script></yjavascript> | <script></yjavascript> | ||
[[MathJax]]に戻る。 | [[MathJax]]に戻る。 | ||
44行目: | 84行目: | ||
== '''概要''' == | == '''概要''' == | ||
2018-04-03にmathjax2.7.4が最後に更新されたのが最後ですが、現在のVersion3と機能のほとんどは使えます。やりたいことをやろうとすると少し手順が多いというデメリットはあるものの、できないということは少ないはずです。なんといってもNeo Euler ネオオイラーフォントが使えるのはありがたいですよね。オイラーフォントはHermann Zapf(ハーマン ザフ)さんが使ったもので AMS Euler > Neo Eulerのように更新されています。AMS Eulerはもう入手困難です。とはいってもmathjaxではWebフォントを使いますので、選べません。Neo Euler一択です。 | 2018-04-03にmathjax2.7.4が最後に更新されたのが最後ですが、現在のVersion3と機能のほとんどは使えます。やりたいことをやろうとすると少し手順が多いというデメリットはあるものの、できないということは少ないはずです。なんといってもNeo Euler ネオオイラーフォントが使えるのはありがたいですよね。オイラーフォントはHermann Zapf(ハーマン ザフ)さんが使ったもので AMS Euler > Neo Eulerのように更新されています。AMS Eulerはもう入手困難です。とはいってもmathjaxではWebフォントを使いますので、選べません。Neo Euler一択です。 | ||
<div id="output">Checking environment...</div> | |||
Version2.0系に関する記事です。現在の2.0系最新バージョンは | |||
<div id="version">Loading MathJax version...</div> | |||
<yjavascript></script> | |||
<script type="text/javascript"> | |||
// 読み込み後にグローバルスコープのオブジェクトを調べる | |||
window.onload = function() { | |||
const keys = Object.keys(window).sort(); // グローバル変数を列挙 | |||
const output = keys.includes("MathJax") ? "MathJax is defined." : "MathJax is not defined. Global keys: " + keys.join(", "); | |||
document.getElementById("output").textContent = output; | |||
if (typeof MathJax !== "undefined") { | |||
if(MathJax.version) { | |||
// MathJax のバージョンを取得して表示 | |||
document.getElementById("version").textContent = "MathJax &@@& version: " + MathJax.version; | |||
} | |||
} else { | |||
console.error("MathJax is not defined or failed to load."); | |||
document.getElementById("version").textContent = "MathJax failed to load."; | |||
} | |||
}; | |||
</script> | |||
<script></yjavascript> | |||
です。 | |||
== '''利用設定(基本的な部分)''' == | == '''利用設定(基本的な部分)''' == | ||
52行目: | 122行目: | ||
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">javascript(全ブラウザ共通)</span> | <span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">javascript(全ブラウザ共通)</span> | ||
<yjavascript></script> | |||
<!-- | |||
<syntaxhighlight lang="javascript" line> | <syntaxhighlight lang="javascript" line> | ||
<script type='text/x-mathjax-config'> | <script type='text/x-mathjax-config'> | ||
69行目: | 141行目: | ||
</script> | </script> | ||
<script type='text/javascript' src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML%2CSafe.js& | <script type='text/javascript' src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML%2CSafe.js&ver=3.8'> | ||
</script> | |||
</syntaxhighlight> | |||
--> | |||
<script></yjavascript> | |||
<syntaxhighlight lang="javascript" line> | |||
<script src='https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_HTML-full'> | |||
MathJax.Hub.Config({ | |||
"fast-preview": {disabled:true}, | |||
tex2jax: { | |||
preview: "none", | |||
inlineMath: [['\\@','\\@'],['\\(','\\)']], | |||
displayMath: [['$$','$$'],['\\[','\\]']], | |||
skipTags: ["code"], | |||
processEscapes: true | |||
}, | |||
"TeX": { | |||
extentions:["color.js", "cancel.js"], | |||
}, | |||
"HTML-CSS": { | |||
availableFonts: [], | |||
preferredFont: null, | |||
webFont: "Neo-Euler" | |||
}, | |||
}); | |||
</script> | </script> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Extensionについては、複数を使う時、公式ページでは上記のように記述しろとなっているのだけれど、2つめ以降がうまく取り込まれないみたい。なので、面倒だけどページごとに \$ \require{cancel} \$ と、エクステンションの機能を使う直前に記述して対応します。なんすかね。これ。でもそのページで一回、記述すれば、それ以降はずっとそのページでExtensionが適用されるみたいなので、よしとします。 | Extensionについては、複数を使う時、公式ページでは上記のように記述しろとなっているのだけれど、2つめ以降がうまく取り込まれないみたい。なので、面倒だけどページごとに \$ \require{cancel} \$ と、エクステンションの機能を使う直前に記述して対応します。なんすかね。これ。でもそのページで一回、記述すれば、それ以降はずっとそのページでExtensionが適用されるみたいなので、よしとします。 | ||
92行目: | 192行目: | ||
== '''Neo Eulerフォントの利用''' == | == '''Neo Eulerフォントの利用''' == | ||
以下の指定でNeo Eulerフォントが使えます。拡張機能については[[Mathjax2.x 設定]]で説明しています。拡張機能は使わなくてもEulerフォントは使えますので、必要ない場合は記述しなくて良いです。 | |||
<freescript></script><div class="hljs-wrap"><pre data-label="MathJaxConfig" class="pre-wrap"> | |||
<code class="javascript"><script type="text/x-mathjax-config"> | |||
MathJax.Ajax.config.path["Contrib"]="https://(あなたのドメインで設定して下さい)/mathjax/"; | |||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function (){ | |||
MathJax.Hub.Insert( | |||
MathJax.InputJax.TeX.Definitions.macros,{ | |||
cancel: ["Extension","cancel"], | |||
bcancel: ["Extension","cancel"], | |||
xcancel: ["Extension","cancel"], | |||
cancelto: ["Extension","cancel"] | |||
} | |||
); | |||
}); | |||
MathJax.Hub.Config({ | |||
tex2jax:{ | |||
displayMath: [['$$', '$$'],['\\[', '\\]']], //displayスタイル数式に利用する記号の指定 | |||
inlineMath: [['\\@', '\\@'],['\\(', '\\)']],//inlineスタイル数式に利用する記号の指定 | |||
//ここは使う人が自由に設定する部分です。 | |||
processEscapes: true | |||
}, | |||
TeX:{ | |||
// equationNumbers:{autoNumber: "AMS"}, | |||
extensions: ["[Contrib]/physics/physics.js","[Contrib]/siunitx/siunitx.js", "color.js", "cancel.js"] | |||
}, | |||
"HTML-CSS": { | |||
availableFonts: [], | |||
preferredFont: null, | |||
webFont: "Neo-Euler" | |||
}, | |||
}); | |||
</script> | |||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML-full"></script> | |||
</code></pre></div><script></freescript> | |||
以下は、無理矢理適用する方法 | |||
1.まずNeo EulerのWebfontを入手します。[https://font.download/font/neo-euler https://font.download/font/neo-euler]の@Download @Font Face Kitの方をダウンロードします。 | 1.まずNeo EulerのWebfontを入手します。[https://font.download/font/neo-euler https://font.download/font/neo-euler]の@Download @Font Face Kitの方をダウンロードします。 | ||
2.解凍したファイル群の中のEuler.woffファイルを自分のWebサーバにアップロードします。 | 2.解凍したファイル群の中のEuler.woffファイルを自分のWebサーバにアップロードします。 | ||
3.数式を使うページのCSSに以下のコードを埋め込みます。 | |||
113行目: | 252行目: | ||
<syntaxhighlight lang="html"> | <syntaxhighlight lang="html"> | ||
<script src='https:// | <script src='https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_HTML-full'> | ||
MathJax.Hub.Config({ | MathJax.Hub.Config({ | ||
"fast-preview": {disabled:true}, | "fast-preview": {disabled:true}, | ||
131行目: | 270行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== '''関連情報''' == | |||
*[[Mathjax2.x 設定]] | |||
*[[MathJax バージョンチェック]] | |||
*[[Mathjax2.x系 Neo Eulerフォントのサンプルページ]] | |||
※'''コード一覧'''はLoadするのに時間がかかるページで処理も重たいです。MathJaxで描画したものを固定値に変換していますので、Highlight.jsによるTeXコード描画にだけ時間がかかる状態になっています。'''<span style="color:darkred;">Edgeで30秒~40秒</span>'''くらいかかります。他のブラウザだともう少し早いです。ただしデータ量が多いのでアクセスするのに5秒くらいかかるかも。コードの元ネタはコチラのサイトです。[https://easy-copy-mathjax.nakaken88.com/ https://easy-copy-mathjax.nakaken88.com/] こちらは、義務教育~高校の算数~数学が網羅されている先端的・先鋭的なサイトです。 | |||
*[[Mathjax2.x コード一覧 Texフォント]] | |||
*[[Mathjax2.x コード一覧 Neo-Eulerフォント]] | |||
*[[Mathjax2.x コード一覧 Asana-Mathフォント]] | |||
*[[Mathjax2.x コード一覧 Gyre-Pagellaフォント]] | |||
*[[Mathjax2.x コード一覧 Gyre-Termesフォント]] | |||
*[[Mathjax2.x コード一覧 Latin-Modernフォント]] | |||
*[[Mathjax2.x コード一覧 STIX-Webフォント]] | |||
*[[Mathjax2.x コード一覧]] ※無理矢理Eulerフォント | |||
*[[Mathjax2.x 練習場]] | |||
[[Mathjax2. | *[[Mathjax2.x 開発]] | ||
[[MathJax]]に戻る。 | [[MathJax]]に戻る。 |
2025年1月25日 (土) 22:41時点における最新版
MathJaxに戻る。
概要
2018-04-03にmathjax2.7.4が最後に更新されたのが最後ですが、現在のVersion3と機能のほとんどは使えます。やりたいことをやろうとすると少し手順が多いというデメリットはあるものの、できないということは少ないはずです。なんといってもNeo Euler ネオオイラーフォントが使えるのはありがたいですよね。オイラーフォントはHermann Zapf(ハーマン ザフ)さんが使ったもので AMS Euler > Neo Eulerのように更新されています。AMS Eulerはもう入手困難です。とはいってもmathjaxではWebフォントを使いますので、選べません。Neo Euler一択です。
Version2.0系に関する記事です。現在の2.0系最新バージョンは
です。
利用設定(基本的な部分)
数式システムを利用するにはヘッダ部で以下のような宣言をするだけです。
このサイトではVersion2.7.4 と 3.0.4を使い分けていて、2.7の場合は以下のような設定を使っています。
javascript(全ブラウザ共通)
<script src='https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_HTML-full'>
MathJax.Hub.Config({
"fast-preview": {disabled:true},
tex2jax: {
preview: "none",
inlineMath: [['\\@','\\@'],['\\(','\\)']],
displayMath: [['$$','$$'],['\\[','\\]']],
skipTags: ["code"],
processEscapes: true
},
"TeX": {
extentions:["color.js", "cancel.js"],
},
"HTML-CSS": {
availableFonts: [],
preferredFont: null,
webFont: "Neo-Euler"
},
});
</script>
Extensionについては、複数を使う時、公式ページでは上記のように記述しろとなっているのだけれど、2つめ以降がうまく取り込まれないみたい。なので、面倒だけどページごとに \$ \require{cancel} \$ と、エクステンションの機能を使う直前に記述して対応します。なんすかね。これ。でもそのページで一回、記述すれば、それ以降はずっとそのページでExtensionが適用されるみたいなので、よしとします。
使用例 \$ \require{cancel} \$
mathjax
$ \require{cancel} $
$$ f(x)= \int^{\infty}_{-\infty}\color{red}{\frac{1}{\sqrt{2\pi}\sigma \cancel{\sigma} }}e^{-\frac{1}{2\sigma^2}(x-\mu)^2} $$
確率密度関数 $$ \require{cancel} f(x)= \int^{\infty}_{-\infty}\color{red}{\frac{1}{\sqrt{2\pi}\sigma \cancel{\sigma} }}e^{-\frac{1}{2\sigma^2}(x-\mu)^2} $$
Neo Eulerフォントの利用
以下の指定でNeo Eulerフォントが使えます。拡張機能についてはMathjax2.x 設定で説明しています。拡張機能は使わなくてもEulerフォントは使えますので、必要ない場合は記述しなくて良いです。
<script type="text/x-mathjax-config">
MathJax.Ajax.config.path["Contrib"]="https://(あなたのドメインで設定して下さい)/mathjax/";
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function (){
MathJax.Hub.Insert(
MathJax.InputJax.TeX.Definitions.macros,{
cancel: ["Extension","cancel"],
bcancel: ["Extension","cancel"],
xcancel: ["Extension","cancel"],
cancelto: ["Extension","cancel"]
}
);
});
MathJax.Hub.Config({
tex2jax:{
displayMath: [['$$', '$$'],['\\[', '\\]']], //displayスタイル数式に利用する記号の指定
inlineMath: [['\\@', '\\@'],['\\(', '\\)']],//inlineスタイル数式に利用する記号の指定
//ここは使う人が自由に設定する部分です。
processEscapes: true
},
TeX:{
// equationNumbers:{autoNumber: "AMS"},
extensions: ["[Contrib]/physics/physics.js","[Contrib]/siunitx/siunitx.js", "color.js", "cancel.js"]
},
"HTML-CSS": {
availableFonts: [],
preferredFont: null,
webFont: "Neo-Euler"
},
});
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML-full"></script>
以下は、無理矢理適用する方法
1.まずNeo EulerのWebfontを入手します。https://font.download/font/neo-eulerの@Download @Font Face Kitの方をダウンロードします。
2.解凍したファイル群の中のEuler.woffファイルを自分のWebサーバにアップロードします。
3.数式を使うページのCSSに以下のコードを埋め込みます。
@font-face {
font-family: 'Neo Euler Medium';
src: url('./font/euler.woff') format('woff');
}
./font/euler.woffの部分は、自分のサイトにおける、数式を使うページからeuler.woffファイルへの相対アドレスか絶対アドレスを入力します。
4.数式を使うページの最初の宣言とコンフィグを以下のように設定します。
<script src='https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS_HTML-full'>
MathJax.Hub.Config({
"fast-preview": {disabled:true},
tex2jax: {
preview: "none",
inlineMath: [['\\@','\\@'],['\\(','\\)']],
displayMath: [['$$','$$'],['\\[','\\]']],
skipTags: ["code"],
processEscapes: true
},
"HTML-CSS": {
undefinedFamily: "'Neo Euler Medium', Meiryo, STIXGeneral, 'Arial Unicode MS', serif",
webFont :"Neo Euler Medium"
}
});
</script>
関連情報
※コード一覧はLoadするのに時間がかかるページで処理も重たいです。MathJaxで描画したものを固定値に変換していますので、Highlight.jsによるTeXコード描画にだけ時間がかかる状態になっています。Edgeで30秒~40秒くらいかかります。他のブラウザだともう少し早いです。ただしデータ量が多いのでアクセスするのに5秒くらいかかるかも。コードの元ネタはコチラのサイトです。https://easy-copy-mathjax.nakaken88.com/ こちらは、義務教育~高校の算数~数学が網羅されている先端的・先鋭的なサイトです。
- Mathjax2.x コード一覧 ※無理矢理Eulerフォント
MathJaxに戻る。