메뉴 건너뛰기

Hodol's Blog

Documents MathJax 치트노트[20150522]

2015.05.22 08:34

Hodol 조회 수:354

MathJax 간단 메뉴얼

목차
TeX과 다른 몇가지 용법
인라인 수식 입력(LaTeX)은 \( 수식 \)으로 한다. TeX 방식인 $ 수식 $를 쓰지 않는 이유는 일반적인 인터넷 문서에서 $ 기호를 많이 쓰기 때문이며, 설정으로 $ 수식 $ 형식으로 렌더링을 할 수 있기는 하다.
수식이 렌더링되는 것을 막고 싶을 때는 해당 부분에 class="tex2jax_ignore" 속성을 주면 된다.
수식 내 텍스트를 써야하는 경우, \text{ 내용 }을 이용한다. (LaTeX처럼 \textrm 이 아니다.)
설정
MathJax 설정은 MathJax.Hub.Config( JSON Object )을 이용한다.
수식 좌측 정렬
MathJax.Hub.Config({
    displayAlign: "left"
});
자동 렌더링 방지
MathJax는 페이지 로딩이 완료되면 자동으로 렌더링을 시작한다. 이를 방지하려면 다음과 같은 코드를 사용하면 된다.
MathJax.Hub.Config({
    skipStartupTypeset:"false"
});
기능 호출
MathJax.Hub.Queue(JSON or Function );를 호출하여 MathJax가 특별한 기능을 수행하도록 예약할 수 있다.
강제 렌더링 호출
앞서와 같이 자동 렌더링을 막은 후, 특정 부분을 렌더링을 하고자 할 때, 또는 비동기로 작동하는 페이지의 부분을 렌더링 하고자 한다면 다음과 같이 강제로 렌더링을 호출할 수 있다.
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
또는
var math = document.getElementById("MathExample");
MathJax.Hub.Queue(["Typeset",MathJax.Hub,math]);
Javascript 함수 호출
MathJax가 렌더링이 끝난 후, 다른 Javascript 함수 호출하기는 다음과 같이 한다.
function functionName() {
    //define function.
}
    ...
MathJax.Hub.Queue(functionName);
특히 MathJax는 DOM 구조를 수정하기 때문에, DOM 구조를 수정하는 다른 js 라이브러리와 병용시 에러가 발생할 수 있다. 이 때, 스크립트들을 순차적으로 실행시켜줄 필요가 있으며 이를 위해 위와 같은 방법을 사용기도 한다.
참고
  • http://docs.mathjax.org/en/latest/index.html