
Ich habe ein Problem polski
damit, package gleichzeitig mit imakeidx
und zu verwenden biblatex
. Ich verwende nur den Befehl \dywiz
von package polski
, der definiert ist als\def\dywiz{\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}
Der Befehl dient zur Steuerung der Silbentrennung zweiteiliger (mit Bindestrich versehener) Wörter. Alles funktioniert einwandfrei, außer wenn ich ihn für die Namen von Autoren verwende, die ebenfalls in der bib
Datei indexiert werden müssen.
\index{Kowalski\dywiz Jankowski, Karol}
Wenn ich einen Befehl im Text verwende, erhalte ich diesen Eintrag in der ind
Datei: \indexentry{Kowalski\dywiz Jankowski, Karol}{1}
Das ist großartig.
Wenn ich den Befehl verwende author = {Kowalski\dywiz Jankowski, Karol}
, erhalte ich in meiner bib
Datei unnötige Leerzeichen im Text, unnötige Leerzeichen in der Bibliografie und ein zusätzliches Element in meinem Index (aufgrund eines Eintrags \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}
in meiner ind
Datei).
Eine Teillösung besteht darin, den Befehl author = {Kowalski\dywiz{}Jankowski, Karol}
in meiner bib
Datei zu verwenden. Dadurch werden unpassende Leerzeichen im Text und in der Bibliographie eliminiert, aber leider entsteht dadurch ein zusätzlicher Eintrag in meinem Index (aufgrund des Eintrags \indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax {}Jankowski, Karol}{1}
in meiner ind
Datei).
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}
Ergebnis:
Zusammenfassend habe ich zwei Probleme:
- Bei der Verwendung entsteht in manchen Fällen unnötiger Platz
\dywiz
. - Die Verwendung benutzerdefinierter Befehle in den Autorennamen in der
bib
Datei führt dazu, dass der Befehl in vollständig expliziter Form in die Datei geschrieben wirdind
(\indexentry{Kowalski\kern 0sp\discretionary {-}{-}{-}\penalty 10000\hskip 0sp\relax Jankowski, Karol}{1}
statt nur\indexentry{Kowalski\dywiz Jankowski, Karol}{1}
).