
Estou com um problema ao usar polski
o pacote simultaneamente com imakeidx
e biblatex
. Eu só uso o comando \dywiz
do pacote polski
que é 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 bib
arquivo.
Quando uso o comando \index{Kowalski\dywiz Jankowski, Karol}
em texto, recebo esta entrada no ind
arquivo: \indexentry{Kowalski\dywiz Jankowski, Karol}{1}
o que é ótimo.
Quando uso command author = {Kowalski\dywiz Jankowski, Karol}
, no meu bib
arquivo 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 ind
arquivo).
A solução parcial é usar o comando author = {Kowalski\dywiz{}Jankowski, Karol}
no meu bib
arquivo. 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 ind
arquivo).
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:
Resumindo, tenho dois problemas:
- espaço desnecessário em alguns casos ao usar
\dywiz
. - usar comandos definidos pelo usuário nos nomes dos autores no
bib
arquivo faz com que esse comando seja escrito de forma totalmente explícita noind
arquivo (\indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}
em vez de apenas\indexentry{Kowalski\dywiz Jankowski, Karol}{1}
).