Le code est prévu pour fonctionner avec le fichier .tex dans le même
répertoire que les images.
Voici le code légèrement modifié pour inclure les images d’un autre
répertoire :
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage{graphicx}
\def\largeur{}
\begin{document}
\directlua{
repertoire = “./images”
files = {}
count = 0
for _ in lfs.dir(repertoire) do
if _:match “[.]JPG” then
table.insert(files, repertoire .. ‘/’ .. _)
count = count+1
end
end
table.sort(files)
width = 0.9*tex.dimen.linewidth/count/tex.sp(“1pt”)
token.set_macro(“largeur”, width..“pt”)
for key, file in ipairs(files) do
tex.print(‘\string\fbox{\string\includegraphics[width=\string\largeur]{’
.. file .. ‘}}’)
end
}
\end{document}
Le ven. 26 juil. 2024 à 10:40, Gerard_F xyz@xyz.tld a écrit :
Ça marche !
Sauf si je mets un répertoire (repertoire = “./images/”)
j’ai l’impression qu’il manque un appel à repertoire dans la ligne
tex.print(‘\string\fbox{\string\includegraphics[width=\string\largeur]{’
.. file .. ‘}}’)
(si je fais le parallèle avec \includegraphics{\repertoire image.jpg})
ou alors repertoire est mal renseigné mais j’ai aussi “jpg not found” si
je mets un chemin absolu.
Juste ce petit problème à régler.
Avec les pistes proposées (multido, darktable, directlua), j’ai
suffisamment d’éléments pour réaliser mes albums. Merci de l’aide !
Bien cordialement
Gérard
Le 26/07/2024 à 09:15, Léonard Dumont a écrit :
Bonjour,
Effectivement, je n’avais pas fait attention à l’ordre des images… Voilà
une solution où les noms de fichier sont d’abord stockés dans une table
avant d’être triés par ordre alphabétique. Pour changer le répertoire dans
lequel le code cherche les images, il suffit d’inquer le chemin dans la
première ligne en définissant la variable ‘repertoire’. Voir l’exemple
ci-dessous.
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage{graphicx}
\def\largeur{}
\begin{document}
\directlua{
repertoire = “/Users/leonard/Documents/Photos/20240726/”
files = {}
count = 0
for _ in lfs.dir(repertoire) do
if _:match “[.]jpg” then
table.insert(files, _)
count = count+1
end
end
table.sort(files)
width = 0.9*tex.dimen.linewidth/count/tex.sp(“1pt”)
token.set_macro(“largeur”, width..“pt”)
for key, file in ipairs(files) do
tex.print(‘\string\fbox{\string\includegraphics[width=\string\largeur]{’
.. file .. ‘}}’)
end
}
\end{document}
Bonne journée,
Léonard.
Le ven. 26 juil. 2024 à 08:47, Gerard_F xyz@xyz.tld a écrit :
Merci Léonard !
J’ai réussi à faire tourner… ( dans la ligne “if _:match “[.]JPG”
then”, il fallait lire “jpg” )
Par ailleurs, en testant, j’ai commenté les lignes commençant par
“height” et “token” et supprimer le “height” en option de
includegraphics pour ne me baser que sur la largeur. Le résultat est
satisfaisant.
Pour l’image jointe, j’ai ajouté une ligne pour indiquer le nom du
fichier à droite car j’ai vu que les images n’étaient pas insérées par
ordre alphabétique (?).
Sinon, comment change-t-on le nom répertoire des images ? J’ai bien
trouvé “lfs.chdir (path)” qui me parlait un peu mais mais j’ai coincé !
Merci pour cette proposition que je vais continuer à tester.
Bonne journée
Gérard