XeTeX

https://xetex.sourceforge.net **XeTeX**(xaccess-date=2009-11-20 또는 k; TeX 발음 및 표기 참조), 때때로 **xetex**로 양식화되기도 하며, 유니코드를 사용하고 오픈타입, 그래파이트 및 애플 고급 타이포그래피 (AAT)와 같은 현대적인 글꼴 기술을 지원하는 TeX 조판 엔진이다. 원래 조너선 큐가 작성했으며 X11 자유 소프트웨어 라이선스로 배포된다.access-date=2013-03-18 초기에는 Mac OS X 전용으로 개발되었으나, 현재는 모든 주요 플랫폼에서 사용할 수 있다. 유니코드를 기본으로 지원하며 입력 파일은 기본적으로 UTF-8 인코딩으로 간주된다. XeTeX는 TeX 글꼴 메트릭을 구성하지 않고도 운영체제에 설치된 모든 글꼴을 사용할 수 있으며, 대체 자체 및 스워시, 선택적 또는 역사적 합자, 가변 글꼴 굵기 등 오픈타입, AAT 및 그래파이트 기술의 고급 타이포그래피 기능을 직접 활용할 수 있다. 오픈타입 지역 타이포그래피 규칙 (`locl` 태그)도 지원한다. XeTeX는 원시 오픈타입 기능 태그를 글꼴에 전달하는 것도 허용한다. 마이크로타이포그래피도 지원된다. XeTeX는 컴브리아 수학 또는 아사나 수학과 같이 특수한 수학적 기능을 포함하는 유니코드 글꼴을 사용하여 수학을 조판하는 것도 지원하며, 이는 TeX 글꼴 메트릭에 기반한 전통적인 수학 조판 방식의 대안이다. LaTeX 개발자들은 XeTeX 엔진에서 새로운 LaTeX 기능을 더 이상 지원하지 않으며, 사용자들에게 또 다른 유니코드 지원 엔진인 LuaTeX으로 이전할 것을 권장한다고 발표했다.access-date=2025-05-22
# 작동 방식
호플러 텍스트 [[오픈타입 글꼴을 사용하여 XeTeX에서 합자와 문맥별 대체 렌더링.]] XeTeX는 두 단계로 입력을 처리한다. 첫 번째 단계에서 XeTeX는 확장 DVI (`xdv`) 파일을 출력하며, 이 파일은 드라이버에 의해 PDF로 변환된다. 기본 작동 모드에서는 `xdv` 출력이 사용자에게 보이는 중간 파일 없이 드라이버로 직접 파이프된다. XeTeX의 첫 번째 단계만 실행하여 `xdv`를 저장하는 것도 가능하지만, lc=on 현재 중간 형식을 표시할 수 있는 뷰어는 없다. `xdv` 파일에서 PDF를 생성하기 위한 두 가지 백엔드 드라이버를 사용할 수 있다. * xdv2pdf: ATSUI 및 퀵타임 프레임워크를 사용하며, Mac OS X에서만 작동한다. * xdvipdfmx: dvipdfmx의 수정된 버전으로, 프리타입을 사용한다. 이 드라이버는 모든 플랫폼에서 작동한다. 버전 0.997부터는 모든 플랫폼에서 xdvipdfmx가 기본 드라이버이다. 버전 0.9999부터는 xdv2pdf가 더 이상 지원되지 않으며 개발이 중단되었다.access-date=2013-06-07 XeTeX는 LaTeX 및 ConTeXt 매크로 패키지 모두와 잘 작동한다. LaTeX를 사용할 때는 일반적으로 `xelatex`를 통해 호출된다. 일반적으로 글꼴 선택을 위한 구성 가능한 인터페이스를 제공하고 복잡한 글꼴 선택에 이름을 지정하고 나중에 재사용할 수 있도록 하는 `fontspec` 패키지와 함께 사용된다.url-status=dead XeTeX는 TeX Live, MacTeX, MiKTeX 및 LyX에 번들로 제공된다 (아래 역사에서 날짜와 버전 참조).access-date=2017-08-25
# 예시
다음은 XeLaTeX 소스 및 렌더링된 출력의 예시이다. 사용된 글꼴은 OFL 라이선스 글꼴인 리눅스 리베르틴이다. 텍스트는 `xelatex` 명령으로 처리된다. Col-begin Col-break \documentclass[11pt]{article} \usepackage{fontspec} \setmainfont[Ligatures=TeX]{Linux Libertine O} \begin{document} \section{Unicode support} \subsection{English} All human beings are born free and equal in dignity and rights. \subsection{Íslenska} Hver maður er borinn frjáls og jafn öðrum að virðingu og réttindum. \subsection{Русский} Все люди рождаются свободными и равными в своем достоинстве и правах. \subsection{Tiếng Việt} Tất cả mọi người sinh ra đều được tự do và bình đẳng về nhân phẩm và quyền lợi. \subsection{Ελληνικά} Ὅλοι οἱ ἄνθρωποι γεννιοῦνται ἐλεύθεροι καὶ ἴσοι στὴν ἀξιοπρέπεια καὶ τὰ δικαιώματα. \section{Legacy syntax} When he goes---``Hello World!''\\\ She replies---“Hello dear!” \section{Ligatures} \fontspec[Ligatures={Common, Historic}]{Linux Libertine O Italic} Questo è strano assai! \section{Numerals} \fontspec[Numbers={OldStyle}]{Linux Libertine O}Old }]{Linux Libertine O}Lining: 1234567 \end{document} Col-break 렌더링된 출력. Col-end
# 아랍어 지원
XeTeX는 아랍어와 같은 오른쪽에서 왼쪽으로 쓰는 문자도 지원한다. XeTeX에서 아랍어를 렌더링하는 한 가지 방법은 arabxetex 패키지를 사용하는 것이다. 이를 위해 아랍어는 다음 안에 배치된다. \begin{arab}[utf] . . . \end{arab} 다음 코드가 이를 설명한다. Col-begin Col-break \documentclass[12pt,fleqn,titlepage,twoside,a4paper]{book} \usepackage{etex} \usepackage{amsfonts,amsmath,amssymb,graphicx} \usepackage{txfonts} \usepackage[centering,includeheadfoot,margin=1in]{geometry} \usepackage{tabvar} \usepackage{arabxetex} %\newfontfamily{\arabicfont}[Script=Arabic,Scale=1.5]{Traditional Arabic} \parindent = 0pt \begin{document} \begin{arab}[utf] \chapter*{\textarab[utf]{ حِكَم من تَجمـيعي \section*{\textarab[utf]{ شِعر أديـن بدين الحـــب أنـى تــوجـهت ركـائبه \qquad فالحـــب دينــي و إيماني\\\ لنا أسوة في بشر هند و اختها و قيس و ليلى \qquad ثـــــم مـــــي و غـــيــــلان \end{arab} \end{document} Col-break XeTeX를 사용한 아랍어 텍스트 Col-end
# 기능
참고문헌 파일(아래 BibTeX 예시 참조)에서는 유니코드 엔티티를 사용하고 원래 스크립트로 호출할 수 있다. 예를 들어, pdfTeX 엔진을 사용할 때 필수적인 전사된 ASCII 형식인 \cite{Ekstrom} 대신 \cite{Ekstrøm}을 사용할 수 있다. % Encoding: UTF8 @ARTICLE(Ekstrom, AUTHOR = "Author w", TITLE = "{Ekstrøm title}", JOURNAL = "Ekstr{\o}m Journal", YEAR = 1965, note = {Working with pdflatex} ) @ARTICLE(Ekstrøm, AUTHOR = "Author Ekstr{\o}m", TITLE = "{Ekstrøm title}", JOURNAL = "Ekstrøm Journal", YEAR = "1965", note = {Not working with pdflatex but with xelatex} )
# 역사
XeTeX는 2004년 4월에 Mac OS X 전용으로 처음 출시되었으며no-pp=y AAT 및 유니코드 지원이 내장되어 있었다. 2005년에는 오픈타입 레이아웃 기능 지원이 처음 도입되었다. BachoTeX 2006에서 리눅스용 버전이 발표되었고, 몇 달 후 아키라 카쿠토(Akira Kakuto)가 마이크로소프트 윈도우로 이식했으며, 마침내 TeX Live 2007에 모든 주요 플랫폼용으로 포함되었다. XeTeX는 버전 2.0부터 LyX에서도 지원되며access-date=2017-08-25 버전 2.7부터 MiKTeX에 함께 제공된다. TeX Live에 포함된 시점부터 XeTeX는 LaTeX용으로 작성된 대부분의 매크로 패키지와 오픈타입, 트루타입 및 포스트스크립트 글꼴을 특별한 설정 절차 없이 지원한다. BachoTeX 2008에서 발표된 버전 0.998은 `\XeTeXinputnormalization` 명령을 통해 유니코드 정규화를 지원한다. 2013년 5월에 출시된 버전 0.9999는 ICU 레이아웃 엔진에서 하프버즈로 오픈타입 레이아웃 지원을 전환했으며, 그래파이트 레이아웃을 위해 Graphite2 엔진을, Mac OS X에서는 ATSUI 대신 코어 텍스트 프레임워크를 사용하게 되었다. XeTeX의 원래 소스포지 코드 저장소는 2020년 1월 20일 이후로 변경 사항이 없다.language=en 여전히 TeX Live 저장소에 포함되어 가끔 수정 사항을 받지만, 주요 개발은 없다. LaTeX 개발자들은 태그가 지정된 PDF를 생성하려는 현재 노력에서 XeTeX가 지원되지 않을 것이라고 밝혔으며, 한 개발자는 이를 유지보수되지 않는다고 간주한다.access-date=2025-05-21
# 더 읽어보기
* M. Goossens (Ed.) (2008) The XeTeX Companion: TeX meets OpenType and Unicode.