EDRSPIHCRSSRSS

spix

last modified: 2023-06-30 17:20:10 Contributors

특징

  • 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
      

예시

다음은 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