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>처럼 입력하시면 좋습니다.
\pagestyle{hangul}과 type1 수식폰트의 상호 간섭
2012.01.15 16:26
안녕하세요?
xoblivoir 클래스를 이용하여 수식이 들어간 문서를 편집할 때요.
1. 수식 폰트를 mathdesign이나 fourier, mathptmx, mathpazo와 같은 type1 수식 폰트를 사용하고 싶습니다.
즉, \usepackage[garamond]{mathdesign} 또는 \usepackage{fourier} 등...
2. 페이지 스타일로는 hangul 스타일을 사용하고 싶습니다.
즉, \pagestyle{hangul}
문제는 XeTeX이나 LuaTeX으로 컴파일할 때는 위의 1과 2 가운데 어느 하나는 포기해야한다는 것입니다. 둘 다 사용하면 에러가 뜨거든요.
! LaTeX Error: Command \nobreakspace unavailable in encoding T1.
===
그런데 pdflatex으로 컴파일할 때는 문제 없이 1과 2를 동시에 사용할 수 있습니다.
한번 봐주시겠습니까?
===
% untitled-11.tex
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt,a4paper,itemph,chapter,amsmath]{xoblivoir}
\usepackage{fapapersize}
\usefapapersize{*,*,30mm,*,35mm,*}
%% Font Settings
%\setmainfont[Mapping=tex-text]{TeX Gyre Termes}
%\setsansfont[Mapping=tex-text]{TeX Gyre Heros}
%% 둘중 하나만 택해야 에러가 나지 않음.
\usepackage[utopia]{mathdesign}
\pagestyle{hangul}
\usepackage{iftex}
\ifXeTeX
\setkormainfont{HCR Batang LVT}
\setkorsansfont{HCR Dotum LVT}
\else
\usepackage{amsmath}
\fi
\newcommand\exampletext{%
\begin{description}
\item[KTUG 마당] KTUG 마당은 KTUG을 방문하는 모든 이용자들이 대화를 나누고 소식을 전하는 곳입니다.
\item[TnX텍 마당] TnX텍은 텍라이브(TeX Live)와 지텍(XeTeX)을 기반으로 무설치, USB를 사용한 포터블(portable) 실행이 가능한 작은 크기의 텍 배포판입니다. 이 게시판은 TnX텍 환경에서 여러 가지 텍 관련 토론과 질문/답변을 위해 만들었습니다.
\item[Team blog] KTS, KTUG의 회원들이 만들어 가는 Team Blog 입니다.
\item[워크숍] KTUG, KTS에서는 연간 1회이상 TeX의 초중급자를 위한 워크샵을 개최합니다. 현재까지 개최한 워크샵을 모아두었습니다.
\end{description}
An \textit{inhomogeneouslinear} differential equation has the form
\begin{align}
L[v]=f,
\end{align}
where $L$ is a linear differentia loperator, $v$ is
the dependent variable, and $f$ is a given non-zero
function of the independent variables alone.}
\begin{document}
\title{\textbackslash pagestyle$\lbrace$ hangul$\rbrace$과 type1 수식 폰트의 상호 간섭}
\author{}
\date{\today}
\maketitle
\begin{abstract}
XeTeX 또는 LuaTeX으로 컴파일하는 문서에서요.
fourier, mathdesign, mathpazo, mathptmx 등 type1 수식 폰트와 \protect\verb!\pagestyle{hangul}!의 상호 충돌이 있어서요.
어느 둘 중 하나만 사용해야 컴파일이 됩니다. 둘다 사용하면 다음과 같은 에러가 나거든요.
\begin{verbatim}
! LaTeX Error: Command \nobreakspace unavailable in encoding T1.
\end{verbatim}
\end{abstract}
\chapter{챕터}
\section{섹션}
\exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext
\chapter{챕터}
\section{섹션}
\exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampletext \exampetext \exampletext
\end{document}
댓글 2
-
nova de hi
2012.01.15 20:52
-
Progress
2012.01.15 21:50
그렇군요.
\def\nobreakspace{\nobreak\ }처럼 하니까 일단 컴파일은 됩니다만, 폰트가 명확하게 구현되지 않습니다.
한 문장 내에서도 영문이 섞여나오더군요. (신기한 현상입니다.)
다음으로 mathdesign 패키지의 마지막 줄, \RequirePackage[T1]{fontenc}를 주석처리하니까 컴파일은 되는데 수식은 mathdesign으로, 다른 라틴 텍스트 문자는 Latin Modern Family로 나타납니다. 단, 이 경우 \usepackage[utopia]{mathdesign} 외에 별도로 \setmainfont{... } 따위를 지정해주면 라틴 텍스트 문자도 바꿀 수 있긴 합니다.
===
XeTeX에서 수식 폰트를 다른 폰트로 지정하기위해서는, fontspec과 짝을 이루는 mathspec 패키지가 있긴 하지만
그럴 경우, spacing에도 손을 많이 대야하기 때문에 별로 유쾌하지 않다는 생각이 들었습니다.
이럴 때 그냥 맘 편히 이미 만들어진 Type 1 수식 폰트 세트를 갖다 쓰면 어떨까 하는 생각이 들었습니다.
도움 말씀 주셔서 감사합니다.
\pagestyle{hangul}에서 문제가 발생하는 이유는 이 페이지 스타일 정의 중에 ~(잘라지지 않는 공백)에 들어 있기 때문입니다.
이것만 어떻게든 해제하여 컴파일이 되게 하고 싶다면,
\def\nobreakspace{\nobreak\ } 또는 \def~{\nobreak\ } 처럼 하면 일단 지나가기는 할 겁니다.
그러나 T1 인코딩을 XeTeX에서 사용하다보면 이 문자 이외에도 이것저것 걸리는 게 생길 게 틀림없습니다. textcomp 같은 데서는
더 심할테구요.
그래서 저는 mathdesign.sty의 마지막 한 줄을 주석처리해서 이따금 쓰기도 합니다만 이건 패키지 자체를 수정해야 하는 것이니 자신이 뭘 하고 있는지 정확하게 알고 계신 분이 아니라면 나중에 혼선을 빚을 수 있구요.
결론은 T1 폰트 패키지들을 XeTeX에서는 쓰지 말고 대체 폰트를 찾아본다, 가 아마 정답이지 않을까 합니다.