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

Discussion :

Créer une commande identique à \author

  1. #1
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut Créer une commande identique à \author
    Bonjour,

    je suis en train de rédiger un document, dans lequel je fais une mise en page particulière, ce que je gère dans mon *.sty.
    J'ai ma mise en page et je voudrais créer une commande \superviser qui prenne un argument comme la commande \author :

    J'ai donc fait ceci dans mon *.sty
    Code latex : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ...
    \newcommand{\superviser}[1]{#1}
    ...
     
    \begin{center}
    Sous la direction de \superviser
    \end{center}
    ...

    puis dans mon fichier *.tex
    Code latex : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    \documentclass[a4paper,openright,11pt,twoside]{report}
    ...
    \superviser{Nom de mon directeur}
    \author{Mon nom}
    ...
    \title{Le titre}
    \date{La date}
    ...
    \begin{document}
    ...

    Mais j'ai une erreur à la compilation : ! LaTeX Error: Missing \begin{document}.

    SI je supprimer le \superviser, tout fonctionne, sauf que le nom n'apparaît pas dans le première page. Je ne peux pas utiliser \superviser avant le begin.
    Est ce que quelqu'un connaît ce problème ?
    Et... comment le résoudre ?

    Merci par avance
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #2
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Bonjour,

    Telle qu'elle est définie, ta commande retourne directement son argument et essaye donc d'"écrire" quelque chose alors qu'on est encore dans le préambule, d'où l'erreur (le \begin{document} n'a pas encore été rencontré).

    Il faudrait que la commande stocke l'argument dans une autre (par exemple pour \title, ça doit être quelque chose du style \@title) et qu'une autre commande se charge de l'imprimer.
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    merci pour l'explication.
    Je vois ce que tu veux dire, mais comment faire ?
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Un truc du genre (mais pas le temps de tester)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    \makeatletter
     
    \newcommand{\superviser}[1]{\def\@superviser{#1}}
     
    \newcommand\printsuperviser{\@superviser}
     
    \makeatother
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Super ça marche :-)

    J'ai gardé cette ligne.
    Citation Envoyé par pitipoisson Voir le message
    \newcommand{\superviser}[1]{\def\@superviser{#1}}[/code]
    Dans mon *.sty, j'utilise \@superviser où j'en ai besoin.
    Dans mon *.tex, je le rempli comme \author, c'est à dire \superviser{Le nom}

    Merci
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

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

Discussions similaires

  1. Créer une fonction identique à la commande reshape
    Par InfoMatlab dans le forum MATLAB
    Réponses: 11
    Dernier message: 10/10/2013, 11h46
  2. Créer une commande pour les définitions
    Par Frednight dans le forum Débuter
    Réponses: 2
    Dernier message: 03/10/2012, 13h03
  3. Créer une commande du genre \@title ou \@author
    Par Ladgalen dans le forum Programmation (La)TeX avancée
    Réponses: 6
    Dernier message: 01/10/2009, 14h39
  4. Script pour créer une commande de suppression de fichiers
    Par romain.1105 dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 10/12/2006, 02h28
  5. Réponses: 11
    Dernier message: 30/08/2005, 10h50

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