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

Langage Perl Discussion :

Comment créer et ouvrir un fichier Latex avec Perl Script?


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Clairant
    Homme Profil pro
    Doctorant en économie (UdeM), Ingénieur Statisticien Economiste
    Inscrit en
    Mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant en économie (UdeM), Ingénieur Statisticien Economiste

    Informations forums :
    Inscription : Mars 2015
    Messages : 79
    Par défaut Comment créer et ouvrir un fichier Latex avec Perl Script?
    Bonjour chers membres,

    S'il vous plaît, comment créer et ouvrir un fichier Latex à partir d'un Script Perl?

    Veuillez bien m'aider !

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    tu n'expliques pas ce que cherches à faire et ta question est beaucoup trop vague.

    Il existe sur le CPAN un certain nombre de modules Perl dédiés au LaTeX (par exemple https://metacpan.org/pod/distributio...s/latex-encode pour transformer des caractères UTF8 inhabituels en code LaTeX, ou https://metacpan.org/pod/Template::Latex). Fais une recherche avec les mots clefs "cpan" et "latex", tu trouveras peut-être ce que cherches.

    Si tu as besoin de plus d'aide, précise ce que tu cherches à faire.

  3. #3
    Membre confirmé Avatar de Clairant
    Homme Profil pro
    Doctorant en économie (UdeM), Ingénieur Statisticien Economiste
    Inscrit en
    Mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant en économie (UdeM), Ingénieur Statisticien Economiste

    Informations forums :
    Inscription : Mars 2015
    Messages : 79
    Par défaut
    Merci cher Moderateur pour votre solution,

    En effet, je voulais écrire un script pour créer un fichier tex et ouvrir ensuite.

    Voici un exemple de code que je trouve mais cela ne marche pas. Mon objectif est de stocker dans un fichier ".pl".

    Pouvez vous apprécier où se trouve mon erreur?

    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
     
     
    use strict;
     
    use warnings; 
     
    # Put the file name in a string variable
    # so we can use it both to open the file
    # and to refer to in an error message
    # if needed.
    my $file = "temp.tex";
     
    # Use the open() function to open the file.
    unless(open FILE, $file) {
        # Die with error message 
        # if we can't open it.
        die "\nUnable to open $file\n";
    }
     
    # close the file.
    close FILE;

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    ton code devrait fonctionner, en ce sens qu'il doit ouvrir le fichier temp.tex s'il existe (ou sortir en erreur si le fichier n'existe pas), puis refermer le fichier s'il a pu être ouvert. Mais ton code ne fait rien d'utile dans la mesure où il se contente d'ouvrir le fichier puis de le refermer, sans même lire son contenu ni y écrire de nouveau contenu.

    Je ne sais toujours pas vraiment ce que tu cherches à faire.

    Quoi qu'il en soit, la syntaxe utilisée pour ouvrir, que tu as sans doute trouvée sur Internet, date d'une bonne vingtaine d'années et n'est plus recommandée aujourd'hui, même si elle continue à fonctionner.

    La syntaxe recommandée aujourd'hui pour ouvrir un fichier en lecture est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    my $file = "temp.tex";
     
    open my $FILE, "<", $file or die "Unable to open $file $!";    #   "<" indique une ouverture en mode lecture; $! contient l'erreur renvoyée par le système d'exploitation en cas d'échec de l'ouverture
    # Ici ajouter les instructions pour lire le contenu, par exemple, cette boucle de lecture des lignes du fichier:
    while (my $line = <$FILE>) {    # lit le fichier $FILE ligne à ligne
        print $line;    # ici, on se contente d'afficher à l'écran les lignes lues une par une dans le fichier
    }
    close $FILE;
    Et pour ouvrir un fichier en mode écriture:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    my $file = "temp.tex";
     
    open my $FILE, ">", $file or die "Unable to open $file $!";    #   ">" indique une ouverture en mode écriture
    # Ici ajouter les instructions pour écrire quelque chose dans le fichier, par exemple:
    print $FILE "Hello world\n";     # ici, on écrit juste une ligne dans le fichier $FILE
    close $FILE;

  5. #5
    Membre confirmé Avatar de Clairant
    Homme Profil pro
    Doctorant en économie (UdeM), Ingénieur Statisticien Economiste
    Inscrit en
    Mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant en économie (UdeM), Ingénieur Statisticien Economiste

    Informations forums :
    Inscription : Mars 2015
    Messages : 79
    Par défaut
    Merci cher Modérateur pour votre réponse,

    En effet, je voulais stocker les résultats d'un fichier .txt dans un fichier Latex. Ainsi, je veux d'abord créer le fichier latex nommé "tablenew.tex", ensuite l'ouvrir avec open. Mon problème est comment créer un fichier Latex inexistant et l'ouvrir ensuite avec open dans la ligne suivante?.

    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
     
    #!/usr/bin/perl -w
     
    open(WRITE,">$tablenew.tex");
    open(LOG,"$table.txt");
    while ($line=<LOG>) {
     
    $line=~s/{smcl}|{com}|{sf}|{ul off}|{res}//g;
    $line=~s/\& {\\ //g;
    chop($line);
    $pos=index($line,">");
     
    if ($pos==1) {
    $line=~s/> //;
    print WRITE ("$line");
    } else {
    print WRITE ("\n$line");
    }
     
    }

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Si tu ouvres un fichier en mode écriture, il sera automatiquement créé à vide (et s'il y avait dans le répertoire un fichier portant le même nom, le contenu sera effacé et un nouveau fichier créé à vide).

    Je te conseille vraiment d'utiliser la syntaxe que j'ai montrée, elle est plus propre et plus sûre.

    Dons de réécrire ton code comme suit:

    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
    #!/usr/bin/perl
     
    use strict;          # aide Perl à t'aider: Perl détectera beaucoup d'erreurs éventuelles
    use warnings;        # aide Perl à t'aider: Perl détectera beaucoup d'erreurs éventuelles
     
    my $file_out = "tablenew.tex";
    open my $WRITE,">", $file_out or die "Ouverture impossible de $file_out $!";
    my $file_in = "table.txt";
    open my $LOG,"<", $file_in or die "Ouverture impossible de $file_in $!";
     
    while (my $line = <LOG>) {
        $line =~ s/{smcl}|{com}|{sf}|{ul off}|{res}//g;    # j'ai des doutes sur tes expressions régulières mais ne peux en rien dire sans en connaître précisément le but
        $line =~ s /\& {\\ //g;                            # idem sur la regex
        chomp $line;                                       # parenthèses inutiles
        $pos = index $line, ">";                           # parenthèses inutiles
        if ($pos == 1) {
            $line =~ s/> //;
            print $WRITE "$line";                          # probable que tu veuilles en fait "line\n" pour avoir un retour à la ligne
        } else {
            print $WRITE "\n$line";                        # idem: tu veux sans doute "\n$line\n";
        }
    }
    Un dernier point: le compilateur se moque d'une indentation correcte de ton code, mais l'être humain qui lit le code non. Une bonne indentation n'est pas du tout facultative.

Discussions similaires

  1. Ouvrir un fichier Html avec Perl
    Par ash_rmy dans le forum Langage
    Réponses: 6
    Dernier message: 09/11/2009, 11h44
  2. Comment créer un raccourci de fichier avec VB6
    Par Najdar dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 20/11/2007, 19h27
  3. Comment ouvrir un fichier .xla avec excel ?
    Par Australia dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/11/2006, 18h08
  4. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42
  5. Réponses: 5
    Dernier message: 01/03/2006, 11h14

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