为什么 pdf 文件是空的?Latex 没有输出,也没有错误

为什么 pdf 文件是空的?Latex 没有输出,也没有错误

由于某种原因,自动生成的乳胶代码之一未在 pdf 中生成任何输出。

我制作了一个包含此乳胶代码的 MWE,全部在里面\[....\],然后运行 ​​pdflatex,但文件是空的。

请不要抱怨 latex 代码本身,或者我为什么要排版这个,我只是想找出为什么 pdflatex 和 latex 对这个输入根本不产生输出,仅此而已,如果我需要做些什么让它生成输出,即使它没有正确排版。(此代码由 Maple latex 命令生成,仅供参考)

我把 .tex 文件、日志文件和 pdf 文件放在这个文件夹

>pdflatex no_output.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) 
(preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./no_output.tex
LaTeX2e <2014/05/01>
....
pfb></usr/local/texlive/2014/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.p
Output written on no_output.pdf (1 page, 111713 bytes).
Transcript written on no_output.log.

但是 pdf 文件是空的。我查看了日志文件,但没有看到任何明显的东西,但我并不了解它到底在说什么。

答案1

这个等式太宽了。\maxdimen是 16383.99998 pt = 1073741823 sp = (2 30\maxdimen - 1) sp≈ 5.76 m。如果字体大小大幅减小,我只能拟合这个等式:

\documentclass[12pt]{article}
\usepackage{fix-cm}% to provide smooth tiny font sizes
\usepackage{amsmath,mathtools}
\usepackage[
  paperwidth=\maxdimen,% normal paper width is hopeless
  hmargin=0pt,
]{geometry}
\begin{document}

\fontsize{2.65pt}{3pt}\selectfont
\showboxdepth=2
\showboxbreadth=10
\tracingonline=1
\AtEndDocument{\nonstopmode\showlists}
\[
   ...
\]
\end{document}

TeX 报告 ( \showlists) 为方程框:

\hbox(7.02252+6.27673)x16313.41013, shifted 35.29494, display

宽度已经相当接近了\maxdimen

\fontsize设置时:

 \hbox(31.8003+27.96019)x-12840.86679, shifted 14612.4334, display

TeX 将维度值存储为 32 位有符号整数。计算结果超出允许范围会产生Arithmetic overflow错误。盒子很特殊,它们可以累积盒子尺寸超出允许范围的元素,例如:

\setbox0=\hbox{\kern100000pt\kern10000pt}
\showthe\wd0
> 18000.0pt.

但是,结果必须适合 32 位有符号整数(单位 sp)。超出范围的值将被回绕,继续处于负范围内:

\setbox0=\hbox{\kern10000pt\kern10000pt\kern10000pt\kern10000pt}
\showthe\wd0
> -25536.0pt.

您的长方程式发生了这种情况。由于值不再正确,TeX 严重错误计算了方程式的中心位置(来自 xpdf 的“适合宽度”屏幕截图):

结果

环绕式计算有一个奇怪的效果,即在左边可以看到等式的末尾,而在右边可以看到等式的开头。等式中间的主要部分在纸的外面。

相关内容