我正在尝试将 XeLaTeX 与 kpfonts-otf 一起使用,但由于某种原因,超级引用中的标点符号是“normalscript”(?),这使得引用看起来有点不合适。
梅威瑟:
\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}
在 Lua/XeLaTeX 中,上述内容产生:
在 pdfLaTeX 中:
在 Lua/XeLateX 版本中,超标中数字周围的括号和标点由于某种原因不是上标?
我尝试寻找解决方法,但没有找到任何东西,因此欢迎任何帮助。
答案1
正如评论中提到的,这是 Kpfonts 的 OTF 版本中的一个错误(上标中缺少括号和逗号)。此问题已在 0.63 版中修复,该版本已于今日(2024/05/02)上传到 CTAN,kpfonts-otf
现在应该支持超级引用。
fakedscripts
包中还添加了一个新选项kpfonts-otf.sty
,它可以防止加载realscripts.sty
(默认加载),从而恢复 pdflatex 对上标/下标的工作方式(即仅缩小相应字符并将其向上或向下移动)。这样,字体中可用的所有字符都可以用作上标/下标,但结果并不理想;专门设计的上标/下标看起来更好……但只有一组有限的字符可用(通常是所有数字、所有小写 ASCII 字母、一些分隔符等)。比较默认
和(带有fakedscripts
选项)
请注意,该realscripts
包提供了带星号的版本\textsuperscript*{}
,\textsubscript*{}
为了输入缺失的字符,fi \textsuperscript*{\#}
会打印一个(伪造的)# 上标,因为该字符在以下位置不能用作真正的上标kpfonts
: