J'ai réalisé séparément plusieurs graphiques TikZ avec la classe standalone : appelons-les document1, document2, etc. J'ai inclus les fichiers pdf ainsi générés dans un autre document (appelons-le master), au moyen de la commande Si je modifie l'un des fichiers TikZ, il me faut le recompiler, puis compiler le document dans lequel est inclus le pdf ainsi généré. Sous linux, je peux évidemment écrire la commande Y a-t-il un moyen LaTeXien de lancer toutes les compilations d'un seul coup ? Posée 27 Sep '17, 20:54 Pathe ♦♦ |
Une solution (La)TeXienne est une solution basée sur la compilation en mode Voici alors une méthode : À compiler avec la commande Remarque Apres modifications des fichiers Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{graphicx} \newcommand*{\mtincludegraphics}[2][]{% \IfFileExists{#2.pdf}{}{% \immediate\write18{pdflatex #2}}% \includegraphics[#1]{#2.pdf}} \begin{document} \mtincludegraphics{doc1} \mtincludegraphics[scale=2]{doc2} \mtincludegraphics{doc3} \end{document} Solution 2 Une combinaison de la solution précédente et la réponse de @sztruks Ouvrir dans l'éditeur Overleaf
\newcommand*{\mtincludegraphics}[2][]{% \immediate\write18{latexmk -pdf #2}% \includegraphics[#1]{#2.pdf}} ECM Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{graphicx} \newcommand*{\mtincludegraphics}[2][]{% \immediate\write18{latexmk -pdf #2}% \includegraphics[#1]{#2.pdf}} \begin{document} \mtincludegraphics{doc1} \mtincludegraphics[scale=2]{doc2} \mtincludegraphics{doc3} \end{document} Publiée 27 Sep '17, 22:36 touhami Curieuse solution : supprimer le nouveau documentN.pdf pour revenir au document master contenant ce document. Un bel exercice de mémoire, sans réelle garantie de résultat.
(28 Sep '17, 07:25)
pzorba75
@pzorba75 : avez-vous mieux à proposer ? Mon idée est d'héberger les documents sur un serveur git où il n'y aurait que les fichiers sources, et de ne générer en local que les fichiers pdf.
(28 Sep '17, 21:50)
Pathe ♦♦
Mes connaissances Latex et Windows sont trop limitées pour imaginer une solution permettant la compilation d'un document quand une partie des sources a été modifiée, il faudrait disposer de références croisées entre les sources et automatiser le lancement de la compilation du ou des sources impactés. Pas vraiment simple.
(28 Sep '17, 22:26)
pzorba75
|
Je ferais pour ma part appel à latexmk : Ouvrir dans l'éditeur Overleaf
latexmk -pdf master.tex Latexmk surveille les dépendances présente dans le fichier log : quand on change une photo chargée avec includegraphics, latexmk recompile automatiquement le document. Citation du manuel :
L’option Je cite à nouveau le manuel
Voilà à quoi ressemble mon .latexmkrc Ouvrir dans l'éditeur Overleaf
$pdf_mode = 1; $postscript_mode = $dvi_mode = 0; $biber = 'biber %O %S'; $pdf_previewer = 'start mupdf %O %S'; $recorder = 1 ; #vérifie toutes les deux secondes si les programmes ont été actualisés. $sleep_time= 2 ; #rajoute des extensions à celles identifiant les fichiers auxiliaires push @generated_exts, "nav","snm","run.xml" ; $clean_ext= 'tex.bak tex~ bib~' ; Je recommande donc fortement, après configuration de latexmk, de privilégier la ligne de commande Ouvrir dans l'éditeur Overleaf
latexmk -pdf -pvc master.tex Publiée 30 Sep '17, 20:12 sztruks Certes, mais remarque-t-il si un autre fichier
(30 Sep '17, 20:32)
Pathe ♦♦
Oui, il reconnaît ces modifications.
(30 Sep '17, 20:44)
sztruks
@Pathe est ce que la commande
(01 Oct '17, 12:54)
touhami
@touhami elle suffit, mais cela reste une intervention manuelle et ponctuelle. Pour bénéficier pleinement du confort de latexmk, mieux vaut rajouter l’option
(01 Oct '17, 15:48)
sztruks
@sztruks @touhami j'ai utilisé la commande
(01 Oct '17, 18:40)
Pathe ♦♦
@pathe : effectivement, si tu fais appel à
(01 Oct '17, 19:00)
sztruks
Pour insérer mes pdf, j'utilise la fonction Ouvrir dans l'éditeur Overleaf \includepdf[pagecommand = {\pagestyle{scrheadings}}, landscape, addtotoc={1, subsection, 1, Plan des alimentations électriques, elec1}, scale = 0.95, addtolist={1, figure, Alimentations électriques, elec2}, offset = 0mm 5mm ]{insert.pdf}
(01 Oct '17, 20:37)
Pathe ♦♦
@pathe : dans ce cas, il faut lancer latexmk sur tout le dossier et tu auras l’effet escompté : le manuel précise que si aucun nom de fichier n’est précisé, latexmk tourne sur tous les fichiers du dossier. Avec les options
(01 Oct '17, 20:44)
sztruks
@pathe (je ne vois pas mon précédent commentaire, j’espère que ce n’est pas une redite). Essaie
(03 Oct '17, 00:28)
sztruks
Affichage de 5 parmi 9
Afficher 4 commentaire(s) en plus
|
Une solution TeXienne est une solution basée sur
-shell-escape
voulez vous vraiment l'utiliser?Si elle ne fait pas partie des mauvaises manières d'utiliser LaTeX, pourquoi pas ?