Hyperref и splitindex не работают, если номер страницы должен быть выделен жирным шрифтом.

Hyperref и splitindex не работают, если номер страницы должен быть выделен жирным шрифтом.

У меня есть следующий 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}

т.е. атрибут hyperpage отсутствует, как в 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}

Связанный контент