扩展拉丁字符的 Ucharclasses 转换

扩展拉丁字符的 Ucharclasses 转换

我认为问题出在\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}

“Adrados, Francisco R. and Rodrí{guez} Somolinos, Juan Diccionario Griego-Españ{ol}”中“{...}”中突出显示的部分具有不同的字体

更复杂的例子

\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}

我设置了独特的希伯来字体以确保结果。

在此处输入图片描述

相关内容