파일xetex.ini
생성할 때 사용됩니다 xetex.fmt
.
%% xetex.ini
% General Unicode set up
\input load-unicode-data.tex %
% Classes that have always been defined by the XeTeX format
\input load-unicode-xetex-classes.tex %
이 .ini 파일은 load-unicode-data.tex
및 load-unicode-xetex-classes.tex
. 하지만 생성 시 xelatex.fmt
사용된 파일은xelatex.ini
load-unicode-data.tex
(를 통해 ) 첫 번째 파일만 로드하는 것 같습니다 latex.ltx
.
latex2e 저장소를 검색했는데 두 번째 파일이 포함된 것을 찾을 수 없습니다 load-unicode-xetex-classes.tex
. 이 파일은 왜 xetex.ini에서만 입력됩니까?
답변1
TeX Live와 MiKTeX에서 사용하는 파일 .ini
은 DVI를 처리하는 간단한 방법으로 시작되었습니다.~ 대PDF 출력: latex.ini
및 pdflatex.ini
. 그러나 시간이 지남에 따라 특히 일반 TeX와 유사한 형식의 경우 성장했습니다. 그 이유는 Knuth가 (관습에 따라) 다른 사람이 변경할 수 없는 파일의 원본 TeX(TeX90)만 지원하기 때문입니다. 따라서 XeTeX, LuaTeX의 주요 기능을 지원하기 위해등., 파일에 코드를 추가 .ini
해야 했습니다.
일정 기간 동안 변경 사항도 적용되지 않아 latex.ltx
다양한 내용이 수집되었습니다 xelatex.ini
.등.얼마 전 팀에서는 XeTeX와 LuaTeX를 적극적으로 지원하기로 결정했고, 많은 코드가 파일에서 .ini
다시 latex.ltx
.
ltfinal.dtx
(의 마지막 부분에 대한 출처 ) 를 살펴보면 latex.ltx
다음과 같은 내용을 찾을 수 있습니다.load-unicode-xetex-classes
~이다읽기: 현재 소스 부분에는 다음과 같이 나와 있습니다.
% \changes{v2.0a}{2015/01/03}{Unicode data loading added}
% \changes{v2.0c}{2015/01/24}{Skip T1-code entirely with Unicode engines}
% \changes{v2.0d}{2015/03/26}{Use renamed
% \texttt{unicode-letters.def}}
% \changes{v2.0i}{2015/12/10}{Use new common Unicode data loaders}
% \changes{v2.0j}{2016/01/04}{Do not set up inter character classes for
% XeTeX}
% \changes{v2.0l}{2016/01/05}{Correct \textsf{latexrelease} guards}
% \changes{v2.0l}{2016/01/05}{Ensure old definitions for inter-character
% class toks are available using \textsf{latexrelease}}
% \changes{v2.0m}{2016/01/05}{Undefine XeTeX classes when using patching
% an older kernel}
% \changes{v2.0l}{2016/01/05}{Missing brace}
% \changes{v2.0p}{2016/01/05}{Only apply XeTeX change if XeTeX is in use}
% For $7$- and $8$-bit engines the assumption of T1 encodings is the
% basis for the hyphenation patterns. That's not the case for the Unicode
% engines, where the assumption is engine-native working. The common
% loader system provides access to data from the Unicode Consortium
% covering not only |\lccode| but also other related data. The
% |\lccode| part of that at least needs to be loaded before hyphenation is
% tackled: Xe\TeX{} follows the standard \TeX{} route of building patterns
% into the format. Lua\TeX{} doesn't require this data be loaded \emph{here}
% but it does need to be loaded somewhere. Rather than test for the Unicode
% engines by name, the approach here is to look for the extended math mode
% handling both provide: any other engine developed in this area will
% presumably also provide |\Umathcode|.
% \begin{macrocode}
\ifnum 0%
\ifx\Umathcode\@undefined\else 1\fi
\ifx\XeTeXmathcode\@undefined\else 1\fi
>\z@
\message{ Unicode character data,}
\input{load-unicode-data}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2016/02/01}%
%<latexrelease> {\XeTeXintercharclasses}{XeTeX character classes}%
%<latexrelease> \ifx\XeTeXinterchartoks\undefined
%<latexrelease> \else
%<latexrelease> \begingroup
%<latexrelease> \chardef\XeTeXcharclassID = 0 %
%<latexrelease> \chardef\XeTeXcharclassOP = 0 %
%<latexrelease> \chardef\XeTeXcharclassCL = 0 %
%<latexrelease> \chardef\XeTeXcharclassEX = 0 %
%<latexrelease> \chardef\XeTeXcharclassIS = 0 %
%<latexrelease> \chardef\XeTeXcharclassNS = 0 %
%<latexrelease> \chardef\XeTeXcharclassCM = 0 %
%<latexrelease> \input{load-unicode-xetex-classes}
%<latexrelease> \endgroup
%<latexrelease> \global\let\xtxHanGlue\undefined
%<latexrelease> \global\let\xtxHanSpace\undefined
%<latexrelease> \global\XeTeXinterchartoks 0 1 = {}
%<latexrelease> \global\XeTeXinterchartoks 0 2 = {}
%<latexrelease> \global\XeTeXinterchartoks 0 3 = {}
%<latexrelease> \global\XeTeXinterchartoks 1 0 = {}
%<latexrelease> \global\XeTeXinterchartoks 2 0 = {}
%<latexrelease> \global\XeTeXinterchartoks 3 0 = {}
%<latexrelease> \global\XeTeXinterchartoks 1 1 = {}
%<latexrelease> \global\XeTeXinterchartoks 1 2 = {}
%<latexrelease> \global\XeTeXinterchartoks 1 3 = {}
%<latexrelease> \global\XeTeXinterchartoks 2 1 = {}
%<latexrelease> \global\XeTeXinterchartoks 2 2 = {}
%<latexrelease> \global\XeTeXinterchartoks 2 3 = {}
%<latexrelease> \global\XeTeXinterchartoks 3 1 = {}
%<latexrelease> \global\XeTeXinterchartoks 3 2 = {}
%<latexrelease> \global\XeTeXinterchartoks 3 3 = {}
%<latexrelease> \fi
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\XeTeXintercharclasses}{XeTeX character classes}%
%<latexrelease> \ifx\XeTeXinterchartoks\undefined
%<latexrelease> \else
%<latexrelease> \input{load-unicode-xetex-classes}
%<latexrelease> \gdef\xtxHanGlue{\hskip0pt plus 0.1em\relax}
%<latexrelease> \gdef\xtxHanSpace{\hskip0.2em plus 0.2em minus 0.1em\relax}
%<latexrelease> \global\XeTeXinterchartoks 0 1 = {\xtxHanSpace}
%<latexrelease> \global\XeTeXinterchartoks 0 2 = {\xtxHanSpace}
%<latexrelease> \global\XeTeXinterchartoks 0 3 = {\nobreak\xtxHanSpace}
%<latexrelease> \global\XeTeXinterchartoks 1 0 = {\xtxHanSpace}
%<latexrelease> \global\XeTeXinterchartoks 2 0 = {\nobreak\xtxHanSpace}
%<latexrelease> \global\XeTeXinterchartoks 3 0 = {\xtxHanSpace}
%<latexrelease> \global\XeTeXinterchartoks 1 1 = {\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 1 2 = {\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 1 3 = {\nobreak\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 2 1 = {\nobreak\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 2 2 = {\nobreak\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 2 3 = {\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 3 1 = {\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 3 2 = {\xtxHanGlue}
%<latexrelease> \global\XeTeXinterchartoks 3 3 = {\nobreak\xtxHanGlue}
%<latexrelease> \fi
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \changes{v2.0d}{2015/02/03}{Set \cs{lccode} for \texttt{-} with Unicode
% engines}
% There is one over-ride that makes sense here (see below for the same for
% $8$-bit engines): setting the lccode for |-| to itself.
% \begin{macrocode}
\lccode`\- =`\- % default hyphen char
% \end{macrocode}
XeTeX 클래스 로딩에는 두 가지 버전이 있다는 것을 알 수 있습니다. 파일의 변경 사항을 반영하는 것 .ini
,등.
일반 TeX의 경우오직유니코드 데이터를 형식으로 로드하는 방법은 파일에 있습니다 .ini
. 따라서 로더는 다른 것(예: 유니코드 기본 데이터 및 유니코드 수학 모드 정보)과 함께 존재합니다.