pontuação supercita e não sobrescrito ao usar kpfonts-otf com Lua/XeLaTeX

pontuação supercita e não sobrescrito ao usar kpfonts-otf com Lua/XeLaTeX

Estou tentando usar o XeLaTeX com kpfonts-otf, mas por algum motivo a pontuação nas sobrecitações é "normalscript"(?), fazendo com que as citações pareçam um pouco fora do lugar.

MWE:

\documentclass{memoir}
%\usepackage[utf8]{inputenc} % for pdfLaTeX
%\usepackage[T1]{fontenc} % for pdfLaTeX

\usepackage{fontspec} %not in pdfLaTeX

\usepackage{kpfonts-otf} %without the "-otf" for pdfLaTeX 
\usepackage{filecontents}
\usepackage[style=chem-angew]{biblatex}
\usepackage[]{biblatex}

\begin{filecontents}{test.bib}
@article{ref1,
  author = {Latex, Lion},
  year = {2024},
  title = {How to tikz?},
}
@article{ref2,
    author = {Duck, Writer},
    year = {2023},
    title = {duckuments},
}
\end{filecontents}
\addbibresource{test.bib}
\begin{document}
Citing \supercite{ref1, ref2}.
test math: $^{\textup{[]}}$
\printbibliography
\end{document}

Em Lua/XeLaTeX o acima produz:

insira a descrição da imagem aqui

Em pdfLaTeX:

insira a descrição da imagem aqui

Nas versões Lua/XeLateX, os colchetes e a pontuação em torno dos números no supercito não são, por algum motivo, sobrescritos?

Tentei procurar uma solução alternativa, mas não consegui encontrar nada, então qualquer ajuda é bem-vinda.

Responder1

Conforme mencionado nos comentários, é um bug na versão OTF do Kpfonts (faltam colchetes e vírgula nos sobrescritos). Isso foi corrigido na versão 0.63 que foi carregada no CTAN hoje (02/05/2024), kpfonts-otfagora deve suportar supercitações.

Uma nova opção fakedscriptstambém foi adicionada ao kpfonts-otf.stypacote, ela evita o carregamento de realscripts.sty(carregado por padrão), revertendo assim a forma como o pdflatex funciona para super/subscritos (ou seja, apenas reduzindo o caractere correspondente e movendo-o para cima ou para baixo). Desta forma, todos os caracteres disponíveis na fonte podem ser usados ​​como super/subscritos, mas o resultado é abaixo do ideal; super/subscritos especialmente projetados parecem melhores… mas apenas um conjunto limitado de caracteres está disponível (geralmente todos os dígitos, todas as letras ASCII minúsculas, alguns delimitadores, etc.). Compare o padrão

insira a descrição da imagem aqui

e (com a fakedscriptsopção)

insira a descrição da imagem aqui

Esteja ciente de que o realscriptspacote fornece versões com estrela \textsuperscript*{}e \textsubscript*{}para inserir caracteres ausentes, fi \textsuperscript*{\#}imprime um # sobrescrito (falso), pois esse caractere não está disponível como sobrescrito real em kpfonts:

insira a descrição da imagem aqui

informação relacionada