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:
Em pdfLaTeX:
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-otf
agora deve suportar supercitações.
Uma nova opção fakedscripts
também foi adicionada ao kpfonts-otf.sty
pacote, 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
e (com a fakedscripts
opção)
Esteja ciente de que o realscripts
pacote 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
: