변형 그리스 문자를 피하는 방법

변형 그리스 문자를 피하는 방법

가상 그리스어 키보드와 다음 패키지를 사용하면 그리스어 유니코드 문자(예: θ)를 직접 구현할 수 있습니다.

\usepackage[mathletters]{ucs}
\usepackage[utf8]{inputenc}

그러나 PDF에 표시되는 문자는 항상 그리스어 변형입니다 . \vartheta예를 들어 .\theta

\let\vartheta\theta각 캐릭터마다 이런 현상을 피할 수 있는 방법은 없을까요 ?

답변1

세타에 대한 유니코드 정의는 다음과 같습니다.

U+03b8 GREEK SMALL LETTER THETA

U+03d1 GREEK THETA SYMBOL

그 중 첫 번째는 귀하의 질문에 관한 것이고 두 번째는 더 곱슬 열린 것입니다.

그러나 패키지에 의해 설정된 인코딩에서는 ucs기본적으로 U+03b8 문자가 제공됩니다 \texttheta(올바른 글꼴 인코딩을 로드한 경우 텍스트 모드에서 올바른 문자를 제공할 수 있지만 정의되지 않은 명령이 표시됨). 그러나 [mathletters]옵션을 사용하는 경우 조각에서와 같이 정의를 사용하도록 전환됩니다.

\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%

파일에uni-3.def

즉, 수학 모드에서 세타 기호 문자를 원한다고 가정합니다. 따라서 \let귀하가 제안한 것은 한 가지 방법이거나 이 정의를 재정의할 수 있습니다.

\documentclass{article}

\usepackage[mathletters]{ucs}
\usepackage[utf8x]{inputenc}

\makeatletter
\uc@dclc{952}{mathletters}{\ensuremath{\theta}}%
\makeatother

\begin{document}

 (e.g. θ)

\end{document}

이는 다음을 생성합니다.

여기에 이미지 설명을 입력하세요

\var... 의 풀 세트 는 uni-3.def다음과 같습니다

5 matches for "\\var" in buffer: uni-3.def
    174:\uc@dclc{949}{mathletters}{\ensuremath{\varepsilon}}%
    183:\uc@dclc{952}{mathletters}{\ensuremath{\vartheta}}%
    210:\uc@dclc{961}{mathletters}{\ensuremath{\varrho}}%
    213:\uc@dclc{962}{mathletters}{\ensuremath{\varsigma}}%
    225:\uc@dclc{966}{mathletters}{\ensuremath{\varphi}}%

답변2

ucs(예: biblatex와 충돌)를 피하려면 여기에 제공된 lgrxenc.def 및 lgrenc.dfu를 사용할 수 있습니다.http://milde.users.sourceforge.net/LGR/

lgrenc.dfu는 예를 들어 U+03BB를 매핑하여 \texttheta원하는 기호가 되어야 한다고 생각합니다.

답변3

오래된 버전의 를 사용하고 있는 것 같습니다 ucs. 2012년 4월 버전 2.0부터 mathletters옵션을 사용할 때 일반 및 변형 그리스 문자가 모두 적절한 매크로에 매핑됩니다. 내 블로그 기사를 참조하세요.ucs LaTeX 패키지의 새로운 릴리스.

이전 버전을 고수해야 한다면 ucs문자에서 TeX 코드로의 매핑을 수정할 수도 있습니다. 이는 \let. 그러나 \uc@dclcDavid Carlisle의 답변에서와 같이 사용하는 것은 권장되지 않습니다. 사용할 사용자 수준 명령은 입니다 \DeclareUnicodeCharacter. 보다패키지 문서.

관련 정보