Problema com citação de autores com comando definido pelo usuário em seus nomes

Problema com citação de autores com comando definido pelo usuário em seus nomes

Estou com um problema ao usar polskio pacote simultaneamente com imakeidxe biblatex. Eu só uso o comando \dywizdo pacote polskique é definido como\def\dywiz{\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}

O comando é usado para controlar a hifenização de palavras de duas partes (hifenizadas). Tudo funciona bem, exceto quando eu uso para nomes de autores que também precisam ser indexados no bibarquivo.

Quando uso o comando \index{Kowalski\dywiz Jankowski, Karol}em texto, recebo esta entrada no indarquivo: \indexentry{Kowalski\dywiz Jankowski, Karol}{1}o que é ótimo.

Quando uso command author = {Kowalski\dywiz Jankowski, Karol}, no meu bibarquivo recebo espaço espúrio no texto, espaço espúrio na bibliografia e item extra no meu índice (por causa da entrada \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}no meu indarquivo).

A solução parcial é usar o comando author = {Kowalski\dywiz{}Jankowski, Karol}no meu bibarquivo. Isso elimina espaços falsos no texto e na bibliografia, mas infelizmente produz mais uma entrada extra no meu índice (por causa da entrada \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax {}Jankowski, Karol}{1}no meu indarquivo).

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:

insira a descrição da imagem aqui

Resumindo, tenho dois problemas:

  1. espaço desnecessário em alguns casos ao usar \dywiz.
  2. usar comandos definidos pelo usuário nos nomes dos autores no bibarquivo faz com que esse comando seja escrito de forma totalmente explícita no indarquivo ( \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}em vez de apenas \indexentry{Kowalski\dywiz Jankowski, Karol}{1}).

informação relacionada