Problema con la cita de autores que tienen un comando definido por el usuario en sus nombres

Problema con la cita de autores que tienen un comando definido por el usuario en sus nombres

Tengo un problema al usar polskiel paquete simultáneamente con imakeidxy biblatex. Sólo uso el comando \dywizdel paquete polskique se define como\def\dywiz{\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}

El comando se utiliza para controlar la separación de palabras de palabras de dos partes (con guiones). Todo funciona bien excepto cuando lo uso para los nombres de autores que también necesitan estar indexados en el bibarchivo.

Cuando uso el comando \index{Kowalski\dywiz Jankowski, Karol}en el texto, aparece esta entrada en el indarchivo: \indexentry{Kowalski\dywiz Jankowski, Karol}{1}lo cual es genial.

Cuando uso el comando author = {Kowalski\dywiz Jankowski, Karol}, en mi bibarchivo obtengo espacios falsos en el texto, espacios falsos en la bibliografía y elementos adicionales en mi índice (debido a una entrada \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}en mi indarchivo).

La solución parcial es usar el comando author = {Kowalski\dywiz{}Jankowski, Karol}en mi bibarchivo. Eso elimina espacios falsos en el texto y en la bibliografía pero desafortunadamente produce una entrada adicional más en mi índice (debido a una entrada \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax {}Jankowski, Karol}{1}en mi indarchivo).

MWE:

\documentclass{article}

\usepackage[indexing=cite,style=verbose-trad1,dashed=false]{biblatex}

\usepackage[nonewpage]{imakeidx}
\makeindex[columns=1]

%remove titles from index
\renewbibmacro*{citeindex}{%
    \ifciteindex
        {\indexnames{labelname}%
         \indexnames{editor}%
         \indexnames{editora}%
         \indexnames{editorb}%
         \indexnames{translator}%
     \indexnames{commentator}}
        {}} 

\def\dywiz{\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax} %actually I use \usepackage{polski} but the result is the same

    
\begin{filecontents}{\jobname.bib}
@book{plbook1,
  author        = {Kowalski\dywiz Jankowski, Karol}, %spurious space in both text citation and the bibliography, extra entry in index
  title         = {Book1 title},
}

@book{plbook2,
  author        = {Kowalski\dywiz{}Jankowski, Karol}, %no spurious space but one more extra entry in index
  title         = {Book2 title},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}

\cite{plbook1} %this produces \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax  Jankowski, Karol}{1}

\cite{plbook2} %this produces \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax {}Jankowski, Karol}{1}

\index{Kowalski\dywiz Jankowski, Karol} %this produces \indexentry{Kowalski\dywiz Jankowski, Karol}{1}

\printindex

\printbibliography

\end{document}

Resultado:

ingrese la descripción de la imagen aquí

En resumen, tengo dos problemas:

  1. Espacio innecesario en algunos casos cuando se utiliza \dywiz.
  2. El uso de comandos definidos por el usuario en los nombres de los autores en el bibarchivo hace que ese comando se escriba en forma completamente explícita en el indarchivo ( \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}en lugar de solo \indexentry{Kowalski\dywiz Jankowski, Karol}{1}).

información relacionada