Biblatex - 带有“é”的 URL 和带有百分号的代码

Biblatex - 带有“é”的 URL 和带有百分号的代码

我使用 lualatex。我用法语写作。

编译过程如下:

lualatex myfile.tex && makeindex myfile.idx && biber myfile.cbf && lualatex myfile.tex && lualatex myfile.tex

我必须在我的工作中引用一个包含字符“é”的 URL:

https://fr.scoutwiki.org/Cérémonial_de_la_totémisation

我的文件“biblio.bib”中有他的参考资料:

    @online{scoutopediaceretotem,
    keywords = {site},
    author = {{SCOUTOPEDIA, l'encyclopédie scoute !}},
    title ={Article consacré au cérémonial de totémisation},
    url ={https://fr.scoutwiki.org/Cérémonial_de_la_totémisation},
    urldate = {2020-03-31}
    }

我用 cls 文件 myfile.cls (里面有很多内容) 加载我的类。开头是这样的:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bpmemoire}[14/11/2018 v3.0]

% !TeX program = lualatex     
% !TeX encoding = utf8 
% !TeX spellcheck = french
%%                                                                        %%
%%============================== Document Class ==========================%%
%
\LoadClass[12pt,a4paper,openany]{book} %%% pour le mémoire
%                                                                        %%
\RequirePackage{ifluatex}
%%                                                                        %%
%%========================================================================%%

\ifluatex 
\RequirePackage{fontspec}
\setsansfont{CMU Sans Serif}%{Arial}
\setmainfont{CMU Serif}%{Times New Roman}
\setmonofont{CMU Typewriter Text}%{Consolas}
\defaultfontfeatures{Ligatures={TeX}}
\RequirePackage{polyglossia}
\setmainlanguage{french} %\setdefaultlanguage{french} %  
\setotherlanguages{english,russian,thai}
 
\else
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[french]{babel}
\fi

一切运行良好,除了 url,它用代码(带百分号)替换“é”或其他字母:

侦察百科“图腾化仪式上的奉献文章”网址:https ://fr.scoutwi-ki.org/C%C3%A9r%C3%A9monial_de_la_tot%C3%A9misation(访问日期:2020 年 3 月 31 日)。

我尝试了很多方法,比如用 inputenc、polyglossia、{'/e} 代替“é”等等,但都不起作用。你有什么想法吗?我知道带有“é”的 url 有问题,但我必须处理它……

谢谢

答案1

使用 lualatex 此处应该可以工作:

\documentclass{article}
\usepackage[colorlinks]{hyperref}
\usepackage{biblatex}

\DeclareFieldFormat{url}{%
  \mkbibacro{URL}\addcolon\space
  \href{#1}{\nolinkurl{\thefield{urlraw}}}}

\DeclareFieldFormat{citeurl}{%
  \href{#1}{\nolinkurl{\thefield{urlraw}}}}  
  
\addbibresource{test.bib}
\begin{document}
\cite{scoutopediaceretotem}

\citeurl{scoutopediaceretotem}

\printbibliography

\end{document}

在此处输入图片描述

您可以使用 更改 url 的样式\urlstyle,请参阅 url 包的文档。例如, \urlstyle{rm}它将看起来像这样:

在此处输入图片描述

相关内容