독자에게 페이지 번호와 예제 번호를 참조하는 색인을 생성하는 코드가 있습니다. (코드는 다음과 같습니다.이 답변, 편의를 위해 아래에 재현했습니다. 우연히 를 사용하고 있지만 예를 들어 방정식 번호일 수도 있습니다.) 페이지뿐만 아니라 특정 예에 대한 링크를 생성하는 데 expex
사용하고 싶습니다 . hyperref
이를 수행할 수 있는 방법이 있습니까? xindy
인덱스 프로세서로 사용하고 있습니다 .
\documentclass{book}
\usepackage{expex,lipsum,index}
\newcommand{\PageExample}{\thepage-\the\excnt}
\newindex[PageExample]{my-index}{idx}{ind}{My Custom Index}
\makeindex
\begin{document}
\ex \lipsum[1]\index[my-index]{First example} \xe
\ex \lipsum[2] \index[my-index]{Second example}\xe
\ex \lipsum[3] \index[my-index]{Third example}\xe
\ex \lipsum[4] \index[my-index]{Fourth example}\xe
\ex \lipsum[5] \index[my-index]{Fifth example}\xe
\ex \lipsum[6] \index[my-index]{Sixth example}\xe
\ex \lipsum[6] \index[my-index]{Seventh example}\xe
\printindex[my-index]
\end{document}
답변1
여기에 기반한 솔루션이 있습니다.이 답변.
\documentclass{book}
\usepackage{expex,lipsum,index}
\newindex[PageExample]{my-index}{idx}{ind}{My Custom Index}
\usepackage[hyperindex=false]{hyperref} % has to be after makeidx
\newcommand{\PageExample}{\thepage-\the\excnt}
\makeindex
\def\xindex#1#2{%
\edef\doindexentry{\noexpand\index[#1]
{#2|indexanchor{example:\the\excnt}}}%
\doindexentry}
\def\indexanchor#1#2{\hyperlink{#1}{#2}}
\begin{document}
\xindex{my-index}{First example}
\ex
\raisebox{\baselineskip}{\hypertarget{example:\the\excnt}{}}\ignorespaces%
\lipsum[1]
\xe
% now make the code prettier:
\def\iex#1{%
\xindex{my-index}{#1}%
\ex %
\raisebox{\baselineskip}{\hypertarget{example:\the\excnt}{}}\ignorespaces}
\iex{Second example} \lipsum[2] \xe
\iex{Third example} \lipsum[3] \xe
\iex{Fourth example} \lipsum[4] \xe
\iex{Fifth example} \lipsum[5] \xe
\iex{Sixth example} \lipsum[6] \xe
\iex{Seventh example} \lipsum[7] \xe
\printindex[my-index]
\end{document}
여기에는 두 가지 "트릭"이 있습니다. 첫 번째는 하이퍼링크를 생성하는 매크로가 \index
마치 서식 명령인 것처럼 전달된다는 것입니다(예: \index{Joe|indexanchor}
대신 \index{Joe|textit}
).
두 번째 트릭은 매크로를 \edef
호출하기 위해 호출하기 전에 필요한 모든 매크로를 확장하는 데 사용하는 것입니다 \index
. 외부에 \xindex
대한 호출이 있는 경우 .idx 파일에 다음과 같은 내용이 기록됩니다 .\index
\edef
\indexentry {First example|indexanchor{example: \the \excnt}}{1-1}