我该如何防止LaTeX在我的
\texttt{...}
或\url{...}
文本区域插入换行符?这些区域内没有空格可用~
替换,它只会在符号处断开。
更新:我不想导致行溢出,我更希望LaTeX在这些区域之前插入换行符,而不是在里面插入。\texttt{...}
或\url{...}
文本区域插入换行符?这些区域内没有空格可用~
替换,它只会在符号处断开。
更新:我不想导致行溢出,我更希望LaTeX在这些区域之前插入换行符,而不是在里面插入。\mbox
是最简单的方法。关于更新:
TeX宁愿在一行中添加过长的行而不是在单词之间添加太多空格;我认为这样做的想法是你会注意到延伸到边缘的行(以及它在这些行后插入的黑色框),并有机会修订内容,而如果有太多空间,你可能不会注意到它。
使用\sloppy
或\begin{sloppypar}...\end{sloppypar}
来调整这种行为,至少可以稍微改善。另一种可能性是\raggedright
(或\begin{raggedright}...\end{raggedright}
)。
将其用\mbox{}
包围起来。
此外,如果您在常规文本中有两个连续的单词,并且您想避免它们之间出现换行符,您可以使用~字符。
例如:
As we can see in Fig.~\ref{BlaBla}, there is nothing interesting to see. A~better place..
这可以确保您没有以数字编号(不包括“图”部分)或大写字母A开头的行。
~
是一个非断行的“空格”字符,也就是说,它还会插入一个空格(有时候人们希望防止换行而不插入空格)。 - sdaau定义 myurl 命令:
\def\myurl{\hfil\penalty 100 \hfilneg \hbox}
I don't want to cause line overflows,
I'd just rather LaTeX insert linebreaks before
\myurl{\tt https://dev59.com/PHNA5IYBdhLWcg3wUMDn
regions rather than inside them.
hypenat
宏包中的\nohyphens{}
命令也许可以做到。 - Michiel Buddingh