我正在写一篇文章,其中需要写一段充满医学术语的内容。如何在不使用换行符(或连字符)的情况下将文本换行?
问候
答案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 序列,但对你来说可能也很好