![BibTeX 中的天城文首字母](https://linux22.com/image/415090/BibTeX%20%E4%B8%AD%E7%9A%84%E5%A4%A9%E5%9F%8E%E6%96%87%E9%A6%96%E5%AD%97%E6%AF%8D.png)
我正在写一篇关于数论的论文,印度有几位数论学家的工作与此相关,因此我想参考一下。然而,尽管我通过切换到 XeLaTeX 引擎成功启用了梵文脚本,但我还是无法让 BibTeX 正确显示首字母。
我已经能够使用 xecyr 包使其适用于西里尔文。所以一定有办法。如果能给我一点提示,我将不胜感激。
编辑:我无法让 Biber 工作,所以我非常有兴趣了解 xecyr 中使用的技术。
以下是一些示例代码:
@book{ramanujan,
author = "\hi{श्रीनिवास} \hi{ऱामानूजन}",
series = "Notebooks",
volume = 4,
year = 1920
}
随着
\newcommand{\hi}[1]{\begin{hindi}{#1}\end{hindi}}
以及“alpha”书目样式。
答案1
没有答案。
我不知道“alpha”风格。
xecyr 没有什么特别之处:它只是使用通常的 Unicode 感知包和编译方法。
xecyr 的工作原理是使用(1)article
文档类:(2)包polyglossia
、fontspec
和natbib
;(3)带有西里尔字母的字体:(4)并使用进行编译xelatex
。
rubibtex-ex-x.tex
请参阅xecyr 文档文件夹中的文件。(texdoc xecyr
用于文档。)
交换到包,biblatex
而不natbib
需要更改 7 行代码文件中的 3 行代码。
因此:将变化映射到印地语(并使俄语不再是主要语言)得到:
我放入一个title=
字段来显示它的位置,从另一个问题中借用了一个俄语 bibentry 进行比较,并任意选择了 authortitle 样式(可以通过包选项设置首字母 - 参见手册)。
Biblatex 还会自动检测来自polyglossia
和的语言设置babel
,因此不需要硬编码字体切换。
如果您愿意,这可以作为您问题的起点。
如果您使用bibtex
它的不足,您很快就会发现(如果我可以这样称呼它)有“过多”的卷积在等着您。
无论您选择哪种流程作为满足您需求的最佳解决方案,无论是 bibtex 还是 biblatex,都将取决于您尚未向任何能够提供帮助的人透露的限制。
平均能量损失
\begin{filecontents*}{\jobname.bib}
@book{ramanujan,
author = {श्रीनिवास ऱामानूजन},
title={no title},
series = {Notebooks},
volume = {4},
date = {1920},
langid={hindi},
hyphenation={hindi},
}
@book{Baranov2001,
address = {Санкт-Петербугр},
author = {Баранов, Николай А},
title = {{Эволюция взглядов}},
year = {2001},
langid={russian},
% hyphenation={russian},
}
\end{filecontents*}
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\newfontfamily\hindifont{Shobhika}
\newfontfamily\russianfont{Noto Serif}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguages{hindi, russian}
\usepackage[
style=ext-authortitle-ibid,
bibencoding=auto,
autolang=other,
language=auto,
]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
Text text \parencite[14]{ramanujan} and \parencite[pp 15-16]{Baranov2001}.
\printbibliography
\end{document}
答案2
通过采取以下两项措施,该问题已得到解决:
A)使用给出的答案
如何使用 ucharclasses 更改特殊脚本的字体,然后恢复到之前的状态?
除了在“hindifont”行中添加了 [Script=Devanagari] 这一重要修正之外
和
B)使用命令模拟 xecyr 包
\DeclareUTFcharacter[\UTFencname]{x0931}{\derha}
\DeclareUTFcharacter[\UTFencname]{x093E}{\dea}
\DeclareUTFcharacter[\UTFencname]{x092E}{\dem}
\DeclareUTFcharacter[\UTFencname]{x094D}{\decon}
\DeclareUTFcharacter[\UTFencname]{x0936}{\desha}
\DeclareUTFcharacter[\UTFencname]{x0930}{\dera}
\DeclareUTFcharacter[\UTFencname]{x0940}{\deii}
随着
@book{ramanujan,
author = "{\desha}{\decon}{\dera}{\deii}\hi{निवास} {\derha}{\dea}{\dem}\hi{नूजन}",
series = "Notebooks",
volume = 4,
year = 1920
}
非常感谢@JavierBezos 以及所有帮助澄清该问题的人,包括@Cicada 和@moewe。
答案3
我得到了一个类似的 pb,标题中包含天城文。
您必须在 XeLaTeX 中工作。
\documentclass{article}
\usepackage{fontspec}
\newfontfamily{\SA}[Script=Devanagari]{Annapurna SIL} %for devanagari
%bibliography
\usepackage[style=apa]{biblatex}
\addbibresource{xxx.bib} %Imports bibliography file
\begin{document}
Text (\cite{huet__2014})
\printbibliography
\end{document}
然后在你的 .bib 中,{\SA}
在天城文文本前添加:
@misc{huet__2014,
title = {{\SA}संधि saṃdhi},
url = {http://sanskrit.inria.fr/DICO/67.html#sandhi},
language = {fra},
number = {Version 3.05},
urldate = {2018-04-09},
journal = {Dictionnaire Héritage du Sanscrit},
author = {Huet, Gérard},
year = {2014}
}
您将获得: