== 특징 == * [[arara]]와 비슷한 빌드 자동화 도구 * Makefile 만큼 강력하지는 않다. == 설치 == 다음 중 원하는 방법으로 설치한다. * [[TeXLive]]을 full로 설치하면 함께 설치된다. * MacTeX을 설치하면 함께 설치된다. * [[CTAN]]에서 직접 다운로드한다. * apt, pip3 등 패키지 매니저로 설치할 수 있다. == 사용법 == === 규칙 === * {{{\documentclass}}} 앞에 넣는다. * {{{%$ lualatex $texname}}}와 같이 실행할 명령을 작성한다. * 각 명령은 라인 맨 앞에서 시작한다. * {{{%$ }}} 와 같이 {{{%$}}} 다음에 공백이 최소 1개 있어야 한다. * MacTeX 2023에서 테스트 해보니 {{{%$xelatex}}}와 같이 공백없이 작성했는데도 동작한다. === 변수 === * {{{$texname}}}: {{{.tex}}} 확장자가 붙은 파일명 * {{{$basename}}}: {{{.tex}}} 확장자가 없는 파일명 * 사용자 변수를 만들 수 있다. {{{ %$ myoutputdir=build %$ xelatex -output-directory=$myoutputdir $basename }}} == 주의사항 == * Spix는 {{{%$ rm -rf /}}} 와 같이 '''위험한 명령을 막지 않는다'''. * Spix는 {{{%$ spix $texname}}} 와 같은 '''무한루프를 막지 않는다'''. * 여러 명령을 작성했을 때, '''첫 번째 명령이 실패해도 다음 명령들은 그대로 실행된다'''. 이것을 막고 싶으면 다음과 같은 방법을 사용할 수 있다. 1. {{{&&}}}로 연결하기 {{{ %$ latex $texname &&\ %$ bibtex $basename &&\ %$ latex $texname &&\ %$ latex $texname &&\ %$ dvipdf $basename }}} 2. {{{set -e}}} 사용하기 {{{ %$ set -e %$ latex $texname %$ bibtex $basename %$ latex $texname %$ latex $texname %$ dvipdf $basename }}} 3. 각 명령 나누기 {{{ %$ latex $texname % %$ bibtex $basename % %$ latex $texname % %$ latex $texname % %$ dvipdf $basename }}} === 예시 === 다음은 [[https://github.com/KoreanTUG/lshort-ko/blob/master/src/lshort-ko.tex|lshort-ko.tex]] 코드에서 [[arara]]로 작성된 부분을 spix로 변경한 예이다. {{{ %!TEX TS-program = SpiX %$ if [ -d "./build" ]; then echo "directory build exists"; else mkdir build; fi %$ xelatex -shell-escape -synctex=1 -output-directory=build $basename %$ komkindex -k -s kotex -o build/$basename.ind -t build/$basename.ilg build/$basename.idx %$ xelatex -shell-escape -synctex=1 -output-directory=build $basename }}} 컴파일 {{{ spix lshort-ko.tex }}} == 라이센스 == * GNU GPL3 == 참고 == * [[http://www.ktug.org/xe/index.php?document_srl=245475&mid=KTUG_open_board|Spix 소개]] * https://spix.readthedocs.io/en/latest/ * https://ctan.org/pkg/spix * {{{texdoc spix}}}