假设我有以下段落
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx $\hat{\sigma}_w(kn)$ Here are some other random words in order to show where the margins should be. I'll switch to lorem ipsum now. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque in diam ipsum. Vestibulum pretium orci eu dui dictum suscipit. Proin suscipit consectetur risus in placerat. Donec id interdum diam. Donec eleifend non justo in fermentum. Nullam varius feugiat ipsum, in fringilla magna vehicula consequat. Pellentesque ut arcu bibendum, pulvinar neque semper, tincidunt eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam erat volutpat. Proin eget placerat ipsum. Proin pharetra velit turpis, a condimentum dui scelerisque quis. Vestibulum consequat libero vel odio auctor mattis. Quisque ipsum nulla, sagittis at sagittis eget, convallis a odio. Suspendisse potenti.
\end{document}
当以 PDF 形式查看此文档时,我们会看到以下内容:
我该如何解决这个问题,以便强制使用边距?似乎乳胶应该将方程式推到下一行,但出于某种原因,它并没有这样做。这是一个非常小的方程式,因此为这么小的东西创建一个全新的行真的没有意义。我似乎找不到任何参数来强制它挤进当前行(目前无法发生,因为我只使用 xxxxx...xxxx,但从技术上讲,我的实际代码前面有单词,因此它“可以”根据需要挤进去)和/或落到下一行。
我已经尝试过写出这样的等式:
${\hat{\sigma}_w(kn)}$
(添加了 {})但这似乎没有改变任何东西。我似乎无法在文档中找到任何可以解决此问题的内容。有人有什么想法吗?
答案1
边距为绝不“强制”,但如果您写的内容超出打印区域的大小,您会收到警告(“ overful \hbox
”)。
最佳解决方案是重写,以便问题首先不会发生。如果没有,请先进行\linebreak[4]
一些数学运算;该线路现在将处于未满状态(并带有适当的警告),但这已经是你能得到的最好的结果了。
答案2
这里的要点是 LaTeX 有问题,因为它不会以非夸张的方式拉伸方程式前的空格(我无法向 LaTeX 解释它“夸张”了什么),从而将方程式向下发送,因此它会保持方程式向上并向您发出警告Overfull \hbox
。解决这个问题的一种方法是强制换行,从而生成相反的警告(Underfull \hbox
)。另一种方法是将行的其余部分换成\hbox to <length>
,这将覆盖“夸张”的正常定义并强制拉伸更多空格,用方程式之前的内容填充整行,从而将方程式向下发送。在这种情况下, 将<length>
是\linewidth - \parindent
,因为它是段落开头的整行。当然,MWE 中提出的案例不允许这样做,因为那里是没有空格。或者,您也可以将方程式包含在内\hbox to
,但我不确定这样是否会挤压空格。所以我的建议是:
\newlength\foo
\foo=\linewidth
\advance\foo -\parindent
\hbox to \foo{rest of the line} $equation$