由于某种原因,自动生成的乳胶代码之一未在 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 的“适合宽度”屏幕截图):
环绕式计算有一个奇怪的效果,即在左边可以看到等式的末尾,而在右边可以看到等式的开头。等式中间的主要部分在纸的外面。