XeLaTeX에서 유니코드 en-dash 렌더링

XeLaTeX에서 유니코드 en-dash 렌더링

XeLaTeX를 사용하여 상황을 올바르게 이해하고 있다면 다음 줄은 각각 적절한 em- 및 end- 대시로 출력되어야 합니다.

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium Plus}

\begin{document}

Hello---world!

Hello—world!

Hello--world!

Hello–world!

\end{document}

그러나 어떤 글꼴을 선택하든 유니코드 en-dash에서 오류가 발생합니다(em-dash는 --en-dash를 생성하는 순서와 마찬가지로 잘 작동합니다).

 ./dash-testing.te.tex:13: Undefined control sequence. 
 l.13 Hello\UTF
               {2013}world! \\

하지만 InDesign 글리프 뷰어 등을 사용하여 2013이라는 캐릭터가 실제로 존재한다는 것을 알 수 있습니다. 그리고 등의 다른 문자를 직접 입력하는 기능 도 작동합니다.

유니코드 en-dash를 작동시키려면 어떻게 해야 합니까?

업데이트됨: 이것은 컴파일을 계속하면 얻을 수 있는 출력입니다(적절한 글꼴이 실제로 사용되고 있음을 보여주기 위한 것임).

나쁜 엔 대시, 나쁜

답변1

내 브라우저에서 전체 내용을 새 텍스트 파일로 복사하고 xelatex로 컴파일하여 문제 없이 작업했습니다.귀하의 코드가 작동하지 않을 이유가 전혀 없습니다

  • 콘솔 창을 닫거나 컴퓨터를 다시 시작한 후 새 디렉터리에 완전히 새로운 파일을 만들어 보세요.

    비슷한 문제가 있을 때 가끔 도움이 됩니다...

  • 이것이 도움이 되지 않으면 TeX 배포판을 업데이트해 보십시오.

직장에서 em 대시

답변2

Gentium은 Type 1 글꼴로도 사용할 수 있습니다. 예를 들어 TEXMF/fonts/type1/public/gentium-tug/이 글꼴도 설치되어 있고 XeLaTeX가 발견된 첫 번째 글꼴을 사용한다고 가정합니다. 그러나 XeLaTeX가 다음을 사용하여 TrueType 버전을 사용하도록 강제할 수 있습니다.

\setmainfont[
  Extension=.ttf,
  UprightFont=*-R,
  ItalicFont=*-I]{GentiumPlus}

이것은 XeTeX, 버전 3.14159265-2.6-0.99992(TeX Live 2015)입니다(사전 로드된 형식=xelatex 2016.2.13) 2016년 2월 14일 20:43

 fontspec-xetex.sty    2016/02/01 v2.5a Font selection for XeLaTeX and LuaLaTeX

답변3

시간을 낭비하게 해서 정말 죄송합니다. 이는 TexShop "문제"로 밝혀졌습니다. 나는 Vim에서 테스트 파일을 편집하기 전까지는 TexShop이 나에게 정확한 소스를 보여주지 않는다는 사실을 깨닫지 못했습니다. Vim을 사용하기 전까지는 실제 소스가 문자 그대로 어디에 있는지 볼 수 없었습니다 UTF{2013}.

이는 pTeX 지원에 대한 기본 설정이며, 이 StackExchange 답변에서와 같이 해당 기본 설정을 꺼서 수정되었습니다.TexShop 발음 구별 부호 인코딩

관련 정보