我在 biber 中遇到了特殊字符问题。具体来说,这是关于“ʼ”、“ḥ”和“Ḥ”的问题。这些字符用于阿拉伯语转录。
我尝试使用 LuaLaTeX 而不是 PDFLaTeX 来渲染它,这解决了渲染文档的问题,但是“ʼ”被文档中的矩形替换了。
我也尝试过添加bibencoding = ascii
和texencoding = ascii
。都导致文档无法呈现。
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
bibencoding=utf8,
language=auto,
style=authoryear
sorting=nyt,
maxbibnames=10,
natbib=true,
idembib=false]{biblatex}
\begin{filecontents*}{ref.bib}
@book{suhrawardiPhilosophieErleuchtungHikmat2011a,
title = {Philosophie der Erleuchtung =: Hikmat al-ishraq},
shorttitle = {Philosophie der Erleuchtung},
author = {Suhrawardī, Yaḥyá ibn Ḥabash},
editor = {Sinai, Nicolai},
date = {2011},
publisher = {{Verlag der Weltreligionen}},
location = {{Berlin}},
isbn = {978-3-458-70032-6},
keywords = {Early works to 1800,Sufism},
langid = {german},
pagetotal = {469},
translator = {Sinai, Nicolai}
}
@book{avicennaMetaphysicsHealingParallel2004,
title = {The metaphysics of The healing: a parallel English-Arabic text = al-Ilahīyāt min al-Shifāʼ},
shorttitle = {The metaphysics of The healing},
author = {Avicenna},
editor = {Marmura, Michael E.},
date = {2004},
publisher = {{Brigham Young University Press}},
location = {{Provo, UT}},
isbn = {978-0-934893-77-0},
keywords = {Early works to 1800,Islamic philosophy,Metaphysics},
langid = {eng ara},
pagetotal = {441},
series = {Islamic translation series},
translator = {Marmura, Michael E.}
}
\end{filecontents*}
\addbibresource{ref.bib}
\begin{document}
\title{Some title}
\author{}
\date{}
\maketitle
\nocite{avicennaMetaphysicsHealingParallel2004}
\nocite{suhrawardiPhilosophieErleuchtungHikmat2011a}
\printbibliography[]
\end{document}
我也看过这个问题和这个问题。它们相关,但并未提供可行的解决方案。
此外,我的ref.bib
文件是由 Zotero 创建的,因此我更不希望更改其内容。
答案1
您可以帮助 LaTeX 并提供未知字符的表示。
\begin{filecontents*}{\jobname.bib}
@book{suhrawardiPhilosophieErleuchtungHikmat2011a,
title = {Philosophie der Erleuchtung =: Hikmat al-ishraq},
shorttitle = {Philosophie der Erleuchtung},
author = {Suhrawardī, Yaḥyá ibn Ḥabash},
editor = {Sinai, Nicolai},
date = {2011},
publisher = {{Verlag der Weltreligionen}},
location = {{Berlin}},
isbn = {978-3-458-70032-6},
keywords = {Early works to 1800,Sufism},
langid = {german},
pagetotal = {469},
translator = {Sinai, Nicolai}
}
@book{avicennaMetaphysicsHealingParallel2004,
title = {The metaphysics of The healing: a parallel English-Arabic text = al-Ilahīyāt min al-Shifāʼ},
shorttitle = {The metaphysics of The healing},
author = {Avicenna},
editor = {Marmura, Michael E.},
date = {2004},
publisher = {{Brigham Young University Press}},
location = {{Provo, UT}},
isbn = {978-0-934893-77-0},
keywords = {Early works to 1800,Islamic philosophy,Metaphysics},
langid = {eng ara},
pagetotal = {441},
series = {Islamic translation series},
translator = {Marmura, Michael E.}
}
\end{filecontents*}
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[
backend=biber,
bibencoding=utf8,
language=auto,
style=authoryear,
sorting=nyt,
maxbibnames=10,
natbib=true,
% idembib=false
]{biblatex}
\addbibresource{\jobname.bib}
\DeclareUnicodeCharacter{02BC}{'}
\DeclareUnicodeCharacter{1E24}{\d{H}}
\DeclareUnicodeCharacter{1E25}{\d{h}}
\begin{document}
\title{Some title}
\author{}
\date{}
\maketitle
\nocite{avicennaMetaphysicsHealingParallel2004}
\nocite{suhrawardiPhilosophieErleuchtungHikmat2011a}
\printbibliography[]
\end{document}
你如何获取代码?当你收到错误时,请查看日志文件!
! Package inputenc Error: Unicode character ʼ (U+02BC)
(inputenc) not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.65 \printbibliography[]
?
! Package inputenc Error: Unicode character ḥ (U+1E25)
(inputenc) not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.65 \printbibliography[]
?
! Package inputenc Error: Unicode character Ḥ (U+1E24)
(inputenc) not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
或者,
\usepackage{newunicodechar}
\newunicodechar{ʼ}{'}
\newunicodechar{Ḥ}{\d{H}} % \d is dot under accent
\newunicodechar{ḥ}{\d{h}}