LaTeX 작업 흐름 자동화

개요

  • 일반적으로 tex 파일을 인쇄에 적합한 최종 출력물로 만들기 위해서는 상호 참조, 참고문헌, 찾아보기 생성 등을 위해 다음과 같이 여러 번의 명령을 실행하여야 한다.
    # pdflatex foo
    # makeindex foo
    # bibtex foo
    # pdflatex foo
  • 이러한 과정을 자동화하기 위해 개발된 방법이 몇 가지 있는데, 이들은 대체로 편리한 텍 작업 환경을 지원하는 편집기나 통합 개별 환경 내부에서 사용된다.

LaTeX Workflow 자동화 도구

LaTeXMk

  • Perl로 작성된 도구로 대부분의 workflow가 자동화된다.
    # latexmk foo
  • (pdf)latex 실행 루트는 다음과 같이 지정한다.
    • pdflatex (default)
      # latexmk -pdf foo
      (-pdf 옵션은 따로 지정하지 않아도 된다.)
    • latex => dvi
      # latexmk -dvi foo
    • latex => ps
      # latexmk -ps foo
    • latex+dvips+ps2pdf
      # latexmk -pdfps foo
    • latex+dvipdfmx
      # latexmk -pdfdvi foo
  • 실행 엔진은 다음과 같이 지정한다.
    • xelatex
      # latexmk -xelatex foo
    • lualatex
      # latexmk -lualatex foo
  • 옵션을 추가할 수 있다.
    # latexmk -xelatex -latexoption="-synctex=1" foo
  • 참고문헌 목록 생성을 위한 백엔드인 bibtex과 biber는 스크립트가 자동으로 선택한다. 자동으로 선택이 되지 않을 때는 latexmkrc 파일을 이용하여 백엔드 프로그램을 강제할 수 있다.
  • komkindex로 makeindex를 대체하려면 작업 폴더에 latexmkrc 파일을 만들고 다음 한 줄을 써넣는다.
    $makeindex = 'komkindex -s kotex';
  • 사용자 설정 가능한 RC 파일은 $HOME/.latexmkrc 또는 작업 폴더의 latexmkrc이다.
  • 그밖에 continuous preview, clean aux files 등등 여러 가지 기능을 가지고 있다.
  • TeXworks에 xelatexmk 추가 (Windows라면 프로그램 위치를 C:\usr\texlive\2014\bin\win32\latexmk.exe로 한다.)
    • xelatexmkadd.png
      [PNG image (109.44 KB)]
  • 설명서
    # texdoc latexmk


arara

  • 비교적 최근에 개발된 Java로 개발된 LaTeX workflow 자동화 도구
  • arara 지시자를 파일에 다음과 같이 써넣고,
    % arara: pdflatex: {synctex: yes}
    % arara: makeindex: {style: foo}
    % arara: pdflatex: {synctex: yes
    }
  • arara로 이 파일을 컴파일하면, 위의 지시자에 지정된 순서대로 실행된다.
  • 설명서
    # texdoc arara


SpiX

  • shell script와 LaTeX 문서의 통합
  • | 홈페이지(https://framagit.org/spalax/spix)
  • |간략한 소개(http://www.ktug.org/xe/index.php?mid=KTUG_open_board&document_srl=245475)
  • 장점: shell script를 그대로 써넣는 것에 가깝기 때문에 원하는 거의 모든 동작을 TeX 문서 자체에 지시할 수 있음.
  • 단점: Windows에서 안 된다.
%$ xelatex $texname

LLMK

  • Light LaTeX Make
  • | github 저장소(https://github.com/wtsnjp/llmk)
  • texdoc llmk
  • TOML이라는 간단한 마크업 언어를 이용하여 Workflow를 지시한다.
% +++
% latex = "xelatex"
% +++

texify


Retrieved from http://wiki.ktug.org/wiki/wiki.php/LaTeXWorkflow
last modified 2020-09-23 08:42:13