목록algorithm 패키지 (3)
살아가는 이야기
알고리즘 패키지(algorithmicx) 사용법을 정리해 보았다. 내용을 요약하면 프리앰블에 다음과 같이 적고 \usepackage{algorithm,algpseudocode} 알고리즘을 삽입하고 싶은 부분에 다음과 같이 적으라는 것이다. \begin{algorithm} \caption{간접 좌순환 제거}\label{alg:rmleft} \begin{algorithmic}[1] \Require 순환($A~\stackrel{+}{\Rightarrow}~A$)이나 $\epsilon$ 생성규칙이 없는 문법 \Ensure 좌순환이 없는 동등한 문법 \State 비단말기호들을 일렬로 세운다($A_1,~A_2,~\ldots,~A_n$). \For{$i \in 1..n$} \For{$j \in 1..i-1$} \St..
오랫만에 LaTeX을 사용하다가 다음과 같은 제목과 같은 오류가 발생했다. algorithmicx 패키지에서 발생하는 오류인데, 아무리 봐도 오류 원인을 찾을 수 없었다. 오류 내용을 조금 자세히 적으면 다음과 같다. ! Missing \endcsname inserted. \protect l.636 \algnewlanguage{default} % 원인은 hangul 패키지였다. hangul 패키지와 algorithmicx 패키지가 충돌하는 것이 원인이다. 원인을 해결하려면 hangul 패키지 대신 kotex 패키지를 사용하거나 hfont를 사용하면 된다. 그러나 hfont를 사용하면 전체 레이아웃이 바뀌기 때문에 완전한 해결 방법이라고 볼 수는 없다.
LaTeX을 사용하다가 알고리즘 패키지를 추가한 다음에 갑자기 위와 같은 오류가 발생했다. 한참을 헤메다가 인터넷을 뒤져 원인을 찾았는데, 원인은 hyperref 패키지 때문이었다. hyperref 패키지와 algorithm 패키지를 같이 사용할 경우에는 algorithm 패키지에 대한 usepackage 선언을 hypaerref 패키지 선언 다음에 두어야 한다. 즉 다음과 같은 순서로 해야 한다. \usepackage{hyperref} \usepackage{algorithm,algpseudocode} 그럼, 좋은 논문 많이 쓰시기 바랍니다! If you got the above error message running LaTeX on the document using algorithm package, p..