首先,抱歉我没有 MWE,我知道这会让事情变得更加困难。我无法在一个小的例子中复制这个问题。
我怀疑 multirow 和 pdflatex 存在某种错误。
我不断收到以下错误:
! pdfTeX error (\pdfsetmatrix): Unrecognized format..
<to be read again>
\endgroup \set@typeset@protect
l.511
! ==> Fatal error occurred, no output PDF file produced!
如果我删除使用多行的表,此错误就会消失。请注意,第 511 行位于表格环境中的多行语句之后,它是文本中的随机位置。
我不知道为什么会发生这种情况,我用 Google 搜索了 bug、multirow 等组合中的错误,但什么也没找到。有什么想法可以隔离问题以更好地理解它,或者以其他方式了解它的根源是什么?
编辑:我对多行的使用完全正确。如果我对 .tex 文件使用“latex”(而不是“pdflatex”),它可以很好地编译。
(对于多行语句,我使用多行包。)
答案1
第 511 行是 TeX 决定调用输出例程来输出页面的地方。LaTeX 中的输出例程以以下内容开头:
\def\@outputpage{%
\begingroup % the \endgroup is put in by \aftergroup
% ...
\shipout \vbox{%
\set@typeset@protect
\aftergroup \endgroup
\aftergroup \set@typeset@protect
在 的结束组之后\vbox
,插入了标记\endgroup
和\set@typeset@protect
,您可以在错误消息中看到。因此,错误很可能发生在\shipout
页面的 内。
\pdfsetmatrix
通常由/包的pdftex.def
图形驱动程序使用,用于缩放/调整大小和旋转。graphics
graphicx
对于分析来说,参数的值\pdfsetmatrix
可能很有用(不幸的是,错误消息中没有显示)。但是,.log
如果您可以在文档开头添加以下内容,则可以将参数打印在屏幕上或放入文件中:
\let\orgpdfsetmatrix\pdfsetmatrix
\renewcommand*{\pdfsetmatrix}[1]{%
\typeout{* setmatrix: [#1]}%
\orgpdfsetmatrix{#1}%
}
也许您还可以识别出导致问题的操作,例如
\scalebox
,\resizebox
或\rotatebox
。当然,一个最小工作示例 (MWE) 会更好。您使用的是哪个版本
pdftex.def
?该文件可以通过以下方式找到kpsewhich pdftex.def
版本号是第一行的一部分
\ProvidesFile
。我认为,这与包没有任何直接关系
mutlirow
。