lccode와 uccode는 무엇에 사용되나요?

lccode와 uccode는 무엇에 사용되나요?

TeX에서 각각의 256바이트에는 무엇보다도 어떻게 작동하는지를 나타내는 [0,255] 범위의 정수와 연관된 정수 가 \lccode있습니다 . 물론 다른 숫자(예: 수학 코드, 고양이 코드)도 많이 있지만 여기서는 대소문자 변경 코드에 중점을 두고 있습니다.\uccode\lowercase\uppercase

TeXbook을 살펴보면 \lccodeand 의 다음 용도에 대해 알 수 있습니다 \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시작 코멘트 섹션에서 이 트릭을 언급합니다.

관련 정보