两个文件的内容完全相同。其中一个文件显示 52 hbox 溢出,另一个文件显示 0

两个文件的内容完全相同。其中一个文件显示 52 hbox 溢出,另一个文件显示 0

我真的很困惑。我花了好几个小时开始设计一个特殊的袖珍书配置,字体大小、边距(几乎为零)、页眉和页脚……

我调试了所有的水平框和垂直框过满和欠满的情况。直到我得到了唯一一条让我满意的消息:

  • 0 个错误,0 个警告,0 个坏框,图 1:

0 个错误,0 个警告,0 个错误框

然后我写了 3 章,4 个部分,当然,仍然会在必要时进行调整,直到我对本书的“样本版本”感到满意为止。

在编写其他章节时,此示例版本将免费发送。因此,我决定“冻结”该文本,将其命名为另一个文件名,然后继续编写其他文本。

我只是,我向你发誓,我只是用另一个名字复制了该文件。你可以在下面的图片中看到名称和错误:

原始版本没有提供 badboxes。我在 KILE 编辑器 (debian/linux) 的另一个“选项卡”中打开了新文件并进行了编译,然后惊讶地看到:

  • 0 个错误,0 个警告,52 个坏框,图 2:

0 个错误,0 个警告,52 个错误框

我现在已经尝试了所有方法。我已阅读了这里和其他网站上的所有问题。我尝试过:

  • 清理辅助文件
  • 在序言中添加代码:

  • 显而易见的是:

\hbadness=10000 % more than 10000 supress all warnings underfull hbox badness
\vbadness=10000 % more than 10000 supress all warnings underfull hbox badness
  • 来自这里的其他问题:
\raggedbottom
\vbadness=\maxdimen
  • 来自另一个网站的提示
\usepackage{microtype}
  • 改变下部空间:
 \usepackage{setspace}
 \setstretch{0.15}
  • 改变模糊和其他变量:
 \hfuzz=20pt
 \vfuzz=20pt
 \overfullrule=0pt
 \emergencystretch20pt   % More blank space to put in to lines
 \tolerance10000          % value for degree of inadequate line filling
 \setlength{\emergencystretch}{3em}
  • 使用这个技巧来设置行数:
 \setlength{\dimen0}{\textheight}
 \addtolength{\dimen0}{-\topskip}
 \divide\dimen0\baselineskip
 \setlength{\textheight}{\number\dimen0 \baselineskip}
 \addtolength{\textheight}{\topskip}
  • 更改字体大小进行测试

一切都无济于事。此外,文件应该完全相同。我甚至惊讶地认为“复制”命令失败了,然后我只是在 kile 中旧文件的选项卡窗口中“control-a / control-c”,在新选项卡中“control-a control-v”,以确保我拥有完全相同的文件。

我仍然可以编译没有 badboxes 的旧文件。但新文件有 52 个 badboxes,而且似乎没有减少。

上面的一些选项给了我一些希望。将字体大小改为更大,我得到了 67 个 badbox。使用,setstretch我得到了 48 个。我想就是这样。

说真的,我不在乎警告,因为我需要更改措辞或在这里或那里插入换行符。我只希望警告消失(并且文本保持不变)。

谢谢任何帮助。

答案1

你没有提供测试文件,但你在每个页面上都得到了一个溢出的文件名框,而且你提到你正在使用裁剪,所以我假设你有

在此处输入图片描述

每页的文件名来自

\documentclass{article}

\usepackage[paperwidth=5cm,paperheight=5cm,pdftex=false]{geometry}
\usepackage[a4,pdftex,center]{crop}
\begin{document}
\crop[cam,info]


fooo

\clearpage

baaar

\end{document}

如果您将页面弄得太小或将文件名弄得太长,它将无法容纳在空间中。

请注意,我在较大的实际页面(A4)上设置了一个较小的逻辑页面大小(5厘米宽),如果您指定相同的页面大小,则裁剪会将裁剪角放在页面的物理角,因此信息块将位于页面顶部,尽管 tex 仍会“打印”它,并且如果太宽仍会报告为过满,即使它会被您的 pdf 查看器裁剪并且不会显示。

答案2

我不知道具体的含义是什么,但从我的测试,删除和注释所有包后,我得到了以下结果:

总共有 52 条警告指出文件名太大,页面容量不够,尽管我从未在书的内容中写过它。

删除包后结果如下:

  • 包导入:少于 2 个警告
  • 包装内含:少 2 个警告
  • 软件包 lstlisting:少于 8 个警告
  • 软件包 fancyhdr: 少于 6 个警告
  • 软件包裁剪:警告变为零。接下来重新添加和删除。
  • 软件包几何:警告变为零。重新添加并尝试其他方法。

接下来,我决定将页面设置为没有geometry包裹的原始尺寸,以进行检查。页面尺寸为 9cm x 12cm,但我认为a7paper可以接受。班级book不会接受它,但班级scrbook接受了。

  • 删除geometry并设置页面大小:

    \documentclass[a7paper,10pt,openany]{scrbook}:现在引用该文件名的警告总数为 62 条。

  • 最后删除最后一个包后,crop警告降至零。

最终配置:根本没有软件包,只有a7paper,没有警告。添加软件包时crop会给出文件名大小不合适的警告。

奇怪的结论:在一个小的页面中,用一个大的文件名,包crop给出了警告坏箱关于文件名,即使文件名从未写入文档中。

相关内容