Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 5
mineure

09 Aoû '17, 18:54

Pathe's gravatar image

Pathe
7.6k49210252

La réponse immediate immédiate à cette question est oui : « oui, c'est possible via `--shell-escape` `--shell-escape` ». **Exemple** \documentclass{article} \usepackage{graphicx} \newcommand{\includeenligne}[3][]{% \IfFileExists{#3}{}{\write18{wget #2}}% \includegraphics[#1]{#3}} \begin{document} bla bla \includeenligne{http://server.tld/image25.jpg}{image25.png} \end{document} Mais **pour des raison raisons de sécurité je ne recommande pas l'utilisation de `--shell-escape`**. ---------- À mon avis, et en particulier comme il s'agit d'un projet, il est préférable d'ajouter la fonction de téléchargement au procédure aux procédures de la compilation via un *makefile* (par exemple). **Exemple** le fichier .tex est nommé `abc.tex` \documentclass[french]{article} \usepackage{lmodern}% \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{babel} \usepackage{makeidx} \makeindex \usepackage{biblatex} \addbibresource{mabiblio.bib} %--------------------------- \usepackage{graphicx} \newwrite\mesimages \immediate\openout\mesimages=myfile.txt \newcommand{\includeenligne}[3][]{% \IfFileExists{#3}{\includegraphics[#1]{#3}}{% \immediate\write\mesimages{#3 + \unexpanded{#2}}}} %--------------------------- \begin{document} bla bla \index{bla} bla bla voir \cite{des-dis} \includeenligne{http://server.tld/others/image1.jpg}{image1.jpg} bla bla \index{foo} bla bla voir \cite{des-dis} \includeenligne{http://server.tld/image2.jpg}{image2.jpg} \printbibliography \printindex \end{document} le *makefile* est un fichier batch `runabc.bat` ---------- **Remarque** ici `powershell` est utilisé pour télécharger, ça marche aussi pour `wget`. ---------- @echo off pdflatex abc for /r %%a in (*.*) do if "%%~nxa"=="myfile.txt" set size=%%~za if "%size%"=="0" goto :compile for /f "tokens=1,* delims=+" %%a in (myfile.txt) do powershell -command "& { (New-Object Net.WebClient).DownloadFile('%%b', '%%a') }" pdflatex abc :compile biber abc pdflatex abc pdflatex abc makeindex abc pdflatex abc pdflatex abc pause Lors de première du premier passage de `pdflatex` `pdflatex`, si une image n'est pas trouvé trouvée, le nom de fichier et L’URL l’URL sont ajouté ajoutés dans un fichier texte `myfile.txt` puis ; puis, si `myfile.txt` n'est pas vide vide, la fonction de téléchargement est exécutée exécutée.
cliquez ici pour masquer/afficher la révision 4

09 Nov '16, 14:28

touhami's gravatar image

touhami
9.9k410

La réponse immediate à cette question est oui c'est possible via `--shell-escape` **Exemple** \documentclass{article} \usepackage{graphicx} \newcommand{\includeenligne}[3][]{% \IfFileExists{#3}{}{\write18{wget #2}}% \includegraphics[#1]{#3}} \begin{document} bla bla \includeenligne{http://server.tld/image25.jpg}{image25.png} \end{document} Mais **pour des raison de sécurité je ne recommande pas l'utilisation de `--shell-escape`**. ---------- À mon avis, et en particulier comme il s'agit d'un projet, il est préférable d'ajouter la fonction de téléchargement au procédure de la compilation via un *makefile* (par exemple). **Exemple** le fichier .tex est nommé `abc.tex` \documentclass[french]{article} \usepackage{lmodern}% \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{babel} \usepackage{makeidx} \makeindex \usepackage{biblatex} \addbibresource{mabiblio.bib} %--------------------------- \usepackage{graphicx} \newwrite\mesimages \immediate\openout\mesimages=myfile.txt \newcommand{\includeenligne}[3][]{% \IfFileExists{#3}{\includegraphics[#1]{#3}}{% \immediate\write\mesimages{#3 + \unexpanded{#2}}}} %--------------------------- \begin{document} bla bla \index{bla} bla bla voir \cite{des-dis} \includeenligne{http://server.tld/others/image1.jpg}{image1.jpg} bla bla \index{foo} bla bla voir \cite{des-dis} \includeenligne{http://server.tld/image2.jpg}{image2.jpg} \printbibliography \printindex \end{document} le *makefile* est un fichier batch `runabc.bat` ---------- **Remarque** ici `powershell` est utilisé pour les téléchargements, télécharger, ça marche aussi pour `wget`. ---------- @echo off pdflatex abc for /r %%a in (*.*) do if "%%~nxa"=="myfile.txt" set size=%%~za if "%size%"=="0" goto :compile for /f "tokens=1,* delims=+" %%a in (myfile.txt) do powershell -command "& { (New-Object Net.WebClient).DownloadFile('%%b', '%%a') }" pdflatex abc :compile biber abc pdflatex abc pdflatex abc makeindex abc pdflatex abc pdflatex abc pause Lors de première passage de `pdflatex` si une image n'est pas trouvé le nom de fichier et L’URL sont ajouté dans un fichier texte `myfile.txt` puis si `myfile.txt` n'est pas vide la fonction de téléchargement est exécutée
cliquez ici pour masquer/afficher la révision 3

09 Nov '16, 14:26

touhami's gravatar image

touhami
9.9k410

cliquez ici pour masquer/afficher la révision 2

09 Nov '16, 12:30

touhami's gravatar image

touhami
9.9k410

cliquez ici pour masquer/afficher la révision 1

09 Nov '16, 10:30

touhami's gravatar image

touhami
9.9k410