error: You can't use `\vadjust' in internal vertical mode
I've been running across the following error once a week or so: [MP to PDF] (./fig.320) floatblocks : 16 placed ! You can't use `\vadjust' in internal vertical mode. <recently read> \vadjust \sidefloatoutput ... \parskip \zeropoint \vadjust {\penalty \minusone }\iffl. <argument> ...\fi \else \the \defaultstreamoutput \fi \firstoftwoarguments #1#2->#1 \dodonormaloutput ...lty \the \OTRcommand \output \outputmessage -{normal}\o. \invokeoutputroutine ...enalty }\dodonormaloutput \outputmessage -{trying}\o. ... l.1316 ? This is MetaPost, Version 0.993 (Web2C 7.5.6) (lumping-mpgraph.mp [1] metafun 2009-5-5 07:22 ) It is very sensitive to the vertical spacing, and goes away when I edit even slightly, but I've made the most minimal example that I can. It is attached as a zip file whose contents are: M Filemode Length Date Time File - ---------- -------- ----------- -------- ----------- -rw-r--r-- 745 5-Jun-2009 09:09:20 fig.2 -rw-r--r-- 1162 5-Jun-2009 09:09:20 fig.202 -rw-r--r-- 3552 5-Jun-2009 09:09:20 fig.301 -rw-r--r-- 2807 5-Jun-2009 09:09:20 fig.302 -rw-r--r-- 3820 5-Jun-2009 09:09:20 fig.306 -rw-r--r-- 5748 5-Jun-2009 09:09:20 fig.307 -rw-r--r-- 2915 5-Jun-2009 09:09:20 fig.308 -rw-r--r-- 48157 5-Jun-2009 09:09:20 fig.310 -rw-r--r-- 8219 5-Jun-2009 09:09:20 fig.311 -rw-r--r-- 2683 5-Jun-2009 09:09:20 fig.320 -rw-r--r-- 3827 5-Jun-2009 09:09:20 fig.350 -rw-r--r-- 3291 5-Jun-2009 09:09:20 fig.351 -rw-r--r-- 1853 5-Jun-2009 09:09:20 fig.618 -rw-r--r-- 2054 5-Jun-2009 09:09:20 fig.619 -rw-r--r-- 2076 5-Jun-2009 09:09:20 fig.621 -rw-r--r-- 1720 5-Jun-2009 09:09:20 fig.623 -rw-r--r-- 42313 5-Jun-2009 09:44:10 lumping.tex - ---------- -------- ----------- -------- ----------- 136942 17 files Run 'texexec lumping.tex' to see the problem. I'm using context 2009.5.5 from the Debian unstable package. I tried running lumping.tex on the live context, but could not reproduce the problem. I think that is because the figure files are not included in the live run, and their absence changes the vertical spacing enough to hide the problem. I also tried downloading and running it through the latest minimals, but the minimals failed trying to load the palatino fonts, and I haven't yet figured out if that problem is with my setup or with the minimals. -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
Sanjoy Mahajan wrote:
It is very sensitive to the vertical spacing, and goes away when I edit even slightly,
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error. Versions: This is pdfTeX, Version 3.1415926-1.50.0-alpha-20080414 ConTeXt ver: 2009.06.03 11:48 MKII This is MetaPost, version 1.202 Best wishes, Taco
Okay, thanks for testing it. To see what change fixed the problem (or maybe hid it), I'll first update to the the latest ConTeXt, then try updating pdftex (I'm using 1.40.3), and then try updating metapost (I'm using 0.993). -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
As part of the plan of debugging by trying one infrastructure at a time, I just updated to Context 2009.06.04. I downloaded and unzipped cont-tmf.zip (from pragma), putting everything into ~/texmf/, then ran "texexec --make --all" to remake the formats. (Everything else tex-related is from the Debian 'unstable' texlive 2007 packages.) texexec fails on this test file: \usetypescript[palatino][\defaultencoding] \setupbodyfont[palatino,11pt] \starttext \input tufte \stoptext with the following error: kpathsea: Running mktextfm ec-qplr /usr/share/texmf/web2c/mktexnam: Could not map typeface abbreviation c- for ec-qplr. /usr/share/texmf/web2c/mktexnam: Need to update /usr/share/texmf-texlive/fonts/map/fontname/special.map? mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ec-qplr This is METAFONT, Version 2.71828 (Web2C 7.5.6) kpathsea: Running mktexmf ec-qplr ! I can't find file `ec-qplr'. <*> ...=ljfour; mag:=1; nonstopmode; input ec-qplr It may be a Debian-specific problem (CC'ing Norbert for that reason), or maybe something strange on my laptop, but I've stayed as close to the vanilla Debian setup as possible. I thought I might need to update the latin modern fonts, but the Debian package is already v1.106, which looks like the latest version on the LM site. Does this latest context requires texlive 2008 (for newer map files or a newer pdftex)? -Sanjoy
On Fri, Jun 5, 2009 at 21:53, Sanjoy Mahajan wrote:
Does this latest context requires texlive 2008 (for newer map files or a newer pdftex)?
You need to fetch recent TeX Gyre at least. (You may ask Norbert, but one could keep patching TeX packages in 2007 to infinity.) Mojca
You need to fetch recent TeX Gyre at least.
Thanks, and good thought. I just installed the tex-gyre package from Norbert's repository and that fixed the problem. Now I can use all my longer documents to test the 2009.06.04 context version. By the way, do the context minimals require a separate installation of tex-gyre? When I installed the minimals, I think I remember seeing the same font problems as I saw before I installed tex-gyre. -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
On Mi, 10 Jun 2009, Sanjoy Mahajan wrote:
Thanks, and good thought. I just installed the tex-gyre package from Norbert's repository and that fixed the problem. Now I can use all my longer documents to test the 2009.06.04 context version.
Yeah, sorry, but that is all a bit a pain. I need the newer tex-gyre,
and lmodern fonts in Debian, but need newer TeX Live for that, first.
So, puhhh, at some time I have to do the work.
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error. Versions: This is pdfTeX, Version 3.1415926-1.50.0-alpha-20080414 ConTeXt ver: 2009.06.03 11:48 MKII This is MetaPost, version 1.202
I also don't see the problem with a newer installation. In particular: Creator: ConTeXt - 2009.06.04 22:20 Producer: pdfTeX-1.40.9 (with texlive2008) But I also noticed that the vertical spacing is different from what ConTeXt 2008.10.31 produces (part of Debian texlive2007). The vadjust problem is very sensitive to the vertical spacing, so a change in vertical spacing might be hiding the problem. I'll use the newer ConTeXt/pdftex setup for the full math textbook (of which lumping.tex is a chapter). That should be a good test of whether the vadjust problem is still there. By the way, is it worth my tracking down the difference in the vertical spacing? Or is that an expected change between 2008.10.31 and 2009.06.04? -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
I've reproduced the problem using a more recent ConTeXt: ConTeXt ver: 2009.06.04 22:20 MKII pdfTeXk, Version 3.1415926-1.40.9 The test files are in the attached zip file, which expands into a vadjust-problem/ directory. Then "texexec symmetry.tex" reproduces the problem for me. Here is the error message: ./symmetry.tex:920: You can't use `\vadjust' in internal vertical mode. <recently read> \vadjust \sidefloatoutput ... \parskip \zeropoint \vadjust {\penalty \minusone }\iffl... <argument> ...\fi \else \the \defaultstreamoutput \fi \firstoftwoarguments #1#2->#1 \dodonormaloutput ...lty \the \OTRcommand \output \outputmessage -{normal}\o... \invokeoutputroutine ...enalty }\dodonormaloutput \outputmessage -{trying}\o... ...
Sanjoy Mahajan wrote:
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
I've reproduced the problem using a more recent ConTeXt:
ConTeXt ver: 2009.06.04 22:20 MKII pdfTeXk, Version 3.1415926-1.40.9
The test files are in the attached zip file, which expands into a vadjust-problem/ directory. Then "texexec symmetry.tex" reproduces the problem for me. Here is the error message:
Yes, here too now. I'll investigate this (but it could take a while).
Sanjoy Mahajan wrote:
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
interesting, i get an error on ... pplb8r i think i'm going to blame mojca ... (this will trigger her into solution mode) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote:
Sanjoy Mahajan wrote:
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
interesting, i get an error on ... pplb8r
i think i'm going to blame mojca ... (this will trigger her into solution mode)
ok, the problem is in the images ... please make images self contained and don't depent on funny fonts being present on the system ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote:
Hans Hagen wrote:
Sanjoy Mahajan wrote:
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
interesting, i get an error on ... pplb8r
i think i'm going to blame mojca ... (this will trigger her into solution mode)
ok, the problem is in the images ... please make images self contained
I don 't think so. I have the font (which is just Palatino-Roman), and I still get that \vadjust message error.
Taco Hoekwater wrote:
Hans Hagen wrote:
Hans Hagen wrote:
Sanjoy Mahajan wrote:
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
interesting, i get an error on ... pplb8r
i think i'm going to blame mojca ... (this will trigger her into solution mode)
ok, the problem is in the images ... please make images self contained
I don 't think so. I have the font (which is just Palatino-Roman), and
well, the a map file issue .. but i gave up on those funny tex fonts (esp the ones ending on r) anyhow, with the new zip i get the error ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote:
Taco Hoekwater wrote:
Hans Hagen wrote:
Hans Hagen wrote:
Sanjoy Mahajan wrote:
Either the bug is fixed or there is a subtle difference between our installations, but I do not get an error
interesting, i get an error on ... pplb8r
i think i'm going to blame mojca ... (this will trigger her into solution mode)
ok, the problem is in the images ... please make images self contained
I don 't think so. I have the font (which is just Palatino-Roman), and
well, the a map file issue .. but i gave up on those funny tex fonts (esp the ones ending on r)
anyhow, with the new zip i get the error
If I patch \sidefloatoutput (page-sid.tex) like so: \def\sidefloatoutput {\iffloatshort \unvbox\normalpagebox \setbox\floatbottom\lastbox \ifdim\wd\floatbottom>\sidefloathsize \penalty-201 \box\floatbottom \else \ifvoid\floatbottom \else \restoreleftindent \ifdim\wd\floatbottom<\sidefloathsize \parskip\zeropoint %\noindent - \vadjust{\penalty\minusone}% + \ifinner\else \vadjust{\penalty\minusone}\fi it runs without error. It looks like the side float output routine is called in the middle of this math display: \startformula a-b+c-d+f-g+h-e\equiv1\ (\mod 3), \stopformula which shows that all vertices cannot be made multiples of~3 simultaneously. I think my patch somewhat odd, but at least it does not crash and I fear that the sidefloat output in this case (a float next to a display that forces a page break) is somewhat undefined anyway. Best wishes, Taco
Taco Hoekwater wrote:
Hans Hagen wrote:
Taco Hoekwater wrote:
Hans Hagen wrote:
Hans Hagen wrote:
Sanjoy Mahajan wrote:
> Either the bug is fixed or there is a subtle difference between > our installations, but I do not get an error
interesting, i get an error on ... pplb8r
i think i'm going to blame mojca ... (this will trigger her into solution mode)
ok, the problem is in the images ... please make images self contained
I don 't think so. I have the font (which is just Palatino-Roman), and
well, the a map file issue .. but i gave up on those funny tex fonts (esp the ones ending on r)
anyhow, with the new zip i get the error
If I patch \sidefloatoutput (page-sid.tex) like so:
\def\sidefloatoutput {\iffloatshort \unvbox\normalpagebox \setbox\floatbottom\lastbox \ifdim\wd\floatbottom>\sidefloathsize \penalty-201 \box\floatbottom \else \ifvoid\floatbottom \else \restoreleftindent \ifdim\wd\floatbottom<\sidefloathsize \parskip\zeropoint %\noindent - \vadjust{\penalty\minusone}% + \ifinner\else \vadjust{\penalty\minusone}\fi
it runs without error. It looks like the side float output routine is called in the middle of this math display:
\startformula a-b+c-d+f-g+h-e\equiv1\ (\mod 3), \stopformula which shows that all vertices cannot be made multiples of~3 simultaneously.
I think my patch somewhat odd, but at least it does not crash and I fear that the sidefloat output in this case (a float next to a display that forces a page break) is somewhat undefined anyway.
ah .. i was already staring at it for a while it's the first time that i run into something with side floats (started out as copied code from a tug boat article) there's also a patch needed for \ifinner\else\vadjust{\penalty\minusone}\fi later on Thanks Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
there's also a patch needed for \ifinner\else\vadjust{\penalty\minusone}\fi later on
With Taco's patch to both \vadjust lines, the bug disappears here. I'll keep running the modified version to see whether it triggers in other cases, but I think it's solved. Thanks much. -Sanjoy `Until lions have their historians, tales of the hunt shall always glorify the hunters.' --African Proverb
participants (5)
-
Hans Hagen
-
Mojca Miklavec
-
Norbert Preining
-
Sanjoy Mahajan
-
Taco Hoekwater