Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
    • 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
    • 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
    • 최소 예제는 "Minimal working example"을 읽어 보세요.
  • 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
  • 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 사용하는 편집기는 CKeditor입니다.
    • 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
    • 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
    • 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.

xetexko 유니코드 따옴표 닫기 이후 추가 공백 제거

2021.07.04 11:38

kotex 사용자 조회 수:2054

xelatex 엔진에서 작은 따옴표를 ' (U+0027, AOSTROPHE)로써 표시할 때와 ’ (U+2019, RIGHT SINGLE QUOTATION MARK)로써 표시할 때 작은 따옴표 이후 공백에 차이가 있습니다. U+2019를 사용하면 상당한 공백이 있어 마치 띄어쓰기를 한 듯한 느낌을 줍니다.

* 유니코드 참조: https://unicode-table.com/kr/sets/quotation-marks/

\documentclass[12pt]{article}
\usepackage{kotex}
\begin{document}

\xetexkofontregime{latin}[cjksymbols=hangul]

\setmainfont{Times}
\setmainhangulfont{UnBatang}
\addhangulfontfeature{Color=FF0000}

레이텍'은  % U+0027

레이텍’은  % U+2019

\end{document}

라틴과 한글 부호를 구별하기 위해 한글은 빨간 색으로 표시되도록 하였습니다. 첨부된 스크린샷을 보시면 U+0027 사용 시에는 영문이 적용되고 작은따옴표 다음 공백이 없는 반면, U+2019를 사용할 때 한글이 적용되고 추가적인 공백이 있습니다. 이 추가 공백을 제거할 방법이 있을까요?

참고로, 한글 부호들(예를 들어 겹낫표)을 많이 사용하므로 cjksymbols는 한글을 사용해야 합니다. 사실, cjksymbols=latin으로 해도 영문 폰트만 적용될 뿐, 작은따옴표 다음 공백은 여전히 있습니다. 그리고 PDF 파일에서 텍스트 선택을 해 보면 실제로 작은따옴표 다음에 스페이스가 있는 것으로 나타납니다.

감사합니다.

Screen Shot 2021-07-04 at 11.29.49 AM.png

추가

texlive/2021/texmf-dist/tex/xetex/xetexko/xetexko.sty 파일에서 연관이 있을 만한 부분을 살펴 보았습니다. 다음과 같이 했더니 따옴표(큰따옴표, 작은따옴표)는 해결이 되는군요. 다른 곳에서 문제가 발생할지는 모르겠습니다.

\makeatletter
\def\XeKo@startOP#1{%
  \let\XeKo@pre@hang\XeKo@undefined \let\XeKo@post@hang\XeKo@undefined
  %\def\XeKo@currclass{15}%  % 여기 코멘트 아웃. 따옴표 열기에 해당
  \XeKo@toks@{#1}%
  \XeKo@def@pre@hang{#1}%
  \XeKo@check@next@tok
  }
\def\XeKo@startCL#1{%
  \let\XeKo@pre@hang\XeKo@undefined \let\XeKo@post@hang\XeKo@undefined
  %\def\XeKo@currclass{16}%  % 여기 코멘트 아웃. 따옴표 닫기에 해당
  \XeKo@toks@{#1}%
  \XeKo@def@post@hang{#1}%
  \XeKo@check@next@tok
}
\makeatother

추가 2

그렇게 하였더니 곧바로 문제가 발생하는군요. AppleMyungjo 폰트를 사용했더니 U+2019 문자 다음에 큰 공백이 만들어집니다(따옴표 여는 경우에는 앞쪽에 여백). xetexko 어느 부분에선가 따옴표 부분을 특별히 처리하도록 코딩이 되어 있지 않나 싶습니다.

추가 3

따옴표에 해당되는 클래스를 다음과 같이 바꾸었더니 ‘는 `과 똑같이 취급되고 ’는 '과 똑같이 취급됩니다. 위 추가 부분의 코드를 모두 삭제하고 다음 추가:

\XeTeXcharclass "2018=\XeTeXcharclassAO % ‘ LEFT SINGLE QUOTATION MARK
\XeTeXcharclass "201C=\XeTeXcharclassAO % “ LEFT DOUBLE QUOTATION MARK
\XeTeXcharclass "2019=\XeTeXcharclassAC % ’ RIGHT SINGLE QUOTATION MARK
\XeTeXcharclass "201D=\XeTeXcharclassAC % ” RIGHT DOUBLE QUOTATION MARK

무슨 뜻인지는 모릅니다. 다른 문제가 발생하는지는 더 살펴봐야겠습니다.

추가 4

폰트 문제인 것 같고, xetexko가 이 문제를 해결하기 위하여 상당한 노력을 한 것으로 보입니다((`-´)>). xetexko.sty 파일을 살펴 보았더니 \XeKo@currclass 15(따옴표 열기)와 16(따옴표 닫기)은 특별한 방식으로 처리되고 있는데(\hbox to.5em\bgroup\hss \the\XeKo@toks@ \egroup), 여기서 hbox의 크기를 미세조정하면 맞출 수 있어 보이기도 합니다. 다만, 작은 따옴표와 큰 따옴표의 넓이가 달라, 두 문자를 별도의 클래스로 분리하지 않으면 현재 코드 그대로는 처리하기 쉽지 않아 보이기도 합니다. 초보자의 생각입니다.

번호 제목 글쓴이 날짜 조회 수
공지 Minimal Working Example을 첨부해주세요 [4] nanim 2015.06.23 229487
2722 R markdown - xelatex pdf compile 에러가 해결이 되지 않습니다. [6] file rlatex초보 2022.07.20 1180
2721 XeLaTeX에서 BibTex 관련하여 여쭙니다. [4] file 구름 2022.07.20 849
2720 visual studio code 의 latex editor 상 오류 [4] jack.p78928 2022.07.18 2253
2719 header에서 part, chapter, section을 전부 표현하려면?? [5] hwlee 2022.07.15 948
2718 tcolorbox 장절표제 - 한글과 같이 사용하면 botton align이 안맞습니다. [10] hwlee 2022.07.12 966
2717 Overleaf Rtex Rmarkdown 실행 시 명령어 및 출력 Layout 제어 안됨 [1] LATEX_RTEX 2022.07.01 1122
2716 Argument of � has an extra }. 에러 질문입니다. [2] file thesam 2022.06.23 1939
2715 texlive 2022 업데이트 후 oblivoir에 문제가 있는 듯 합니다. [4] file 강성찬 2022.06.21 1076
2714 overleaf에서 kotex를 쓰고 있는 사용자입니다 [2] 장승표 2022.06.19 1199
2713 tcolorbox 속 section 선언이 rightmark로 할당되지 않는 문제 [2] file bjorkii 2022.06.18 823
2712 신명조를 쓰려면 어떻게 해야 하나요? [3] 신명조는 왜 2022.06.17 10828
2711 여는 따옴표 뒤에서 줄 나눔 [2] file yihoze 2022.06.16 686
2710 포토샵 이미지 파일을 텍에서 쓰려면 [11] 판돌이 2022.06.06 774
2709 Reference입력 (.bib) 사용 [2] 보문동메아리 2022.06.06 684
2708 한 줄에 두 줄로 문장을 쓸 수 있도록 하려는데... [4] file teolsuk 2022.05.30 655
2707 "List of figures", "List of tables"의 Page numbering 문의 [5] 가좌 2022.05.26 621
2706 캡션 번호에서 점이 사라졌습니다. [2] 캡션 2022.05.24 616
2705 enumerate*에서 항목들의 수평 간격 일정하게 하기 (tabto) [3] file ksj 2022.05.10 646
2704 위아래 단위가 서로 영향을 주지 않게 하려면... [8] file 판돌이 2022.05.10 721
2703 tikzpicture사용시 "show background grid" 오류 [1] 버섯 2022.05.01 609



XE Login