[Develop] Jekyll에서 Latex 사용하기

Updated:

Jekyll에서 Latex 사용하기

Data Science관련 포스팅을 작성하기 위해서는 수식 작성이 필수이다. 평소에 생각없이 markdown과 latex를 함께 사용하고, 별 문제 없다고 생각했는데 이전 포스팅에서 수식이 표현되지 않았다는 것을 알게되어 방법을 찾아보았다.

MathJax

Jekyll에서 latex를 사용하기 위해서는 MathJax를 이용한다.

1. _config.yml 설정

Jekyll 설정 (_config.yml)에서 사용할 markdown 렌딩 엔진을 kramdown으로 변경한다. 사실 default이기 때문에 크게 신경쓸 필요는 없다.

또한 highlighter를 rouge로 세팅한다. (역시 default)

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

그리고 kramdown 세팅 역시 수정한다.

# Markdown Processing
kramdown:
  input: GFM
  math_engine: mathjax
  ...

2. page에서 MathJax support파일 생성

아래 경로에 파일을 만들어 아래와 같이 입력한다. mathjax의 설정과 라이브러리 로드를 한다.


```html

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
    TeX: {
        equationNumbers: {
        autoNumber: "AMS"
        }
    },
    tex2jax: {
    inlineMath: [ ['$', '$'], ["\\(","\\)"]  ],
    displayMath: [ ['$$', '$$'], ["\\[","\\]"]  ],
    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://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

3. 실제 포스팅 페이지에서 로드하도록 수정

아래 경로의 header에 아래 내용을 복사하여 위에서 만든 support 파일을 include하도록 한다.


```html

<head>
    {% if page.use_math %}
        {% include mathjax_support.html %}
    {% endif %}
</head>

4. 실제 사용

포스팅 작성시 아래 구문을 통해 latex 수식을 작성할 수 있다.

  • latex 문법
$Y = X + b$
  • 실제 포스팅 표현

$Y = X + b$

Leave a comment