EDRSPIHCRSSRSS

LaTeX 작업 흐름 자동화

Difference between r1.6 and the current

@@ -1,46 +1,76 @@
일반적으로 `tex` 파일을 최종적으프린트하기 위해서 번에 걸친 명령을 실행하여야 한다. {{{
pdflatex foo
makeindex foo
bibtex foo
pdflatex foo 
}}}
 
이 과정을 자동화하 방법 대하 다.
== LaTeXMk ==
* 대부분의 workflow가 자동화된다. {{{
# latexmk foo
}}}
* 실행 엔진은 다음과 같이 지정한다. {{{
# latexmk -xelatex foo
}}}
* 옵션을 추가할 수 있다. {{{
# latexmk -xelatex -latexoption="-synctex=1" foo 
}}}
* bibtex과 biber는 스크립트가 자동으로 선택한다. 자동으로 선택이 되지 않을 때는 latexmkrc 파일을 이용하여 백엔드 프로그램을 강제할 수 있다. 
* komkindex로 makeindex를 대체하려면 작업 폴더에 latexmkrc 파일을 만들고 다음 한 줄을 써넣는다. {{{
$makeindex = 'komkindex -s kotex'; 
}}}
#title LaTeX 작업 흐름 자동화
#keywords arara,bibtex,latexmk,makeindex,workflow,자동화,texify,latex
== 개요 ==
* 일반적으로 `tex` 파일을 인쇄에 적합한 최종 출력물만들기 위해서 상호 참조, 참고문헌, 찾아보기 생성 등을 위해 다음과 같이 여러 번의 명령을 실행하여야 한다. {{{#!bash
# pdflatex foo
# makeindex foo
# bibtex foo
# pdflatex foo}}}
* 러한 과정을 자동화하기 위해 개발된 방법이 몇 가지 있는데, 이들은체로 편리한 텍 작업 환경을 지원는 편집기나 통합별 환경 내부에서 사용된다.
== LaTeX Workflow 자동화 도구 ==
=== LaTeXMk ===
* Perl로 작성된 도구로 대부분의 workflow가 자동화된다.{{{#!bash
# latexmk foo}}}
* (pdf)latex 실행 루트는 다음과 같이 지정한다.
* pdflatex (default) {{{#!sh
# latexmk -pdf foo}}} (`-pdf` 옵션은 따로 지정하지 않아도 된다.)
* latex => dvi {{{#!sh
# latexmk -dvi foo}}}
* latex => ps {{{#!sh
# latexmk -ps foo}}}
* latex+dvips+ps2pdf {{{#!sh
# latexmk -pdfps foo }}}
* latex+dvipdfmx {{{#!sh
# latexmk -pdfdvi foo }}}
* 실행 엔진은 다음과 같이 지정한다. 
* xelatex {{{#!bash
# latexmk -xelatex foo}}}
* lualatex {{{#!sh
# latexmk -lualatex foo}}}
* 옵션을 추가할 수 있다.{{{#!bash
# latexmk -xelatex -latexoption="-synctex=1" foo}}}
* 참고문헌 목록 생성을 위한 백엔드인 bibtex과 biber는 스크립트가 자동으로 선택한다. 자동으로 선택이 되지 않을 때는 latexmkrc 파일을 이용하여 백엔드 프로그램을 강제할 수 있다.
* komkindex로 makeindex를 대체하려면 작업 폴더에 latexmkrc 파일을 만들고 다음 한 줄을 써넣는다.{{{#!bash
$makeindex = 'komkindex -s kotex';}}}
* 사용자 설정 가능한 RC 파일은 {{{$HOME/.latexmkrc}}} 또는 작업 폴더의 {{{latexmkrc}}}이다.
* 그밖에 continuous preview, clean aux files 등등 여러 가지 기능을 가지고 있다.
 
* TeXworks에 xelatexmk 추가 (Windows라면 프로그램 위치를 {{{C:\usr\texlive\2013\bin\win32\latexmk.exe}}}로 한다.)
* TeXworks에 xelatexmk 추가 (Windows라면 프로그램 위치를 {{{C:\usr\texlive\2014\bin\win32\latexmk.exe}}}로 한다.)
* attachment:xelatexmkadd.png
* 설명서{{{#!bash
# texdoc latexmk}}}

== texify ==
* MiKTeX있는 latex workflow 자동화 툴.
 
== arara ==
* arara 지시자를 파일에 다음과 같이 써넣고, {{{#!tex
=== [arara] ===
* 비교적 최근개발된 Java로 개발된 LaTeX workflow 자동화 도구
* [arara] 지시자를 파일에 다음과 같이 써넣고, {{{
% arara: pdflatex: {synctex: yes}
% arara: makeindex: {style: foo}
% arara: pdflatex: {synctex: yes} 
}}}
% arara: pdflatex: {synctex: yes}}}}
* arara로 이 파일을 컴파일하면, 위의 지시자에 지정된 순서대로 실행된다.
* 자세사항은 {{{texdoc arara}}}
* 설명서{{{#!bash
# 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
* [https://github.com/wtsnjp/llmk | github 저장소]
* `texdoc llmk`
* TOML이라는 간단한 마크업 언어를 이용하여 Workflow를 지시한다.
{{{
% +++
% latex = "xelatex"
% +++
}}} 
 
=== texify ===
* MiKTeX에 포함된 LaTeX workflow 자동화 도구

* [http://doeun.blogspot.kr/2013/12/arara-kotex.html 외부링크] 참고.

== logreq 패키지 ==



개요

  • 일반적으로 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 문서의 통합
  • | 홈페이지
  • |간략한 소개
  • 장점: shell script를 그대로 써넣는 것에 가깝기 때문에 원하는 거의 모든 동작을 TeX 문서 자체에 지시할 수 있음.
  • 단점: Windows에서 안 된다.
%$ xelatex $texname

LLMK

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

texify