避免在“2-D”中使用连字符

避免在“2-D”中使用连字符

如何避免在诸如“2-D”之类的单词中使用连字符?\hyphenation{}由于破折号不是字母,因此不起作用。

答案1

将其写在框内,如下所示:\mbox{2-D}

答案2

为了扩展赫伯特的回答,下面列出了支持不可断开连字符的babel语言:"~

danish,,和,,,,,,和。dutch​​​​​​germanngermanicelandicnorskswedishbulgarianslovakrussianukrainian

答案3

\usepackage{xspace}
\newcommand\twoD{\mbox{2-D}\xspace}

\twoD and 2"~Dbabel...:如果语言支持,则后者"~

以及包含多种语言和扩展简写的示例

\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:抱歉,我的英语不好

相关内容