"TeX capacity exceeded" avec l'option pdfform...

Added by Javier Burguete almost 7 years ago

Bonjour,

Je suis en train de preparer un test avec l'option pdfform sur AMC.

Il se trouve que j'obtiens une erreur "TeX capacity exceeded, sorry [PDF object stream buffer=5000000]."
si j'essaie de preparer plus de 98 exams. (Avec 98, ca passe bien, mais avec 99, j'obtiens l'erreur).

Mon system est un iMac OSX 10.11.6, avec AMC 1.3.0+hg2017-10-12.
J'ai essayé pdftex (Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_2)
et luatex. On obtiens le meme erreur. j'ajoute un fichier minimum avec lequel j'obtiens l'erreur.

Si je change \AMCcode{etu}{7} par \AMCcode{etu}{6} j'arrive a obtenir jusqu'a 10 copies de plus
(j'arrive a le faire marcher jusqu'a 107 copies)...

Il parait que ce soit une historie de combien de "tokens" sont preparés, mais je ne suis pas sur.
J'ai essaiyé d'agrandir la taille de memoire sur texmf.cnf, mais cela ne change rien.

Merci,
Javier Burguete

FicheroProcesadoMULTILING.tex - Fichier pour tester... (1.4 kB)


Replies (7)

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Alexis Bienvenüe almost 7 years ago

Est-ce que cela passe mieux en utilisant xelatex au lieu de pdflatex ?

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Javier Burguete almost 7 years ago

Et bien, oui!

Avec xelatex je peux faire marcher 500 copies sans erreur (je n'ai pas testé plus). Et pour moi ca suffit, puisque j'ai besoin de 240.

Mais j'ai besoin de lualatex, parce que j'utilisse lua pour generer des petits problemes avec des données personalissés et je fais à lua obtenir les options, corrects et incorrects.

Est-ce que vous pensez continuer le support de lualatex? (Je vois que dans la derniere version est disparu sur la liste des moteurs LaTeX!).

Merci a nouveau!
Javier

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Alexis Bienvenüe almost 7 years ago

Est-ce que vous pensez continuer le support de lualatex? (Je vois que dans la derniere version est disparu sur la liste des moteurs LaTeX!).

Ce n'est pas volontaire. Ceci dit, le champ de configuration est éditable : vous pouvez taper au clavier le nom de la commande que vous voulez utiliser en tant que moteur LaTeX.

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Javier Burguete almost 7 years ago

Bonjour,

Je vous inform de mes avancements.

Comme j'avais dit, je suis interessé à faire marcher AMC avec PDF forms sur lualatex.

Il parait que j'ai trouvé le problème. Il vient du "hyperref package".

Dans ce package, il est introduit la definition du macro "\@Form" dans un fichier qui est "front end dependent".
Pour xetex, il est defini dans "hxetex.def" et pour luatex dans "hluatex.def".

Parmi ce deux fichiers il y a une grosse difference. Sur xetex, les "anchors" sont processés tout de suite.
Dans le fichier luatex, ils sont mis dans une macro, AtVeryEndDocument, qui est processé à la fin.
Donc, il parait que l'erreur vient de là, luatex ne peut pas generer a la fin une macro si longue.

Si on met en commentaire juste la ligne où fait sont apparition "\AtVeryEndDocument{"
dans la definition de \@Form dans hluatex.def, et la ligne où on ferme "}", mais on laisse toutes les lignes intermediaires,
tout marche comme sur xetex.

On est capable de faire 500 copies sans erreur. Et j'ai verifié que les PDFs peuvent etre sepparés, ramplies, et processés pour obtenir les marques sans problemes.

Est-ce que vous pourriez confirmer que comme ca, PDF forms, marche?

Si on confirme ca, quel serait la procedure à suivre? Il fuat contacter les gens de hyperref pour marquer ca comme "bug"?

Merci,
Javier

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Alexis Bienvenüe almost 7 years ago

Merci pour ces informations intéressantes !
Le problème vient peut-être d'AMC, qui crée un Form par copie, au lieu d'un unique Form.
Est-ce que vous pouvez essayer de voir si tout fonctionne normalement (sans votre modif de hluatex.def) en plaçant la version modifiée ci-jointe du package AMC dans le répertoire projet ?

automultiplechoice.sty - automultiplechoice.sty avec un unique pdfform (74 kB)

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Javier Burguete almost 7 years ago

Parfait!

Je viens de tester cette version du automultiplechoice.sty avec LuaLaTeX et XeLaTex.

Dans les deux cas j'ai fait la meme procedure:
- Generer 250 copies.
- Detection de format.
- "Imprimer" c'est à dire faire les Forms individuelles.
- J'ai rempli quelqus uns (pas tous, par des raisons pratiques)
- J'ai Capturé les données.
- Les corriger
- Export.

En principe tout marche bien! Mes félicitations.

Dans une semaine je fairai un test reel, c'est a dire 240 copies avec lualatex en service pour generer les solutions etc.

Je vous tiendrai au courant.

RE: "TeX capacity exceeded" avec l'option pdfform... - Added by Alexis Bienvenüe almost 7 years ago

Super. Merci pour votre aide. Je vais intégrer la modification dans la version de développement d'AMC.

(1-7/7)