Cases noircies avec lualatex

Added by Louis-Claude Canon 3 months ago

Bonjour,

été passé sous ubuntu 18.04 (et donc perl 5.26), je migre mes QCM d'AMC 1.2.1 à 1.4.0-rc2. J'ai eu un souci avec le package microtype que j'ai simplement désactivé (d'une utilité marginale). Le problème qui me reste est que lualatex (que j'utilise pour la randomisation des réponses) me génère des documents où toutes les cases sont noircies (y compris celles des 2 vecteurs en en-tête qui permettent l'identification des copies). Cela est aussi valide sur l'exemple du modèle Groupes qui aboutit par ailleurs à un document correct avec pdflatex.

Avant d'investiguer et d'analyser les traces (rien de notable à première vue), est-ce un problème qui a déjà été rencontré ?

Louis-Claude Canon


Replies (9)

RE: Cases noircies avec lualatex - Added by Joss OUIN 3 months ago

Bonjour Louis-Claude et bonjour à tous,

Je profite de votre post pour vous demander s'il vous serait possible de déposer un petit exemple de sujet utilisant luatex.
Personnellement, je fais des essais avec "pythontex" et j'aimerais comparer les possibilités des deux approches luatex et pythontex.

Bonne journée,
Joss.

RE: Cases noircies avec lualatex - Added by Louis-Claude Canon 3 months ago

Oui, pas de souci. Pour chaque test, j'ai le fichier source.tex et un fichier source.lua qui contient le code associé à ce test (relancé pour chaque copie différente). Je charge aussi un script common.lua commun à tous les tests: il contient les fonctions de base que lua, très minimaliste, n'a pas.

J'ai aussi testé des choses plus complexes que l'exemple fournie : plusieurs réponses justes et erronées sont stockées dans un tableau dans le script lua tandis que le fichier tex inclut une seule des réponses justes et un sous-ensemble des réponses erronées.

Et si vous avez la possibilité de créer un nouveau projet avec un modèle, de mettre le moteur latex du projet sur lualatex et de tester la compilation, ça m'intéresse de savoir si vous obtenez aussi des cases noircies partout.

Louis

common.lua (1.8 kB)

source.lua (396 Bytes)

source.tex (659 Bytes)

RE: Cases noircies avec lualatex - Added by Joss OUIN 3 months ago

Bonjour Louis-Claude et bonjour à tous,

J'ai lancé votre exemple : je n'obtiens pas de cases noires (voir le PDF ci-joint).
Je suis sous Ubuntu 18.04 et AMC 1.4.0~rc1
(je ne suis pas passé à la rc2 car actuellement j'ai des "sujets AMC" en cours et je ne veux pas prendre le risque de problèmes de corrections liés à une version plus récente que celle qui a permis d'établir les sujets en question (même si je sais que la probabilité d'un tel problème est proche de zéro)).

J'espère que cela pourra vous aider.

Pour le moment, je compte continuer à développer avec Python, cela me semble plus facile d'accès que "lua" (c'est mon avis).

Bonne journée.
Joss.

source.pdf - Fichier PDF compilé avec TexMaker. (138.4 kB)

RE: Cases noircies avec lualatex - Added by Louis-Claude Canon 3 months ago

Bonjour Joss,

merci pour votre test. Avez-vous encore le fichier amc-compiled.log ? Je serais intéressé de pouvoir le comparer avec celui que j'obtiens (en particulier la version de luatex).

J'ai essayé les versions 1.2.1-5 et 1.3.0-2 (installation difficile avec dpkg car certaines dépendances n'ont pas été satisfaites, notamment concernant la version de libopencv). La construction via l'interface graphique n'a pas fonctionné et la compilation à la main avec lualatex a aboutit aux mêmes cases noircies.

Concernant le choix python/lua, je préfère de loin la facilité de codage de python. Mais j'avais choisi lua car il m'avait semblé que luatex avait un avenir radieux et que je risquais d'avoir moins de problème de compatibilité à long terme. Situation ironique vu mon problème actuel...

Bonne journée,

Louis

amc-compiled.log (311.2 kB)

DOC-sujet.pdf (128.5 kB)

RE: Cases noircies avec lualatex - Added by Joss OUIN 3 months ago

Bonjour,

Voici le fichier ".log" généré par AMC avec votre document source.

A propos de "pythontex" :
Dans le fichier ".tex" on peut écrire :

\begin{pycode}
ici les lignes de code python
etc.

\end{pycode}

Mais lorsque l'on change le code dans un éditeur Python, il faut le copier-coller dans le fichier ".tex", ce qui est assez contraignant.
Y a-t-il un moyen de créer un lien vers un fichier "moncode.py" qui contiendrait le code source en question ?

J'ai essayé ceci mais sans succès :

\begin{pycode}
import sys 
import os

url="/mon-chemin-vers-moncode/" 
sys.path.append(os.path.abspath(url))

from moncode import *

\end{pycode}

Cela ne fonctionne pas et pourtant dans un environnement Python, si j'utilise cet appel, tout fonctionne bien (le code source est bien importé (et lu)).

Même chose avec la fonction "exec()"

Si quelqu'un a une idée.

Bonne journée,
Joss.

AMC-DEBUG-9gYNdLmg.log - Fichier log généré par AMC. (58.6 kB)

RE: Cases noircies avec lualatex - Added by Joss OUIN 3 months ago

Oups, ce n'est pas le "debug" mais le "compiled" qu'il vous faut :
Le voici.
Joss.

amc-compiled.log - AMC Compiled (44.2 kB)

RE: Cases noircies avec lualatex - Added by Joss OUIN 3 months ago

Bonjour,

Nouvel essai :

\begin{pycode}

mafile="/mon-chemin/moncode.py" 

exec(open(mafile).read())

\end{pycode}

Cela fonctionne lorsqu'un programme Python exécute "moncode.py" mais cela ne fonctionne pas dans une balise \begin{pycode}... \end{pycode}

Bonne journée.
Joss.

RE: Cases noircies avec lualatex - Added by Louis-Claude Canon 3 months ago

Merci pour le log. Je n'ai pas trouvé d'où venait le problème et je vais manquer de temps pour résoudre le problème. J'y reviendrai plus tard.

Pour l'insertion python du code à partir d'un fichier, j'aurais effectivement tenté la même chose. Mettre des print peut aider à comprendre le dossier de travail courant (ou utiliser des chemins absolus plutôt que relatif).

Bon courage,

Louis

RE: Cases noircies avec lualatex - Added by Louis-Claude Canon 2 months ago

J'ai fini par résoudre ce problème en faisant une réinstallation de texlive avec "sudo apt purge texlive*".

(1-9/9)