Sans doute une question pour les sorciers.
J'ai vu appara�tre cette erreur :
Incompatible list can't be unboxed.
Je n'avais jamais eu le probl�me mais elle se produit
de temps en temps avec Beamer, et hyperref mais j'ai l'impression
que ce ne sont pas les seuls packages.
Un peu de lecture sur le net fait appara�tre que cette
erreur peut se produire avec du code tex mais je n'ai
rien compris aux explications. Par exemple il y a un message de
H Oberdiek sur "color package in pdfTeX under plain TeX"
Deux questions tout d'abord :
1) cela veut dire quoi "Incompatible list" ?
"can't be unboxed" il me semble comprendre que
c'est li� � des \unhbox ou \unvbox...
Un ECM en TeX est-il possible pour comprendre l'erreur ?
2) J'ai essay� de trouver une liste des erreurs possibles dans le TeXBook
mais je n'ai point trouver ! Ai-je mal cherch� ? Cela existe-t-il?
et surtout avec des exemples ?
En g�n�ral (sous LaTeX), l'erreur est suivie d'une autre :
Output routine didn't use all of \box255
L� aussi un ECM en TeX est-il possible ?
Cela � l'air de dire que c'est la routine de sortie qui a des probl�mes
et la solution pour �viter les erreurs est l'utilisation de "atbegshi".
Je n'ai pas vraiment compris le r�le de ce package ?
Si quelqu'un avait des explications sur tout cela, je les lirai avec
attention. Merci
Alain Matthes
La première erreur vient de quelque chose comme:
\setbox0\hbox{exemple}
\unvbox0
C'est-à-dire qu'on crée une boîte horizontale et on essaie de la
dérouler verticalement, ou bien l'inverse. Une \hbox nécessite \unhbox
et une \vbox nécessite \unvbox.
La seconde erreur est un peu plus compliquée. Quand TeX construit une
page, il le fait dans \box255; quand il estime que la page est pleine,
il appelle l'output routine, qui fait quelque chose d'utile, par
exemple envoyer la page vers le fichier dvi/pdf/etc, ou bien remettre
le matériel dans le flux en changeant quelques paramètres pour refaire
la page. Une fois l'output routine terminée, TeX se remet à construire
une page encore une fois en emmagasinant des éléments dans \box255;
mais comme TeX est une entité ordonnée, il veut que \box255 soit vide
quand il se met à remplir; c'est pourquoi l'output routine doit vider
\box255, même si rien n'est fait du contenu. L'erreur en question
indique que \box255 n'a pas été vidée (et conséquemment que ce qui
reste dedans sera perdu). Par exemple l'output routine
\output{\shipout\vsplit255 to 10pt}
va envoyer vers le fichier dvi/pdf/etc le haut de \box255 (par défaut
la première ligne a une hauteur de 10pt), mais le reste de ce qui a
été emmagasiné dans \box255 ne bouge pas, si bien que TeX va signaler
que l'output routine n'a pas utilisé la totalité de \box255, jeter ce
qui reste, et reprendre son travail.
Maintenant, pourquoi ça se produit dans ton cas, là il faudrait un
exemple minimal.
Paul
> Maintenant, pourquoi ça se produit dans ton cas, là il faudrait un
> exemple minimal.
Une idée quand même, reliant les deux erreurs: l'output routine fait
quelque chose comme \unhbox255 au lieu de \unvbox255 (puisque \box255
est verticale), d'où la première erreur, du coup \box255 n'est pas
vidée, d'où la seconde erreur. Un peu de contexte d'erreur pourrait
nous aider.
Par contre, pourquoi, comment, par quelle inattention majeure, etc.
etc., il a bien pu se glisser dans un code quelque chose comme
\unhbox255, je ne vois vraiment pas. Et ça me paraît tellement gros
que, même si ça permet d'expliquer les deux erreurs d'un coup, j'ai
beaucoup de mal à y croire.
Paul
> On 2 jan, 09:41, Alain Matthes <alain.matt...@nofree.fr> wrote:
>> Bonjour et bonne ann e tous
>>
>> Sans doute une question pour les sorciers.
>>
>> J'ai vu appara tre cette erreur :
>> Incompatible list can't be unboxed.
>>
>> Je n'avais jamais eu le probl me mais elle se produit
>> �de temps en temps avec Beamer, et hyperref mais j'ai l'impression
>> �que ce ne sont pas les seuls packages.
Merci pour tes explications !
"Incompatible list" signifie quoi exactement ( liste de bo�tes ?) ?
Alain Matthes
> "Incompatible list" signifie quoi exactement ( liste de boîtes ?) ?
Non, c'est l'intérieur de la boîte qui est considéré comme une liste,
horizontale ou verticale. En disant par exemple
\setbox0\hbox{exemple}
\unvbox0
TeX construit une liste horizontale dans la boîte 0, liste composée de
"e", puis "x", etc., et on lui demande ensuite de la dérouler comme
une liste verticale, d'où l'incompatibilité. Il pourrait le faire sans
se plaindre, mais ça n'aurait pas grand intérêt typographique, et au
moins comme ça on évite les erreurs (enfin, je suis sûr qu'il y a une
explication plus convaincante).
Paul
> On 2 jan, 12:05, zappathustra <zappathus...@free.Fr> wrote:
>
>> Maintenant, pourquoi �a se produit dans ton cas, l� il faudrait un
>> exemple minimal.
>
> Une id�e quand m�me, reliant les deux erreurs: l'output routine fait
> quelque chose comme \unhbox255 au lieu de \unvbox255 (puisque \box255
> est verticale), d'o� la premi�re erreur, du coup \box255 n'est pas
> vid�e, d'o� la seconde erreur. Un peu de contexte d'erreur pourrait
> nous aider.
>
> Par contre, pourquoi, comment, par quelle inattention majeure, etc.
> etc., il a bien pu se glisser dans un code quelque chose comme
> \unhbox255, je ne vois vraiment pas. Et �a me para�t tellement gros
> que, m�me si �a permet d'expliquer les deux erreurs d'un coup, j'ai
> beaucoup de mal � y croire.
Merci pour toutes ces pr�cisions. Je voyais globalement
l'origine de ces erreurs mais "texchniquement", je trouvais
tout cela bien �trange.
Les exemples qui me produisent ces erreurs sont surtout d'anciens
fichiers "beamer" que j'ai conserv�s pour analyse ult�rieure et une solution
est donn�e par l'utilisation du package atbegshi.sty de Heiko Oberdiek
(une am�lioration de "everyship". Le truc semble �tre
une red�finition de \shipout.
Il y a quelques examples sur le net. Il semble
que cela provienne assez souvent de pgf mais hyperref est souvent
en cause �galement et parfois sans pgf.
J'ai un cas mais pas franchement ecm avec tikz et hyperref (sans beamer)
Si je charge hyperref avant tikz, l'erreur disparait et sans utiliser
atbegshi.sty
mais \RequirePackage{atbegshi} permet en effet d'�liminer
l'erreur sans se soucier de l'ordre de chargement.
Il faudrait peut-�tre demander Oberdiek ce qu'il pense
du probl�me ?
Alain Matthes