可见的连字符,为什么?

可见的连字符,为什么?

lualatex如果使用(版本 beta-0.80.0)进行编译,则以下小示例文档的 pdf 输出是错误的:

\documentclass{article}
\usepackage{fontspec}% {2016/02/01}{2.5a} 
\begin{document}
lm – Latin mod­ern fonts in out­line for­mats
\end{document}

隐藏的连字符(unicode 软连字符;html 实体­)是可见的,但不应该。输出如下所示

lm – Latin mod-ern fonts in out-line for-­mats

该文本是从 CTAN 网站复制而来的:

http://www.ctan.org/tex-archive/fonts/lm

用编译的相同示例xelatex给出了正确的输出。我在 Linux 上使用最新的 TeXLive。

答案1

如果您期望软连字符对 XeTeX/LuaTeX 有某种含义,恐怕您错了。

确实,它在 XeTeX 中是不可见的,但这并不意味着它可以工作。

但是,您可以定义要代表的字符\-

\documentclass{article}
\usepackage{fontspec}                    

\usepackage{newunicodechar}
\newunicodechar{­}{\-}

\begin{document}

lm – Latin mod­ern fonts in out­line for­mats

\parbox[t]{0pt}{
lm – Latin mod­ern fonts in out­line for­mats
}

\end{document}

\parbox是为了显示尽可能多的连字点。

在此处输入图片描述

尝试注释掉这一\newunicodechar行,你会看到单词将被连字符连接。

相关内容