凸起不适用于西里尔破折号

凸起不适用于西里尔破折号

"---在下面的 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}

在此处输入图片描述

相关内容