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>처럼 입력하시면 좋습니다.
pdftex에서 되고 xetex에서 안되는 문제
2011.02.10 08:42
아래와 같이 ist를 만들어서 ind를 만들었습니다.
preamble "
\\begin{theindex}
\\newcounter{indexanchor}
\\def\\indexhead#1{\\stepcounter{indexanchor}\\pdfbookmark[1]{#1}{\\theindexanchor}\\textbf{#1}}
\\newcommand*{\\idxmark}[1]{#1\\markboth{\#1}{#1}}
\\def\\hindexhead#1{\\ifcase#1ㄱ\\or ㄴ\\or ㄷ\\or ㄹ\\or
ㅁ\\or ㅂ\\or ㅅ\\or ㅿ\\or ㅇ\\or ㆁ\\or ㅈ\\or ㅊ\\or ㅋ\\or
ㅌ\\or ㅍ\\or ㅎ\\or ㆆ\\or ㅏ\\or ㅑ\\or ㅓ\\or ㅕ\\or ㅗ\\or
ㅛ\\or ㅜ\\or ㅠ\\or ㅡ\\or ㅣ\\or ㆍ\\else 종성\\fi}
\n"
symhead_positive "기호"
numhead_positive "숫자"
headings_flag 1
group_skip "\n\n\\indexspace\n"
heading_prefix "\\indexhead{"
heading_suffix "}\\nopagebreak"
item_0 "\n\\item \\idxmark{"
delim_0 "}, "
item_1 "\n\\subitem "
이걸 만든 목적은 메므와 설명서에서처럼 찾아보기의 표제어가 면주에 들어가게 하는 것입니다.
전에 이걸 시험삼아 만들어 써 본 적이 있습니다.
첨부한 ind 파일을 갖고 아래와 같이 tex 문서를 만들었습니다.
\documentclass[twoside]{oblivoir}
\usepackage{fixltx2e}
\makeevenhead{ruled}{\rightmark}{}{\leftmark}
\makeoddhead{ruled}{\rightmark}{}{\leftmark}
\begin{document}
\pagestyle{ruled}
\printindex[HzGuide]
\end{document}
이걸 pdflatex으로 돌리면 아래 그림처럼 나옵니다.
하지만 xelatex으로 돌리면 아래처럼 메시지가 나옵니다.
<to be read again>
\xk@lastlast@char
l.157 \subitem
{\ttfamily SandolMyeonjo}, \hyperpage{24}
?
찾아보니 \xk@lastlast@char는 xetexko-space와 xetexko-josa 패키지에 정의되어 있더군요.
이런 문제가 생기는 까닭이 무엇일까요?
(1) 문제가 일어나는 곳은 \@leftmark 명령에서인 것 같습니다. 즉 \pagestyle{ruled}에서.
(2) 문제가 일어나는 까닭은 \ttfamily 때문인 듯. 따라서 \ttfamily를 \protect\ttfamily로 하거나 아니면 아예 이 부분을 빼면 괜찮을 것 같습니다.
(3) \mark* 류를 쓰지 않는 심플한 pagestyle을 만들어서 적용해도 되지 싶습니다.