
次の MWE test.tex があります:
\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{splitidx}
\newindex[Wissenschaftliche Namen]{sci}
\newindex[Deutsche Namen]{dt}
\newcommand{\BTS}[1]{\textbf{\textit{#1\sindex[sci]{#1|textbf}}}} %Index Scientific
\newcommand{\BTD}[1]{#1\sindex[dt]{#1}} %Index deutsch
\usepackage{hyperref}
\makeindex
\begin{document}
\BTS{Thymelicus lineola} (\BTD{Schwarzkolbiger Braun-Dickkopffalter}
\printindex*
\end{document}
pdflatexとsplitindexでコンパイルされたtest-sci.idxは次のように表示されます
\indexentry{Thymelicus lineola|textbf}{1}
つまり、ハイパーページ属性は test-dt.idx には存在しません。
\indexentry{Schwarzkolbiger Braun-Dickkopffalter|hyperpage}{1}
これを解決する方法はありますか?
答え1
\textbf と \hyperpage を組み合わせた新しいコマンドを定義できます。
\documentclass[12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{splitidx,xparse}
\newindex[Wissenschaftliche Namen]{sci}
\newindex[Deutsche Namen]{dt}
\NewDocumentCommand\boldhyperpage{ m } {\textbf{\hyperpage{#1}}}
\newcommand{\BTS}[1]{\textbf{\textit{#1\sindex[sci]{#1|boldhyperpage}}}} %Index Scientific
\newcommand{\BTD}[1]{#1\sindex[dt]{#1}} %Index deutsch
\usepackage{hyperref}
\makeindex
\begin{document}
\BTS{Thymelicus lineola} (\BTD{Schwarzkolbiger Braun-Dickkopffalter}
\printindex*
\end{document}