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 也可以在单词内部断开。\-/
\--