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에 대한 질문입니다.
2020.01.03 06:06
글을 쓰다 보면 중간 중간에 한자를 넣게 됩니다. 그래서 여러 바업으로 시도했습니다.
=====================
\documentclass[a4paper,10pt]{article}
\usepackage{graphicx,tikz}
\usepackage{polyglossia}
\usepackage{ctex}
\begin{document}
\section{韓國語史}
\noindent
中文化的 \LaTeX 手。\\
章节标题中文化的 \LaTeX{} 手册。\\
梃\\
그런데 한국어는?\\
\end{document}
결과물은 훌륭합니다.
=============
이제 폰트를 좀 더 멋진 것으로 바꾸려고 했습니다. 그래서
\setmainfont[Language=Chinese Simplified]{HanWangFangSongMedium}
\begin{document}
와 같이 한 줄을 삽입하면, 결과물은 전혀 변화가 없습니다.
이번에는 폰트는 살리고 \usepackage{ctex} 만 지우면 결과물은
폰트는 원하는 대로 나타나지만, 간자체가 왕창 사라집니다.
물론 두 경우 모두 한글은 지원하지 않습니다. 그래서 두 번 째 경우에
\usepackage{xetexko}
\setmainhangulfont[Mapping=tex-text]{UnShinmun}
를 첨가합니다. 그러면 결과물은
와 같이 한국어는 은신문체로 지원을 하지만, 한자는 간자체가 네모로 나옵니다.
더구나 한자 마지막 글자인 정(梃)은 1, 2 번과는 다르게 사라집니다.
즉 xetexco에서는 이 글자를 지원하지 않는다는 겁니다.
1,2,3 세 경우를 합쳐서 사용하면 (당연히 순서는
\usepackage{ctex}
\usepackage{xetexko}
%====================================
\setmainfont[Language=Chinese Simplified]{HanWangFangSongMedium}
\setmainhangulfont[Mapping=tex-text]{UnShinmun}
입니다. 결과물은 3번째와 전혀 다르지 않습니다. 마지막으로
\usepackage{xetexko}
\usepackage{ctex}
순서를 바꿉니다. 그럼 xetexco가 먼저 지정한 것이 있어서 ctex.sty과 충돌하지만 결과물은 나옵니다.
보기 좋게 한글은 지원이 안됩니다. 물론 \usepackage{ctex}를 지우면 한글이 지원 되지만
결과물은 3번째와 같습니다.
이 세가지 모두를 만족시킬 방법은 없을까요?
댓글 5
-
yihoze
2020.01.03 08:50
-
DohyunKim
2020.01.03 12:32
한글 사이에 공백이 사라져버렸네요.
\korean, \Korean
명령의 정의에\CJKspace
를 추가하면 좋겠습니다.한글 영역 문자를 만나면 xecjk가 자동으로 공백을 살려주면 좋을텐데 그런 방법이 있나 모르겠습니다.
추천:1 댓글
-
noname
2020.01.03 10:35
제가 이해하고 테스트해본 바로는 xeCJK와 xetexko를 함께 사용하는 것은 좋지 않아 보입니다.
1. 중심 언어가 한국어이고 한자가 보조적으로 사용된다면 xetexko의 한자 폰트를 간자체로 지정하는 것으로 충분할 것입니다. 예를 들면
\usepackage{xetexko} \setmainhangulfont{Noto Serif CJK KR} \setmainhanjafont{Noto Serif CJK KR}[Language=Chinese Simplified]
2. 중심 언어가 중국어이고 한글을 보조적으로 사용해야 한다면 ctex을 활용하는 것이 좋겠지요. 위에 yihoze님께서 예를 들어주신 것과 같습니다.
-
Stoneface
2020.01.04 10:02
감사합니다. 놀라운 결과를 얻었습니다.
\documentclass[a4paper,10pt]{article}
\usepackage{graphicx,tikz}\usepackage{polyglossia}
\usepackage{xetexko}\setmainhangulfont[Mapping=tex-text]{UnShinmun}
\setmainhanjafont[Language=Chinese Simplified]{王汉宗中仿宋简}
\begin{document}
\section{韓國語史}
\noindent
中文化的 \LaTeX 手。\\
章節標題中文化的 \LaTeX{} 手冊。\\
梃\\
그런데 한국어는?\\
\end{document}의 결과가 첨부 파일과 같이 나타납니다. 간자로 바뀌어 나타나는군요.
-
yihoze
2020.01.07 17:24
polyglossia는 이 경우에 아무 의미가 없습니다.
ctex은, 매뉴얼이 중국어로 되어 있어서 이해하지 못하겠지만, kotex과 유사한 것이라 생각됩니다. kotex은 텍 엔진에 따라, 그러니까 pdflatex을 사용하느냐, xelatex을 사용하느냐에 따라 호출하는 패키지가 다릅니다. 따라서 폰트 설정 방법도 달라지겠죠. ctex도 xelatex을 사용하는 경우에는 xecjk를 부르는 것 같습니다. 이 매뉴얼도 중국어로 되어 있어서 잘 모르겠지만, 수년 전에 사용해본 경험이 있어서 (그 사이에 크게 업그레이드된 것 같습니다만) 이렇게 해봤습니다.
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{Noto Serif CJK SC}[BoldFont={* Bold}]
\setCJKsansfont{Noto Sans CJK SC}[UprightFont={* Regular},BoldFont={* Bold}]
\newCJKfontfamily\HangulFont{NanumMyeongjo}
\newcommand\korean[1]{{\HangulFont #1}}
\newenvironment{Korean}{\HangulFont}{}
\begin{document}
\section{韓國語史}
\noindent
中文化的 \LaTeX 手。\\
章节标题中文化的 \LaTeX{} 手册。\\
梃\\
그런데 한국어는?\\
\korean{그런데 한국어는?}
\end{document}
Noto Serif CJK SC 폰트에는 한글이 포함되어 있어서 (왜 SC, KR, JP 폰트를 따로 만드는지 모르겠지만) 편리합니다. 굳이 다른 폰트로 한글을 식자하려면 \newCJKfontfamily로 폰트 명령을 만들면 됩니다. \newfontfamily는 통하지 않는 걸로 보아 CJK 코드 영역 전부를 xeCJK가 관장(?)하는 것 같습니다.