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

Distributions Discussion :

LaTeX PB package listing, plusieurs code (HTML+PHP+SQL)


Sujet :

Distributions

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut LaTeX PB package listing, plusieurs code (HTML+PHP+SQL)
    Bonjour,

    J'utilise le package listing pour afficher des listings dans mes documents latex. Le problème est que latex me fait la coloration syntaxique uniquement pour le HTML. Voici le code au début du document :

    \lstloadlanguages{HTML, PHP, SQL}
    \lstset{
    language=HTML,showstringspaces=false,
    %basicstyle=\small\ttfamily,
    frame=single
    ,commentstyle=\scriptsize, breaklines=true,breakindent=0pt,prebreak=\mbox{\tiny$\searrow$},postbreak=\mbox{{\color{blue}\tiny$\rightarrow$}}}
    \newcolumntype{M}[1]{>{\raggedright}m{#1}}


    Puis dans le document j'appelle des fichiers externes par exemple :

    \lstinputlisting[caption={[Structure de base d'une page web]Structure de base d'une page web},label={HTML_structure_base}]{HTML_structure_base.src}

    le contenu du fichier HTML_strucutre_base.src :

    <!-- Début de la page web -->
    <HTML>
    <!-- Début de l'entête -->
    <HEAD>
    <!-- Fin de l'entête -->
    </HEAD>
    <!-- Début du corps de la page -->
    <BODY>
    <!-- Fin du corps de la page -->
    </BODY>
    <!-- Fin de la page web -->
    </HTML>


    Puis plus tard avec le PHP, les fichiers sont appellés de la même manière mais la coloration ne se fait pas.

    \lstinputlisting[caption={[Structure de base d'un script PHP]Structure de base d'un script PHP},label={PHP_structure_base}]{PHP_structure_base.src}

    Le code source de PHP_structure_base.src :
    <HTML>
    <HEAD>
    <TITLE> </TITLE>
    </HEAD>
    <BODY>
    <?PHP
    /*Voici mon premier script PHP qui ne contient trois commentaires différents et un petit texte s'affichant dans le corps de la page web*/

    /*
    ici sous la forme d'un long bloc
    de texte qui n'a de sens que pour
    montrer le fonctionnement des commentaires
    en PHP.
    */

    echo 'Voici ce qui s'affiche dans le corps de la page web';
    //à noter l'utilisation du séparateur d'instruction (.
    ?>
    </BODY>
    </HTML>

    Bizarrement il continue à colorier le HTML.

    Y a-t-il un moyen simple de spécifier le type de script dont on a à faire?

    Merci d'avance et meilleures salutations

  2. #2
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Citation Envoyé par Hanspeter Voir le message
    Bizarrement il continue à colorier le HTML.
    Je pense que tu vas devoir être obligé de spécifier le langage à chaque fois que tu insères un code. Je ne vois pas comment le package listings peut deviner quel type de langage est inséré (je me trompe peut-être). Même si c'était le cas, dans ton code PHP, il y a des balises HTML, donc il doit penser que c'en est.
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par lecteur1001 Voir le message
    Je pense que tu vas devoir être obligé de spécifier le langage à chaque fois que tu insères un code. Je ne vois pas comment le package listings peut deviner quel type de langage est inséré (je me trompe peut-être). Même si c'était le cas, dans ton code PHP, il y a des balises HTML, donc il doit penser que c'en est.
    Oui je comprends ton raisonnement et je suis d'accord mais quand je spécifie \lstinputlisting[caption={[Structure de base d'un script PHP]Structure de base d'un script PHP},label={PHP_structure_base}]{PHP_structure_base.src}[language=PHP]

    il ne me met pas les mots clés PHP en gras.

    Donc comment spécifier pour chaque script le type de langage?

    Merci pour ta / vos réponse(s)

  4. #4
    Membre expérimenté Avatar de lecteur1001
    Inscrit en
    Mai 2009
    Messages
    1 526
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1 526
    Points : 1 554
    Points
    1 554
    Par défaut
    Par exemple :
    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
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[frenchb]{babel}
    \usepackage{listings}
     
    \begin{document}
    \begin{lstlisting}[language=html]
    <!-- Début de la page web -->
    <HTML>
    <!-- Début de l'entête -->
    <HEAD>
    <!-- Fin de l'entête -->
    </HEAD>
    <!-- Début du corps de la page -->
    <BODY>
    <!-- Fin du corps de la page -->
    </BODY>
    <!-- Fin de la page web -->
    </HTML>
    \end{lstlisting}
    \end{document}
    À lire avant de poster : qu'est ce qu'un ECM (Exemple Complet Minimal) ?
    Règles des forums LaTeX. Quand votre problème est réglé, mettez votre discussion en
    Pour débuter en LaTeX je conseille fortement Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander (merci Woody Allen ), livre téléchargeable gratuitement ou en vente dans le commerce pour 15 €

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par lecteur1001 Voir le message
    Par exemple :
    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
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[frenchb]{babel}
    \usepackage{listings}
     
    \begin{document}
    \begin{lstlisting}[language=html]
    <!-- Début de la page web -->
    <HTML>
    <!-- Début de l'entête -->
    <HEAD>
    <!-- Fin de l'entête -->
    </HEAD>
    <!-- Début du corps de la page -->
    <BODY>
    <!-- Fin du corps de la page -->
    </BODY>
    <!-- Fin de la page web -->
    </HTML>
    \end{lstlisting}
    \end{document}
    Quand tu fais ce \begin{lstlisting} tu gardes le script dans ton fichier .tex. Avec ma solution je garde les fichiers dans des fichiers .src externes, ce qui me permet d'avoir un .tex plus court.

    N'as tu pas une solution avec \lstinputlisting[caption={[Structure de base d'un script PHP]Structure de base d'un script PHP},label={PHP_structure_base}]{PHP_structure_base.src}?

    Merci d'avance et bonne journée

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Résolu
    Salut à tous,

    J'ai fini par trouvé le paramêtre manquant lorsque l'on veut :
    - stocker le script dans un fichier externe au .tex principal,
    - faire apparaître un nom sous le script
    - faire apparaître un nom dans la table des matières des scripts.

    la syntaxe est la suivante :
    \lstinputlisting[caption={[Structure de base d'une page web]Structure de base d'une page web},label={HTML_structure_base},language=HTML]{test.src}

    (en gras ce qu'il me manquait)

    Merci à lecteur1001 pour son aide et en espérant que ça aide quelqu'un, meilleures salutations.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Package listings et code matlab
    Par Gildas86 dans le forum Mise en forme
    Réponses: 2
    Dernier message: 04/04/2012, 14h05
  2. Formattage de code : HTML,PHP,CSS
    Par aiphes dans le forum Eclipse
    Réponses: 1
    Dernier message: 21/11/2008, 09h14
  3. Afficher du code html/php sur mes pages
    Par cuisto44000 dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2008, 00h56
  4. [PHP-JS] Supprimer le code javascript d'un code HTML
    Par AlphaYoDa dans le forum Langage
    Réponses: 6
    Dernier message: 21/02/2006, 22h40
  5. Partager du code Javascript entre plusieurs pages HTML
    Par oceane751 dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 10/01/2006, 15h20

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