IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Editeurs / Outils Discussion :

Répertoire de travail pollué par .aux, .log, .toc, et autres


Sujet :

Editeurs / Outils

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 56
    Points : 42
    Points
    42
    Par défaut Répertoire de travail pollué par .aux, .log, .toc, et autres
    Bonjour,
    Ca m'énerve un peu d'avoir une tonne de fichiers dans le répertoire de travail. Il y a moyen de définir un répertoire ou latex stocke tous les fichiers autres que .tex et .bib ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foo@box:~/arbeit$ ls
    arbeit.aux  arbeit.bbl  arbeit.blg  arbeit.log  arbeit.out  arbeit.pdf  arbeit.tex  arbeit.toc  literatur.bib
    Ça n'est pas bien grave si des fichiers sont remplacés (overwritten) par d'autres vu que ce ne sont que des fichiers temporaires.
    Merci pour votre aide sur cette question pratique
    ++ Kloss

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Personnellement j'utilise un makefile qui a un target "clean" pour supprimer tous les fichiers temporaires. C'est bien utile.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 56
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Eusebius
    perso j'utilise un makefile qui a un target "clean" pour supprimer tous les fichiers temporaires.
    Ah je veux bien voir de quoi il a l'air. Tu pourrais le poster ou mettre un lien vers ce fichier ?
    Merci !

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    http://www-leibniz.imag.fr/~deguet/FAQS/latex.php
    voir la section "makefile"

    après tu modifies suivant tes besoins !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 56
    Points : 42
    Points
    42
    Par défaut
    Le makefile est une bonne idée que je ne connaissais pas, je vais peut-être m'en faire un. Toutefois, il y a deux choses qui me gênent :
    1. Cela implique de compiler le fichier tex directement, et pas via un autre programme, par exemple auctex (encore que, peut être que ça peut se configurer dans auctex)


    1. Mieux que la suppression des fichiers temporaires, qui peut s'obtenir simplement avec un
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      alias rmtexcrap="rm -f *aux *.log *.toc *.out" # compléter avec les extensions qui manquent
      il y aurait-il un moyen de dire à Latex : si tu ne trouves pas le foo.aux (par exemple) dans `pwd`, va le chercher dans /path/to/repertory, et mets tous les fichiers temporaires dedans.


    Peut-être que j'en demande un peu trop là parfois il faut savoir se contenter d'une solution simple. Mais bon ça ne coûte rien de poser la question...

  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 148
    Points : 28 113
    Points
    28 113
    Par défaut
    Bonjour,
    je pense que cela doit être configurable dans auctex, mais je ne le connais pas suffisamment pour pouvoir te le confirmer.
    Cherche un peu dans les options, et sinon, essaye de regarder s'il en est question dans l'aide.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 56
    Points : 42
    Points
    42
    Par défaut
    Une ébauche de solution : copier les fichiers .tex et .bib dans un répertoire, les compiler, puis revenir dans le répertoire de travail. Résultat, on n'a plus que ces deux fichiers, tout le reste est dans un répertoire temporaire.

    Ça donne ça :

    /etc/scripts_perso/supatex.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #!/bin/sh
     
    # Initialisation
    tex_tmp=$HOME/tex/tmp
    wd=`pwd`
    [ -z $2 ] && echo No file provided, exiting. && exit
    file=${2%.tex}.tex
    [ ! -e $file ] && echo File $file does not exist, exiting. && exit
    fname=`basename $file`
     
    # Copier le fichier tex dans le répertoire temporaire
    cp $file $tex_tmp/$fname
     
    # S'il existe, copier le fichier de bibliographie dans le répertoire temporaire.
    bib=`grep \bibliography{ $file | head -n 1`
    bib=${bib##*\{}; bib=${bib%%\}*}; bib=${file%$fname}$bib.bib
    if [ ! -e $bib ]; then
    	echo NO BIB FILE FOUND!
    	sleep 1
    else
    	cp $bib $tex_tmp/`basename $bib`
    fi
     
    # Aller dans le répertoire temporaire pour exécuter pdflatex ou bibtex
    cd $tex_tmp
    case "$1" in
    	pdf) pdf=${fname%.tex}.pdf
    	# La suppression du fichier pdf évite le lancement de xpdf
    	# en cas d'erreur de compilation
    		rm -f $pdf
    		pdflatex $fname
    		[ -e $pdf ] && xpdf $pdf;;
    	bib) bibtex ${fname%.tex};;
    	*) echo "Usage: $0 pdf|bib file|file.tex";;
    esac
    # Retour au répertoire de travail
    cd $wd

    ~/.bash_aliases
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alias spdf="/etc/scripts_perso/supatex.sh pdf"
    alias sbib="/etc/scripts_perso/supatex.sh bib"

    ~/.emacs, conformément à ce que disait gangsoleil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ;; A mettre dans un LaTeX-mode-hook personnel !
    (add-to-list 'TeX-command-list (list "pdf" 
    "/etc/scripts_perso/supatex.sh pdf %s" 'TeX-run-command nil t))
    (add-to-list 'TeX-command-list (list "bib" 
    "/etc/scripts_perso/supatex.sh bib %s" 'TeX-run-command nil t))
    Bon je pense que vous avez compris comment on s'en servait, mais pour ceux qui n'ont pas tout lu, spdf remplace pdflatex et sbib remplace bibtex, c'est-à-dire :
    • "spdf /chemin/vers/monfichier.tex" (l'extension .tex est facultative).

    • de la même façon, "sbib /chemin/vers/monfichier.tex"

    • Dans auctex, "C-c pdf" ou "C-c bib".

    Bon j'ai écrit ça vite fait, il se peut qu'il y ait des erreurs, mais l'idée est là.

    ++
    Kloss

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Tous ces fichiers ne sont pas si temporaires que ça... Il permettent une édition des liens plus efficace quand il sont présents et pas trop vieux.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Salut, moi je me suis fait un script que j'ai mis dans mon bin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    latex $1.tex;bibtex $1;latex $1.tex;bibtex $1;latex $1.tex;xdvi $1.dvi &
    ensuite tu tapes : lat rapport
    et il te compile deux fois rapport.tex.
    Sinon, j'ai fait un alias que j'ai mis dans mon .bashrc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias cleantex="rm -vf *.aux *.log *.toc *.lof *.lot *.*~ *.bbl *.blg *.bak *.dvi"
    Tu n'as donc plus qu'à mettre cet alias dans le script plus haut et c'est gagné.

Discussions similaires

  1. Associations d'aide aux log. libres/linux en France
    Par narmataru dans le forum Linux
    Réponses: 17
    Dernier message: 19/11/2014, 00h00
  2. Fichiers .log, .aux et .toc
    Par quersus dans le forum Editeurs / Outils
    Réponses: 4
    Dernier message: 28/07/2007, 02h52
  3. Script de livre d'or pollué par des spams : Solutions ? Autres scripts ?
    Par pointup dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 02/11/2006, 21h58
  4. [VB6]changer de répertoire de travail
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/05/2006, 21h36
  5. Réponses: 6
    Dernier message: 11/05/2006, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo