Déplacement des fichiers auxiliaires lors de la compilation
-
- Utilisateur débutant
- Messages : 6
- Inscription : dimanche 29 août 2021, 04:14
- Statut actuel : Enseignant
Déplacement des fichiers auxiliaires lors de la compilation
Bonjour,
lors de la compilation plusieurs fichiers sont crées. Est-il possible de faire en sorte que mis à part les fichiers .tex et .pdf les autres fichiers soient deplacés automatiquement dans un autre répertoire ou un sous répertoire ?
Pour information j'ai Miktex et Texmaker.
lors de la compilation plusieurs fichiers sont crées. Est-il possible de faire en sorte que mis à part les fichiers .tex et .pdf les autres fichiers soient deplacés automatiquement dans un autre répertoire ou un sous répertoire ?
Pour information j'ai Miktex et Texmaker.
-
- Administrateur
- Messages : 8058
- Inscription : samedi 28 mai 2005, 14:23
- Statut actuel : Enseignant
- Contact :
Re: Déplacement des fichiers auxiliaires lors de la compilation
Bonjour, lors de la compilation il est possible de spécifier l'option
Il semblerait (voir ici) que MikTeX propose une option
--output-directory=dir
afin de faire en sorte que tous les fichiers soient créés dans le dossier spécifié et pas dans le dossier contenant le fichier tex. Par contre, le fichier pdf sera aussi dans ce dossier.Il semblerait (voir ici) que MikTeX propose une option
--aux-directory=dir
permettant de ne pas mettre le pdf dans ce dossier.Re: Déplacement des fichiers auxiliaires lors de la compilation
Bonsoir.
Pourquoi vouloir retirer ces fichiers utiles à la compilation ?
Pourquoi vouloir retirer ces fichiers utiles à la compilation ?
-
- Administrateur
- Messages : 8058
- Inscription : samedi 28 mai 2005, 14:23
- Statut actuel : Enseignant
- Contact :
Re: Déplacement des fichiers auxiliaires lors de la compilation
Ils ne sont pas retirés, ils sont juste dans un autre dossier. Après je ne sais pas exactement quel est l'intérêt.
-
- Utilisateur éprouvé
- Messages : 249
- Inscription : mardi 20 août 2013, 04:50
- Localisation : Paris
Re: Déplacement des fichiers auxiliaires lors de la compilation
Je cherche également pareille solution pour éviter d'encombrer mes répertoires de documents avec des fichiers .log, .dvi, .ps et quelques autres qui me sont inutiles quand je reviens sur un document pour le corriger (je fais beaucoup d'erreurs quand je rédige) ou l'améliorer en le complétant. Faire ces suppression par répertoires est assez fastidieux (et risqué) si bien que mon ordinateur reste encombré de fichiers vraiment inutiles quand je rédige en utilisant Latex, qui reste mon seul outil pour faire des documents avec des formules et des figures mathématiques.
On se lasse de tout, excepté d'apprendre.
Virgile
Virgile
Re: Déplacement des fichiers auxiliaires lors de la compilation
Un script python me permet le nettoyage en fin de journée. Je peux le donner mais il faut faire attention (différent sous Windows et Linux).
Re: Déplacement des fichiers auxiliaires lors de la compilation
J'avais fait ceci https://github.com/bc-python/mistool/bl ... se.py#L320 mais cela va être modifié d'ici la fin de l'année scolaire pour avoir un truc plus propre et moins amateur.
C'est utilisable en installant via pip install mistool.
C'est utilisable en installant via pip install mistool.
Re: Déplacement des fichiers auxiliaires lors de la compilation
Ah oui ! Une vraie usine à gaz.
Pour ma part, j'ai juste un petit script à adapter évidemment :
Pour ma part, j'ai juste un petit script à adapter évidemment :
Code : Tout sélectionner
! /usr/bin/env python3
#-*- coding: utf-8 -*-
# fonctionne avec python3
import os, sys
import os.path
import fnmatch
# Liste des répertoires source
rep_source=(
'/media/m/Disque1/',
'/media/m/Disque-2/')
# Liste des sous-répertoires à exclure
rep_exclus = []
# liste des types de fichiers à effacer
type_fichier_ubuntu = ['*.aux', '*.bbl', '*.blg', '*.cb',
'*.cmx', '*.cpd', '*.cpx', '*.', '*.ded', '*.def',
'*.det', '*.dex', '*.dvi', '*.idx', '*.ilg', '*.ind',
'*.loa', '*.lod', '*.lof', '*.log', '*.lol', '*.lot',
'*.lox', '*.maf', '*.mtc*', '*.mw', '*.nav', '*.out',
'*.prx', '*.prd', '*.ptx*', '*.pyc', '*.pyd', '*.pyx',
'*.scd', '*.scx', '*.snm', '*.syd', '*.syx', '*.toc',
# !!!!!!!!!********** uniquement sous ubuntu ************!!!!!!!!
# parce que sous Windows, cela sème la panique !!!!!!!!!!!!!!!!!!!!!!
'*.cmd','*.ps', '*.ptc?', '*.ptc??', '*.ptc???',
'*.exonew','*.solnew',"*.cb2","*.collenew",
"*.defnew", "*.theonew"]
type_fichier_windows = ['*.aux', '*.bbl', '*.blg', '*.cb',
'*.cmx', '*.cpd', '*.cpx', '*.', '*.ded', '*.def',
'*.det', '*.dex', '*.dvi', '*.idx', '*.ilg', '*.ind',
'*.loa', '*.lod', '*.lof', '*.log', '*.lol', '*.lot',
'*.lox', '*.maf', '*.mtc*', '*.mw', '*.nav', '*.out',
'*.prx', '*.prd', '*.ptx*', '*.pyc', '*.pyd', '*.pyx',
'*.scd', '*.scx', '*.snm', '*.syd', '*.syx', '*.toc']
cpt=0 # compteur fichiers supprimés
os_perso = sys.platform
if os_perso == "win32":
type_fichier = type_fichier_windows
else:
type_fichier = type_fichier_ubuntu
for dossier in rep_source:
for root, repertoires, fichiers in os.walk(dossier):
repertoires=tuple(x for x in repertoires if x not in rep_exclus)
# Parcours récursif des types
for chaque_type in type_fichier:
# Parcours récursif des répertoires
for fichier in fnmatch.filter(fichiers, chaque_type):
# affiche les fichiers supprimés
print(fichier, ' supprimé')
#efface les fichiers
os.remove(os.path.join(root, fichier))
# incrémente le compteur de fichiers supprimés
cpt+=1
print(cpt, ' fichiers supprimé(s) !')
Re: Déplacement des fichiers auxiliaires lors de la compilation
Non ce n'est pas du tout une usine à gaz : les responsabilités sont bien circonscrites. Je l'utilise sans souci pour nettoyer des dossiers de façon récursive comme suit.
Pour info, les lignes "nettoyantes" sont les suivantes.
Code : Tout sélectionner
from mistool import os_use, latex_use
userpath = os_use.PPath("~").normpath
for clouddir in [
"Google Drive",
"Dropbox",
"Documents"
]:
dirtoclean = userpath / clouddir
for subdir in dirtoclean.walk("dir::**"):
print(
'---',
" + Cleaning LaTeX extras in {}".format(subdir),
sep = "\n"
)
latex_use.clean(subdir)
Code : Tout sélectionner
#!/usr/bin/env python3
from mistool.config import latex
from mistool.os_use import PPath
# -------------- #
# -- CLEANING -- #
# -------------- #
TEMP_EXTS = latex.TEMP_EXTS
EXTS_TO_CLEAN = latex.EXTS_TO_CLEAN
def clean(
ppath,
exts = EXTS_TO_CLEAN,
showoutput = False
):
"""
prototype::
arg = PPath: ppath ;
the path of either one ¨latex file or a directory
arg = list(str): exts = EXTS_TO_CLEAN ;
the list of extensions of the special files made by ¨latex that
have to be removed
arg = bool: showoutput = False ;
by default, ``showoutput = False`` asks to not show the informations
about the cleaning
action = this function removes extra files build during a ¨latex compilation
that are associated to a file, or the ones corresponding to all the
¨latex files in a directory.
"""
# One file
if ppath.is_file():
if ppath.ext != "tex":
_raise_io_error(
kind = "file",
ppath = ppath,
action = NOT_TEX_ERROR
)
texpaths = [ppath]
# One directory : we use an iterator so as to see changes in live.
elif ppath.is_dir():
texpaths = ppath.walk("file::**.tex")
# Nothing existing
else:
raise FileNotFoundError("path points to nowhere.")
# Clean now !
for p in texpaths:
if showoutput:
print('* Cleaning for "{0}"'.format(p))
for ext in exts:
tempfile = p.with_ext(ext)
if tempfile.is_file():
tempfile.remove()
Re: Déplacement des fichiers auxiliaires lors de la compilation
Ok.
Pour le coup, une interface graphique (tkinter, ...) serait peut-être judicieuse pour ton projet ?
Pour le coup, une interface graphique (tkinter, ...) serait peut-être judicieuse pour ton projet ?
Re: Déplacement des fichiers auxiliaires lors de la compilation
On va finir par se battre...
Je limite au maximum la dépendance à des interfaces graphiques. C'est mon côté codeur...
Je limite au maximum la dépendance à des interfaces graphiques. C'est mon côté codeur...
-
- Administrateur
- Messages : 8058
- Inscription : samedi 28 mai 2005, 14:23
- Statut actuel : Enseignant
- Contact :
Re: Déplacement des fichiers auxiliaires lors de la compilation
J'utilise personnellement le petit script bash suivant (uniquement adapté aux environnements linux). Les fichiers conflicted sont liés au fonctionnement de l'outil de synchronisation pcloud, parfois un peu capricieux dans la détection de doublons lors des compilations.
Code : Tout sélectionner
#!/usr/bin/env bash
src="$(dirname "$(readlink -f "$0")")"
ext="synctex\.gz|out|log|aux|thm|tns|nav|toc|snm|fls|bbl|blg|vrb"
conflicted="\[conflicted\]|\(conflicted\)"
find "$src" -regextype 'awk' -regex ".*(\.($ext)|[[:blank:]]($conflicted)\.[[:alpha:]]*)$" -delete -print
read -sp "Press [Enter] to exit !"
echo
Re: Déplacement des fichiers auxiliaires lors de la compilation
Je n'avais pas osé parler de Bash qui est le meilleur choix ici.
Peut-être qu'un passage via cat et un fichier externe avec les extensions serait mieux.
PS 1: https://www.toptal.com/developers/gitignore donne une liste complète mais avec certaines lignes utilisant des expressions "rationnelles".
PS 2: j'ai mis dans ma liste de choses à faire la création d'un nano projet prenant en compte les extensions à ignorer fournies par le site https://www.toptal.com/developers/gitignore. Il suffira d'indiquer le ou les langages à prendre en compte et le reste sera fait automatiquement.
Peut-être qu'un passage via cat et un fichier externe avec les extensions serait mieux.
PS 1: https://www.toptal.com/developers/gitignore donne une liste complète mais avec certaines lignes utilisant des expressions "rationnelles".
PS 2: j'ai mis dans ma liste de choses à faire la création d'un nano projet prenant en compte les extensions à ignorer fournies par le site https://www.toptal.com/developers/gitignore. Il suffira d'indiquer le ou les langages à prendre en compte et le reste sera fait automatiquement.
Re: Déplacement des fichiers auxiliaires lors de la compilation
Je ne sais pas si un fichier bash est la meilleure option, car je fais tout avec python.
Le meilleur outil est celui que l'on maîtrise.
Le meilleur outil est celui que l'on maîtrise.
-
- Administrateur
- Messages : 8058
- Inscription : samedi 28 mai 2005, 14:23
- Statut actuel : Enseignant
- Contact :
Re: Déplacement des fichiers auxiliaires lors de la compilation
Je ne connaissais pas cet outil, mais la liste proposée ici semble effectivement très complète (en tout cas bien plus que celle que j'utilise actuellement).
Re: Déplacement des fichiers auxiliaires lors de la compilation
Pour les non codeurs, regardez llmk découvert ce soir lors d'une mise à jour de TeX Live.
Dernière modification par MB le mercredi 22 septembre 2021, 22:44, modifié 1 fois.
Raison : Ajout du lien github.
Raison : Ajout du lien github.
-
- Utilisateur chevronné
- Messages : 2804
- Inscription : samedi 08 juillet 2006, 20:56
- Localisation : Saint Bonnet Elvert
Re: Déplacement des fichiers auxiliaires lors de la compilation
AUCTeX/Emacs dispose de deux commandes pour supprimer les fichiers auxiliaires Clean et Clean All dont la désignation indique clairement la fonction. La liste des extensions de fichiers devant être supprimés est personnalisable. Pour ma part, je n'ai jamais eu à le faire. Suivre le lien pour voir la liste.
Pour l'activer, il suffit de faire défiler les commandes de compilation C-c C-c. Rien à programmer, tout est prêt.
Pour l'activer, il suffit de faire défiler les commandes de compilation C-c C-c. Rien à programmer, tout est prêt.
JJR.
LaTeXien migrateur.
LaTeXien migrateur.
-
- Sujets similaires
- Réponses
- Vues
- Dernier message
-
- 15 Réponses
- 1193 Vues
-
Dernier message par nzdqrc
-
- 5 Réponses
- 492 Vues
-
Dernier message par pianiste06
-
- 3 Réponses
- 1442 Vues
-
Dernier message par jcs
-
- 1 Réponses
- 2951 Vues
-
Dernier message par jiubao
-
- 1 Réponses
- 732 Vues
-
Dernier message par fredem