아무도 관심이 없겠지만,
최근 플레인텍에서 한글을 사용하다가 문제점을 발견해서 적습니다.
언제부터인가 플레인텍에서 \input kotex.sty 가 에러를 내뱉기 시작했습니다. 에러는 다음과 같습니다.
% etex
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019) (preloaded format=etex)
restricted \write18 enabled.
**\relax
entering extended mode*\input kotex.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/cjk-ko/kotex.sty
(/usr/local/texlive/2019/texmf-dist/tex/plain/kotex-plain/kotexutf.tex
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/utf8. def
! Undefined control sequence.
<recently read> \@gobblel.51 \fi
? x
No pages of output.
Transcript written on texput.log.
위에서 보다시피 utf8. def 에서 에러를 냅니다. 아마도 utf8. def가 최근에 변경된 모양입니다. 그래서 확인해 보았더니,
\ProvidesFile{utf8.d ef}
[2019/07/11 v1.2j UTF-8 support for inputenc]
\ifx\ifincsname\@undefined % old e-pTeX or e-upTeX engines
\input utf8-2018. def
\expandafter\@firstofone
\else
\expandafter\@gobble
\fi
2019/07/11 에 무언가 변경이 되었나봅니다. 그래서 그 이전 버전은 utf8-2018. def 라는 이름으로 백업해두었고, \ifincsname 의 정의 여부에 따라 그이전 버전을 사용할지 최근 버전을 사용할지 정합니다.
kotex.sty가 kotexutf.tex를 포함하고 kotexutf.tex에서 utf8. def를 포함하는데, 여기서 에러를 냅니다.
따라서 kotexutf.tex 파일의 71번째 줄을
\input utf8-2018. def
로 변경을 하던가
\let\ifincsname\@undefined
\def\@firstofone{}
\input utf8. def
처럼 변경하던가 하면 에러 없이 잘 동작합니다.
그나저나 \ifincsname 이란 놈이 뭐하는 놈인지 모르겠지만, 저 놈때문에 문제가 생긴듯 합니다.
KTUG 한국 텍 사용자 그룹