> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ko/in-depth-articles/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

# 이름에 무엇이 있는가: TeX의 다양한 종류에 대한 안내

## 소개

“TeX”, “LaTeX”, “pdfLaTeX” 또는 비슷하게 들리는 수많은 용어 중 하나를 들어 보거나 읽어 보았지만, 그것들이 실제로 무엇을 의미하는지는 잘 모르시나요? 그렇다면 이 글이 도움이 될 것입니다. TeX 기반 소프트웨어의 다양한 변형이 무엇을 의미하며 왜 존재하는지를 설명하는 비기술적 배경 설명입니다. 우선은 논의를 단순화하기 위해 일반 용어인 “TeX”를 사용하겠지만, 뒤에서 LaTeX, pdfTeX, pdfLaTeX, XeTeX, XeLaTeX, LuaTeX, LuaLaTeX 등 여러 파생형과 변형의 맥락 및 의미를 설명하겠습니다. Overleaf의 메뉴에서 선호하는 “컴파일러”를 선택할 수 있는 곳에 이러한 용어 중 일부가 표시된 것을 보셨을 수도 있습니다:

![Overleaf에서 LaTeX 컴파일러 선택하기](/files/e3f9462c3936436e80692085104250217c2ac4ee)

숙련된 TeX 사용자이거나 그 생태계에 익숙하지 않다면, 수많은 “TeX 변종”은 혼란스러울 수 있습니다. 그러나 이 글을 마칠 때쯤에는 TeX 기반 용어에 정통한 동료, 저자 또는 학술지 편집자와 소통할 때 훨씬 더 잘 이해하고 편안함을 느끼게 될 것입니다.

### 맥락: 40년의 발전

TeX의 뿌리는 1970년대 후반으로 거슬러 올라가며, 그 탄생 이후 수십 년 동안 원래 TeX 프로그램에 비해 상당한 개선과 추가 기능을 제공하는 수많은 TeX 기반 조판 프로그램이 개발되었습니다. STM 출판을 처음 접하거나 이를 직업으로 고려하는 사람들은 기원이 약 40년 전인 조판 소프트웨어가 기술 저자들 사이에서 여전히 널리 사용되고 있으며, Overleaf와 같은 서비스를 통해 많은 현대 출판 워크플로의 핵심 구성 요소를 이룬다는 사실에 놀랄 수 있습니다.

### TeX는 수학만을 위한 것이 아닙니다

TeX의 사용이 과학 및 기술 분야, 특히 복잡한 수학의 조판으로 제한된다는 것은 흔하지만 이해할 만한 오해입니다. 이러한 분야에서 가장 많은 사용자를 보유하고 있지만, TeX 기반 소프트웨어는 높은 출력 품질과 놀라운 다목적성 때문에 비수학적 콘텐츠 제작에도 널리 사용됩니다. 수학 조판 외에도 최신 버전의 TeX(XeTeX 및 LuaTeX)는 현대 글꼴 기술(OpenType), 유니코드 기반 텍스트 입력, OpenType 기반 수학 글꼴(Microsoft Word가 선도적으로 도입), 다국어 조판(아랍어 및 기타 복합 문자 포함), PDF 직접 출력 등을 지원합니다. 예를 들어, 다음은 XeTeX의 [복합 문자 언어를 사용한 다국어 조판](https://www.overleaf.com/latex/examples/how-to-write-multilingual-text-with-different-scripts-in-latex/wfdxqhcyyjxz)입니다. 여기에는 아랍어, 산스크리트어, 힌디어, 중국어, 일본어, 한국어, 그리스어 및 태국어가 포함됩니다. 또는 요리에 관심이 있다면, 다음을 만들어 보는 것은 어떨까요? [레시피 소책자](https://www.overleaf.com/latex/examples/simple-recipes-for-first-time-away-from-home-cooks/gscqdhnwzsfg)?

## TeX의 탄생: 간략한 역사

미국의 역사학자 [Daniel J. Boorstin](https://en.wikipedia.org/wiki/Daniel_J._Boorstin) 은 한때 다음과 같이 말했습니다:

> “역사의식 없이 미래를 계획하려는 것은 꺾은 꽃을 심으려는 것과 같다.”

이 인용문의 정신에 따라 TeX의 간략한 역사부터 시작하겠습니다. TeX는 어디에서 왔으며, 누가 만들었고, 왜 만들었을까요?

1977년 3월 30일, 스탠퍼드 대학교의 컴퓨터 과학자 Donald Knuth 교수의 일기에는 그의 책 시리즈 제2권을 위해 방금 받은 조판 교정쇄의 품질에 대한 불만을 나타내는 다음 기록이 남았습니다. *컴퓨터 프로그래밍의 예술*:

> “제2권의 갤리 교정쇄가 마침내 도착했는데, 끔찍해 보인다… (조판 면에서). 이 문제는 내가 직접 해결해야겠다고 결심한다.”

위 인용문은 다음 책의 482쪽에서 가져온 것입니다. [디지털 타이포그래피](https://www.amazon.co.uk/Digital-Typography-Language-Information-Publication/dp/1575860104) Donald E. Knuth 저. Knuth 교수의 일기에 남은 그 짧은 기록은 수년간 이어진 프로그래밍 여정의 촉매제가 되었으며, 정교하게 조판된 수학과 아름답게 조판된 텍스트를 만들어 낼 수 있는 조판 소프트웨어의 탄생으로 이어졌습니다. Knuth는 이 프로그램의 이름을 *TeX*.

Knuth는 뛰어난 컴퓨터 과학자이며, TeX를 개발하면서 그와 동료들은 매우 복잡한 조판 문제를 해결하기 위한 새롭고 정교한 알고리즘을 설계했습니다. 여기에는 다음이 포함됩니다. [자동 줄바꿈](http://onlinelibrary.wiley.com/doi/10.1002/spe.4380111102/abstract), [하이픈 처리](http://www.tug.org/docs/liang/liang-thesis.pdf) 그리고 물론 [수학 조판](http://www.tug.org/TUGboat/tb27-1/tb86jackowski.pdf)입니다. TeX를 개발하는 과정에서 Knuth는 조판 소프트웨어에 사용할 글꼴이 필요했기 때문에 MetaFont라는 자체 글꼴 기술을 개발했습니다. 다만 여기에서는 이를 자세히 다루지 않겠습니다.

### TeX는 큰 성공을 거두었습니다

TeX의 인기에는 다음을 비롯한 여러 이유가 기여했습니다:

* *고품질 조판*: TeX에 내장된 정교한 알고리즘에 더해, Knuth의 극도로 세심한 타이포그래피적 주의 덕분에 TeX는 매우 높은 품질의 수학 및 텍스트 조판을 생성할 수 있었습니다.
* *TeX는 프로그래밍할 수 있습니다*: Knuth는 TeX에 자체 프로그래밍 언어를 부여했습니다. 사용자는 “TeX 매크로”(TeX 명령어 모음)를 작성할 수 있었으며, 이를 통해 TeX의 조판 과정을 상당히 세밀하게 제어할 수 있었습니다. TeX의 프로그래밍 가능성은 중요한 주제이며 아래에서 더 자세히 다루겠습니다.
* *TeX는 무료입니다*: Knuth는 소스 코드(즉, 프로그램 코드)를 포함하여 TeX를 무료로 제공했습니다.
* *이식성*: Knuth는 TeX의 내부 설계를 매우 높은 이식성을 갖추고 다양한 컴퓨터 시스템에서 실행될 수 있도록 설계했습니다. 동일한 입력이 주어지면 TeX는 실행되는 시스템에 관계없이 동일한 줄바꿈과 페이지 나눔을 포함한 동일한 출력을 생성했습니다.

TeX를 통해 수학자, 물리학자, 컴퓨터 과학자 등이 자신의 작업물 조판과 시각적 외관을 정밀하게 제어할 수 있게 되었기에 저자들은 매우 기뻐했습니다. 저자들은 TeX로 논문이나 책을 작성하고 원고(TeX 파일)를 출판사에 제출하면서, 적어도 자신의 교정쇄가 1977년 Knuth의 교정쇄와 같은 운명을 겪지는 않을 것이라는 다소 더 큰 확신을 가질 수 있었습니다.

## Knuth는 여전히 TeX를 관리하지만, 새로운 “버전”들이 발전해 왔습니다

1980년대에 Knuth는 소프트웨어의 장기적 안정성을 보장하고자 TeX의 적극적인 개발을 동결하기로 결정했습니다. 즉, TeX에는 새로운 기능을 추가하지 않기로 했습니다. 1989년에 Knuth는 [마지막 한 차례의 변경](https://www.tug.org/TUGboat/tb10-3/tb25knut.pdf) 을 TeX에 적용하도록 설득되었는데, 주로 7비트 문자 집합에서 8비트 문자 집합으로 전환하기 위한 것이었습니다. 1990년 Knuth는 다음 제목의 글을 발표했습니다. [TeX와 MetaFont의 미래](https://www.tug.org/TUGboat/tb11-4/tb30knut.pdf) 에서 그는 TeX(및 관련 소프트웨어)의 개발은 끝났지만, 다른 사람들이 그가 수행한 작업을 기반으로 개발하는 것은 자유롭다고 밝혔습니다.

TeX가 운명적으로 탄생한 지 약 40년이 지난 오늘날에도 Knuth는 다음에서 제공되는 TeX의 마스터 소스 코드에 정기적인 버그 수정을 계속 적용하고 있습니다. [CTAN(종합 TeX 아카이브 네트워크)](https://www.ctan.org/tex-archive/systems/knuth/dist/tex/). 이러한 업데이트는 몇 년에 한 번씩 이루어지며, 가장 최근의 것은 [2014년 TeX 정비](https://www.tug.org/TUGboat/tb35-1/tb109knut.pdf) 로, TeX 저널 [TUGboat](https://www.tug.org/TUGboat/Contents/contents35-1.html)에 보도되었습니다. 다음 정비는 2021년에 예정되어 있습니다! 이러한 정비 과정에서 Knuth는 TeX에 새 기능을 추가하지 않으며, 실제로 버그만 수정합니다. 하지만 많은 사람은 TeX를 세계에서 버그가 가장 적은 프로그램으로 여깁니다.

**TeX의 “버전”에 관한 참고**: TeX에 대해 글을 쓸 때는 엄밀히 말해 “TeX”의 결정적인 버전은 Knuth가 작성하고 유지 관리하는 단 하나뿐이라는 점을 강조하는 것이 매우 중요합니다. 실제로 “TeX”(조판된 로고로 표시됨)는 미국수학회의 상표입니다. Knuth는 다른 사람들이 자신의 코드를 사용하여 소프트웨어를 개발하는 것을 배제하거나 막지 않았습니다. *TeX 기반*—즉, Knuth가 구현하기로 선택한 범위를 넘어 기능을 추가하도록 그의 소프트웨어를 확장하는 것입니다. 그러나 Knuth는 자신의 정당한 권리로서, TeX 소스 코드에서 확인할 수 있는 한 가지 강력한 조건을 제시했습니다:

`이 프로그램이 변경된 경우, 그 결과로 나온 시스템은 TeX라고 불러서는 안 됩니다. 공식 명칭 TeX는 서로 완전히 호환되는 소프트웨어 시스템만을 위해 예약되어 있습니다.`

따라서 Knuth의 소스 코드에서 파생된 프로그램을 TeX의 “버전”이라고 부르는 것은 완전히 정확하지 않습니다. 엄밀히 말하면, *TeX 기반* 소스 코드에서 파생된 소프트웨어는 “개작” 또는 “파생물”이라고 불러야 합니다. 하지만 단순성을 위해 여기서 언급한 주의 사항을 염두에 두고 계속 “버전”이라는 용어를 사용하겠습니다.

Knuth가 개발을 동결했음에도 새로운 TeX 기능이나 기존 기능의 개선에 대한 강한 요구는 여전했으며, 여러 해에 걸쳐 “차세대 TeX”를 개발하려는 다양한 시도가 있었습니다. 일부는 매우 성공적이었고, 다른 일부는 그렇지 못했습니다. 흥미로운 역사이지만 여기서 다룰 수는 없습니다. 용감한 독자는 Frank Mittelbach의 다음 글에서 훨씬 더 완전한 설명을 찾아볼 수 있습니다: [TUGboat, 제34권(2013), 제1호](https://www.tug.org/TUGboat/tb34-1/tb106mitt.pdf).

1990년대에 이르러 TeX의 일부 요소는 오래된 모습을 드러내고 있었습니다. 여기에는 글꼴 처리 방식과 TeX 출력에 사용되는 파일 형식, 즉 장치 독립 형식(DeVice Independent format, DVI)이 포함되었습니다. 대부분의 사용자는 TeX의 출력을 PostScript로 변환했지만, 1990년대 중반에는 선호되는 출력 파일 형식으로 PDF가 부상하면서 PostScript는 자리를 내주고 있었습니다. 또한 이제 인터넷이 존재하는 세상에서 TeX의 위치라는 문제도 있었습니다. 그러나 이러한 단점에도 불구하고 줄바꿈 및 양쪽 맞춤, 하이픈 처리, 수학 조판과 같은 TeX의 핵심 알고리즘 다수는 여전히 타의 추종을 불허했습니다. 개발자들은 TeX의 강점을 기반으로 삼되 세상이 발전한 영역, 즉 TeX가 따라잡아야 할 영역을 현대화하고자 했습니다.

### 이름에 무엇이 담겨 있을까요?

TeX에서 파생된 소프트웨어의 이름은 “TeX”라는 단어 앞에 접두사를 붙이는 것이 관례가 되었습니다. 이에 따라 다음과 같은 프로그램 이름이 생겼습니다. **pdf**TeX, **Xe**TeX 및 **Lua**TeX. 이 프로그램들은 Knuth의 원래 TeX 소프트웨어에서 파생되었지만, Knuth의 원래 버전에는 없는 기능을 포함합니다. 이 실행 프로그램들을 통틀어 흔히 **TeX 엔진**TeX 엔진 *구동하는* 조판 과정을 구동하는 소프트웨어라고 생각하면 됩니다. 이 글의 끝부분에서 pdfTeX, XeTeX 및 LuaTeX를 간략히 설명합니다.

### LaTeX: TeX 엔진이 아닌 매크로 집합

Knuth의 소프트웨어에서 파생된 TeX 기반 프로그램에는 pdfTeX나 XeTeX 같은 이름이 있다고 언급했습니다. 따라서 LaTeX도 Knuth 소프트웨어의 또 다른 버전이라고 생각할 수 있습니다. 하지만 안타깝게도 그렇게 간단하지는 않습니다. LaTeX는 실행 가능한 TeX 조판 프로그램의 버전이 아니라, 이른바 *TeX 매크로*의 모음이며, 이에 대해서는 아래에서 더 자세히 논의하겠습니다. LaTeX를 구성하는 매크로는 1980년대 중반 Leslie Lamport가 작성했으며, 그가 이 패키지에 이름을 붙였습니다. TeX 엔진 자체와 마찬가지로 LaTeX 매크로 패키지도 여전히 활발하게 개발되고 있으며, 관심 있는 독자는 다음에서 더 알아볼 수 있습니다. [LaTeX 프로젝트 웹사이트](https://www.latex-project.org/).

## 그렇다면 TeX는 실제로 무엇을 할까요?

앞서 언급했듯 TeX는 조판 프로그램입니다. 하지만 Adobe InDesign 같은 세련된 그래픽 사용자 인터페이스(GUI)를 상상한다면 다시 생각해 보세요. TeX가 탄생한 1970년대 후반에는 오늘날의 정교한 그래픽 인터페이스와 운영체제가 아직 먼 미래의 일이었고, 새로운 현대 TeX 변형에서도 TeX의 작동 방식은 여전히 그 유산을 반영합니다.

Adobe InDesign과 같은 현대적인 페이지 레이아웃 애플리케이션에 익숙한 사람은 TeX의 작동 방식을 보고 놀랄 수 있습니다. 누군가가 TeX 소프트웨어 사본(하지만 멋진 텍스트 편집기는 없음)을 주었고, 이를 실행해 무엇이 일어나는지 보기로 했다고 가정해 봅시다. 무엇이 보일까요? 사실, 별로 보이는 것이 없습니다! TeX는 이른바 [명령줄 인터페이스](https://en.wikipedia.org/wiki/Command-line_interface)를 사용합니다. 조판할 텍스트를 입력하거나 옵션 및 구성을 지정하기 위해 가리키고, 클릭하고, 탭하는 멋진 그래픽 화면이 없습니다. TeX 프로그램(엔진) 중 하나를 실행하면 깜박이는 커서가 있는 단순한 화면이 보입니다. 예를 들어 로컬 컴퓨터에서 LuaTeX를 실행하면(Windows에서는 luatex.exe) 다음과 같습니다:

![Windows에서 LuaTeX 실행하기](/files/dfab1348083b7af75e0b21e407dc2a214509c121)

물론 Overleaf를 통해 TeX 기반 소프트웨어를 사용하는 사람에게는 훨씬 더 편리하고 저자 친화적인 인터페이스가 제공됩니다.

### TeX의 프로그래밍 가능성 이해하기

분명 소프트웨어가 무언가를 조판하게 하려면, 어떤 형태의 입력(조판할 자료)을 제공하고 무엇을 달성하고 싶은지 알려 주는 “지시 사항”도 제공해야 합니다. 예를 들어 사용할 글꼴과 최종 문서의 페이지 크기를 비롯한 여러 세부 사항이 있습니다. Adobe InDesign과 같은 도구를 사용한다면 다양한 메뉴, 화면 및 대화 상자에서 매개변수를 설정하여 소프트웨어 동작에 어느 정도 영향을 주고 제어할 수 있습니다. 하지만 그러한 화면이 존재하지 않고 빈 화면과 깜박이는 커서만 있다면 어떨까요? 이때 TeX의 *프로그래밍 가능성* 이 작용합니다.

### 프로그램으로서의 TeX와 프로그래밍 언어로서의 TeX

TeX에는 동작을 제어하고 지시할 수 있는 내장 그래픽 사용자 인터페이스가 없으므로, 조판 과정을 안내할 명시적인 서면 지시 사항을 제공해야 합니다. 작업물의 텍스트뿐 아니라 TeX에 수행할 작업을 알려 주는 명시적인 조판 지시 사항(또는 명령어)도 포함된 텍스트 파일을 만듭니다. 예를 들어 mybook.tex라는 TeX 파일을 작성한 후 TeX에 이를 처리하라고 지시하면, 모든 것이 잘되었을 경우 아름답게 조판된 “mybook.pdf” 문서를 출력으로 받게 됩니다.

TeX의 동작을 제어하는 이러한 “조판 지시 사항”은 사실 프로그래밍 언어로 작성됩니다. 이는 사용자가 Knuth의 정교한 조판 프로그램을 매우 세밀하게 제어할 수 있도록 그가 특별히 설계한 언어입니다. TeX에 놀라운 성능과 유연성을 부여하는 것은 바로 이 조판 프로그래밍 언어입니다.

이제 TeX는 사실 사용자가 특수 프로그래밍 언어로 작성된 지시 사항을 제공하여 제어할 수 있는 조판 소프트웨어라는 것을 알 수 있습니다. “TeX”는 TeX 조판 언어로 작성한 지시 사항에 의해 제어될 수 있는 실행 프로그램(조판 엔진)으로 생각해야 합니다. 물론 TeX는 프로그래밍 언어로 제어되므로 언제나 실수할 가능성이 있습니다. 즉, TeX가 이해할 수 없거나 기대한 결과를 내지 못하는 TeX 파일의 버그가 있을 수 있습니다. 이는 TeX 관련 소프트웨어 사용자에게 너무나 익숙한 일상의 “즐거움”입니다. TeX 엔진이 프로그래밍 가능하다는 점을 이해하는 것이 LaTeX, pdfTeX, pdfLaTeX, XeTeX, LuaTeX 등의 차이를 진정으로 이해하는 열쇠입니다. 각 TeX 엔진(프로그램)은 수백 개의 이른바 *원시* 명령어를 이해합니다. 여기서 원시적이라는 말은 “단순하다” 또는 “정교하지 않다”는 의미가 아니라, TeX 언어의 기본 구성 요소라는 뜻입니다. 완전히 정확하지는 않지만 간단한 비유로 특정 언어의 알파벳을 들 수 있습니다. 알파벳의 개별 문자는 더 단순한 요소로 환원할 수 없으며, 단어와 문장 등을 구성하는 기본 구성 요소입니다.

## 마지막으로: TeX에서 pdfTeX, XeTeX 및 LuaTeX까지

간단히 요약해 보겠습니다. Knuth가 TeX의 원래 버전을 작성했을 때, 그는 당시의 기술 환경(컴퓨터의 처리 능력과 메모리, 글꼴 기술, 출력 장치 등)에 기반해 정교한 텍스트 및 수학 조판의 요구를 충족하기에 충분하다고 생각한 기능과 역량을 제공했습니다. Knuth의 TeX 사양에는 내부/프로그래밍 설계(및 조판 알고리즘)는 물론, 조판할 자료를 “마크업”하는 데 사용되는 TeX 언어의 정의도 포함되었습니다. “TeX 언어를 정의한다”는 것은 TeX 엔진이 이해할 수 있는 수백 개의 원시 명령어 집합과, 입력 텍스트 처리 중 엔진이 해당 원시 명령어 중 하나를 만났을 때 수행할 동작을 정의한다는 의미입니다.

당연히 기술 환경은 발전합니다. 컴퓨터는 더 빨라지고 더 많은 저장 공간/메모리를 갖추며, 새로운 글꼴 기술(Type 1, TrueType, OpenType)이 출시되고, 파일 출력 형식도 발전하며(예: PostScript에서 PDF로의 전환), 유니코드는 텍스트를 인코딩하는 지배적인 방식이 되었습니다. 당연히 TeX 사용자들은 Knuth의 원래 TeX 프로그램에 없던 새로운 기능과 기능성을 추가하는 것과 더불어 이러한 신기술도 지원되기를 원했습니다.

앞서 언급했듯 1980년대에 Knuth는 자신의 TeX 개발을 동결하기로 결정했습니다. 즉, 그의 버전에는 더 이상 새 기능이 없었습니다. Knuth의 원래 소프트웨어를 업데이트하고 현대화해야 할 실질적 필요에 따라 TeX 프로그래밍 전문가들은 Knuth의 원래 소스 코드를 가져와 새 기능을 추가하고 현대 조판 기술을 지원하도록 개선했습니다. 이러한 새 버전의 TeX는 추가 기능(예: PDF 직접 출력, OpenType 글꼴 지원)을 제공할 뿐 아니라 TeX 언어도 확장하고 개조합니다. Knuth의 원래 원시 명령어 집합에 새 원시 명령어가 추가되어, 사용자는 새로운 TeX 기반 조판 엔진에 내장된 추가 기능을 제어하고 활용할 더 큰 프로그래밍 능력과 유연성을 얻게 됩니다.

새로운 TeX 엔진마다 Knuth의 원래 소프트웨어와 구별하기 위해 고유한 이름이 부여됩니다. 따라서 이제 pdfTeX, XeTeX 및 LuaTeX가 있습니다. 이 세 TeX 엔진은 서로 100% 호환되지는 않으며, 한 TeX 엔진으로 처리할 수 있는 입력이 다른 엔진에서는 작동하지 않을 수도 있습니다. 특정 TeX 엔진이 다른 엔진은 지원하지 않는 원시 명령어를 지원할 수 있기 때문입니다. 하지만 아직 희망은 있습니다. TeX 매크로의 세계로 들어가 봅시다!

### 원시 명령어가 전부는 아닙니다: TeX 매크로

각 TeX 엔진은 원시 명령어라고 하는 특정 저수준 명령어 집합을 지원한다고 언급했지만, 이것이 전부는 아닙니다. 물론 많은 동일한 원시 명령어가 모든 엔진에서 지원되지만, 일부는 특정 엔진에만 특화되어 있습니다. TeX는 이른바 TeX 매크로를 통해 진정한 성능과 정교함을 얻습니다. 엔진의 TeX 언어에 있는 원시 명령어들은 서로 결합되어, 저수준 원시 명령어 및/또는 다른 매크로의 조합으로 구성된 새 명령어(매크로)를 정의할 수 있습니다. TeX 매크로를 사용하면 복잡한 조판 작업을 수행할 수 있는 새 명령어를 정의하여 시간, 타이핑 및 프로그래밍 오류를 크게 줄일 수 있습니다. 또한 TeX 엔진은 문서 조판에 사용 중인 TeX 엔진을 판별할 수 있는 원시 명령어도 제공합니다. 따라서 엔진은 마주칠 수 있는 특정 원시 명령어를 지원하는지 여부에 따라 즉석에서 동작을 조정할 수 있습니다. 어떤 원시 명령어가 직접 지원되지는 않지만 다른 원시 명령어의 조합으로 “모방”할 수 있다면 대개 문제가 없지만, 선택한 TeX 엔진이 특정 원시 명령어를 정말 처리할 수 없다면 조판은 실패하고 오류가 보고됩니다. 결국 TeX 언어는 조판 문제를 해결하도록 설계된 프로그래밍 언어이며, 프로그래밍 언어로서 TeX는 매우 난해하고 오늘날 접할 가능성이 높은 대부분의 프로그래밍 언어와는 매우 다르게 작동합니다.

### 그렇다면 마침내 LaTeX란 무엇일까요?

Knuth의 원래 TeX부터 그 후손인 pdfTeX, XeTeX, LuaTeX에 이르는 TeX 엔진의 여러 버전을 살펴보고, 조판 언어로서의 TeX, 즉 원시 명령어, 프로그래밍, 매크로 작성 능력에 대해서도 간단히 논의했습니다. 이제 마침내 LaTeX를 논의할 수 있습니다. 개인적 용도로 개별 TeX 매크로를 작성하는 것의 논리적 확장은 다른 사람도 사용할 수 있는 매크로 모음을 준비하는 것입니다. 즉, 다른 (La)TeX 사용자가 활용할 수 있는 유용한 도구와 명령어를 제공하는 매크로 패키지입니다. 그리고 그것이 바로 LaTeX입니다. LaTeX는 책, 학술지 논문 등을 조판하는 데 도움을 주도록 설계된 매우 크고 복잡하며 정교한 매크로 모음입니다. 페이지 레이아웃, 글꼴 및 무수한 기타 조판 세부 사항을 제어하는 풍부한 기능을 제공합니다. 그뿐 아니라 LaTeX는 확장 가능하도록 설계되었습니다. 예를 들어 보기 좋게 조판된 표, 특히 복잡한 형태의 수학, 화학 다이어그램 등 특정 조판 문제를 해결하기 위해 작성된 더 전문적인 추가 매크로 패키지를 연결할 수 있습니다. 다음을 방문하면 [종합 TeX 아카이브 네트워크](https://www.ctan.org) 전 세계 사용자가 작성하고 기여한 수백 또는 수천 개의 매크로 패키지 중에서 선택할 수 있습니다.

따라서 누군가 LaTeX로 자신의 작업을 조판한다고 말한다면, 그들은 이야기의 일부만 말하고 있는 것입니다. 실제로는 특정 TeX 엔진과 함께 LaTeX 매크로 패키지를 사용한다는 의미입니다. 보통은 pdfTeX이지만, 다국어 작업에는 XeTeX이거나 고급 맞춤형 문서 제작에는 LuaTeX일 수도 있습니다. pdfLaTeX, XeLaTeX 또는 LuaLaTeX와 같은 용어를 자주 보게 되지만, 이들은 실제로 TeX 엔진의 이름이 아닙니다. 이들은 단지 LaTeX 매크로 모음을 실행하는 데 어떤 TeX 엔진이 사용되는지를 나타냅니다:

* pdfLaTeX는 pdfTeX 엔진과 함께 LaTeX 매크로 패키지를 사용하는 것을 의미합니다
* XeLaTeX는 XeTeX 엔진과 함께 LaTeX 매크로 패키지를 사용하는 것을 의미합니다
* LuaLaTeX는 LuaTeX 엔진과 함께 LaTeX 매크로 패키지를 사용하는 것을 의미합니다

예를 들어 “저는 pdfLaTeX를 사용합니다”라고 말하는 것은 “저는 LaTeX 매크로 패키지를 사용해 조판 문서를 준비하고 pdfTeX 엔진으로 처리합니다”라는 의미입니다. 마찬가지로 누군가 자신이 “TeX를 사용한다”고 말한다면, 이제 그 말이 아마도 전체 이야기를 알려 주지는 않는다는 것을 알 수 있을 것입니다. 요즘에는 가능성이 꽤 낮지만, 그들이 Knuth의 원래 TeX 버전을 사용한다면 예외입니다.

## TeX 엔진에서 TeX 배포판으로

TeX의 역사를 간략히 살펴보았고, 현대 파생형인 pdfTex, XeTeX 및 LuaTeX가 Knuth의 원래 소프트웨어에 많은 새 기능을 추가했다는 점을 확인했습니다. 논의를 마무리하기 위해 가장 널리 사용되는 세 가지 TeX 엔진을 간단히 살펴보고 TeX 설치 환경도 짧게 검토하겠습니다.

### pdfTeX, XeTeX 및 LuaTeX의 주요 기능

다음은 *몇 가지* 가장 널리 사용되는 세 TeX 엔진이 제공하는 주요 기능의 요약입니다:

* **pdfTeX**: 이름에서 알 수 있듯 PDF로 직접 출력할 수 있어, 사용자가 TeX의 기본 DVI 형식을 PostScript로 변환한 뒤 GhostScript나 Acrobat Distiller를 통해 PDF로 변환할 필요가 없습니다(참고: 일부 사용자는 dvipdf 같은 도구를 통해 DVI에서 PDF로 직접 변환하기도 합니다). pdfTeX는 여백 커닝(문자 돌출)과 같은 TeX 조판 개선도 도입했습니다. pdfTeX는 Hàn Thế Thành이 개발했으며, 구현 세부 사항은 그의 박사학위 논문의 기반이 되었습니다. [TeX 조판 시스템의 미세 타이포그래피 확장](https://www.tug.org/TUGboat/tb21-4/tb69thanh.pdf).
* 최초 릴리스 날짜(릴리스 노트 기록 기준): 2001년 8월
* 추가 정보: [www.tug.org/applications/pdftex](http://www.tug.org/applications/pdftex)
* **XeTeX**: UTF-8 인코딩으로 저장되거나 생성된 TeX 파일을 직접 읽고 입력하는 기능을 도입했으며, 아랍어 같은 복합 문자를 포함한 다국어 조판을 정교하게 처리합니다. 특히 유용한 기능 중 하나는 XeTeX가 OpenType 글꼴을 매우 쉽고 편리하게 사용할 수 있게 했다는 점이며, 이후 버전에서는 OpenType 기반 수학 조판도 추가되었습니다. XeTeX는 Jonathan Kew가 개발했지만, 이후 개발은 TeX 커뮤니티의 다른 구성원들이 이끌었습니다.
* 최초 릴리스 날짜(Wikipedia): 처음에는 Mac OSX 전용, 2004년 4월
* 추가 정보: <http://tug.org/xetex>
* **LuaTeX**: 모든 TeX 엔진 중 가장 강력하고 다재다능하다고 할 수 있는 LuaTeX는 pdfTeX(및 다수의 다른 소스/라이브러리)에서 파생되었으며 중요한 추가 기능을 제공합니다. 핵심 혁신은 Lua 스크립팅 언어의 추가로, 사용하기 쉬운 스크립팅 언어를 통해 TeX 엔진을 매우 정교하게 제어할 수 있게 한 것입니다. 또한 UTF-8 텍스트 인코딩, OpenType 기반 수학 조판, 그리고 텍스트 조판을 위한 OpenType 글꼴의 매우 고급스러운 사용을 지원합니다. 다만 그 메커니즘은 XeTeX가 사용하는 것과 다릅니다. LuaTeX는 MetaPost 그래픽 언어도 통합하여 사용자가 MetaPost의 정교한 드로잉 기능을 충분히 활용할 수 있게 합니다. 책과 학술지 논문 준비 외에도 LuaTeX는 고급 또는 맞춤형 문서 엔지니어링에 이상적입니다. 강력한 기능 중 하나는 C/C++로 작성되어 .DLL(Windows) 또는 .so(Linux)로 로드되는 “플러그인”을 통한 LuaTeX의 확장성입니다. LuaTeX는 Hans Hagen, Taco Hoekwater, Luigi Scarso 등을 포함한 팀이 개발합니다.
* 최초 릴리스 날짜: 2006년경 개발이 시작되었으며, 수많은 베타 릴리스를 거쳐 2016년 9월 버전 1.0이 출시되었습니다. 현재도 매우 활발하게 개발되고 있습니다.
* 추가 정보: [www.luatex.org](http://www.luatex.org)

### TeX 설치 환경: TeX Live

사용자가 다양한 TeX 기반 조판 프로그램과 관련 LaTeX 매크로 패키지에 어떻게 접근하는지 궁금할 수 있습니다. 답은 이른바 *TeX 배포판* 을 다운로드하여 설치하는 것입니다. 현대 TeX 설치 환경에는 이제 TeX 기반 조판 엔진만 있는 것이 아닙니다. 수년에 걸쳐 전 세계 TeX 사용자들은 수백 개의 글꼴과 방대한 수의 전문 LaTeX 패키지는 물론, 놀라울 정도로 다양한 TeX 관련 도구와 소프트웨어를 개발하고 기여했습니다. 이 거대한 소프트웨어 모음은 TeX 커뮤니티의 주요 구성원들이 관리하고 업데이트하며, 매년 다음이라는 배포판으로 릴리스됩니다. [TeX Live](https://www.tug.org/texlive/)—여기에는 각 지원 플랫폼(Windows, Linux 등)을 위한 최신 안정 버전의 TeX 엔진도 포함됩니다. Windows 사용자는 흔히 다음이라는 다른 배포판을 사용합니다. [MiKTeX](https://miktex.org/).

## Overleaf: LaTeX 생태계 지원

오늘날 연구 환경은 당연히 매우 긴밀하게 연결되고 협업하는 환경이며, 여기에는 출판용 논문을 함께 작성하고 준비하는 일도 포함됩니다. 관련 그래픽이나 데이터를 포함한 LaTeX 기반 논문을 이메일로 배포하고 공유하는 일은 답답할 수 있습니다. 버전 관리(및 파일 크기) 문제뿐 아니라, 한 명 이상의 공저자가 글꼴 누락, 패키지 제공 여부의 차이 또는 오래된 LaTeX 릴리스 등으로 인해 LaTeX 파일을 처리할 수 없는 LaTeX 설치 환경을 사용하고 있을 실질적인 가능성도 있기 때문입니다. 공저자는 여행 중이거나 LaTeX에 접근할 수 없는 장소에 일시적으로 머물고 있을 수도 있습니다. 특히 제출 마감일이 임박했을 때 이는 모두 잠재적으로 답답한 상황으로 이어집니다! 직원이나 팀에 LaTeX 접근 권한을 제공하려는 학술 기관이나 상업 기업은 포괄적인 전사적 TeX 시스템을 설치하고 유지 관리, 업데이트 및 지원해야 할 수 있습니다. 이는 단 한 사람에게만 있는 전문 지식이 필요할 수도 있는 복잡한 작업입니다. LaTeX 설치 전문가가 다른 직장으로 떠나면 그를 대체하기가 어려울 수 있습니다. TeX 세계는 정적이지 않으므로 TeX 설치 환경은 적극적으로 관리해야 하며, 설치 환경은 금세 오래될 수 있습니다. 최신 또는 더 고급 TeX 기반 도구를 활용해야 하는 사용자에게는 매우 불편한 일입니다. 새롭거나 업데이트된 LaTeX 패키지, 추가 글꼴 및 TeX 관련 소프트웨어 도구가 계속 출시됩니다. 또한 TeX 엔진, 특히 LuaTeX는 계속 개발되고 있습니다.

### Overleaf: 저자와 기관을 위한 LaTeX 솔루션

Overleaf는 최첨단 TeX 설치 환경을 갖춘 강력한 서버를 기반으로 저자와 소속 기관에 클라우드 기반 LaTeX 저작 및 프로젝트 관리 시스템을 제공합니다.

#### 저자를 위한 Overleaf

Overleaf의 브라우저 기반 LaTeX 편집기를 사용하면 저자는 어디에서 작업하든 LaTeX 기반 프로젝트를 만들고, 공유하고, 협업하고, 관리할 수 있습니다. 필요한 것은 인터넷 연결과 최신 브라우저가 설치된 기기뿐입니다.

Overleaf는 다음을 포함하여 LaTeX를 매우 편리하게 사용할 방법을 제공합니다:

* 더 이상 LaTeX 파일과 대용량 그림을 이메일로 보낼 필요가 없습니다. 동료에게 Overleaf 프로젝트 링크만 보내 협업과 공유를 시작하세요.
* 탁월한 기술 지원—LaTeX 사용에 관한 질문이 있으면 언제든지 문의하세요.
* 공저자들이 동일한 LaTeX 설치 환경을 공유하므로 로컬 설치 환경에 의존하거나 오래된 LaTeX 시스템의 제약을 받을 필요가 없습니다.
* 문서를 돋보이게 만들 수 있습니다. 다양한 즉시 사용 가능한 현대 OpenType 글꼴 중에서 선택하거나 프로젝트에 추가 글꼴을 업로드하세요. fontspec 패키지를 사용하면 간단하고 쉽게 이용할 수 있습니다.
* TeX 엔진을 직접 실행할 필요가 없습니다. Overleaf가 대신 실행합니다. 시간을 절약하고 조판된 LaTeX 문서의 빠른 실시간 미리보기를 활용하거나, 원한다면 수동 새로 고침으로 전환하세요.
* 참여 학술지 및 프리프린트 서비스에 논문을 직접 제출하거나, LaTeX 프로젝트 전체를 하나의 ZIP 파일로 다운로드하여 원하는 학술지에 전송하세요.
* 완벽히 갖춰진 Linux 서버에 접근할 수 있습니다. 그래픽 및 텍스트 처리에 필요할 수 있는 도구와 유틸리티를 제공합니다. TeX의 \write18가 이보다 더 행복했던 적은 없었습니다!
* LaTeX 코드를 처리할 TeX 엔진을 선택하거나, Overleaf가 문서 처리에 가장 적합한 엔진을 감지하여 사용하도록 하세요. Overleaf는 pdfTeX, XeTeX, LuaTeX 및 dvipdf를 통한 LaTeX 처리를 지원합니다.

#### 기관 및 기업을 위한 Overleaf

관리 부담 없이 커뮤니티와 팀에 최첨단 LaTeX 설치 환경을 제공하세요. LaTeX 설치에 관한 기술 지원 전화는 더 이상 필요 없으며, Windows, Linux 또는 Mac OS를 걱정할 필요도 없습니다. Overleaf의 기술 인프라를 활용하세요. LaTeX 사용자 커뮤니티는 파일과 그래픽 업로드부터 팀이 같은 논문을 함께 작업할 수 있게 하는 프로젝트 링크 공유까지, LaTeX 프로젝트 관리를 위해 Overleaf가 제공하는 기능 모음을 높이 평가할 것입니다. 연구자에게 탁월한 서비스를 제공하고, 최고의 연구를 지원하는 협업을 촉진하세요. 이 글을 읽어 주셔서 감사하며, 관심 있는 내용을 찾으셨기를 바랍니다. Overleaf에 관해 궁금한 점이 있으시면 언제든지 [저희에게 연락해 주세요](https://www.overleaf.com/contact)문의해 주세요—Overleaf 팀이 여러분의 연락을 기다리겠습니다.

즐거운 (La)TeX 작업 되세요!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ko/in-depth-articles/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
