![扩展拉丁字符的 Ucharclasses 转换](https://linux22.com/image/457937/%E6%89%A9%E5%B1%95%E6%8B%89%E4%B8%81%E5%AD%97%E7%AC%A6%E7%9A%84%20Ucharclasses%20%E8%BD%AC%E6%8D%A2.png)
我认为问题出在\usepackage{ucharclasses}
。我可能没有正确设置它。我使用上述包是因为我需要 TeX 识别希腊语、希伯来语和英语并自动更改字体。
简化的 MWE
\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{LibertinusSerif-Italic.otf}
\newfontfamily\greekfont{LibertinusSans-Bold.otf}[
Script=Greek,
Scale=MatchUppercase,
Ligatures=TeX
]
\newfontfamily\hebrewfont{LibertinusSans-Bold.otf}[
Script=Hebrew,
Contextuals=Alternate,
Ligatures=Required
]
\usepackage{ucharclasses}
\setDefaultTransitions{\greekfont}{\rmfamily}
\setDefaultTransitions{\rmfamily}{\greekfont}
\begin{document}
Adrados, Francisco R. and Rodríguez Somolinos, Juan
Diccionario Griego-Español
\end{document}
更复杂的例子
\documentclass[letterpaper,openany,12pt,oneside]{book}
\usepackage[letterpaper,left=1.25in,right=1.25in,top=1in,bottom=1in,headheight=12pt,headsep=12pt,ignorehead,ignorefoot]{geometry}
\usepackage[series={A,B},nocritical,noend,noeledsec,nofamiliar,noledgroup]{reledmac}
\linenumsep=-30pt plus 50pt minus 50pt
\ledlsnotesep=-100pt
\ledrsnotesep=-30pt
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\setotherlanguage{hebrew}
\setotherlanguage[variant=ancient]{greek}
\SetLanguageKeys{english}{indentfirst=true}
\setmainfont{Times New Roman}
\newfontfamily\greekfont{SBL BibLit}[
Script=Greek,
Scale=MatchUppercase,
Ligatures=TeX
]
\newfontfamily\hebrewfont{SBL BibLit}[
Script=Hebrew,
Contextuals=Alternate,
Ligatures=Required
]
\usepackage{ucharclasses}
\setDefaultTransitions{\greekfont}{\rmfamily}
\setDefaultTransitions{\rmfamily}{\greekfont}
\usepackage[style=sbl,maxcitenames=3,maxbibnames=100,minnames=1,backend=biber,citepages=omit,fullbibrefs=true,sblfootnotes=false,citereset=chapter,doi=false,url=false,accessdate]{biblatex}
\begin{filecontents}{web.bib}
@mvlexicon{DGE,
title={Diccionario Griego-Español},
editor={Adrados, Francisco R. and Rodríguez Somolinos, Juan},
publisher={Consejo Superior de Investigaciones Científicas},
shorttitle = {DGE},
shorthand = {DGE},
volumes={7},
address={Madrid}
}
\end{filecontents}
\addbibresource{web.bib}
\begin{document}
Text.\autocite{DGE}
\printbibliography[title=\normalfont BIBLIOGRAPHY]
\end{document}
在参考书目中,标题应为斜体。除了最后两个字母外,它都是斜体的。因此,它将输出希腊-西班牙词典ol。如您所见,o 和 l 也应为斜体。
答案1
我将采用简化的 MWE。\setDefaultTransitions
插入这些标记任何时候你离开一个块并进入另一个块。第二个声明覆盖第一个。
实际情况是í
属于与 不同的代码块g
,分别是 Latin-1 Supplement 和 Basic Latin。然后空格导致转换到\rmfamily
。
您需要的是为您需要的块集设置过渡,即拉丁语、希腊语和希伯来语。
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{ucharclasses}
\setmainfont{LibertinusSerif-Italic.otf}
\newfontfamily\greekfont{LibertinusSans-Bold.otf}[
Script=Greek,
Scale=MatchUppercase,
Ligatures=TeX
]
\newfontfamily\hebrewfont{Arial Hebrew}[
Script=Hebrew,
% Contextuals=Alternate,
% Ligatures=Required
]
\setTransitionsForLatin{\rmfamily}{}
\setTransitionsForGreek{\greekfont}{\rmfamily}
\setTransitionTo{Hebrew}{\hebrewfont}
\begin{document}
Adrados, Francisco R. and Rodríguez Somolinos, Juan
Diccionario Griego-Español Ελληνική מְדִינַת יִשְׂרָאֵל text
Diccionario Griego-Español Ελληνική text מְדִינַת יִשְׂרָאֵל text
\end{document}
我设置了独特的希伯来字体以确保结果。