Bonjour tout le monde,
Je range mes photos en albums PDF.
Voici un ECM utilisant le package “multido” :
\documentclass{memoir}
\usepackage{graphicx}
\usepackage{multido}
\newcommand{\monRepertoire}{./Bretagne-2022/}
\begin{document}
\begin{center}
\multido{\i=1+1}{4}{%
\fbox{\includegraphics{\monRepertoire \i.jpg}}
}
\end{center}
\end{document}
J’ai cru comprendre que LuaLaTeX pouvait “gérer” des commandes bash.
D’où ma question : Est-il possible de remplacer le “4” dans ma boucle
“multido” par une commande bash qui me renverrait le nombre d’images
.jpg dans le répertoire indiqué ? Exemple de commande bash : “ls -l
*.jpg | wc -l”
Question subsidiaire mais… Actuellement je renomme mes photos de 1
à… Est-il possible d’intégrer les photos sans les renommer ? Quelque
chose équivalent à “for i in *.jpg”…
Merci pour les solutions mais y a pas urgence ni nécessité, tout au plus
un simple défi “émoustillé par l’outil lui-même”.
Si y a (une solution ! ), promis je fais un petit tuto “Faire un album
photo avec LuaLaTeX” 
Cordialement
Gérard
Ce n’est pas une réponse à la question, mais j’ai découvert il y a quelques temps et utilisé une possibilité de créer des livres d’images à partir du logiciel libre Darktable.
En fait une commande du logiciel (exportation des images non comme fichers images mais comme cible un livre d’images) crée un ficher LaTeX basique du type ci dessous, faisant appel à la classe photobook.cls
Il suffit de sélectionner les images d’un directory (une seule dans mon exemple) et ensuite de compiler le code généré.
\newcommand{\dttitle}{test-latexlivre}
\newcommand{\dtauthor}{the author}
\newcommand{\dtsubject}{the matter}
\newcommand{\dtkeywords}{this, that}
\documentclass{photobook} % use [draftmode] for preview
\color{white}
\pagecolor{black}
\begin{document}
\maketitle
\pagestyle{empty}
\begin{minipage}{\imgwidth}%
\drawtrimcorners%
\vskip0pt plus 1filll
\begin{minipage}{\imgwidth}%
\hfil\includegraphics[width=\imgwidth,height=\imgheight,keepaspectratio]{_NIK4245-ret11.png}\hfil
% put text under image here
\end{minipage}
\end{minipage}
\newpage
\end{document}% created with darktable 3.8.0
Je me souviens avoir adapté le code pour que la légende de chaque image soit le nom di fichier, et il semble possible de faire de multiples et faciles customisations.
Bonne journée.
Le 24 juil. 2024 à 12:01, Gerard_F gerard.fleuter@free.fr a écrit :
Bonjour tout le monde,
Je range mes photos en albums PDF.
Voici un ECM utilisant le package “multido” :
\documentclass{memoir}
\usepackage{graphicx}
\usepackage{multido}
\newcommand{\monRepertoire}{./Bretagne-2022/}
\begin{document}
\begin{center}
\multido{\i=1+1}{4}{%
\fbox{\includegraphics{\monRepertoire \i.jpg}}
}
\end{center}
\end{document}
J’ai cru comprendre que LuaLaTeX pouvait “gérer” des commandes bash. D’où ma question : Est-il possible de remplacer le “4” dans ma boucle “multido” par une commande bash qui me renverrait le nombre d’images .jpg dans le répertoire indiqué ? Exemple de commande bash : “ls -l *.jpg | wc -l”
Question subsidiaire mais… Actuellement je renomme mes photos de 1 à… Est-il possible d’intégrer les photos sans les renommer ? Quelque chose équivalent à “for i in *.jpg”…
Merci pour les solutions mais y a pas urgence ni nécessité, tout au plus un simple défi “émoustillé par l’outil lui-même”.
Si y a (une solution ! ), promis je fais un petit tuto “Faire un album photo avec LuaLaTeX” 
Cordialement
Gérard
J’avais adapté le code fourni par le logiciel darktable, comme suit, de manière à ce que dans le livre d’images, (destiné au modèle d’une séance photos) le nom du fichier soit porté en légende, cela de manière à faciliter les échanges ultérieurs sur les images.
La liste des fichiers photos du directoire (ici réduite à 2 dans le MWE) avait été obtenue de manière triviale, dans mon souvenir, mais je ne me souviens plus comment… ni pourquoi j’avais supprimé l’extension!
\foreach \X in {
NIK-8132-ret2-N-B,
NIK-8133-desert-rouge-1-N-B,
NIK-8253-darktable-ret2-N-B,
{\begin{minipage}{\imgwidth}%
\drawtrimcorners%
\vskip0pt plus 1filll
\begin{minipage}{\imgwidth}%
\hfil\includegraphics[width=\imgwidth,height=\imgheight,keepaspectratio]{\X}\hfil
Image \X
Bonsoir,
C’est effectivement possible avec Lua(La)TeX ! Le tout est d’utiliser io.popen() plutôt que os.execute(), car seule la première fonction permet de récupérer dans Lua la sortie de la commande passée au shell. Voici un exemple :
\documentclass{article}
\usepackage{graphicx}
\newcommand{\monRepertoire}{./Bretagne-2022/}
\begin{document}
\directlua{
local files = io.popen(‘ls -1 \monRepertoire *.jpg’, ‘r’)
for file in files:lines() do
tex.print(‘\string\fbox{\string\includegraphics{’ .. file .. ‘}}’)
end
}
\end{document}
Il faut compiler avec --shell-escape.
Bien à vous,
Bastien
Le Wednesday 24 July 2024 à 12:01:40PM, Gerard_F a écrit :
Bonjour tout le monde,
Je range mes photos en albums PDF.
Voici un ECM utilisant le package “multido” :
\documentclass{memoir}
\usepackage{graphicx}
\usepackage{multido}
\newcommand{\monRepertoire}{./Bretagne-2022/}
\begin{document}
\begin{center}
\multido{\i=1+1}{4}{%
\fbox{\includegraphics{\monRepertoire \i.jpg}}
}
\end{center}
\end{document}
J’ai cru comprendre que LuaLaTeX pouvait “gérer” des commandes bash.
D’où ma question : Est-il possible de remplacer le “4” dans ma boucle
“multido” par une commande bash qui me renverrait le nombre d’images
.jpg dans le répertoire indiqué ? Exemple de commande bash : “ls -l
*.jpg | wc -l”
Question subsidiaire mais… Actuellement je renomme mes photos de 1
à… Est-il possible d’intégrer les photos sans les renommer ? Quelque
chose équivalent à “for i in *.jpg”…
Merci pour les solutions mais y a pas urgence ni nécessité, tout au plus
un simple défi “émoustillé par l’outil lui-même”.
Si y a (une solution ! ), promis je fais un petit tuto “Faire un album
photo avec LuaLaTeX” 
Cordialement
Gérard
Merci Bastien !
De la sorcellerie pour moi ! J’en suis émerveillé…
Comme on le voit sur l’image jointe, j’ai une photo qui se perd à
droite. Cette photo n’est pas répétée sur la page suivante (un
tex.print(‘\string\clearpage’) me fait bien un saut de page mais (bien
sûr) à chaque photo.
Quelle consigne à directlua pour déterminer le nombre de photos
souhaitées dans la page (1, 2 ou 4) ?
Merci d’avance
Gérard
Le 24/07/2024 à 21:46, Bastien DUMONT a écrit :
Bonsoir,
C’est effectivement possible avec Lua(La)TeX ! Le tout est d’utiliser io.popen() plutôt que os.execute(), car seule la première fonction permet de récupérer dans Lua la sortie de la commande passée au shell. Voici un exemple :
\documentclass{article}
\usepackage{graphicx}
\newcommand{\monRepertoire}{./Bretagne-2022/}
\begin{document}
\directlua{
local files = io.popen(‘ls -1 \monRepertoire *.jpg’, ‘r’)
for file in files:lines() do
tex.print(‘\string\fbox{\string\includegraphics{’ .. file .. ‘}}’)
end
}
\end{document}
Il faut compiler avec --shell-escape.
Bien à vous,
Bastien
Bonjour,
Si on a une succession de in includegraphics sans espace
\includegraphics{file1}\includegraphics{file2}…
TeX et Cie met tout sur la même ligne et ça déborde de la page. Pour
résoudre ça il faut ajouter des espaces entre les inclusions pour que la
coupure puisse se faire toute seule.
Je ne connais pas Lua mais j’ajouterais un espace quelque part…
Maintenant ça ne réponde pas vraiment à la question du nombre de photo
par page…
–Jean-Yves
Le 25/07/2024 à 09:48, Gerard_F a écrit :
Merci Bastien !
De la sorcellerie pour moi ! J’en suis émerveillé…
Comme on le voit sur l’image jointe, j’ai une photo qui se perd à
droite. Cette photo n’est pas répétée sur la page suivante (un
tex.print(‘\string\clearpage’) me fait bien un saut de page mais (bien
sûr) à chaque photo.
Quelle consigne à directlua pour déterminer le nombre de photos
souhaitées dans la page (1, 2 ou 4) ?
Merci d’avance
Gérard
Le 24/07/2024 à 21:46, Bastien DUMONT a écrit :
Bonsoir,
C’est effectivement possible avec Lua(La)TeX ! Le tout est d’utiliser
io.popen() plutôt que os.execute(), car seule la première fonction
permet de récupérer dans Lua la sortie de la commande passée au shell.
Voici un exemple :
\documentclass{article}
\usepackage{graphicx}
\newcommand{\monRepertoire}{./Bretagne-2022/}
\begin{document}
\directlua{
local files = io.popen(‘ls -1 \monRepertoire *.jpg’, ‘r’)
for file in files:lines() do
tex.print(‘\string\fbox{\string\includegraphics{’ .. file ..
‘}}’)
end
}
\end{document}
Il faut compiler avec --shell-escape.
Bien à vous,
Bastien
Le 25/07/2024 à 09:54, Jean-Yves Baudais a écrit :
Maintenant ça ne réponde pas vraiment à la question du nombre de photo
par page…
La solution que j’ai trouvée c’est de jouer sur les marges du document
et la dimension de l’image.
Ainsi par exemple, un A4 en landscape avec des marges à 0, la ligne :
tex.print(‘\string\fbox{\string\includegraphics[width=0.245\textwidth]{’
.. file .. ‘}}’)
me met 8 images par page, sans en oublier.
Pas mal, mais si y a mieux… (là où j’en suis me suffirait mais c’est
le plaisir de voir “jusqu’où s’arrêteront-t-ils ?” LaTeX, LuaLaTeX, etc.)
Cordialement
Gérard