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>처럼 입력하시면 좋습니다.

DohyunKim

저는 이 모든 곳에 공백문자가 들어있고 폭만 조정되었다고 생각했는데

말씀대로라면 이 문자는 없고 간격만 0이 아닌 것인가요?


예. 텍은 PDF에 공백문자를 넣지 않습니다. 단지 간격만 표시합니다. 


\documentclass{article}
\usepackage[hangul]{kotex}
\setmainfont{NanumMyeongjo}
\begin{document}
가a나 다라\par
\leavevmode\hbox to 5em {가a나 다라}
\end{document}


이 소스를 xelatex -output-driver="xdvipdfmx -z0" test.tex 명령으로 컴파일하고 결과물인 PDF를 less 명령으로 열어보면 이런 부분이 보입니다.

[<16a9>-60<0042>-60<1b41>-300<1d8d2225>]TJ

...

[<16a9>-111<0042>-111<1b41>-423<1d8d>-51<2225>]TJ


<16a9>는 “가“, <0042>는 “a”, <1b41>는 “나”, <1d8d> <2225>는 “다”와 “라”의 글리프 번호입니다. 이들 사이의 숫자는 글자들 사이 간격이고요.

원래 소스에 있었던 스페이스는 글리프로 들어가지 않고 간격 300으로 변경되어 있습니다. 또한 “다”와 “라” 사이에 xetexko가 자동으로 기본값 0pt 짜리 글루를 집어넣었는데 이것은 PDF에서는 사라져 있습니다. 간격 0을 이동하라는 지시는 불필요하니까 xdvipdfmx가 지워버린 거겠죠.


아랫 줄은 글자들의 자연적 너비보다 더 큰 너비를 강제함으로써 일부러 글자들 사이의 글루를 잡아늘인 것입니다. 글루들이 다들 늘어나 있고, 특히 첫째줄에서 보이지 않던  “다”와 “라” 사이 간격이 나타나고 있습니다. stretch가 작용한 때문입니다.


사실 스페이스 글리프를 PDF에 넣는 방법이 있긴 있습니다. 위 소스에

\par가\char32 나


라는 행을 추가해고 컴파일하면 다음과 같은 부분이 PDF에 들어갑니다.

[<16a9>-60<0001>-60<1b41>]TJ


여기서 <0001>이 스페이스 문자의 글리프 번호입니다.  그런데 60의 간격은 무엇이냐? xetexko가 스페이스를 영문자로 (잘못) 인식해서 한글과 영문자 사이에 들어가는 미세간격을 넣은 것입니다. 어쨌든 스페이스가 PDF에 들어간다는 것은 바로 이런 경우를 말합니다.


PDF 파일에서 copy and paste 했을 때 60 같은 미세간격들을 스페이스로 취급할 지, 아니면 무시해버릴 지는 PDF 응용프로그램이 알아서 하는 영역이므로 미리 알 수가 없습니다. 즉 어떤 프로그램으로 읽느냐에 따라 다를 수 있습니다.






XE Login