TeX / LaTeX란

TeX는 수학, 논문, 책 등을 아름답게 세팅하기 위한 조판 시스템입니다. LaTeX는 그 위에 구축된 실용적인 언어입니다. 이 페이지에서는 각 요소가 무엇인지, 그리고 두 가지 모두의 중심에 있는 아이디어를 다룹니다. 즉, 모양이 아닌 구조를 작성합니다. 즉, 워드 프로세서에서 근본적으로 벗어나는 것입니다.

TeX는 무엇입니까?

조판은 금속 활자를 배열하여 인쇄판을 만드는 오래된 인쇄 용어입니다. TeX는 이 작업을 컴퓨터에서 수행합니다. 텍스트와 그림을 정확하게 배치하고 완성된 "플레이트"(현재 PDF)를 출력합니다. 이것은 컴퓨터 과학자 Donald Knuth에 의해 만들어졌는데, 그는 자신의 책 *The Art of Computer Programming*에 나오는 수학이 당시의 도구로는 아름답게 설정될 수 없었기 때문에 1978년에 만들기 시작했습니다.

여러 가지 실용적인 장점이 있습니다. 무료이며 오픈 소스입니다. 검사하고 수정하고 상업적으로 사용할 수 있습니다. 플랫폼 전반에 걸쳐 결정적입니다. 동일한 입력은 Windows, macOS 또는 Linux에서 동일한 출력을 제공합니다. 그리고 입력은 일반 텍스트이므로 모든 편집기에서 작성하고 프로그래밍 방식으로 검색, 재사용 또는 생성할 수 있습니다.

무엇보다 조판이 꼼꼼하다. 줄 바꿈에 대한 하이픈 연결, AVTo와 같은 쌍의 커닝, fifl를 단일 문자 모양으로 융합하는 합자, 자체 페이지에서 단락의 첫 번째 또는 마지막 줄이 분리되는 것을 방지하는 과부/고아 제어를 자동으로 처리합니다. 특히 수학적 조판은 방정식을 텍스트로 표현하기 위한 사실상의 표준입니다. (마지막 "X"는 그리스어 χ입니다. 영어에서는 "tech"라고 하고 일본에서는 전통적으로 "teh"라고 합니다.)

LaTeX는 무엇입니까?

TeX 자체는 저수준이며 원시 TeX를 작성하는 사람은 거의 없습니다. LaTeX는 TeX의 매크로(프로그래밍) 기능을 사용하여 컴퓨터 과학자 Leslie Lamport가 1984년에 처음 출시한 접근 가능하게 만드는 레이어입니다.

오늘날 모두가 "LaTeX"라고 부르는 것은 1994년에 출시된 Frank Mittelbach 및 동료 버전인 LaTeX2e입니다. 장기간 실행되는 LaTeX3 노력은 더 이상 별도의 제품이 아닙니다. 2018년부터 LaTeX2e 커널 내부에 expl3 프로그래밍 계층으로 존재했으며 최신 패키지가 그 위에 작성되었습니다.

핵심 아이디어는 문서의 외관과 별도로 문서의 논리적 구조를 작성한다는 것입니다. “소개”라는 제목의 섹션을 시작하려면 그 의미만 적습니다 — \section{Introduction}. 이를 모양으로 바꾸는 규칙(“14pt 굵게, 왼쪽 플러시, 위와 아래에 너무 많은 공간…”)은 별도의 클래스 파일 또는 스타일 파일에 있습니다.

따라서 클래스 파일을 교환하면 동일한 원고를 완전히 다른 스타일로 렌더링할 수 있습니다. 이는 각 저널의 제출 규칙을 일치시키는 데 편리합니다. 본문에 "14pt, centered"를 하드 코딩하는 것은 디자인이 변경될 때마다 전체 문서를 편집하는 것을 의미하며 제목이 동기화되지 않고 재사용이 어려워집니다. 그것은 바로 웹상의 HTML와 CSS의 관계입니다.

LaTeX는 또한 장, 섹션, 그림, 표 및 방정식에 번호를 매깁니다. 각 상호 참조에 올바른 번호나 페이지를 삽입합니다. 목차, 색인, 참고문헌을 자동으로 구성해 드립니다. 이러한 편리함 때문에 사용량이 폭발적으로 증가했으며 "TeX 사용"이 거의 항상 LaTeX 사용을 의미하는 이유도 있습니다.

일본어의 경우 pTeX 엔진과 그 위에 있는 pLaTeX는 오랫동안 표준이었습니다(오늘날에는 LuaLaTeX도 강력한 선택입니다). LaTeX는 과학 분야의 표준입니다. 사전 인쇄 서버 arXiv는 LaTeX 제출을 권장하고, *Iwanami Encyclopedia of Mathematics*와 같은 참고 자료가 여기에 조판되어 있으며 심지어 Wikipedia에서도 방정식을 LaTeX 구문(이미지로 렌더링됨)으로 작성합니다.

작성 후 컴파일

명령이 포함된 일반 텍스트 .tex 파일을 작성한 다음 TeX 엔진으로 컴파일하여 PDF를 생성합니다(보통 두 번이므로 상호 참조 및 목차가 해결됩니다). 키를 누를 때마다 페이지를 다시 그리는(WYSIWYG) 워드 프로세서와 달리 TeX는 전체 문서를 한 번에 처리합니다. 전체 파이프라인은 "소스에서 PDF까지" 페이지에서 다룹니다.

최소한의 예

다음은 컴파일되는 가장 작은 LaTeX 문서입니다. \documentclass는 문서 종류를 선택합니다. \begin{document}\end{document} 사이의 모든 것은 본문입니다. 기억해야 할 점: 소스의 줄 바꿈은 중요하지 않습니다. 빈 줄은 새 단락을 시작합니다. 줄을 나눌 때마다 LaTeX는 마지막 줄 바꿈을 자체적으로 결정합니다.

latex
\documentclass{article}
\begin{document}
Hello, \LaTeX! Here is an equation:
\[ E = mc^2 \]
\end{document}

이를 컴파일하면 "Hello, LaTeX!" 줄이 포함된 PDF가 생성됩니다. 그 뒤에 방정식 E = mc²가 중심선에 깔끔하게 설정됩니다.

예제에서 실제 글쓰기로 이동

이 예에서 보고서나 논문으로 이동할 때 모양을 다듬기 전에 의미론적 뼈대를 내려놓으세요. main.tex를 하나 만든 다음 제목, 섹션 제목, 본문 텍스트, 그림, 표, 방정식이 들어갈 위치를 스케치합니다. 클래스나 프리앰블에는 여백과 글꼴을 유지하고, 본문에는 \section, \label, \ref 등의 구조적 명령을 남겨둡니다. 손으로 제목을 굵게 표시하거나 숫자를 직접 입력하기 시작하면 LaTeX가 가장 잘하는 자동화를 포기하는 것입니다.

  • 짧은 과제의 경우 article로 시작하거나 일본어의 경우 jlreq로 시작하세요.
  • 긴 논문의 경우 장을 파일로 분할하기 전에 하나의 main.tex에 모든 제목을 스케치하세요.
  • 장소에서 클래스 파일을 제공하는 경우 먼저 해당 파일을 읽고 본문에서 예상되는 명령만 사용하십시오.

TeX vs LaTeX vs pLaTeX / upLaTeX / LuaLaTeX

이름은 여러 가지이지만 “엔진”을 “형식”에서 분리하는 것이 요령입니다. 엔진은 작업을 수행하는 프로그램입니다(TeX, pdfTeX, XeTeX, LuaTeX). 형식은 명령 시스템(LaTeX)입니다. 이들의 조합은 pdfLaTeX, XeLaTeX 및 LuaLaTeX입니다. 그리고 일본어 지원 엔진 pTeX/upTeX의 LaTeX는 pLaTeX 및 upLaTeX를 제공합니다.

이름그것은 무엇입니까그럴 때 손을 뻗어 보세요
pdfLaTeXpdfTeX 엔진의 LaTeX; 고전적인 기본값주로 영어/유럽어 텍스트를 작성합니다.
upLaTeXupTeX의 일본어 LaTeX(Unicode 인식)일본 논문의 표준
LuaLaTeXLuaTeX의 LaTeX; 시스템 글꼴, Unicode, Lua현대적인 설정; luatexja를 통한 일본어
XeLaTeXXeTeX의 LaTeX; 시스템 글꼴, Unicode쉬운 OpenType 글꼴을 원합니다

확실하지 않은 경우: 일본어의 경우 upLaTeX 또는 LuaLaTeX; 대부분 영어인 경우 pdfLaTeX; 시스템에 이미 있는 글꼴인 LuaLaTeX 또는 XeLaTeX를 사용합니다. 일본어로 새롭게 시작하시나요? LuaLaTeX는 안전한 기본값입니다.

LaTeX를 사용하는 이유

  • 아름다운 수학. 수학만큼 중요한 것은 없습니다.
  • 구조에 중점을 둡니다. 모양은 클래스 파일의 작업입니다. 몸은 의미만을 담고 있다.
  • 모든 것이 정렬됩니다. 번호 매기기, 상호 참조, 목차, 색인 및 참고문헌이 자동으로 생성됩니다.
  • 확장. 논문, 책, 장문의 논문이 일관성을 유지합니다.
  • 일반 텍스트. Git로 비교해보세요. 재현 가능하고 미래에도 사용할 수 있습니다.
  • 무료이며 광대합니다. CTAN에 거대한 패키지 생태계가 있는 오픈 소스입니다.

즉, 짧은 메모, 전단지, 실시간 공동 편집 또는 완벽한 픽셀 그래픽 디자인의 경우 WYSIWYG 도구가 더 빠를 수 있습니다. 작업에 적합한 도구를 사용하십시오.