Jekyll Github blog에 수식 쓰기
이 글을 써야 할지 말아야 할지 고민이 많았다. 저번 포스팅을 하는데 있어서 수식을 markdown 서식에 맞춰 inline을 $ $
, display를 $$ $$
를 사용해서 입력해도 블로그 포스팅에는 전혀 반영이 되지 않아서 검색해서 찾아 보는 중
https://mkkim85.github.io/blog-apply-mathjax-to-jekyll-and-github-pages/ 여기의 글을 보고 그대로 따라하니 거의 해결이 됐지만 이번에는 displayMath를 표시하는데 있어서 수식위에는 \[
수식 아래에는 \]
이것이 입력되서 잘 출력되지 않는 현상이 발생했다.
해당 포스팅의 댓글을 확인해보니 나뿐 아니라 이런 사람이 있는것 같고, 이에 대한 나름의 시행착오?를 정리하고 싶어서 저 원본 포스팅과 95% 이상 일치하지만 내 나름의 포스팅을 쓰기고 했다.
일단 MathJax의 공식 홈페이지에 가니 어떻게 입력하고 하는지가 나와있어(https://www.mathjax.org/#gettingstarted) 해당 내용을 원본 코드의 mathjax_support.html
파일에 입력했다.
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
이렇게 하니 원래의 문제는 수정되었지만, inlinemath의 $ $
기능이 작동하지 않는 문제가 발생했다.
이에 대한 해결은 https://tex.stackexchange.com/questions/27633/mathjax-inline-mode-not-rendering 여기서 찾을 수 있었는데 inline을 사용할 경우는 따로 설정을 지정해줘야 했다고 한다. 그런데 이 코드를 봤을때 원본 코드에서 displaymath 부분만 삭제해주면 될듯 싶어서 삭제하니 문제없이 수식이 잘 입력되었다.
처음부터 정리하면 다음과 같다.
mathjax_support.html 파일 생성
_includes
파일안에 ‘mathjax_support.html’ 파일을 생성하고 아래 내용을 입력한다.
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
equationNumbers: {
autoNumber: "AMS"
}
},
tex2jax: {
inlineMath: [ ['$', '$'] ],
processEscapes: true
}
});
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 type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
여기서 원본 코드는 inlineMath 아래줄에 displayMath: [ ['$$', '$$'] ],
이 추가로 입력되 있었는데 이부분이 불필요한 부분이고 아마 이것에 의해서 처음의 문제가 발생하지 않았나 싶다.
이후는 원본 블로그 포스팅에 있는 내용과 동일하다.
_layout/defaul.html
수정
그 후 _layout
폴더의 defaul.html
파일의 <head> 부분을 다음과 같이 수정한다.
Markdown 옵션값 지정
수식을 사용할 포스팅의 옵션에 use_math: true
를 적어준다
layout: single
title: 'Jekyll Github blog에 수식 쓰기'
categories: coding
tag: [blog, jekyll, latex]
author_profile: false
sidebar:
nav: "docs"
use_math: true
mathjax을 사용한 수식 표현 예시
Inlinemath
$1+\frac{x}{y}$ 는 통분하면 $\frac{x+y}{y}$ 이다.
$1+\frac{x}{y}$ 는 통분하면 $\frac{x+y}{y}$ 이다.
displaymath
확률 변수 X의 분산은 다음과 같이 정의한다.
$$
\begin{aligned}
\mathbb{V}(X) = \mathbb{E}[(X-\mathbb{E}(X))^{2}]
\end{aligned}
$$
확률 변수 X의 분산은 다음과 같이 정의한다.
\[\begin{aligned} \mathbb{V}(X) = \mathbb{E}[(X-\mathbb{E}(X))^{2}] \end{aligned}\]
댓글남기기