我想使用\supercite
。biblatex
它工作正常,除非我切换到LinuxLibertine
。字体弄乱了“上标”逗号和 - 线。
顺便说一句:我使用 XeLaTeX。
图片:
最小示例:
\documentclass{article}
\usepackage[style=numeric-comp]{biblatex}
\usepackage{fontspec,xunicode}
\usepackage{xltxtra}
% ACTIVATE TO SEE EFFECT
\setmainfont[Mapping=tex-text]{Linux Libertine O}
\setsansfont[Mapping=tex-text]{Linux Biolinum O}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
@book{kastenholz,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@book{companion,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
}
@article{augustine,
author = {Cuthor, C.},
year = {2003},
title = {Charlie},
}
\end{filecontents}
\addbibresource{test.bib}
\let\cite=\supercite
\begin{document}
Note the comma \cite{augustine,companion} and the underline \cite{augustine,companion,kastenholz}.
\printbibliography
\end{document}
答案1
正如其他人所评论的:这是重新定义的问题\textsuperscript
。有关完整解释,请参阅这个答案。
简而言之:xltxtra
重新定义\textsuperscript
以利用 OpenType 字体提供的上标。这可能会导致不良行为。
最简单的解决方案是不加载xltxtra
包。但如果确实需要,xltxtra
您可以使用以下命令:
\let\textsuperscriptoriginal\textsuperscript % Save original command
\usepackage{xltxtra} % Load package
\let\textsuperscript\textsuperscriptoriginal % Restore original command
答案2
我看不到它:
\documentclass{article}
\usepackage[style=numeric-comp]{biblatex}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Linux Libertine O}
\setsansfont[Mapping=tex-text]{Linux Biolinum O}
...
所有其他软件包均fontspec
单独安装。