기타 편집기

1993년, 알렉산데르 시모니치는 마음에 드는 TeX 프런트엔드를 찾지 못해 Windows 3.1용으로 직접 쓰기 시작했습니다. 그것이 WinEdt이고, 1995년 셰어웨어로 CTAN에 올라간 뒤 30년이 지난 지금도 유료로 살아 있습니다. LaTeX을 쓰기 위한 편집기는 “없어서 만들었다”는 도구와, 평소 쓰는 범용 편집기에 플러그인을 얹은 길의 두 갈래로 나뉩니다. 이 페이지는 자기 페이지가 없는 편집기들——WinEdt, WinShell, JetBrains 계열, Notepad++, Kate, GNOME Text Editor, EmEditor, 사쿠라 에디터, 그리고 Typora 같은 마크다운 혼합체——을 한눈에 훑고, 끝에서 어떻게 고를 것인가를 기능 목록이 아니라 네 가지 조건으로 정리합니다.

편집기는 조판하지 않습니다——먼저 정할 것은 배포판

여기 드는 것들은 하나도 빠짐없이 편집기이지 TeX 시스템이 아닙니다. 실제로 조판하는 것은 따로 설치한 TeX Live·MiKTeX·MacTeX이고, 편집기는 그것을 불러 PDF를 만들게 할 뿐입니다. 그래서 “어느 편집기를 쓸 것인가”와 “어느 처리계를 넣을 것인가”는 별개의 물음이며, 게다가 뒤쪽을 먼저 정리해야 합니다. 이 순서를 틀리면 편집기 설정 화면에서 아무리 씨름해도 PDF는 나오지 않습니다. 나오지 않는 원인이 편집기 바깥에 있기 때문입니다.

Windows 전용 프런트엔드——WinEdt와 WinShell

WinEdt는 Windows 전용 유니코드 텍스트 편집기로, 이 플랫폼에서 오랫동안 TeX 프런트엔드의 표준이었습니다. 단독 편집기로도 쓸 수 있지만 진가는 TeX Live나 MiKTeX와 촘촘히 맞물리도록 만들어졌다는 데 있습니다. 도구 모음 버튼 하나로 pdflatex이나 platex을 돌리고, 자동 완성·맞춤법 검사·프로젝트 관리·정규식 치환까지 갖췄습니다. 걸리는 것은 라이선스로, 셰어웨어라 시험 사용 뒤 계속 쓰려면 등록비가 듭니다. 무료 선택지가 이만큼 갖춰진 시대에 유료라는 점은 고민거리지만 개발은 이어지고 있고 11 계열이 현행입니다.

WinShell은 거의 같은 자리를 차지하면서 무료인 Windows용 LaTeX 통합 환경입니다. 텍스트 편집기·구문 강조·프로젝트 관리·맞춤법 검사·표 마법사·BibTeX 연동·유니코드 지원을 두루 갖췄고 도구 모음에서 처리계를 부릅니다. 소스를 공개하지 않는 바이너리 배포 프리웨어이지만, 유료인 WinEdt에 대한 든든한 무료 대안으로 지금도 통합니다. 둘 다 조판 엔진을 포함하지 않으므로 절차는 같습니다. 먼저 MiKTeX이나 TeX Live를 넣고, 편집기 쪽에 명령의 위치를 알려 줍니다.

이미 쓰는 편집기에 플러그인 얹기——TeXiFy IDEA와 NppExec

TeX 전용이 아닌 평소 편집기라도 구문 강조빌드 호출만 마련하면 LaTeX을 충분히 쓸 수 있습니다. 길은 둘입니다. 플러그인이 자동 완성·PDF 미리보기·정방향과 역검색까지 챙겨 주는 “두꺼운” 길과, 편집기의 외부 명령 기능에서 latexmk를 두드리기만 하는 “얇은” 길입니다. 얇은 길은 5분이면 짜이지만, 오류 행으로의 이동과 PDF와의 동기화는 스스로 배선해야 합니다.

두꺼운 길의 대표는 JetBrains의 IDE(IntelliJ IDEA 등)에 TeXiFy IDEA를 얹는 것입니다. 구문 강조, 레이블·명령·환경·파일 이름의 자동 완성, 내장 PDF 뷰어, BibTeX(.bib) 지원까지 갖춰 IntelliJ의 조작감을 그대로 LaTeX으로 옮겨 옵니다. 평소 프로그래밍으로 JetBrains에 살고 있는 사람에게는 자연스러운 선택이며, IntelliJ IDEA에는 무료 Community 판이 있습니다. 얇은 길의 대표는 Notepad++와 NppExec입니다. 바탕이 되는 Scintilla 라이브러리 덕에 Notepad++는 TeX 파일에 구문 색을 입히지만, 기본으로는 수식 환경까지 칠하지 않습니다(사용자 정의 언어로 메울 수 있습니다). 빌드는 NppExec으로 F6 같은 키에 명령을 걸고 결과를 콘솔에 내보내며 오류 행에 색을 입히는 구성이 정석입니다.

역사의 기록으로 Atom도 적어 둡니다. GitHub가 만든 이 편집기에도 LaTeX용 패키지가 있었지만 2022년 12월 15일 개발이 끝나고 보관 처리되었습니다. 기술적으로는 후예인 Electron과 VS Code에 자리를 내준 셈입니다. 지금 설정을 찾다가 Atom 글에 닿더라도 거기서 시작해서는 안 됩니다. 같은 조작감을 원한다면 VS Code로 옮기십시오.

Kate와 GNOME Text Editor——리눅스 데스크톱의 기본 편집기

KDE의 Kate로 LaTeX을 쓸지 망설이고 있다면, 알아 두면 이야기가 빨라지는 사실이 하나 있습니다. Kile의 편집 화면 속은 Kate와 같은 것입니다. Kate의 편집 기능은 KatePart(KTextEditor 인터페이스)라는 구성 요소로 떼어져 있고, KWrite도 KDevelop도, 그리고 Kile도 이것을 심어 씁니다. 곧 “Kate로 LaTeX을 쓴다”와 “Kile을 쓴다”의 차이는, 같은 편집 화면 둘레에 LaTeX용 발판——빌드 설정, 서식, 구조 트리, Okular 연동——이 이미 서 있느냐뿐입니다. Kate만으로도 구문 강조와 외부 명령 실행은 되지만 발판은 직접 짜야 합니다. KDE를 쓴다면 순순히 Kile로 가는 것이 지름길입니다.

GNOME 쪽 사정은 조금 쓸쓸한 방향으로 흘렀습니다. 오랫동안 기본이었던 gedit는 그 힘의 대부분을 플러그인 무리에 빚지고 있었고, LaTeX용 플러그인도 그중 하나였습니다. 그런데 2022년 3월의 GNOME 42에서 기본 자리는 GNOME Text Editor로 넘어갑니다. gedit를 새 디자인 지침(libadwaita)에 맞추려면 대대적인 재작성이 필요하다는 판단에서 후계자는 처음부터 새로 쓰였고, 초기에는 플러그인 구조를 물려받지 않았습니다. gedit 자체는 지금도 있지만, “데스크톱 기본 편집기에 플러그인을 얹어 LaTeX을 쓴다”는 길은 GNOME에서 가늘어졌습니다. GNOME 환경에서 LaTeX을 쓴다면 전용 편집기나 VS Code 계열로 기우는 편이 확실합니다.

일본어 원고를 익숙한 편집기로——EmEditor와 사쿠라 에디터

일본에서는 국산이면서 일본어에 강한 편집기를 모함으로 삼는 흐름이 뿌리 깊습니다. EmEditor는 거대한 파일도 가볍게 다루는 Windows용 편집기로, 초기부터 TeX(LaTeX)용 색 설정이 마련되어 있습니다(무료판과 유료 Professional 판이 있습니다). 사쿠라 에디터는 무료로 인기 있는 국산 편집기로, 매크로 기능의 ExecCommand 따위에서 platex을 부르고 이어서 DVI 뷰어를 여는 빌드 자동화가 오래전부터 공유되어 왔습니다. 둘 다 “일본어를 치는 환경은 바꾸지 않고 빌드만 밖으로 던진다”는 쓰임새에 맞습니다. 뒤집어 말하면 자동 완성·상호 참조 보조·문헌 데이터베이스 연동은 처음부터 기대하지 않는다는 각오이기도 합니다. 다만 한 가지는 정해 두는 편이 좋습니다. 일본어 경로——upLaTeX에서 dvipdfmx로, 또는 LuaLaTeX——를 편집기 설정이 아니라 프로젝트 쪽 .latexmkrc에 적어 두는 것입니다. 그래야 공저자가 다른 편집기를 열어도 같은 PDF가 나옵니다.

Typora 같은 마크다운 계열이 LaTeX을 대신할 수 있는가

짧은 답은 “수식의 겉모습이라면 대신할 수 있지만 조판으로는 대신할 수 없다”입니다. Typora 같은 마크다운 편집기는 $E=mc^2$를 치면 그 자리에서 수식으로 그려 주지만, 그것을 그리는 것은 TeX이 아니라 MathJax나 KaTeX 같은 브라우저용 수식 렌더러입니다. 줄바꿈, 그림·표의 배치, 상호 참조, 문헌 목록처럼 LaTeX이 책 한 권을 위해 갖춘 장치는 거기에 들어 있지 않습니다. 화면에서 수식이 예쁘게 보이는 것과 200쪽짜리 책이 제대로 조판되는 것은 다른 이야기입니다.

실제로 PDF를 만들 단계가 되면 이 계열은 Pandoc을 부릅니다. Pandoc은 마크다운을 LaTeX으로 바꾸고 그 LaTeX을 TeX 엔진에 넘겨 PDF를 만듭니다. Typora의 경우 평범한 PDF 내보내기에는 Pandoc이 필요 없지만(내부 HTML을 거치는 경로가 있습니다), LaTeX을 거치는 내보내기나 .tex·docx·EPUB로의 변환에는 Pandoc을 따로 설치해야 합니다. 게다가 Typora는 마크다운을 직접 변환하지 않고 내부의 추상 구문 트리를 Pandoc에 넘기는 구조입니다. 따라서 이 길을 고르면 익혀야 할 것은 “LaTeX의 표기”가 아니라 “Pandoc의 마크다운 방언과 서식·메타데이터 쓰는 법”이 됩니다. 편해지는 것이 아니라 익힐 대상이 바뀔 뿐이라고 이해해 두는 편이 정확합니다.

한눈에 견주기

각 편집기의 됨됨이와 LaTeX과 이어지는 방식을 늘어놓습니다. 마지막 열을 가로로 읽으면 공통점이 뚜렷합니다. 모두 따로 설치한 처리계를 불러 PDF를 만듭니다. 다른 것은 발판의 두께와, 그 발판을 누가 짜느냐입니다.

편집기플랫폼LaTeX을 다루는 방식
WinEdtWindows전용 TeX 프런트엔드. 셰어웨어. TeX Live / MiKTeX와 긴밀히 통합
WinShellWindows무료 TeX 통합 환경. 구문 강조·BibTeX 연동·처리계 호출
IntelliJ IDEA + TeXiFy IDEAWindows / macOS / Linux플러그인이 자동 완성·PDF 뷰어·BibTeX 제공. JetBrains 상용자용
Notepad++Windows구문 강조 기본 제공(수식 환경 제외). NppExec 플러그인으로 빌드
KateLinux 등편집 부품 KatePart는 Kile 속의 것과 같음. 발판은 직접 구성
GNOME Text EditorLinuxGNOME 42에서 gedit를 대체한 기본 편집기. LaTeX용 발판은 없음
EmEditorWindows일본에서 인기. TeX용 색 설정 제공. 외부 명령으로 빌드(무료판·유료판)
Sakura EditorWindows무료이며 일본에서 인기. 매크로에서 platex 등을 불러 빌드
TyporaWindows / macOS / Linux마크다운에 화면 수식 렌더링. LaTeX을 거친 내보내기에는 Pandoc 필요
Atom—(2022년 12월 보관)역사적 존재. 새로 시작한다면 VS Code로

어떻게 고를 것인가——기능 목록이 아니라 네 가지 조건으로

범용 편집기를 고를 때의 실무적 기준은 기능의 많고 적음이 아니라 원고를 멈추지 않게 하는 네 가지입니다. 저장하면 매번 같은 빌드 명령이 돌 것. 오류가 나면 해당 행으로 돌아갈 수 있을 것. PDF가 저절로 갱신될 것. 그리고 설정이 편집기 안에만이 아니라 프로젝트 쪽의 .latexmkrc나 빌드 파일에 남을 것. 네 번째가 특히 힘을 씁니다. 설정이 편집기 안에만 있으면 공저자의 환경이나 자기 다른 컴퓨터에서 같은 PDF가 나오지 않아, 마감을 앞두고 원인을 찾아 헤매게 되기 때문입니다. 이 네 가지를 채울 수 없다면 전용 편집기로 옮기는 편이 결국 더 빨리 쓰게 해 줍니다.

  • Windows에서 TeX 전용의 손맛을 곧바로 원한다: 무료인 WinShell, 또는 잘 다듬어진 유료 WinEdt.
  • 평소의 개발 환경을 그대로 쓰고 싶다: JetBrains 파는 TeXiFy IDEA. 가볍게 끝내고 싶다면 Notepad++에 NppExec.
  • 리눅스 데스크톱을 쓴다: KDE라면 Kile로(편집 부품이 곧 Kate입니다). GNOME이라면 플러그인 의존을 피하고 전용 편집기나 VS Code 계열로.
  • 일본어 원고를 익숙한 편집기로 치고 싶다: EmEditor나 사쿠라 에디터에 외부 명령을 심고, 자동 완성과 상호 참조 보조는 없다는 전제로.
  • macOS에서 고민하고 싶지 않다: TeXShop이 표준적인 출발점이며 자기 페이지가 있습니다.
  • 특별한 애착이 없다: 무료·다기능·크로스 플랫폼에 개발이 활발한 VS Code(LaTeX Workshop)나, TeX 전용으로 만들어진 TeXstudio로 시작하는 편이 무난합니다.

끝으로 갈아탈 시점에 대하여. 참조 자동 완성, 문헌 자동 완성, SyncTeX 배선에 쓰는 시간이 실제로 글을 쓰는 시간보다 길어졌다면 그 편집기는 이 일에 맞지 않습니다. 그때는 VS Code, TeXstudio, Emacs, Vim 같은 전용 도구로 옮기십시오. 여기 든 선택지들이 이기는 지점은 오직 하나, “이미 익숙한 환경을 버리지 않아도 된다”는 것뿐입니다. LaTeX을 쓰기 위한 기능 자체로 이기는 것이 아닙니다. 그 익숙함이 마찰을 상쇄하지 못하게 된 순간이 갈아탈 때입니다.