[luatex] Kerning (again) and biblatex
Heilmann, Till A.
till.heilmann at unibas.ch
Sun Jun 26 21:31:24 CEST 2011
Sorry to bother you again with kerning problems. This time it is
about citations generated by biblatex. I know that this is not
exclusively a LuaTeX issue but I think the experts are on this list,
so here I go anyway: Custom kerns are not inserted at some places
within citations generated by biblatex (see--quite lengthy--minimal
example below). It might have to do with mechanisms already discussed
earlier here, i.e. penalties or glues preventing kerning.
In this particular case, I tracked the problem down to biblatex's
\printfield and \printtext commands (see the \renewbibmacro*{journal
+issuetitle+standard} command in the example): Avoiding the
\printtext command for the output of the date field in articles, for
example, solves the problem. But I cannot really avoid using these
commands, of course, and my knowledge of TeX is not sufficient for a
further analysis of \printfield and \printtext. I asked Philipp
Lehman about this some time ago but he has not replied so far. Maybe
someone on this list has an idea.
Thanks and best regards,
Till
\begin{filecontents*}{test.bib}
@article{stiegler.b:2009,
Author = {Bernard Stiegler},
Journal = {Theory, Culture~\& Society},
Number = {2–3},
Pages = {33-45},
Title = {Teleologics of the Snail},
Volume = {26},
Year = {2009}}
\end{filecontents*}
\begin{filecontents*}{test.fea}
languagesystem DFLT dflt ;
languagesystem latn dflt ;
feature kern {
pos six slash 500 ;
pos slash two 500 ;
pos parenleft two 500 ;
pos nine parenright 500 ;
} kern ;
\end{filecontents*}
\documentclass{article}
\usepackage{fontspec}
\setmainfont[FeatureFile=test.fea]{TeX Gyre Bonum}
\usepackage[style=authortitle-dw]{biblatex}
\bibliography{test}
\renewcommand*{\jourvolnumsep}{\addslash}
\renewbibmacro*{journal+issuetitle+standard}{%
\iffieldundef{volume}
{\iffieldundef{number}
{}
{\blxdw at warning{%
Field 'number' set, but 'volume' is empty
\MessageBreak at entry '\abx at field@entrykey'.
The output might not \MessageBreak be correct}}}
{\setunit{\jourvolnumsep}%
\printfield{number}}%
\setunit{\addcomma\space}%
\printfield{eid}%
\setunit{\addspace}%
\iffieldundef{volume}
{\iffieldundef{month}
{}
{\setunit{\addcomma\space}}%
\usebibmacro{issue+date}}
{\printtext[parens]{\usebibmacro{issue+date}}}%
% { (\usebibmacro{issue+date})}% <-- change previous line to this !
\newunit\newblock
\usebibmacro{issue}%
\newunit
\usebibmacro{byeditor+others}%
\newunit}
\begin{document}
\fullcite{stiegler.b:2009}\\
26/2–3 (2009)
\end{document}
More information about the luatex
mailing list