如何在没有连字符的情况下将单词换行?

如何在没有连字符的情况下将单词换行?

我正在写一篇文章,其中需要写一段充满医学术语的内容。如何在不使用换行符(或连字符)的情况下将文本换行?

问候

答案1

您可以在行尾断开没有连字符的单词(参见其他答案),但这样看起来就不像断开的单词了。最好使用其他符号代替连字符,例如$\bm\cdot$(使用\usepackage{bm})。这可以通过定义来实现:

\newcommand{\+}{\discretionary{\mbox{${\bm\cdot}\mkern-1mu$}}{}{}}

我强烈建议使用该软件包microtype,它在这里非常有用。我\mkern在点后面添加了一个小的负片,使其稍微突出到右边距。

\documentclass{article}

\usepackage{bm}
\newcommand{\+}{\discretionary{\mbox{${\bm\cdot}\mkern-1mu$}}{}{}}
\usepackage{microtype}

\begin{document}

\hsize 4.75cm

x\hfill x

This is my\-very\-long\-word\-that\-I\-want\-to\-break\-at\-any\-of\-these\-given\-points

This is my\+very\+long\+word\+that\+I\+want\+to\+break\+at\+any\+of\+these\+given\+points

\renewcommand\+{\discretionary{}{}{}}

This is my\+very\+long\+word\+that\+I\+want\+to\+break\+at\+any\+of\+these\+given\+points

\end{document}

答案2

如果您想拆分一个单词,但不想在拆分的地方使用连字符,您可以定义一种新的连字符样式:

\def\+{\discretionary{}{}{}}

现在你可以像 一样使用它了a\+very\+long\+word。然而,这仍然需要手动放置这个新的非连字符。

摘自 TeXBook:

自由换行符由三个字符序列组成,即换行前文本、换行后文本和不换行文本。其思想是,如果此处发生换行,则换行前文本将出现在当前行的末尾,而换行后文本将出现在下一行的开头;但如果没有发生换行,则不换行文本将出现在当前行中。用户可以通过以下方式完全通用地指定自由换行符

\discretionary{⟨pre-break text⟩}{⟨post-break text⟩}{⟨no-break text⟩}

其中三个文本完全由字符、方框和字距组成。例如,如果水平列表包含,则 TEX 可以在 f 之间用连字符连接单词 'difficult',尽管这需要将 'ffi' 连字符拆分为 'f-',然后是 'fi' 连字符 di\discretionary{f-}{fi}{ffi}cult

答案3

您可以使用

\usepackage{seqsplit}

然后使用

\seqsplit{ATGTCCACTGATAAAAGTACACGCTATAATTTTCAGATTGAGAAAGCCCC
CTCGTTGGCGTACGCTGCAGGTCGAC}

这可以用于显示 DNA 序列,但对你来说可能也很好

相关内容