LuaLatex 中的硬连字符

LuaLatex 中的硬连字符

luainputenc为什么硬连字符“‑”在带有选项的 lualatex 包中不起作用utf8?硬连字符是指禁止在其后直接换行的连字符。

梅威瑟:

\documentclass{article}

\usepackage[utf8]{luainputenc}

\begin{document}
Åsa‑Nisse
\end{document}

答案1

luainputenc没有定义 U+2011(不间断连字符)的转换;你可以自己做:

\documentclass{article}

\usepackage[utf8]{luainputenc}
\DeclareUnicodeCharacter{2011}{\mbox{-}}

\begin{document}
Åsa‑Nisse
\end{document}

在此处输入图片描述

答案2

已弃用luainputenc。文档luainputenc本身说:

LuaTEX 的输入编码管理,仅用于兼容旧文档。对于新文档,强烈建议使用 UTF-8 编码和 Unicode 字体。您已收到警告!

如果您的文件是 utf8 编码的,则 lualatex 和 fontspec 可立即支持 UTF-8。

\documentclass{article}

\usepackage{fontspec}

\begin{document}
    Åsa‑Nisse
\end{document}

现在回答你的问题:使用包 extdash: \usepackage[shortcuts]{extdash}。这应该是最后的您包含的包,即使在超链接和书签之后。

文档

然后,您可以使用\=/命令来指示不可断开的连字符,\==指示不可断开的短划线 ( --):

\documentclass{article}

\usepackage{fontspec}

% lots of packages here

% these are usually the last packages to load:
\usepackage[unicode]{hyperref}
\usepackage{bookmark}
% very last package:
\usepackage[shortcuts]{extdash}

\begin{document}
    Åsa\=/Nisse
    Maxwell\==Boltzmann\=/Deviation
    $x$\=/axis
\end{document}

如果一个单词是带有连字符的复合词,则默认情况下 LaTeX 只会在此连字符处断开,而不会在单词内部通常可断开的位置断开。也可以处理此问题。 如果您使用连字符或短破折号extdash命令,LaTeX 也可以在单词内部断开。\-/\--

相关内容