我有一份文件,主文档和引文中都有英语和俄语。对于拉丁字符,我想设置 Helvetica。但由于 Helvetica 和/或 T1 编码不适用于西里尔文,因此西里尔文本的编译失败。在下面的例子中,我尝试添加其他编码来克服该问题,但没有成功。西里尔文本的字体不太重要 - 它可以是任何无衬线字体。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{lit.bib}
@book{book1,
annote = {http://www.apmath.spbu.ru/ru/staff/pronina/publications.html},
author = {Ю. Г. Пронина},
date-added = {2021-10-15 22:35:00 +0200},
date-modified = {2021-10-15 22:35:00 +0200},
publisher = {СПбГУ},
title ={Сборник задач по основам теории упругости: учебное пособие},
year = {2003},
langid = {russian}}
\end{filecontents}
\usepackage[style=verbose,backend=bibtex]{biblatex}
\addbibresource{lit.bib}
\usepackage[T2A, T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[german,russian,main=english]{babel}
\usepackage{helvet}
\usepackage{mathptmx}
\renewcommand{\rmdefault}{phv}
\begin{document}
Ggeabt Клэ \footcite{book1}
\printbibliography
\end{document}
答案1
通过使用unicode-math
包进行简化,并且:
由于Babel
包可以使用 Lualatex 的自动检测脚本的功能,并且借助 Lualatex 使用 TrueType/OpenType 系统字体的能力,因此不再需要使用上个世纪的 8 位字体及其编码。
另外,biber
作为的后端biblatex
。
蓝色是西里尔字母,为了突出显示:
平均能量损失
\begin{filecontents*}[overwrite]{\jobname.bib}
@book{book1,
annote = {http://www.apmath.spbu.ru/ru/staff/pronina/publications.html},
author = {Ю. Г. Пронина},
date-added = {2021-10-15 22:35:00 +0200},
date-modified = {2021-10-15 22:35:00 +0200},
publisher = {СПбГУ},
title ={Сборник задач по основам теории упругости: учебное пособие},
year = {2003},
langid = {russian}}
\end{filecontents*}
\documentclass{article}
\usepackage{xcolor}
\usepackage{unicode-math}
\setmainfont{texgyreadventor}
\setmathfont{xitsmath}
\usepackage[german,russian,main=english]{babel}
\babelprovide[import, onchar=fonts ids]{russian}
\babelfont[russian]{rm}[Color=blue]{LiberationSans}
\usepackage[style=verbose]{biblatex}
\addbibresource{\jobname.bib}
\setlength{\textheight}{3in}%for screen image
\begin{document}
\[ a^2+b^2=c^2 \]
Ggeabt Клэ \footcite{book1}
\printbibliography
\end{document}