"---
在下面的 LuaLaTeX MWE 中我使用了突起,但它对西里尔破折号(它是一个缩写)不起作用,babel
而对普通破折号却起作用。
\documentclass[10pt,draft]{scrbook}
\usepackage[showframe,textwidth=5cm]{geometry}
\usepackage{polyglossia}
\defaultfontfeatures{Ligatures=TeX}
\setmainlanguage[babelshorthands=true]{russian}
\usepackage[protrusion=true,expansion=true,final]{microtype}
\setmainfont{STIX Two Text}
\SetProtrusion[%
name = *]{%
encoding = {*},
family = {*}
}{%
\textemdash = {0,250},% ~---
}
\begin{document}
\noindent%
ББББББББ ББББББ БББ ББББ "--- ГГГГ
\noindent%
ББББББББ ББББББ БББ ББББ~--- ГГГГ
\end{document}
输出如下:
如果我在突出列表中插入该行\cyrdash={0,250}
,我会收到警告
Package microtype Warning: Unknown slot number of character
(microtype) `\cyrdash '
(microtype) in font encoding `TU' in protrusion list
(microtype) `*'.
答案1
该构造"---
最终变为\cyrdash
,其定义为
\hbox to 0.8em{--\hss--}
这意味着两个短划线叠加在一起占据 0.8em 的空间。
如果为短破折号设置了突出部分,那么您也会获得突出部分\cyrdash
。
此处夸大了值,以显示突出已完成。
\documentclass[10pt,draft]{scrbook}
\usepackage[showframe,textwidth=5cm]{geometry}
\usepackage{polyglossia}
\setmainlanguage[babelshorthands=true]{russian}
\usepackage[protrusion=true,expansion=true,final]{microtype}
\setmainfont{STIX Two Text}
\SetProtrusion[name = *]{
encoding = {*},
family = {*}
}{
\textemdash = {0,250},
\textendash = {0,1000}, % 1000 is obviously too much!
}
\begin{document}
\noindent%
ББББББББ ББББББ БББ ББББ "--- ГГГГ
\noindent
ББББББББ ББББББ БББ ББББ~--- ГГГГ
\end{document}