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>처럼 입력하시면 좋습니다.
beamer + kotex + xelatex 에서 문장 간격
2011.11.19 02:17
beamer + kotex 로 작성된 슬라이드가 있습니다. 여기에서 다른 한글 폰트를 쓰려고
\setmainhangulfont[BoldFont=나눔명조 Bold]{나눔명조}
\setsanshangulfont[BoldFont=나눔고딕 Bold]{나눔고딕}
처럼 사용하면, 문장 사이의 간격이 넓어져서, 원래는 한 슬라이드에 다 들어가던 내용이 슬라이드 밖으로 넘어가버립니다.
아마 다른 폰트를 사용해도 같은 문제가 발생했던 것 같습니다.
아마 beamer 뿐 만 아니라 article 클래스에서도 같은 현상이 발생하는 듯 한데, 어떻게 간격을 유지한 채로 폰트만 바꿀 수 있나요?
-----------
이것 저것 해 보다 보니까,
\usepackage{kotex}
를 했을 때, pdflatex 로 컴파일 할 때와, xelatex 로 컴파일 했을 때, 간격이 달라지는 것 같네요.
한글을 전혀 사용하지 않아도 간격이 많이 달라집니다.
첨부한 이미지 파일을 봐 주세요. 원래 이런 건가요? Windows 7 + texlive 2011 + kotex 2011 입니다.
댓글 8
-
gromob
2011.11.19 09:18
-
gromob
2011.11.19 09:37
oblivoir에서는 LaTeX, XeLaTeX 두 가지 컴파일 방법 사이에 간격 차이는 없네요.
고수님의 설명을 들을 차례인 것 같습니다.
-
gromob
2011.11.19 10:02
아마도 모든 경우에 kotex을 사용하면서 hangul 옵션을 사용하면 간격이 한글에 맞게 늘어나나봅니다.
oblivoir에서도 nokorean 옵션을 주면 간격이 줄어드는군요.
그니까 kotex에서는 두 가지 옵션이 있는 셈이네요.
oblivoir에서는 원래 영어 간격으로 한글을 쓸 수 있는 방법은 (직접 맞추기 전에는) 없나보네요.
-
DohyunKim
2011.11.19 12:08
해명입니다.
유니코드 ko.tex 매크로를 처음 작성할 당시, 한글을 찍어내는 게 일차 목표였습니다. 한글은 2바이트 문자이고 라틴 문자는 1바이트 짜리인지라 관건은 식자 그 자체였습니다. 그래서 영어 문서를 작성하면서 한글을 잠시 쓸 때도 ko.tex을 불러 쓸 수 있게 하는 걸 염두에 두었습니다.
xetex 이후에는 텍 엔진 자체가 두 바이트 이상의 문자도 잘 지원하게 되었습니다. 이제 ko.tex은 한글을 찍는 것을 넘어 한글 문서를 조판하는 데로 관심을 기울이게 되었습니다. 영어문서에 한글을 잠깐 삽입하는 정도라면 굳이 ko.tex을 부를 필요가 없습니다. 그래서 ko.tex을 부르면 줄간격을 넓게 잡도록 하는 명령을 xetexko에 집어넣었고 luatexko도 마찬가지입니다. 한글은 라틴문자보다 평균적으로 글자 높이가 상당히 크니까요.
어쨌든 줄간격은 사용자가 간단히 조절할 수 있습니다. linespread 명령을 이용하면 되죠. 또는 baselinestreatch를 재정의하고 selectfont 해도 됩니다. 아니면 setspace 패키지를 로드해서 그 패키지가 제공하는 명령을 이용할 수도 있습니다. 취향에 맞게 쓰시면 되겠습니다.
-
gromob
2011.11.19 14:54
자세한 설명 감사드립니다.
그래도 한 가지 질문이 남습니다.
latex으로 컴파일할 때는 어째서 kotex이 영문모드 default로 돌아가는가입니다.
xetex에서는 안 돌아가는데요.
또 xetexko인가 oblivoir에서인가 nokorean 모드에서 모든 세팅을 영문모드로 돌리는 것은 좋지만
한글을 안나오게 할 필요는 없지 않을까요?
이 모드는 마치 latex에서 영문 모드를 사용하는 것과 같으면 좋을 것이라고 생각됩니다.
영문 형식으로 조판하되 한글을 사용할 수만 있는 것입니다.
xetexko를 쓰던 사람들이 영문 논문에 한글이 나올 때만 fontspec이나 newfontfamily 명령을
부르는 것을 기억할 필요가 없어질 것 같아요.
한글 나오게 하는 것이 너무 복잡한 것만 아니라면.
-
nova de hi
2011.11.19 15:24
oblivoir에 한해서 말씀드리자면, nokorean 옵션은 완전히 memoir라고 한 것과 똑같은 상태가 됩니다.
이 상태에서 모든 설정이 사용자에게 맡겨져 있는 것이 nokorean 옵션의 의미인데요, 말씀하신 것은 분명히 일리있고
필요할 수도 있는 부분이겠다 싶은 생각이 들지만 nokorean의 원래 설계 의도를 (지금으로서) 바꾸고 싶지 않습니다.
그 대신, 그냥 한글만 잠깐 찍는 방법에 대한 예시를 드는 것 정도로 이해해주시면 감사하겠습니다.
\documentclass[nokorean]{xoblivoir}
\usepackage{fontspec}
\newcommand*\SetupHangulFont[1][\empty]{%
\ifx#1\empty
\newfontfamily{\korfont}{UnBatang}\else
\newfontfamily{\korfont}{#1}\fi
}
\newenvironment{hangul}%
{\ifx\korfont\undefined\SetupHangulFont\fi
\begingroup
\XeTeXlinebreaklocale="ko"%
\korfont}%
{\endgroup}
\newcommand\hgl[1]{\hangul #1\endhangul}
\begin{document}
%\SetupHangulFont[HCR Batang LVT]
Test, test. \hgl{테스트}, test.
\begin{hangul}
역사란 무엇이뇨?
\end{hangul}
\end{document}
-
고구마
2011.11.20 02:18
답변 감사드립니다.
혹시 저 같은 초보들을 위해서 예제를 넣자면
\documentclass{article}
\usepackage{kotex}
\usepackage{blindtext} %테스트용 텍스트
\linespread{1.0} % 이 부분을 추가
\begin{document}
\blindtext %테스트용 텍스트
\end{document}
이렇게 하니, pdflatex, xelatex 로 컴파일 했을 때, 결과가 같게 나오네요. 도움 말씀 감사합니다.
-
gromob
2011.11.19 18:58
자세한 데히님 설명 감사합니다.
새로운 코드도요.
저도 nokorean 옵션을 고치는 것을 바라지 않습니다.
그것은 꼭 있어야할 중요한 옵션이라고 보입니다.
위에 주신 코드를 somekorean이나 alittlekorean 정도의 옵션으로 만들어주시는 것은 어떨까 하는 생각도 듭니다.
즉 somekorean = nokorean + (위의 코드) 가 되도록 하면 어떨까 여쭈어 봅니다.
사실 옵션이 자꾸 늘어나는 것도 안좋겠지만요..
그럴 리가 없다고 생각했는데요.
실제로 차이가 나는군요.
아마 kotex이 xetex을 쓸 때 은글꼴 ttf의 글꼴 정보를 가져다 쓰는게 아닐까 추측해 봅니다.
그럼 latex은 tfm파일을 만들때 그 정보를 못 뽑았는가 하는 의문이 남습니다만...
간단히 kotex만 부르고 article에서 컴파일하니 그렇네요.
oblivoir는 어떨지 궁금하네요.