如何避免在诸如“2-D”之类的单词中使用连字符?\hyphenation{}
由于破折号不是字母,因此不起作用。
答案1
将其写在框内,如下所示:\mbox{2-D}
答案2
为了扩展赫伯特的回答,下面列出了支持不可断开连字符的babel
语言:"~
danish
,,和,,,,,,和。dutch
german
ngerman
icelandic
norsk
swedish
bulgarian
slovak
russian
ukrainian
答案3
\usepackage{xspace}
\newcommand\twoD{\mbox{2-D}\xspace}
\twoD and 2"~D
babel
...:如果语言支持,则后者"~
以及包含多种语言和扩展简写的示例
\documentclass[french,english,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\addto\extrasenglish{\languageshorthands{ngerman}}
\textwidth=5cm
\parindent=0pt
\begin{document}
\rule{\linewidth}{1pt}
\selectlanguage{english}
foo bar foo bar foo foobar and-another word
foo bar foo bar foo foobar and"~another word
\selectlanguage{french}
foo bar foo bar foo foobar and"~another word
\selectlanguage{english}\shorthandoff{"}
foo bar foo bar foo foobar and"~another word
\end{document}
答案4
也许这种通用方法有帮助。
首先,定义一个宏,在某些(数学)内容之后插入一个不间断的连字符,但允许在后面的单词中使用连字符:
\usepackage{xspace}
\newcommand{\tiret}{\nobreakdash-\hspace{0pt}}
然后定义宏 twoD :
\newcommand{\twoD}{\(2\)\tiret D\xspace}
文本模式版本也可以使用:
\newcommand{\twoD}{2\tiret D\xspace}
这种方法的优点是如果你想要一个连字符跟一个长单词,例如 2-cyclotetrabenzo。
PS:抱歉,我的英语不好