여는 괄호 문자 바로 뒤에 "j"에 대한 문자 모양의 추악한 "충돌"이 있음을 발견했습니다. 이것은 "정기적으로" 조판할 때 "J"에서는 발생하지 않지만, 발생하며 BibLaTeX를 통해 조판이 진행될 때 "j"보다 훨씬 더 나쁩니다. 아래 MWE를 컴파일하여 무슨 뜻인지 확인하세요.
이러한 결함(나에게도 그렇습니다)을 어떻게 체계적으로 또는 "프로그래밍 방식으로" 수정할 수 있습니까?
\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}
답변1
불행하게도 그 이유는 biblatex
작동 방식과 TeX의 커닝 적용 방식에 깊이 뿌리박혀 있기 때문에 이 문제와 유사한 문제를 적절하게 해결할 수 있는 방법이 없습니다.
처럼egreg 댓글에서 지적함글꼴에 정의된 사이의 커닝은 여기에 적용되지 (
않습니다 .J
커닝 및 합자는 \write
s( biblatex
때때로 활용해야 함)에 의해 금지될 뿐만 아니라 다음에서 설명된 것처럼 매우 간단한 그룹화 및 할당에 의해서도 금지됩니다.
\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}
이는 egreg의 버그 보고서에서도 논의되었습니다.https://github.com/plk/biblatex/issues/598
biblatex
완전히 다시 작성하지 않는 한 기능을 유지하면서 이러한 커닝이 중요한 인프라를 모두 제거할 방법이 없습니다 .