Utilisateur:Zyephyrus/Macro de mise en forme

1) Mise en forme : liste des actions à réaliserModifier

MacroModifier
  1. Ponctuation, remise à zéro : remplacer tout (=!/!) ; (=?/?) ; (=;/;) ; (=:/:) - NB : Le signe = représente ici l'espace normale. (Oui, espace en ce sens est du féminin).
  2. Ponctuation, remise à zéro : remplacer tout (=!/!) ; (=?/?) ; (=;/;) ; (=:/:) - NB : Le signe = représente ici l'espace (ou demi-espace ?) insécable.
  3. Ponctuation : remplacer tout (!/=!=) ; (?/=?=) ; (;/=;=) ; (:/=:=).
  4. Guillemets français : remplacer tout («/«=) ; (»/=»).
  5. Apostrophes : remplacer tout ('/’).
  6. Underscore : remplacer tout (_/italiques).
  7. Tirets : remplacer tout (--/—=) (Ne pas oublier l'espace).
  8. Ligatures : remplacer tout oeu/œu, OEU/ŒU.
  9. Modernisation : remplacer tout très-/très=.
  10. Supprimer espaces en début de ligne (qui induisent un préformatage du texte)
À la main à chaque foisModifier
  1. Guillemets indifférenciés, sauf si quelqu'un fournit une macro pour ce travail mais en existe-t-il ?
  2. Rechercher deux apostrophes courbes, remettre italiques et gras en place avec des apostrophes droites
  3. Rechercher : E + casse respectée -> É au cas par cas
  4. Rechercher : oe -> remplacement par œ au cas par cas. Même chose pour OE -> Œ.
  5. Rechercher : A + mot entier + casse respectée -> À
  6. Rechercher : O + mot entier + casse respectée -> Ô
  7. Rechercher : o + mot entier -> ô
À la main (une fois pour toutes)Modifier
  1. Assigner une touche inutilisée à l'apostrophe courbe (caractères spéciaux)

(Pour le déroulement des actions à réaliser : merci, Yann et merci, François !)

2) Macro AdrienneModifier

ZephyrusModifier

(Remplacer Zephyrus par le nom de la personne qui passe la macro, et La Cousine Bette par le titre de l'œuvre).

Correction ponctuation

Espace avant le "!"

  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|a!|a !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|b!|b !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|c!|c !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|d!|d !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|e!|e !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|f!|f !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|g!|g !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|h!|h !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|i!|i !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|j!|j !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|k!|k !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|l!|l !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|m!|m !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|n!|n !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|o!|o !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|p!|p !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|q!|q !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|r!|r !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|s!|s !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|t!|t !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|u!|u !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|v!|v !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|w!|w !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|x!|x !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|y!|y !}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|z!|z !}}

Espace avant le "?"

  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|a?|a ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|b?|b ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|c?|c ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|d?|d ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|e?|e ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|f?|f ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|g?|g ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|h?|h ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|i?|i ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|j?|j ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|k?|k ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|l?|l ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|m?|m ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|n?|n ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|o?|o ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|p?|p ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|q?|q ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|r?|r ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|s?|s ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|t?|t ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|u?|u ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|v?|v ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|w?|w ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|x?|x ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|y?|y ?}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|z?|z ?}}

Espace avant le ";"

  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|a;|a ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|b;|b ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|c;|c ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|d;|d ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|e;|e ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|f;|f ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|g;|g ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|h;|h ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|i;|i ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|j;|j ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|k;|k ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|l;|l ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|m;|m ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|n;|n ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|o;|o ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|p;|p ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|q;|q ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|r;|r ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|s;|s ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|t;|t ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|u;|u ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|v;|v ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|w;|w ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|x;|x ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|y;|y ;}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|z;|z ;}}

Espace avant le ":"

  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|a:|a :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|b:|b :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|c:|c :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|d:|d :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|e:|e :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|f:|f :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|g:|g :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|h:|h :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|i:|i :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|j:|j :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|k:|k :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|l:|l :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|m:|m :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|n:|n :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|o:|o :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|p:|p :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|q:|q :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|r:|r :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|s:|s :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|t:|t :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|u:|u :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|v:|v :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|w:|w :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|x:|x :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|y:|y :}}
  • {{Requete|Zephyrus|links:[[La Cousine Bette]]|REPLACE|z:|z :}}


espaces après "," et "."

  • {{Requete|2|17|0||Zephyrus|links:[[La Cousine Bette]]|REPLACE| ,|,}}
  • {{Requete|22|18|0||Zephyrus|links:[[La Cousine Bette]]|REPLACE| .|.}}

tirets quadratins pour dialogues

  • {{Requete|2|26|6||Zephyrus|links:[[La Cousine Bette]]|REPLACE|--|—}}

NB Étudier ces requêtesModifier

remplacement de ’ par ' (droit et italique pour la lettre de Gautier à sa mère)

  • {{Requete|1|143|42||Zephyrus|links:[[La Cousine Bette]]|REPLACE|’|'}}
  • {{Requete|2|3|0||Zephyrus|[[La Cousine Bette]]|REPLACE|''’''|'''''}}
  • {{Requete|2|4|1||Zephyrus|[[La Cousine Bette]]|REPLACE|’|'}}
  • {{Requete|1|129|41|1|Zephyrus|links:[[La Cousine Bette]]|REPLACE|'|’}}
  • {{Requete|1|29|0|1|Zephyrus|links:[[La Cousine Bette]]|REPLACE|'|’}}
  • {{Requete|1|5|1||Zephyrus|[[La Cousine Bette]]|REPLACE|'|’}}
  • {{Requete|1|4|1||Zephyrus|[[La Cousine Bette]]|REPLACE|’’|''}}

3) Macros de BigonBotModifier

Quelques remarques : je pense qu'il n'y a pas de risque à changer les tirets qui sont en début de ligne en tiret de dialogue (tiret cadratin), ou transformer les doubles tirets (de Project Gutemberg) en tiret cadratin.
Pour l'apostrophe courbe, il faut faire attention aux cas des symboles italique, gras. Notamment lorsque l'italique est "collé" (c'est-à-dire lorsque l'italique est juste à côté d'un des symboles). François 8 janvier 2007 à 21:53 (UTC)
Merci pour ton aide !
  • Pour les tirets cadratins, en fait je ne m'y connais pas du tout. Je constate que les tirets dans cet essai ne sont pas les mêmes que dans cette poésie. Peut-être sont-ils faux dans l’un ou l’autre des deux textes... Quant aux doubles-tirets du projet Gutenberg, ça a l'air d'être une convention, donc OK.
  • J‘avais commencé à gérer l’italique et le gras mais effectivement je n'avais pas fait attention aux cas d'italique collé... Bigon 8 janvier 2007 à 22:58 (UTC)
Il n'y a pas réellement de norme concernant les tirets cadratin ou demi-cadratin. Lorsque j'ai écrit le guide typographique, je me suis inspiré tout naturellement de celui de Wikipedia, ainsi que, pour les tirets cadratin, de ce texte. Ce dernier conseille de ne pas mélanger les tirets cadratin et demi-cadratin dans le même document (qui sont pour lui deux formes différentes d'une même chose), et a une préférence pour garder le tiret cadratin. C'est donc ce dernier qui est le plus souvent utilisé su Wikisource, je pense.
Quand je parle "d'italique collé", il y a aussi bien sûr le gras collé, et l'italique gras (cinq apostrophes droites) collés. François 10 janvier 2007 à 22:33 (UTC)


En gros le robot gère déjà les points 1, 2, 3, 4 et 5 de "Macro" et les points 1 et 2 de "A la main", à l'aide d'expressions régulières :

  1. Modifier les caractères spéciaux :
    1. ([^'])'(?!') => \1’ : permet de remplacer tous les (') qui ne sont ni suivis ni précédés d'un autre (') par un ’ (ignore donc les textes en italique ou gras, mais aussi les italiques "collés")
    2. oe => œ
    3. O[Ee] => Œ : cela veut dire qu'à la fois Oe et OE seront remplacés.
    4. "([^"]*)" => «\1» (sans espaces) : permet de gérer les guillemets indifférenciés en les repérant par couples encadrants des caractères.
  2. Gérer les espaces insécables :
    1. (\s*)«(\s*) =>  «  : remplace toute série de caractères "blancs" (à savoir espaces, quel qu'ils soient, tabulations, retours à la ligne...), ou absence de ces caractères, avant et après les «, par une espace normale avant et une espace insécable après. Idem pour » mais dans l'autre sens (insécable avant, normale après).
    2. (\s*)!(\s*) =>  !  : toute série ou absence de caractères "blancs" remplacées par (espace insécable-!-espace normale). Idem pour (?) et (;). Pour (:) je fais pareil, mais sans éliminer les retours à la ligne précédant le signe car cela peut être volontaire (: pour indentation en début de ligne)
    3. (\s*)’(\s*) =>  : enlève les caractères "blancs" avant et après les ’.
Si tu m'expliques les points 3, 5, 6 et 7 de "à la main" (je ne vois pas ce que veux dire "casse respectée", aurais-tu des exemples ?) je pense pouvoir faire ça de façon automatique.
A part ça, la "macro Adrienne", devrait pouvoir se simplifier ainsi (je ne garantis rien) :
{{Requete|Zephyrus|links:[[La Cousine Bette]]|REGEXP|(?<=[a-z])!| !}}, mais ainsi tu rates toujours les é, è, ê, ï qui peuvent aussi terminer un mot. Avec ...REGEXP|(?<=\S)!| !}} cela gérerait peut-être aussi ces accents.
Voilà j'en ai fini avec mon jargon informatique. J'espère que tu as pu comprendre quelquechose quand même. Bigon 9 janvier 2007 à 00:20 (UTC)
Attention à la ligature œ : oeu peut être transformé en œu, pour oei je n'ai pas vérifié si cela est généralisable (il faut rechercher s'il existe des mots ayant oei sans ligature au milieu d'un mot), mais en tout cas oe tout court ne l'est pas. C'est donc du style [Oo][Ee][ui] (je ne connais pas la syntaxe python, je suis sans doute dans le faux).
Ce que Zephyrus indique "à la main" concerne des opérations qui sont orthographiquement ou grammaticalement dépendantes. On ne peut donc pas les automatiser, à moins d'y mettre un moteur d'analyse grammaticale !!!!
NB : "casse respectée" signifie "majuscule ou minuscule respectée" : c'est une option de la boite de dialogue "rechercher" sous Word (ou sous OO sans doute aussi) François 10 janvier 2007 à 22:47 (UTC)
Oui, sous OO aussi. --Zephyrus 14 janvier 2007 à 20:09 (UTC)

4) Retour OutilsModifier