如何使用 xelatex 在 biblatex 中的 URL 中使用 unicode?

如何使用 xelatex 在 biblatex 中的 URL 中使用 unicode?

以下是一个示例文档:

\documentclass[a4paper]{extreport}    
\usepackage[style=gost-numeric,defernumbers]{biblatex}
\addbibresource{t.bib}

\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage[cm-default]{fontspec}
\setmainfont{Times New Roman}

\begin{document}

Some text with unicode here\cite{t}. Немного текста в юникоде.

\printbibliography
\end{document}

t.bib有:

@online{t,
title = {Утечка памяти},
media = {eresource},
language = {russian},
url = {https://ru.wikipedia.org/wiki/Утечка\_памяти}
}

我假设所有内容都采用 unicode,但 URL 不支持它,看起来很糟糕。有没有办法在 URL 中使用 unicode? 在此处输入图片描述

答案1

@UlrikeFischer 是正确的 - biber 只有一个字段可以使用,因此选择编码格式以实现最大兼容性。您可以轻松使用源映射复制到另一个逐字字段(如verba),并将其用作可打印版本,同时保留url超链接。这需要进行微小的样式更改,但应该相对容易(确保hyperref已加载):

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=url]
      \step[fieldset=verba, origfieldval]
    }
  }
}

\DeclareFieldFormat{url}{\mkbibacro{URL}\addcolon\space\href{#1}{\thefield{verba}}}

相关内容