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>처럼 입력하시면 좋습니다.
Index (찾아보기, 색인) 생성 순서와 자모 그룹 간 간격
2022.04.03 09:03
XeLaTeX으로 macos에서 컴파일 중입니다(툴은 TeXShop 이용). 최근에 문의를 드렸지만, 문의 내용을 다시 정리하고 MWE가 없었던 상태라,
다시 한번 MWE를 준비해서 올립니다(당연히 그러시겠지만, 본문 내용과 index는 아무 의미 연관성 없고, 순전히 기술적으로 한글 indexing 문제를
기술적으로 해결하기 위해서 최소한의 예제로 만들었을 따름입니다.).
기본적으로 MWE처럼 인덱스 생성을 해 보면, 두 가지 개인적으로 수정하고 싶은 현상이 나타납니다(혹시 몰라 컴파일된 상태에서
.idx 등 인덱싱 관련 파일도 같이 포함해(더 중요한 표일은 확장자 표기를 했더니 글이 안 올라가네요),
다른 컴파일 결과 파일들 모두 압축, 첨부합니다. 압축파일에 들어 있더라도 편의상 소스 .tex은 따로 뽑아서 추가 첨부했습니다.).
- 현상 1) 그룹별 순서(ordering): 한글, 숫자, 로마자 순서로 희망하는데 잘 안 되네요.
- 현상 2) ㄱ-ㄴ 사이, ㅋ-ㅌ 사이만 분리된 그룹으로 인식해서 줄 간격을 넣어 줍니다. 나머지 자모 사이는 왜 안 그럴까요? 어떻게 해결할 수 있을까요?
잠깐 검색을 해 보니, komkindex 명령을 이용할 때 -k 옵션을 주면 1)은 해결된다고 하는데 안 됩니다.
> komkindex -s kotex(.ist) -k MWE_indexing.idx
(이 명령은 예시로 많이 나와 있어서 그대로 써본 건데, 사실 적용이 안 되어서 더 다행인지도 모르겠습니다. 왜냐하면 kotex.ist 스타일을
원하는 건 또 아니거든요(인덱스 키랑 페이지 사이가 dot로 채워지고 하는 등).
처럼 써봤고요, texindy, xindy 등은 에러가 납니다.
한 가지 찾아본 결과, 생성 파일(ind)을 수기로 수정해서 1), 2)를 해결하면 된다는 방법도 있는데, 이 파일 편집 후엔 어떻게 하는 거죠? (시도하느라,
수정 후 컴파일했더니 손으로 수정하기 전 원래 버전으로 알아서 되돌아갑니다.)
현재 작업방식은 TeXShop에서 소스 컴파일(XeLaTeX) => prompt에서 komkindex 실행 (사실상 영향 없어 보임) => TeXShop에서 소스 재컴파일
과 같은 순서로 했습니다.
도와주시면 감사하겠습니다.
1)은 말씀대로 komkindex를 쓰면 해결됩니다.
2)의 경우는 간단히
komkindex -k (filename).idx
이렇게 한 결과를 원하시는 듯하네요.
[참고 i] kotex.ist 스타일을 원치 않으신다면, (1) 새로운 ist 파일을 작성하여 적용하든가, (2) 아예 -s 옵션 부분을 빼든가 하면 됩니다. 지금 문제가 된 상황은 (2)로 충분할 듯합니다.
[참고 ii] \usepackage{imakeidx} 이 행이 미치는 영향을 생각하셔야 합니다. 질문에서 "komkindex가 안된다"는 것은 이 때문인데요, imakeidx 패키지가 makeindex를 자기가 알아서 돌리기 때문입니다. 따라서 아무리 komkindex 명령을 명령행에서 실행해봤자 결국 makeindex가 만들어내는 결과밖에 얻을 수 없게 되어 있는 것입니다 지금 이 소스가. (만약 mwe를 첨부하지 않으셨다면 이 문제를 발견할 수 없었을 것입니다.)
그러니, makeindex의 자동 실행을 배제하고 komkindex 실행을 수동으로 해야 하는 것입니다.
\usepackage[noautomatic]{imakeidx}
[참고 iii] 명령행을 여는 번거로운 작업은 SpiX나 arara 같은 workflow 툴을 이용하면 간단히 해결됩니다. java를 별도로 깔아야 하는 arara보다 shell script로 작성할 수 있는 SpiX를 제가 선호하기 때문에 예를 들어 두었는데(첨부파일 첫머리 참조), TeXShop에 SpiX 엔진을 붙이는 문제는
http://wiki.ktug.org/wiki/wiki.php/TeXShop#s-2.8
이 페이지의 링크를 따라가십시오. (참고: SpiX는 Windows에서는 못 쓸 겁니다.)