どせいたんさき。

ナスダヨー

特定のタグで MathJax の適用を除外する

目的

MathJax の inlineMath$ を設定していると $x = 3$ という記述が $x=3$ のように数式表現に変換できる.一方で bash の変数など $ を単独で使いたい場合には変換されると困る.特定のタグの中では MathJax による変換を停止させたい.

解決方法

tex2jaxskipTags を設定する.

skipTags: ["script","noscript","style","textarea","pre","code"]

This array lists the names of the tags whose contents should not be processed by tex2jax (other than to look for ignore/process classes as listed below). You can add to (or remove from) this list to prevent MathJax from processing mathematics in specific contexts.

The tex2jax Preprocessor — MathJax 2.4 documentation

デフォルトでは script, noscript, style, textarea, pre, code の内部では MathJax の変換が適用されないようになっている.ここに任意のタグを加えることで MathJax の適用範囲を制限できる.以下の例では <kbd> タグを加えた.

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  tex2jax: {
      inlineMath: [['$','$']],
      skipTags: ["script","noscript","style","textarea","pre","code","kbd"]
  }
});
</script>

この他にも ignoreClass といったオプションがあるので柔軟に対応できそうである.