TeXShop(Mac)

TeXShop는 Richard Koch가 작성한 무료 오픈 소스 macOS 전용 TeX 환경입니다. Editor 및 PDF 미리보기는 하나의 창에 나란히 표시되며 MacTeX와 번들되어 /Applications/TeX/에 설치됩니다. 이는 이후 TeXworks가 모델링된 원본이기도 합니다. 이 페이지는 시작 시 가장 중요한 두 가지 사항, 즉 typeset 구성(문서를 컴파일하는 엔진)과 SyncTeX, 소스와 PDF 간 이동에 중점을 둡니다.

TeXShop가 무엇인가요?

TeXShop는 오레곤 대학의 수학자 Richard Koch가 2000년경부터 개발한 macOS 전용 애플리케이션입니다. 라이센스는 GPLv2(자유 소프트웨어)입니다. LaTeX 자체를 번들로 제공하지 않습니다. 별도로 설치된 TeX 배포판(pdflatex, lualatex, latexmk 등)의 명령을 뒤에서 실행하여 작동합니다. Mac에서는 MacTeX가 해당 TeX 엔진(TeX Live)과 TeXShop를 함께 설치하므로 별도의 설정 없이 바로 사용할 수 있다는 점이 매우 편리합니다.

MacTeX-2026은 TeX Live 2026을 전달하며 해당 GUI 애플리케이션(TeXShop와 TeX Live Utility, LaTeXiT, BibDeskhintView)을 /Applications/TeX/ 폴더에 배치합니다(TeX 엔진 자체는 /usr/local/texlive/2026/ 아래에 있음). MacTeX-2026은 Intel와 Apple Silicon 모두에서 macOS 11 Big Sur 이상을 지원하며 현재 TeXShop(v5.57, 2025년 10월)는 High Sierra에서 Tahoe까지 실행됩니다. 이는 오랫동안 정착되어 신뢰할 수 있는 선택입니다. 특히 macOS 26 Tahoe의 경우 TUG는 2026년 3월 2일 MacTeX-2026과 함께 출시된 Liquid Glass 지원이 포함된 특별 TeXShop 5.58도 제공합니다.

TeXShop는 이후 크로스 플랫폼 TeXworks를 직접 모델링한 편집기로도 알려져 있습니다. 두 가지 모두 동일한 간단한 느낌을 공유합니다. 왼쪽은 소스, 오른쪽은 PDF, 컴파일을 위한 Typeset 버튼 하나가 위쪽에 있으므로 TeXShop를 배우면 TeXworks로 거의 변경되지 않습니다.

조판 구성

TeXShop의 핵심은 창 상단에 있는 Typeset 버튼입니다. 이 키(또는 ⌘T)를 누르면 문서가 현재 엔진으로 컴파일되고 오른쪽에 PDF가 나타납니다. 다시 컴파일하기 전에 중간 파일을 지우려면 ⌥⌘T(Trash AUX 및 Typeset)를 사용하세요. 문서를 컴파일하는 엔진은 Typeset 버튼 바로 오른쪽에 있는 팝업 메뉴에서 선택됩니다.

이 팝업 목록은 엔진입니다. 기본적으로 LaTeX(latexdvipsps2pdf 경로로 PDF를 만듭니다), pdfLaTeX, LuaLaTeX, XeLaTeX 등을 선택할 수 있습니다. 이는 실제 파일로 뒷받침됩니다. TeXShop는 ~/Library/TeXShop/Engines/ 폴더의 .engine 파일을 읽고 각 파일을 메뉴 항목으로 표시합니다. 즉, 모든 엔진은 무료로 추가하거나 수정할 수 있는 짧은 쉘 스크립트입니다.

특히 빌드 도구 latexmk를 호출하는 엔진 제품군이 편리합니다. pdflatexmk, lualatexmkxelatexmk를 사용하면 latexmk는 참고문헌, 색인 및 상호 참조에 필요한 재실행을 자동으로 처리하므로 단일 서체로 PDF가 완성됩니다. 대조적으로, latexmk를 사용하지 않는 엔진(예: 일반 LuaLaTeX)은 상호 참조 및 목차가 확정되기 전에 Typeset을 두세 번 눌러야 할 수도 있습니다. TeXShop 내부에서 이러한 *latexmk 엔진은 처음에 Engines/Inactive/Latexmk/에 위치합니다. 하나를 사용하려면 Engines/로 이동하고 TeXShop를 다시 시작하세요.

팝업에서 선택한 엔진은 해당 문서에 대한 임시 선택입니다. 엔진을 기본값으로 설정하려면 TeXShop → Preferences → Typeset을 열고 “기본 명령”에서 원하는 엔진(pdfLaTeX 또는 LuaLaTeX 등)을 설정하세요. 그러면 새 문서가 해당 엔진으로 컴파일됩니다.

Mac에 정착하기 위한 세 가지 설정

MacTeX 및 TeXShop를 설치한 후 즉시 쓰기를 시작할 수 있습니다. 하지만 일본 보고서와 논문의 경우 원고가 커지기 전에 인코딩, 기본 엔진 및 재실행 처리를 해결하는 것이 좋습니다.

  • 소스 탭에서 기본 인코딩을 Unicode(UTF-8)로 설정합니다.
  • Typeset 탭에서 일상적인 엔진을 선택합니다. 새 일본어 프로젝트의 경우 LuaLaTeX, 상속된 템플릿의 경우 upLaTeX 계열을 선택합니다.
  • 목차, 상호 참조 또는 참고 문헌이 포함된 문서의 경우 latexmk 엔진을 사용하여 재실행을 자동화하세요.
  • 원고에 다른 설정이 필요한 경우 파일 상단에 % !TEX TS-program% !TEX encoding로 고정하세요.

안정적인 Mac 원고 기준선

TeXShop는 MacTeX와 즉시 작동하기 때문에 구성에 대한 고민 없이 작성을 시작하기 쉽습니다. 긴 일본어 원고의 경우 기준선에 처음 몇 분을 투자하면 나중에 보상을 받을 수 있습니다. 항목 파일, 엔진 및 인코딩을 명시적으로 만들고 latexmk 엔진을 사용하여 재실행을 자동화합니다.

latex
% !TEX TS-program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{ltjsarticle}
\begin{document}
\section{はじめに}
本文を書き始めます。
\end{document}
  • 새로운 일본어 원고의 경우 LuaLaTeX 경로와 upLaTeX 경로 중에서 일찍 선택하십시오.
  • 문서에 목차, 상호 참조 또는 참고 문헌이 있는 경우 원샷 엔진보다는 lualatexmk, pdflatexmk 또는 유사한 엔진을 사용하십시오.
  • 상속된 템플릿이 upLaTeX를 가정하는 경우 LuaLaTeX 마이그레이션을 강제하는 대신 해당 템플릿을 따르세요.
  • 하위 파일을 분할하기 전에 main.tex만으로 PDF가 한 번 생성되는지 확인하세요.

파일별 지시문(% !TEX 행)

문서당 엔진이나 문자 인코딩을 고정하려면 파일 상단에 배치된 % !TEX 줄(마법 주석)이 편리합니다. LaTeX에게는 단순한 주석(% 이후의 모든 내용은 무시됨)이지만 TeXShop는 주석을 읽고 동작을 조정합니다. 세 가지가 일반적으로 사용됩니다.

지시어기능
% !TEX root이 파일이 포함된 상위 파일의 이름을 지정하므로 \input/\include를 통해 분할된 하위 파일을 조판하면 마스터가 빌드됩니다.
% !TEX TS-program이 문서를 컴파일하는 엔진(프로그램)의 이름을 지정합니다. % !TEX program도 작동합니다
% !TEX encoding이 문서의 문자 인코딩 이름을 지정합니다. 기본 저장 인코딩을 재정의합니다.

예를 들어, 이 한 줄을 문서 상단에 배치하면 팝업 선택에 관계없이 해당 문서만 LuaLaTeX로 컴파일됩니다. 값은 단순히 엔진 이름(Engines/.engine 이름)입니다.

latex
% !TEX TS-program = lualatex
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\begin{document}
Hello, \LaTeX!
\end{document}

인코딩은 주의를 기울일 가치가 있습니다. 현재 TeXShop는 IsoLatin9의 공장 기본 인코딩으로 제공되므로 일본어를 있는 그대로 저장하면 왜곡됩니다. 기본 설정 → 소스 탭의 인코딩 부분에서 기본값을 “Unicode (UTF-8)”로 변경하거나, 위와 같이 각 파일에 % !TEX encoding = UTF-8 Unicode를 작성하는 것이 가장 안전합니다.

일본어용 엔진 설정

일본인에게는 두 가지 주요 도로가 있습니다. 하나는 LuaLaTeX입니다. Unicode를 직접 처리하고 시스템의 글꼴을 사용할 수 있으므로 새로운 시작을 위한 간단한 선택이 됩니다. 팝업에서 LuaLaTeX(또는 자동으로 완료되는 lualatexmk)를 선택하세요. 새 문서에서 항상 일본어 LuaLaTeX를 사용하도록 하려면 위에서 설명한 "기본 명령"을 LuaLaTeX로 설정하세요.

다른 하나는 upLaTeX + dvipdfmx이며, 이는 일본어의 표준입니다. TeXShop는 pTeX 및 upTeX 제품군에 대해 ptex2pdf(TeX Live와 함께 제공되는 Lua 스크립트)를 호출하는 엔진과 upLaTeX → dvipdfmx를 통해 latexmk를 구동하는 엔진을 제공합니다. 이러한 .engine의 본문은 대략 아래 한 줄입니다. -synctex=1를 포함하면 다음 작업에 설명된 SyncTeX도 만들어집니다.

terminal
#!/bin/sh
ptex2pdf -l -u -ot "-synctex=1 -file-line-error" "$1"

여기서 ptex2pdf -l -u는 "upLaTeX로 컴파일한 다음 dvipdfmx로 PDF를 만듭니다"를 의미하며 -ot는 추가 옵션을 엔진에 전달합니다. -file-line-error를 추가하면 오류가 "파일:줄"로 표시되므로 원인을 더 쉽게 찾을 수 있습니다. 일본어 문서도 UTF-8에 보관하고, 이전 섹션에 따라 기본 인코딩을 UTF-8로 설정하면 문제가 발생하지 않습니다.

SyncTeX(정방향 및 역방향 검색)

SyncTeX는 소스 라인을 PDF의 위치와 그 반대로 매핑합니다. 이것이 작동하면 정방향 검색(소스에 있는 줄에서 PDF의 일치 위치로 점프) 및 역방향 검색(PDF의 한 지점에서 해당 소스 줄로 뒤로 점프)이 가능합니다. 교정할 때 효과가 있습니다. "이 단락을 생성한 줄"에 대한 검색이 간단하게 사라집니다.

최신 TeXShop에서는 표준 엔진에 이미 -synctex=1가 포함되어 있으므로 SyncTeX는 기본적으로 켜져 있습니다(직접 만든 엔진을 사용할 때만 위의 예에서처럼 -synctex=1를 포함해야 한다는 것을 기억해야 합니다). 조판하면 동기화 파일(.synctex.gz)이 자동으로 생성됩니다.

동작은 놀랍도록 간단합니다. 어느 방향으로든 ⌘-클릭하면 됩니다. 미리보기에서 텍스트를 ⌘-클릭하면 해당 텍스트를 생성한 소스 줄로 돌아갑니다(역검색). 반대로 ⌘-소스를 클릭하면 PDF(정방향 검색)에서 해당 위치로 이동합니다. 긴 원고나 여러 파일의 프로젝트에서도 보고 있는 내용과 소스를 순식간에 정렬할 수 있습니다.