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>처럼 입력하시면 좋습니다.
기호가 이상합니다.
2014.12.24 19:24
\documentclass{xoblivoir}
\usepackage{arcs}
\begin{document}
$\overarc{AB}$
\end{document}
windows 7과 Texlive2014에서 XeLatex로 컴파일 한 결과입니다.
왜 이럴까요?
미리 감사드립니다.
댓글 6
-
nanim
2014.12.25 09:02
-
kangbada
2014.12.26 12:54
답변 감사합니다.
2004/05/09 버전에서 말씀하신 방법으로 해 보았는데 결과가 꼭 같습니다.
그리고 \wideparen은 unicod-math 패키지에서 글자가 깨져 보이는데 혹시 다른 방법 있을까요?
감사합니다.
-
nanim
2014.12.26 15:49
어떤 방법으로 해보셨는지 모르겠지만 잘 안 된다면 이유가 있겠죠.
그렇지만 왜 안 되는지는 시험해보신 상황을 보여주지 않으면 알 수가 없습니다.
그리고, \wideparen이 글자가 깨진다는 건 무슨 말씀인지요?
(어떤 상황에서 무슨 일이 일어난 건지 알 수 있도록 말씀해주지 않으시면 참 답변하기 어렵습니다.)
-
kangbada
2014.12.27 13:23
죄송합니다.
좀 더 신중하게 질문을 드렸어야 했는데...
그림 1은 처음 커파일 하면 나오는 결과입니다.
아마 이것은 기존의 문서 앞 부분에 살짝 얹혀서 했기 때문에 기존의 정보들과 충돌한 결과인 듯합니다. (이런 부분은 문외한 이라서 단순한 예상입니다만.)
그림 2는 두 번째 컴파일한 결과입니다. 에러없이 잘 되었지만 원하는 결과가 아닙니다.
그림 3은 원하던 결과입니다. 두 번째 문서에 있던 빈칸을 없앤 결과입니다.
그리고 마지막 그림 4는 \usepackage{unicod-math}를 추가했을 때 $\wideparen{AB}$ 모양인데 글자가 깨진 것이 아니고 기호가 깨진 것이군요. 물론 \usepackage{unicode-math}를 빼면 잘 됩니다.
이 부분은 이런 저런 잡다한 package를 이용하다 보니 생긴 문제인 듯하여 제가 좀 더 찾아보면 될 듯합니다.
아무튼 덕분에 모든 문제가 해결되었습니다.
감사합니다.
-
nanim
2014.12.27 14:13
\wideparen이 정의된 수학 글꼴 패키지가 몇 개 있습니다만, 그 중에서 yhmath를 써보기로 하겠습니다.
1. unicode-math를 쓰는 이유가 "대문자 세우기" 때문이고 실제 복잡한 수학 글꼴을 쓰기 위한 것은 아니라고 가정합니다.
2. 수학 글꼴 패키지들은 가끔 같은 이름의 명령을 정의할 때가 있습니다. 따라서 로딩 순서가 매우 중요한데 맨 마지막에 로드된 패키지가 일반적으로 유효합니다.
3. amsmath는 모든 수학 글꼴 패키지보다 앞서 나와야 합니다.
그러므로 다음과 같은 순서가 되겠습니다.
\usepackage{amsmath,amssymb}
\usepackage{etoolbox}
\usepackage{unicode-math}
\ExplSyntaxOn
\bool_set_true:N \g_um_upLatin_bool
\ExplSyntaxOff
\setmathfont{latinmodern-math.otf}
\usepackage{arcs}
\makeatletter
\xdef\@gobblethree#1#2#3{}
\patchcmd{\over@under@arc}%
{\let \rs@size@warning = \@gobbletwo}{\let \rs@size@warning = \@gobblethree}{}{}
\makeatother
\let\widetilde\relax
\let\widehat\relax
\usepackage{yhmath}이 패키지 로딩 순서에서 중요한 것만 지적하면 다음과 같습니다.
- 지난번 토론했던 수학 모드에서 대문자를 upshape로 하는 코드 \ExplSyntaxOn에서 \ExplSyntaxOff까지가 수학폰트 설정 명령 \setmathfont보다 먼저 나와야 합니다. 이 순서가 바뀌면 효력이 없어집니다. 여기서는 평범하게 latinmodern-math.otf를 지정했는데 이 폰트는 unicode-math의 디폴트입니다. 다른 폰트를 사용하는 경우에 대비하여 예를 든 것입니다.
- 지금 문제가 된 \wideparen이 깨지지 않게 하려면 yhmath가 unicode-math보다 뒤에 나와야 합니다. 그런데 이렇게 하면 에러 메시지 두어 개가 보일 것입니다. 이 에러를 억제하는 코드가 \usepackage{yhmath} 위의 두 줄입니다.
- arcs의 버그를 수정하는 코드는 어디에 있어도 상관없지만 편의상 arcs를 로드하는 곳 직후에 붙였습니다. 이 코드에 쓰인 \patchcmd 명령을 위해서 그 이전에 \usepackage{etoolbox}가 선언되어 있어야 합니다.
yhmath와 같이 자체 폰트를 사용하는 패키지를 unicode-math 이후에 로드하면 그 패키지가 정의하는 심벌에 한하여 unicode 폰트를 사용하지 않게 됩니다. 제가 unicode-math를 쓰기로 했다면 다른 수학 글꼴 패키지를 가급적 적게 사용하는 것이 좋다는 식으로 말씀드리는 이유는 그것 때문이고요. 지금 문제가 된 경우에 한해서 unicode-math가 수학 글꼴을 다양하게 쓰기 위해서 쓴 것이 아니기 때문에 이 정도로 되지 않을까 생각합니다.
패키지 로딩 순서에 관련된 에러나 원치않는 상황은 작업 중인 문서의 preamble을 보여주시기 전까지는 짐작도 할 수 없는 경우가 많습니다. 질문과 답변을 위해 최소한의 샘플이 꼭 필요한 경우 중의 하나이겠습니다.
-
kangbada
2014.12.29 17:10
정성스런 답변 감사합니다.
모르는 것도 많고, 배워야 할 것도 너무 많군요.
15년 정도 텍을 쓰고 있지만 근본적인 문제만 만나면 캄캄합니다.
그래도 버리지 못하는 것이 텍의 매력이 아닌가 합니다.
앞으로도 많은 도움 부탁드립니다.
행복한 연말과 새해가 되시길 빕니다.
감사합니다.
relsize와 arcs의 충돌입니다.
다음 방법은 arcs.sty 2004/05/09버전에만 적용됩니다. 그 이후 버전에서는 아마도 수정되지 않을까 생각합니다.
(arcs 저자에게 버그 리포팅을 하시는 것이 좋겠습니다.)
이렇게 하면 약간의 relsize warning이 나옵니다. 이 경고가 싫으시다면,
\wideparen 같은 걸로 대신해보시는 것은 어떤가요?