Vermeidung von Glyphenkollisionen mit Baskervaldx und BibLaTeX

Vermeidung von Glyphenkollisionen mit Baskervaldx und BibLaTeX

Ich habe festgestellt, dass es eine hässliche „Kollision“ des Glyphs für „j“ direkt nach einem öffnenden Klammer-Glyph gibt. Dies passiert bei „J“ nicht, wenn es „normal“ gesetzt wird, aber es passiert, und es ist viel schlimmer als bei „j“, wenn der Satz über BibLaTeX erfolgt. Bitte kompilieren Sie das MWE unten, um zu sehen, was ich meine.

Wie können diese Mängel (für mich sind sie das) systematisch oder „programmatisch“ korrigiert werden?

\documentclass{memoir}

\usepackage{filecontents}
\usepackage[style=authoryear]{biblatex}
\usepackage{Baskervaldx}


\begin{filecontents*}{biblio.bib}
  @Book{John,
    author = { John },
    title = {A Title},
  }
\end{filecontents*}

\addbibresource{biblio.bib}

\begin{document}
(j) (J) against \autocite{John}
\end{document}

Antwort1

Leider liegen die Gründe hierfür so tief in der Funktionsweise biblatexund Anwendung des Kernings von TeX begründet, dass ich keine Möglichkeit sehe, dieses und ähnliche Probleme sinnvoll zu lösen.

Alsegreg weist in den Kommentaren darauf hinder in der Schriftart definierte Abstand zwischen (und wird hierbei nicht angewendet.J

Kerning und Ligaturen werden nicht nur durch \writes (das biblatexmanchmal verwendet werden muss) verhindert, sondern auch durch sehr einfache Gruppierungen und Zuweisungen, wie in

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{Baskervaldx}

\begin{document}
\makeatletter
f\immediate\write\@auxout{}i\ (\immediate\write\@auxout{}J\ 
\makeatother
%
f\def\foo{bar}i\ (\def\foo{bar}J\ 
%
f\begingroup i\endgroup\ (\begingroup J\endgroup\ 
%
f\bgroup i\egroup\ (\bgroup J\egroup\ 
%
fi\ (J
\end{document}

Bildbeschreibung hier eingeben

Dies wurde auch in egregs Fehlerbericht unterhttps://github.com/plk/biblatex/issues/598

Ich sehe keine Möglichkeit, diese für das Kerning entscheidende Infrastruktur loszuwerden und biblatexgleichzeitig die Funktionalität beizubehalten, ohne sie vollständig neu zu schreiben.

verwandte Informationen