Sublime Text에 LaTeX를 작성하는 경우 표준 선택은 LaTeXTools 패키지입니다. 패키지 제어에서 설치하면 편집기를 떠나지 않고도 빌드 시스템, \ref/\cite 완성, 명령 완성, 파일 이름 완성 및 PDF 뷰어를 통한 양방향 점프를 얻을 수 있습니다. 이 페이지에서는 LaTeXTools 설치 및 구성, 빌드 작동 방식, 일본어용 구성, 완성 및 SyncTeX를 통한 정방향/역 검색을 안내합니다.
LaTeXTools가 무엇인가요?
Sublime Text는 TeX 자체를 조판하지 않습니다. 실제 컴파일은 컴퓨터(TeX Live, MacTeX 또는 MiKTeX)에 TeX 설치를 통해 수행됩니다. LaTeXTools는 둘을 연결하는 패키지입니다. .tex 파일을 편집하는 동안 빌드 명령, 오류가 표시된 로그 구문 분석, 컨텍스트 인식 완료, \labels 및 인용 키에 대한 정의로 이동, PDF 뷰어 시작/동기화를 자동으로 활성화합니다. LaTeXTools 자체로는 아무것도 생성하지 않습니다. 로컬 TeX 배포판과 PDF 뷰어를 가정합니다.
두 개의 외부 부품이 필요합니다. 먼저, TeX 배포: macOS의 MacTeX(더 가벼운 BasicTeX도 작동하지만 latexmk를 별도로 추가해야 합니다. 아래 참조). Windows의 MiKTeX 또는 TeX Live; Linux의 TUG에서 TeX Live. 둘째, PDF 뷰어: 정방향 및 역방향 검색을 활성화하기 위해 LaTeXTools는 플랫폼별 기본 뷰어를 가정합니다.
| OS | 기본 PDF 뷰어 | 메모 |
|---|---|---|
macOS | Skim | 정방향/역방향 검색을 지원합니다. 추가 구성으로 사용할 수 있는 Preview.app |
Windows | SumatraPDF | Windows에서 유일하게 지원되는 뷰어입니다. 경량, 동기화 가능 |
Linux | Evince | Okular, Zathura 등은 viewer 설정을 통해 선택 가능 |
설치는 패키지 제어(권장 방법)를 통해 진행됩니다. 아직 패키지 제어가 없으면 먼저 설치하십시오. 그런 다음 명령 팔레트(Windows/Linux의 Ctrl+Shift+P, macOS의 Cmd+Shift+P)를 열고 Package Control: Install Package를 선택한 다음 목록에서 LaTeXTools를 선택합니다. 다시 시작할 필요가 없습니다. .tex 파일을 열면 구문이 LaTeX로 전환되고 기능이 활성화됩니다.
그 후에 해야 할 일은 두 가지입니다. 먼저 설정 파일을 준비합니다. 명령 팔레트에서 LaTeXTools: 사용자 설정을 기본값으로 재설정을 실행하거나 기본 설정 | 패키지 Settings | LaTeXTools | Settings – 사용자, User 디렉토리에 편집 가능한 LaTeXTools.sublime-settings를 생성합니다(플러그인 폴더의 기본 파일을 편집하지 마십시오. 업그레이드 시 덮어쓰게 됩니다). 둘째, 설정을 확인합니다. LaTeXTools: 시스템 확인은 TeX 명령과 뷰어가 LaTeXTools에서 연결할 수 있는지 확인합니다. 무언가가 작동하지 않을 때 가장 먼저 실행되는 명령입니다.
건물
빌드는 Sublime Text의 표준 키인 Ctrl+B(macOS의 Cmd+B)에서 실행됩니다. 하나의 빌드로 기본 빌더(traditional)는 다음 작업을 모두 수행합니다. 현재 파일을 저장하고, TeX 빌드 명령을 호출하고, 로그를 구문 분석하고 하단 패널에 오류, 경고 및 (활성화된 경우) 불량 상자를 나열한 다음 PDF 뷰어를 열고 커서로 정방향 검색을 수행합니다. 패널에서 오류를 클릭하면 해당 라인으로 이동합니다.
중요한 사실은 traditional 빌더가 내부적으로 latexmk를 실행한다는 것입니다. 정확하게 말하면 TeX Live 및 MacTeX에서는 latexmk를 호출하고 MiKTeX에서는 texify를 호출합니다. latexmk는 무엇이 변경되었는지 파악하고 필요한 만큼 툴체인을 다시 실행하여 상호 참조와 목차가 확정될 때까지 반복을 처리합니다. 기본 명령줄은 대략 다음과 같습니다.
latexmk -cd -f -%E -interaction=nonstopmode -synctex=1읽는 중: -cd는 처리 전에 소스 디렉터리로 변경됩니다. -f는 오류 후에도 최대한 계속 작동합니다. -interaction=nonstopmode는 대화형 중지를 방지합니다. -synctex=1는 아래의 정방향/역방향 검색에 필요한 동기화 데이터를 내보냅니다. %E는 선택한 엔진에 따라 LaTeXTools가 -pdf(pdfLaTeX), -lualatex, -xelatex 등으로 대체되는 자리 표시자입니다. 따라서 엔진 선택은 %E가 확장하는 대상을 바꾸는 것과 같습니다.
엔진을 선택하는 가장 쉬운 방법은 파일 상단에 있는 마법의 댓글입니다. 이를 .tex의 첫 번째 줄에 넣으면 일치 엔진이 사용됩니다(이 항목이 없으면 pdfLaTeX). 다중 파일 프로젝트에서 이 줄은 루트(마스터) 파일에 들어갑니다. TeXShop 호환성을 위해 TS-program는 program 대신 작동합니다.
%!TEX program = lualatexpdflatex, lualatex 및 xelatex의 세 가지 값만 허용됩니다. 마찬가지로 %!TEX options = ...는 옵션을 엔진(예: --shell-escape)에 전달하고 %!TEX root = <master>는 루트 파일의 이름을 지정합니다. 매직 코멘트 대신 설정 파일이나 Sublime 프로젝트에서 이를 구성할 수도 있습니다. LaTeXTools.sublime-settings의 builder_settings 블록에서는 program(엔진), options, command 및 env(환경 변수)를 조정할 수 있습니다.
{
"builder_settings": {
"program": "lualatex",
"options": ["--shell-escape"]
}
}또 다른 필수 요소는 texpath 설정입니다. latexmk 및 친구들을 호출할 때 LaTeX 명령을 찾는 데 사용되는 PATH입니다. 특히 macOS에서는 GUI에서 시작된 Sublime Text가 쉘과 다른 PATH를 가지므로 "명령을 찾을 수 없음"과 함께 잘못된 값이 실패합니다. 규칙: texpath에는 $PATH가 포함되어야 합니다(자신의 경로가 먼저, 그 다음 $PATH가 포함되어야 함). 일반적인 macOS 값은 "/Library/TeX/texbin:$PATH"입니다. Windows에서는 "C:\\texlive\\2026\\bin\\windows;$PATH"와 같은 것이 설치에 맞게 조정됩니다. Windows에서는 배포판과 일치하도록 distro를 "texlive" 또는 "miktex"로 설정합니다.
traditional가 충분하지 않은 경우 builder 설정을 사용하면 basic(엔진과 bibtex/biber를 실행하는 최소 빌더) 또는 script(script_commands에 고유한 명령 시퀀스를 작성하는 고급 빌더)로 전환할 수 있습니다. --output-directory, --aux-directory 및 --jobname는 latexmk(OS X/Linux의 traditional 빌더), basic 또는 script에서만 작동하며 MiKTeX의 texify에서는 무시됩니다.
일본어로 구성
일본 사용자들이 자주 실수하는 부분이 바로 여기입니다. %!TEX program는 pdflatex, lualatex 및 xelatex만 허용합니다. uplatex 또는 platex의 이름을 직접 지정할 수는 없습니다. LuaLaTeX로 일본어를 조판하는 경우 간단합니다. %!TEX program = lualatex를 작성하고 luatexja/ltjsclasses-family 클래스를 사용하세요.
반면에 upLaTeX + dvipdfmx(DVI를 빌드한 다음 이를 PDF로 변환하는 과학의 고전적인 일본 종이 조합)를 사용하려면 가장 깔끔한 접근 방식은 .latexmkrc가 엔진을 선택하도록 하는 것입니다. traditional 빌더는 내부적으로 latexmk를 호출하여 프로젝트에 .latexmkrc를 배치합니다. 디렉토리(또는 홈 디렉토리)는 LaTeXTools의 자체 설정을 거의 변경하지 않고 툴체인을 일본어 처리로 전환합니다. 다음은 upLaTeX + dvipdfmx 예입니다.
$latex = 'uplatex -synctex=1 -interaction=nonstopmode -file-line-error %O %S';
$bibtex = 'upbibtex %O %B';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
$max_repeat = 5;핵심 사항: uplatex를 $latex에 할당하고 dvipdfmx를 $dvipdf에 할당한 다음 $pdf_mode = 3를 설정하여 "DVI를 빌드한 다음 dvipdfmx를 사용하여 PDF로 변환" 경로를 선택합니다. -synctex=1를 $latex에 전달하면 DVI를 통해서도 SyncTeX 데이터가 PDF로 전달되므로 아래 검색이 작동합니다. LaTeXTools 측에서는 %!TEX program 줄을 작성하지 않는 것이 가장 안전합니다(그렇게 하면 pdfLaTeX %E가 선택됩니다).
더 명확하게 하려면 builder_settings의 command 키를 통해 직접 latexmk의 이름을 지정할 수 있습니다. "command": "latexmk"를 작성하면(.latexmkrc에 -pdfdvi와 같은 옵션 유지) 일본어로 구성된 latexmk 실행이 보장됩니다. command를 사용자 정의하면 %!TEX program를 통한 엔진 자동 선택이 비활성화되지만, 일본 워크플로처럼 .latexmkrc의 툴체인을 수정하는 설정에서는 손실이 없습니다.
완료
LaTeXTools' 완성은 명령 완성, \ref/\cite 완성 및 파일/패키지 이름 완성(채우기 도우미)의 세 가지 계열로 분류됩니다. 먼저 명령 완성입니다. LaTeXTools는 TeXStudio-derived 완성 단어 목록(CWL)을 제공하며 \로 명령을 시작하자마자 후보 팝업을 표시합니다. 예를 들어 \te를 입력하면 \textit 등이 나타납니다. 동작은 command_completion 설정 — prefixed(기본값, 단어가 \로 시작하는 경우에만), always 또는 never에 의해 제어됩니다. 문서에 로드된 패키지의 후보는 cwl_autoload(기본적으로 켜져 있음)를 통해 자동으로 추가됩니다. env_auto_trigger를 활성화하면 \begin{/\end{도 입력하면 환경 이름이 완성됩니다.
다음으로 참조 및 인용 완성 — LaTeXTools의 하이라이트 중 하나입니다. 기본적으로 \ref{ 또는 \cite{를 입력하는 순간 빠른 패널(후보 목록)이 화면 상단에 나타납니다. \ref{의 경우 문서의 모든 \labels입니다. \cite{의 경우 \bibliography{} 또는 biblatex의 \addbibresource{}를 통해 참조하는 참고문헌의 모든 항목입니다. 퍼지 필터링할 문자 몇 개를 입력하고 선택하고 Enter 키를 누르면 전체 명령이 삽입됩니다. \ref{my-label}. \cite{paper1,에서와 같이 닫는 중괄호 바로 앞에 쉼표를 입력하고 동일한 방식으로 다중 인용의 두 번째 및 이후 키를 선택합니다.
두 가지 주의 사항. 먼저 LaTeXTools는 저장된 파일에서 후보를 수집합니다. 방금 추가한 라벨이나 키가 표시되지 않으면 먼저 저장하세요. 둘째, 외부 .bib 파일만 지원됩니다. 인라인으로 작성된 \bibitems는 지원되지 않습니다. 이 자동 트리거가 방해가 된다고 느껴지면 토글이나 설정으로 이를 끕니다. 수동으로 호출하려면 Ctrl+l, x(macOS의 Cmd+l, x) 또는 \ref{ 바로 뒤의 Ctrl+l, Ctrl+f 등을 누르십시오(아래 채우기 도우미와 동일한 키이며 \ref/\cite에서도 작동함). Cleveref, fancyref, varioref, natbib 및 biblatex의 참조 및 인용 명령도 인식됩니다.
세 번째는 채우기 도우미입니다. \usepackage{, \include{, \input{, \includegraphics{ 등을 입력하면 사용 가능한 패키지 또는 파일 목록이 제공됩니다. 즉, \usepackage{용으로 설치된 패키지와 파일 명령용 현재 디렉터리의 파일(\includegraphics용 이미지 파일로 필터링됨)입니다. 이것도 기본적으로 자동으로 표시되거나 Ctrl+l, Ctrl+f를 사용하여 수동으로 호출됩니다. 준비 작업의 한 부분은 패키지 완성입니다. 명령 팔레트에서 LaTeXTools: LaTeX 패키지용 캐시 빌드를 한 번 실행하여 패키지 캐시를 빌드합니다.
SyncTeX(정방향/역방향 검색)
SyncTeX는 소스 라인과 PDF의 위치 사이의 대응 관계를 기록하여 편집 위치에서 PDF로 점프하는 정방향 검색과 PDF의 한 위치에서 소스 라인으로 다시 이동하는 역 검색을 가능하게 합니다. LaTeXTools' 기본 빌드 명령에는 -synctex=1가 포함되어 있으므로 일반 Ctrl+B 빌드는 동기화 데이터(.synctex.gz)를 내보냅니다. DVI를 통한 일본어의 경우 위에서 언급한 것처럼 -synctex=1를 .latexmkrc의 $latex로 전달하는 것이 중요합니다. 이것이 어떻게 작동하는지에 대한 배경은 SyncTeX 페이지에서 다룹니다.
정방향 검색은 LaTeXTools 키에서 실행됩니다. .tex를 편집하는 동안 Ctrl+l, j(macOS의 Cmd+l, j)를 누르면 커서와 일치하는 PDF 페이지가 표시됩니다. 정방향 검색도 빌드 직후 자동으로 실행되므로 Ctrl+B만으로도 올바른 지점이 열립니다. (Ctrl+l는 일반적으로 "선택 항목을 줄로 확장"하지만 LaTeXTools가 활성화된 .tex 파일의 경우 Ctrl+l, Ctrl+l로 다시 매핑되어 플러그인 명령의 접두사로 Ctrl+l를 해제합니다.) 동기화하지 않고 PDF만 열려면 Ctrl+l, v를 사용하세요.
역검색(PDF → 소스)에서는 시청자가 Sublime Text로 다시 전화해야 합니다. 클릭 동작은 시청자마다 다릅니다.
- Skim (macOS) — PDF의
Cmd+Shift+click. - SumatraPDF (Windows) — PDF를 더블클릭하세요.
- Evince (Linux) — PDF에서
Ctrl+왼쪽 클릭(Okular:Shift+왼쪽 클릭; Zathura:Ctrl+왼쪽 클릭).
macOS — Skim에서는 Skim의 환경 설정에서 역검색을 활성화합니다. 환경 설정 → 동기화 탭을 열고 "파일 변경 사항 확인"을 선택 취소한 다음 "Sublime Text" 사전 설정을 선택하기만 하면 됩니다. 사전 설정이 없는 이전 Skim 빌드에서는 "Custom"을 선택하고 Command를 subl(/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl)의 절대 경로로 설정하고 Arguments를 "%file":%line로 설정합니다.
Windows — SumatraPDF에서 먼저 SumatraPDF를 PATH에 추가하면 LaTeXTools가 쉽게 찾을 수 있습니다. 역검색 설정 UI는 동기화 데이터(.synctex.gz)가 있는 PDF를 열 때만 나타납니다. 따라서 Ctrl+B로 한 번 빌드하고 수마트라에서 PDF를 열고 Settings → 옵션에서 아래 역검색 명령줄을 등록합니다(설치에 맞게 ST 경로 조정).
"C:\\Program Files\\Sublime Text\\sublime_text.exe" "%f:%l"지원이 부족한 뷰어의 경우 정방향 검색 키(Ctrl+l, j)는 단순히 "PDF 열기"처럼 작동합니다. 역검색이 오작동하는 경우 빌드가 -synctex=1로 실행되었는지, 뷰어의 사전 설정/명령이 올바른지, LaTeXTools: Check System를 통해 sublime_executable(subl의 위치)가 표시되는지 순서대로 확인하세요.
첫 번째 통과 LaTeXTools 확인
- 첫 번째 확인:
LaTeXTools: Check System를 실행하고 TeX 명령, PDF 뷰어 및subl실행 파일이 표시되는지 확인합니다. - 일본어 문서 결정: LuaLaTeX에
program = lualatex를 사용합니다. upLaTeX의 경우%!TEX program를 생략하고 경로를.latexmkrc에 넣습니다. - 실패할 경우:
Ctrl+B에서 명령이 누락되었다고 표시되면texpath를 검사하세요. 참조가 업데이트되지 않으면 저장하고 다시 빌드하세요. PDF-to-source가 실패하면 뷰어 역검색 설정을 확인하세요. - 프로젝트로 만드는 경우: 그림이나 장 파일이 많아지면 마스터를 Sublime 프로젝트 또는
%!TEX root로 고정하여 모든 탭의Ctrl+B가 동일한 PDF를 대상으로 하도록 합니다.