我正在编写一个 TeX 文件,虽然 .pdf 可以正确呈现,但我使用“石器时代”工具对其进行编码。例如,我习惯\\
在两个段落之间或在每个段落开头留出一行空白\noindent
。基本上,我只是使用我拥有的基本 TeX 数据来编写论文,但我确信有些东西可以用更好、更合适的代码替换,因为我得到了badness 10000
。这是控制台:
*geometry* detected driver: pdftex
("C:\Archivos de programa\MiKTeX 2.9\tex\latex\amsfonts\umsa.fd")
("C:\Archivos de programa\MiKTeX 2.9\tex\latex\amsfonts\umsb.fd")
Underfull \hbox (badness 10000) in paragraph at lines 10--11
[1{C:/Documents and Settings/All Users/Datos de programa/MiKTeX/2.9/pdftex/conf
ig/pdftex.map}]
Overfull \hbox (10.8009pt too wide) detected at line 49
\OML/cmm/m/it/14.4 [] \OT1/cmr/m/n/14.4 + 1 = [] [] \OML/cmm/m/it/14.4 x \OT1
/cmr/m/n/14.4 + [] [] \OML/cmm/m/it/14.4 x
[2]
Overfull \hbox (26.66542pt too wide) in alignment at lines 80--82
[][][] []
[3]
Overfull \hbox (23.60692pt too wide) detected at line 90
\OML/cmm/m/it/14.4 [] \OMS/cmsy/m/n/14.4 ><C:/Archivos de programa/MiKTeX 2
.9/fonts/type1/public/amsfonts/symbols/msbm10.pfb>
我猜这些错误都是基本的,我怎样才能清除这些错误呢?
答案1
切勿使用\\
在段落之间添加空格。以下是简单的代码:
\documentclass{article}
\begin{document}
text\\
text
\end{document}
产生消息
Underfull \hbox (badness 10000) in paragraph at lines 5--6
除了用警告堵塞控制台输出和 .log 文件之外,\\\par
在使用此组合后立即发生分页符时,还会产生真正不良的影响,如使用以下简单示例所示:
\documentclass{article}
\usepackage{showframe}% just for the example
\begin{document}
\vspace*{44\baselineskip}
test text\\
test text
\end{document}
第二页顶部的图像:
第二页开头有一个虚假的空白行,这无疑使布局变得丑陋和不一致(感谢大卫·卡莱尔其中提到了这个问题)。
如果要抑制缩进并增加段落之间的垂直间距,则至少有三个选择:
设置
\parindent
为0pt
(抑制缩进)并使用\smallskip
或增加段落之间的垂直跳过;例如\medskip
:\bigskip
\documentclass{article} \usepackage[nopar]{lipsum} \setlength\parindent{0pt}% globally suppress indentation \begin{document} \lipsum[2]\medskip \lipsum[2] \end{document}
给出
加载帕斯基普包。例如:
\documentclass{article} \usepackage{parskip} \usepackage[nopar]{lipsum} \begin{document} \lipsum[2] \lipsum[2] \end{document}
生成:
使用其中一个KOMA 脚本
parskip=
文档类和or系列的选项之一halfparskip=
(有关详细信息,请参阅文档)。例如:\documentclass[parskip=full+]{scrartcl} \usepackage[nopar]{lipsum} \begin{document} \lipsum[2] \lipsum[2] \end{document}
生成:
只是为了解释为什么使用\\
后跟空行(或\par
命令)会产生警告:
当 TeX 结束一个段落时,它会插入类似
\unskip \penalty10000 \hskip\parfillskip
这样做\\\par
会导致
\\ \unskip \penalty10000 \hskip\parfillskip
由于没有找到前置的粘连,所以\unskip
没有效果,因此\\
后面跟着一个惩罚和一个粘连,粘连会在换行后消失;但是,TeX 已经期待一个额外的行,但没有东西来填充它,所以会导致出现一个未满的盒子。