LaTeX换行与分段的正确方法及Underfull \hbox错误解决
嘿,刚好对LaTeX的段落和换行问题门儿清,来给你讲明白:
LaTeX中换行与新段落的正确处理方式
先搞懂核心区别:换行≠新段落
LaTeX里的换行和新段落是完全不同的两个概念,别搞混了:
- 仅换行(同一段内):只是把内容换到下一行,但仍然属于同一个段落,不会触发段落缩进,也不会改变段落间距。适合诗歌、地址这类需要强制换行但保持语义连贯的场景。
- 新段落:是语义上的段落分隔,LaTeX会自动给新段落首行加缩进(除非你手动关闭),并且可能调整段落之间的间距(取决于文档类设置)。
1. 最佳实践:换行与新段落的正确操作
- 新段落(推荐):直接在两段内容之间留一个空行,这是LaTeX的标准写法,既直观又符合排版语义,比如:
我喜欢鲨鱼,鲨鱼很酷。 另外熊也很酷。
如果你不需要新段落的首行缩进,就在段落开头加\noindent:
我喜欢鲨鱼,鲨鱼很酷。 \noindent 另外熊也很酷。
- 仅换行(同一段内):用
\\或者\newline,注意\\后面不要加多余的空格(这就是你出错的原因!),比如:
我喜欢鲨鱼,鲨鱼很酷。\\ 另外熊也很酷。
2. 你遇到的Underfull \hbox错误原因及解决
你写的“我喜欢鲨鱼,鲨鱼很酷。\\ 另外熊也很酷。”有两个问题:
- 用
\\来分段是错误的——\\只是强制换行,不是段落分隔,后面的内容仍然属于同一段; \\后面加了空格,导致换行后的内容“另外熊也很酷”单独占一行,内容太短,LaTeX没法把这一行撑满整个文本宽度,所以就抛出了Underfull \hbox (badness 10000)的错误(badness 10000就是完全撑不满的极端情况)。
正确的分段方式就是我上面说的——两段之间留空行,或者用\par命令(和留空行效果完全一样,但可读性差一点):
我喜欢鲨鱼,鲨鱼很酷。\par 另外熊也很酷。
内容的提问来源于stack exchange,提问作者WoeIs




