为什么\emph
要忽略页边距?如何通过将 emph 中的单词设置为新行来修复它?请参阅以下示例:
编辑:文本的第二行太长。我不希望将“edu.kit.sdq.modeljoin.compliance.model”分开,而是将其放在新行上,这样页边距才正确。
编辑2:MWE:
\documentclass[11pt, a4paper]{article}
\begin{document}
mdskam saskksk smdlakm dklsa mldk dlksam lkdsam sksksk \emph{de.de.de.de.de.de.de.de.de.de} dsamkld samkl samkl dsamkl dsamkl mdslkam dlskam dklsam kldasm dklsamlkd smalk maslkmdsalkas mnsbh ds dsm fndjk sdfdslkm dsmk ldsm klfdsm fklds
\end{document}
答案1
\documentclass[11pt, a4paper]{article}
\begin{document}\sloppy
%%%%%%
mdskam saskksk smdlakm dklsa mldk dlksam lkdsam sksksk \emph{de.de.de.de.de.de.de.de.de.de} dsamkld samkl samkl dsamkl dsamkl mdslkam dlskam dklsam kldasm dklsamlkd smalk maslkmdsalkas mnsbh ds dsm fndjk sdfdslkm dsmk ldsm klfdsm fklds
\end{document}
答案2
这与 无关\emph
。未断开的字符串中没有空格,而且全是标点符号,因此 tex 不知道在哪里断开它 —— 在这种情况下连字符连接例程根本不起作用。
打破这一困境的最简单方法是使用包url
,然后使用命令\url{xxx.xxx.xxx}
应用一组不同的打破规则。即使这实际上不是一个 url,也应该应用相同的打破机制。
编辑:OP 不想破坏“牢不可破”的字符串。有几种方法可以避免这种破坏:
在包含该字符串的段落开头添加
\begin{sloppypar}
,并在段落末尾添加\end{sloppypar}
。这将导致有问题的字符串被移动到下一行,使前一行留下令人不快的宽空格,并且段落的其余部分可能出现不均匀的间距。这种技术会将间距效果限制在那一个段落,不像 david carlisle 提出的建议那样,这会影响整个文档。只需决定将该字符串之前的行留短,然后
\\
在其之前插入。这不会对段落的其余部分产生不利的间距影响,并且在这种情况下,可能会产生更有吸引力的结果。将字符串单独设置在一行上,可能将其视为“等式”:
\[\text{...}\]
。(\text
需要使用该amsmath
包。)重新措辞该段落。
所有这些方法都忽略了“不可破坏”字符串可能比文档的文本宽度更长的可能性,这种情况并不罕见。