github 블로그에 수식을 적어 정리하고 싶을때가 많다. 이럴 때 mathjax를 적용해놓으면 계속해서 편리하게 LaTex 문법을 적용할 수 있다. (LaTeX 문법을 잘 모를 때 https://www.codecogs.com/latex/eqneditor.php에서 미리 작성해 볼 수 있다.)

1. _include/mathjax_support.html을 생성해 아래의 코드를 넣어준다.

<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      extensions: ["tex2jax.js"],
      jax: ["input/TeX", "output/HTML-CSS"],
      tex2jax: {
          inlineMath: [ ['$','$'], ["\\(","\\)"] ],
          displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
          processEscapes: true
      },
    "HTML-CSS": { availableFonts: ["TeX"] }
  });
  MathJax.Hub.Register.MessageHook("Math Processing Error",function (message) {
        alert("Math Processing Error: "+message[1]);
      });
  MathJax.Hub.Register.MessageHook("TeX Jax - parse error",function (message) {
        alert("Math Processing Error: "+message[1]);
      });
</script>
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" 
type="text/javascript"></script>

2. _config.yml에 아래 설정을 추가한다.

일부 설정은 이미 존재할 수 있다. 필요한 부분만 추가하면 된다.

markdown: kramdown
highlighter: rouge
lsi: false
excerpt_separator: "\n\n"
incremental: false

3. 적절한 위치에 아래의 코드를 넣어준다.

{% if page.use_math %}
    {% include mathjax_support.html %}
{% endif %}

이 부분은 theme의 구조에 따라 조금씩 다를 수 있다. 나의 경우 _layouts/post.html안에 page-header 아래에 추가했다.

예시)

<header class="page-header">
    {% assign title = page.title | markdownify | strip_html %}
    {% if page.link %}
        <h1 id="page-title" class="page-title p-name"><a href="{{ page.link }}">{{ title }} <span class="link-arrow">&rarr;</span></a></h1>
    {% else %}
        <h1 id="page-title" class="page-title p-name">{{ title }}</h1>
    {% endif %}
    {% if page.use_math %}
        {% include mathjax_support.html %}
    {% endif %}
</header>

4. 사용 방법

먼저 post할 글의 header 부분에 맨 아래처럼 use_math를 추가해 true를 넣어준다.

title: 
categories:
tags:

use_math: true

수식 입력은 inline의 경우 $ $를 사용하고, 한 줄 전체를 차지해 넣을 때는 $$ $$를 사용한다.

예시)

코드:

시그모이드과 같이 $a_{i} = logP(X\mid Y_{i})P(Y_{i})$를 정의하면  

$$
P(Y_{1}\mid X) = \frac{e^{a_{1}}} {e^{a_{1}}+ \cdots +e^{a_{n}}} = \frac {e^{a_{1}}} {\sum^{n}_{i=0} e^{a_{i}}}
$$

결과:

시그모이드과 같이 $a_{i} = logP(X\mid Y_{i})P(Y_{i})$를 정의하면

\[P(Y_{1}\mid X) = \frac{e^{a_{1}}} {e^{a_{1}}+ \cdots +e^{a_{n}}} = \frac {e^{a_{1}}} {\sum^{n}_{i=0} e^{a_{i}}}\]