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">→</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}}}\]