Biblatex 无法与 ä ö ü 和 ß 配合使用

Biblatex 无法与 ä ö ü 和 ß 配合使用

我对 Latex 完全陌生。在主文档的 PDF 中,ä ö ü 和 ß 可以使用,但在参考书目中,它们被其他字符替换。

我使用 pdfLaTeX 编译文件。在我添加 .bbx 文件来格式化我的参考书目之前,它工作正常。我使用 biber 和 utf8 bibencoding

\documentclass[a4paper,12pt,oneside,headsepline,parskip=half]{scrartcl}
    
    \usepackage[german,ngerman]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[paper=a4paper,left=30mm,right=25mm,top=25mm,bottom=30mm]{geometry}
    
    \usepackage[autostyle]{csquotes}
    \usepackage[backend=biber,bibencoding=utf8,style=numeric,sorting=none,defernumbers=true]{biblatex}
    \addbibresource{literatur.bib}
    
    \usepackage{palatino}  
    \usepackage{mathpazo}  
    
    \begin{document}
    Text
    \nocite{*}

    % Literaturverzeichnis
    \newpage
        \begin{sloppypar}
            \addcontentsline{toc}{section}{Literaturverzeichnis}
            \printbibliography[type=onlinemit,heading=subbibliography,
            title={Internet mit Author}]
        \end{sloppypar}
    \end{document}

bib文件:

@onlinemit{quelle,
autoren = {Jörg, Lühn},
titel = {Ärgerlich ß},
url = {https://www.google.com},
zuletztam = {04.10.22}
}

bbx 文件:

\ProvidesFile{standard.bbx}

\DeclareDatamodelFields[type=field,datatype=verbatim]{autoren,zuletztam,url,titel}
\DeclareDatamodelEntryfields{%
    autoren,zuletztam,url,titel}

\DeclareBibliographyDriver{onlinemit}{%
    \printfield{autoren}%
    :
    \enquote{\printfield{titel}}%
    \space
    (Zuletzt aufgerufen am \printfield{zuletztam}).%
    \newline
    \printfield{url}
    \finentry}

答案1

这里的问题是,所涉及的字段在文件verbatim中声明为.bbx。这意味着biblatex将尝试逐字节读取它们,这对于宽度超过一个字节的 UTF-8 字符(如ßä、 )不起作用。ö

除非您有非常充分的理由,否则不要将字段声明为verbatim。大多数普通字段应为datatype=literal。在标准biblatex数据模型中verbatim,用于特殊字段,例如doieprintfile。请注意,对于 URL,有一个特殊的datatype=uri


至少从代码片段来看,我完全不明白为什么需要新的条目类型@onlinemit。您定义的所有字段在标准@online类型中也可用(当然,字段名称是英文的,而不是德文,但仅此而已)。

还要注意,参考书目驱动程序的定义相当不合规范。它不使用 的biblatex标点符号缓冲区和字段格式。

相关内容