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

Mise en forme Discussion :

accolades dans du texte avec vers et noms de personnages


Sujet :

Mise en forme

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Par défaut accolades dans du texte avec vers et noms de personnages
    Bonjour à tous !
    Je rappelle ma situation : j'utilise LaTeX pour la saisie de pièces de théâtre. C'est un gros projet dans lequel nous sommes plusieurs, et il existe déjà plus d'une centaine de pièces tapées au format LaTeX avec une série de commandes pour... quasiment tout en fait.
    Il reste deux gros problèmes : l'un d'eux, sans doute le plus gros d'ailleurs, est la disposition en accolades.
    Pour commencer, je n'ai rien trouvé de vraiment satisfaisant pour utiliser les accolades sur plusieurs lignes dans du texte (et non en format mathématique, ou tableau).
    Ensuite, il convient de dire que les accolades devront, d'une façon ou d'une autre, pouvoir se mélanger avec les commandes de vers (\un, \deux, \trois, \quatre... \alex) et de personnages, telles qu'elles sont définies ci-dessous (elles ont été crées par unbonpetit, pas par moi).

    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
    38
    39
    \newcommand*\pers[2][]{%
    	\vspace{2ex}\noindent
    	\hfill\textsc{#2}\ifx&\else, \emph{#1}\fi\hfill\null\par\nobreak}
     
    \newcommand*\affiche@vers[2]{%
    	\noindent\hspace{#1}%
    	\unless\ifx\vers@incomplet\@empty\hphantom{\vers@incomplet\ }\fi
    	\ifvers@incomplet\g@addto@macro\vers@incomplet{#2 }%
    	\else\let\vers@incomplet\@empty
    	\fi
    	#2\par}
     
    \newcommand*\definit@vers[2]{%
    	\newcommand*#1{\@ifstar
    		{\vers@incomplettrue\affiche@vers{#2}}%
    		{\vers@incompletfalse\affiche@vers{#2}}}}
     
    \newcommand\definitacteur[2][]{%
    	\expandafter\newcommand\expandafter*\csname#2\endcsname[1][]{%
    		\ifx&\empty\pers[##1]{#2}%
    		\else\pers[##1]{#1}%
    		\fi}}
     
    \definit@vers\un    {7.5cm}
    \definit@vers\deux  {7  cm}
    \definit@vers\trois {6.5cm}
    \definit@vers\quatre{6  cm}
    \definit@vers\cinq  {5.5cm}
    \definit@vers\six   {5  cm}
    \definit@vers\sept  {4.5cm}
    \definit@vers\huit  {4  cm}
    \definit@vers\neuf  {3.5cm}
    \definit@vers\dix   {3  cm}
    \definit@vers\onze  {2.5cm}
    \definit@vers\alex  {2  cm}
    \definit@vers\douze {2  cm}
    \definit@vers\treize{1  cm}
     
    \let\vers@incomplet\@empty
    Voici une description du principal cas d'accolade.
    Ce qui se passe. Deux personnages (ou plus) disent quelques chose en même temps.
    Comment c'est écrit. On imagine ici que les { au début de la ligne représentent une seule grande accolade :
    { ARICIE
    { Adieu donc, Hippolyte !
    { HIPPOLYTE
    { Adieu donc, ma petite !
    L'accolade pourrait également être à droite, il serait même bon de pouvoir choisir de quelle côté elle sera.
    Ce à quoi le code pourrait ressembler.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    \accoladegauche{
    \aricie
    \six{Adieu donc, Hippolyte!}
     
    \hippolyte
    \six{Adieu donc, ma petite!}
    }
    Ou autre possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    \debutaccoladegauche
    \aricie
    \six{Adieu donc, Hippolyte!}
     
    \hippolyte
    \six{Adieu donc, ma petite!}
    \finaccoladegauche
    Ou même, \begin[gauche]{accolade} \end{accolade} (il s'agirait alors de créer un environnement avec une option...

    C'est le principal cas d'accolades, et je pense que les autres pourraient être ramenés à celui-ci. Il serait sans doute bien de pouvoir écrire à côté de l'accolade.

    Je suis preneur de toute piste que vous pourriez avoir !
    Merci d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je veux bien m'y coller puisque personne ne semble enthousiaste. À la condition que j'ai un ECM en bonne et due forme avec toutes les macros (que j'ai écrites et oubliées) nécessaires au bon formattage du dialogue.

    Je me chargerai si j'ai l'ECM avant demain (après, je pars en vacances) de mettre une accolade à gauche ou à droite...

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Par défaut
    Bonjour !
    Et pardon, j'étais moi-même absent pendant deux jours ; je suis aussi en "vacances", paraît-il...

    Voici l'ECM que je propose :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
     
    \documentclass[a4paper, 12pt]{book}
    \usepackage[top=2cm, bottom=2cm, left=3cm, right=3cm]{geometry}
    \usepackage[francais]{babel}	
    \usepackage[T1]{fontenc}	
    \usepackage[latin9]{inputenc}
    \usepackage{calc}
    \usepackage{ifthen}
    \usepackage{fancyhdr}
    \usepackage{xstring}
    \setlength{\headheight}{15pt}
     
    \newcommand{\etc}{\emph{etc.}}
     
    \makeatletter
     
    \newif\ifvers@incomplet
    \vers@incompletfalse
     
    \newcommand\ensemble[1]{%
        \vspace{2ex}%
        \begingroup
            \centering
            \textsc{#1}%
            \par\nobreak
        \endgroup
    }
     
    \newcommand*\pers[2][]{%
    	\vspace{2ex}\noindent
    	\hfill\textsc{#2}\ifx&\else, \emph{#1}\fi\hfill\null\par\nobreak}
     
    \newcommand*\affiche@vers[2]{%
    	\noindent\hspace{#1}%
    	\unless\ifx\vers@incomplet\@empty\hphantom{\vers@incomplet\ }\fi
    	\ifvers@incomplet\g@addto@macro\vers@incomplet{#2 }%
    	\else\let\vers@incomplet\@empty
    	\fi
    	#2\par}
     
    \newcommand*\definit@vers[2]{%
    	\newcommand*#1{\@ifstar
    		{\vers@incomplettrue\affiche@vers{#2}}%
    		{\vers@incompletfalse\affiche@vers{#2}}}}
     
    \newcommand\definitacteur[2][]{%
    	\expandafter\newcommand\expandafter*\csname#2\endcsname[1][]{%
    		\ifx&\empty\pers[##1]{#2}%
    		\else\pers[##1]{#1}%
    		\fi}}
     
    \definit@vers\un    {7.5cm}
    \definit@vers\deux  {7  cm}
    \definit@vers\trois {6.5cm}
    \definit@vers\quatre{6  cm}
    \definit@vers\cinq  {5.5cm}
    \definit@vers\six   {5  cm}
    \definit@vers\sept  {4.5cm}
    \definit@vers\huit  {4  cm}
    \definit@vers\neuf  {3.5cm}
    \definit@vers\dix   {3  cm}
    \definit@vers\onze  {2.5cm}
    \definit@vers\alex  {2  cm}
    \definit@vers\douze {2  cm}
    \definit@vers\treize{1  cm}
     
    \let\vers@incomplet\@empty
     
    \definitacteur{modeste}
    \definitacteur[nicodème]{nicodeme}
     
    \begin{document}
     
    \ensemble{ensemble}
    \six{Non, non, n'espérez pas}
     
    %accolade qui relie Nicodème et Modeste
    \modeste
    \dix{Me voir tomber aisément dans vos lacs}
     
    \nicodeme
    \dix{Pouvoir sortir aisément de mes lacs.}
     
     
    \modeste
    \huit{Mais Mazette seul a mon c\oe ur;}
    \huit{Et le mien fait tout son bonheur;}
     
    \nicodeme
    \quatre{Quelle imprudence!}
    \cinq{Cette confidence}
    \six{M'excite à la vengeance.}
     
    \modeste
    \six{Non, non \etc}
    \huit{Mais Mazette était votre ami.}
     
    \nicodeme
    \huit{Oh! je suis corsaire et demi:}
    \huit{Trahir un ami, c'est l'usage.}
     
    \modeste
    \six{Fi, fi! soyez plus sage.}
     
    \ensemble{ensemble}
    \huit{Non, non, non, non, n'espérez pas,}
     
    %accolade entre Modeste et Nicodème
    \modeste
    \huit{Sur mon époux avoir le pas}
    \six{Non, non, n'espérez pas}
    \dix{Me voir tomber aisément dans vos lacs}
     
    \nicodeme
    \huit{Que je renonce à vos appas.}
    \six{Non, non, n'espérez pas}
    \dix{Pouvoir sortir aisément de mes lacs.}
     
    %%autre forme d'accolade:
    \huit{Pour former cent chiffres divers,}
    \huit{Dérobez les trésors de Flore,}
    \huit{Et faites lire dans les airs:}
    \six{Zéphire vous adore.}
    %Ici il faudrait faire une accolade sur les DEUX derniers vers et écrire en face "bis"
     
    \end{document}
    En cherchant des exemples je me suis aperçu qu'on pouvait avoir une accolade avec du texte et marqué "bis" en face (dernière partie de l'ECM), je l'ai donc inclus aussi.

    De manière générale, j'ai un gros préambule, je n'ai pris ici que les commandes concernées. Je travaille en faisant \input{preambule4-4.sty} au début (ici pour les besoin de la pièce jointe, j'ai dû le renommer en .txt, mais il suffira de refaire l'opération inverse). Je le mets donc en pièce jointe au cas où ça serait utile.

    Merci beaucoup d'avance, et bonnes vacances !
    L.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Par défaut
    Désolé d'insister, mais je n'ai toujours ni solution, ni même aucune piste pour avancer... Et de même pour l'autre sujet que j'ai proposé. Merci d'avance à tous !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Celadon Voir le message
    Désolé d'insister, mais je n'ai toujours ni solution, ni même aucune piste pour avancer
    Moi non plus

    Je ne sais pas si vous vous rendez compte à quel point cela est difficile, surtout avec la méthode que j'ai employée. Vous auriez dû dire dès le départ tout ce que vous vouliez et non pas une partie, car connaitre une partie de vos exigences n'implique pas du tout la même méthode de programmation que de connaître la totalité.

    Je répète donc aux contributeurs de ce forum : pour des questions texniques, expliciter dès le début la totalité des exigences, car en rajouter au fur et à mesure des solutions proposées devient vite bloquant.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2009
    Messages : 182
    Par défaut
    Je comprends bien que ce soit difficile, peut-être même infaisable... Et je sais qu'il faut tout prévoir avant de commencer à travailler ; le problème c'est que je ne suis pas seul à travailler, et que nous (mon équipe et moi) avions besoin de commencer la saisie des textes. L'autre problème, c'est qu'il s'agit en l'occurrence de cas particulier. Certes, les accolades sont fréquentes, mais finalement ça ne représente quasiment rien à côté des vers sans accolade.
    Il n'y a donc aucun espoir ? Pour ma part, je n'ai pas trouvé comment mettre des accolades dans du texte tout simple, c'est-à-dire en-dehors de formules mathématiques ou de tableaux. Est-ce que déjà c'est possible ?
    Par ailleurs, quelle serait l'ampleur des changements ? S'il faut changer des choses dans les fichiers saisis pour pouvoir profiter d'une macro avec des accolades, je pense que je peux y employer une partie de mon temps, à condition que les changements ne remettent pas tout en question par ailleurs. Je ne me rends pas bien compte.

Discussions similaires

  1. Images dans champs texte avec RCP
    Par legentil dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 26/07/2010, 14h05
  2. Plusieurs <html:text> avec le même nom ?
    Par hisoft dans le forum Struts 1
    Réponses: 4
    Dernier message: 26/02/2010, 13h23
  3. Réponses: 2
    Dernier message: 24/09/2009, 09h49
  4. Réponses: 2
    Dernier message: 05/12/2008, 11h12
  5. Réponses: 12
    Dernier message: 31/05/2007, 14h19

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