
Tengo un problema al usar polski
el paquete simultáneamente con imakeidx
y biblatex
. Sólo uso el comando \dywiz
del paquete polski
que 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 bib
archivo.
Cuando uso el comando \index{Kowalski\dywiz Jankowski, Karol}
en el texto, aparece esta entrada en el ind
archivo: \indexentry{Kowalski\dywiz Jankowski, Karol}{1}
lo cual es genial.
Cuando uso el comando author = {Kowalski\dywiz Jankowski, Karol}
, en mi bib
archivo 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 ind
archivo).
La solución parcial es usar el comando author = {Kowalski\dywiz{}Jankowski, Karol}
en mi bib
archivo. 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 ind
archivo).
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:
En resumen, tengo dos problemas:
- Espacio innecesario en algunos casos cuando se utiliza
\dywiz
. - El uso de comandos definidos por el usuario en los nombres de los autores en el
bib
archivo hace que ese comando se escriba en forma completamente explícita en elind
archivo (\indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}
en lugar de solo\indexentry{Kowalski\dywiz Jankowski, Karol}{1}
).