
TeX에서 각각의 256바이트에는 무엇보다도 어떻게 작동하는지를 나타내는 [0,255] 범위의 정수와 연관된 정수 가 \lccode
있습니다 . 물론 다른 숫자(예: 수학 코드, 고양이 코드)도 많이 있지만 여기서는 대소문자 변경 코드에 중점을 두고 있습니다.\uccode
\lowercase
\uppercase
TeXbook을 살펴보면 \lccode
and 의 다음 용도에 대해 알 수 있습니다 \uccode
.
\lowercase
<general text>
인수의 각 문자 토큰을 동일한 범주 코드를 가진 문자 토큰으로 변환하지만 문자 코드는\lccode
원래 문자 코드와 동일합니다. 단\lccode
, 가 0이 아닌 경우에는 원래 문자 코드가 유지됩니다.\uppercase
<general text>
대신 을 사용하여 동일한 방식으로 동작합니다\uccode
.하이픈을 넣을 때 TeX는 위장에 도달한 모든 문자(즉, 범주 코드 11 또는 12의 토큰, chardef'd 토큰 또는 char)를 취하고 "문자"를 0이 아닌 문자로 정의합니다
\lccode
. 문자는\lccode
문자 코드와 같을 경우 소문자입니다.
이게 다야? 특히 TeX는 프리미티브 \uccode
이외의 다른 목적으로 the를 사용합니까 \uppercase
? 다른 엔진인 pdfTeX, XeTeX 및 LuaTeX는 어떻습니까?
답변1
가 0으로 설정된 \lccode
경우 문자의 가 하이픈 넣기에 사용됩니다 .\uchyph
\documentclass{article}
\begin{document}
\uchyph=0 %
\begingroup
\lccode`\C=`\C
Some filler text.
Some filler text.
Some filler text.
Some filler text.
Capitalised word.
\par
\endgroup
\begingroup
\lccode`\C=`\c
Some filler text.
Some filler text.
Some filler text.
Some filler text.
Capitalised word.
\par
\endgroup
\begingroup
\uccode`\C=`\C
Some filler text.
Some filler text.
Some filler text.
Some filler text.
Capitalised word.
\par
\endgroup
\begingroup
\uccode`\C=`\c
Some filler text.
Some filler text.
Some filler text.
Some filler text.
Capitalised word.
\par
\endgroup
\end{document}
\uchyph
따라서 단어가 소문자(자신과 동일한 문자)로 시작하는지 여부를 테스트하므로 오해의 소지가 있는 이름이 지정 되었습니다 \lccode
.
답변2
의 내부 문자는 \patterns
를 통해 매핑됩니다 \lccode
. 실제로 이는 - 및/또는 0-9를 포함하여 하이픈 넣기 패턴을 지정할 수 있는 유일한 메커니즘입니다. 문자 그대로 쓰면 하이픈 넣기 우선 순위나 하이픈 넣기 지점으로 해석되기 때문입니다.
hypht1.tex
시작 코멘트 섹션에서 이 트릭을 언급합니다.