Mises en exposant

... ou correction typographique des abréviations courantes

Cet outil du Couteau Suisse améliore le rendu typographique des abréviations courantes, en mettant en exposant les éléments nécessaires (ainsi, Mme devient Mme) et en corrigeant les erreurs courantes (2ème ou 2me, par exemple, deviennent 2e, seule abréviation correcte).

Présentation

Cet outil est une fonctionnalité du plugin Le Couteau Suisse que vous pouvez trouver ici : Le Couteau Suisse. Pour avoir accès aux corrections typographiques des exposants, il vous faut donc avoir préalablement installé ce plugin.

Ensuite, une fois l’outil Mises en exposant activé sur la page d’administration du plugin en espace privé, vous avez donc la possibilité d’améliorer automatiquement le rendu typographique des abréviations courantes, en mettant en exposant les éléments nécessaires. Il se base sur les remplacements par expressions régulières précédemment publiés ici par Raphaël Meyssen.

Facile à activer ou désactiver, son utilisation est transparente pour les éditeurs. L’outil se sert du pipeline (ou « point d’entrée ») : post_typo.

Abréviations concernées

Dans l’état actuel, ce plugin remplace (singuliers et pluriels) :
-  Melle ou Mlle par : Mlle ;
-  Mme par : Mme ;
-  1ier, 1ière, 1ère ou Iier, Iière, Ière par : 1er (masculin) et 1re (féminin) ou Ier et Ire (chiffres romains) ;
-  2ième, 2ème, 2me ou IIième, IIème, IIme (fonctionne aussi avec les autres chiffres) par : 2e et IIe (seules formes correctes) ; 2nd par : 2nd.

Dans certaines conditions précises (abréviations suivies d’un espace, d’un point ou d’un tiret simple), sont également remplacés :
-  Dr et Pr par : Dr et Pr (au singulier uniquement)

Ici seront remplacées les expressions suivantes si elle sont suivies par un espace puis une majuscule :
-  Me par : Me (Maître, au singulier uniquement)

D’autres expressions (au singulier et parfois au pluriel) sont encore remplacées :
-  , m2, m3 par : m2 et m3 ;
-  Mgr par : Mgr (Monseigneur, au singulier uniquement)
-  Mn(s) et Md(s) par : Mn(s) et Md(s)
(Million(s), Milliard(s))
-  Vve par : Vve (Veuve, au singulier uniquement)

-  Cie(s), Sté(s) et Ets par : Cie(s), Sté(s) et Éts (Compagnie(s), Société(s), Établissements)
-  ro, vo 1o, 2o, etc. par : ro (recto), vo (verso), 1o (primo), 2o (secundo), etc.

Les éventuelles formes plurielles sont traitées (soit intégrées dans le cas de MmesMmes, soit annulées dans le cas de 2es — et autres variantes erronées — qui reste 2e) et les abréviations obtenues sont conformes à celles indiquées dans l’article « Abréviations » du Lexique des règles typographiques en usage à l’Imprimerie nationale (presses de l’Imprimerie nationale, Paris, 2002).

Le cas de Monsieur, que l’on devrait, d’après l’Imprimerie nationale, abréger en M. et non Mr ou Mr, n’est pas pris en charge par un remplacement de Mr en M., afin que l’on puisse écrire l’abréviation de Mister, soit Mr (usage anglais) ou Mr. (usage américain), sans mise en exposant (de même que Mrs ou Mrs.).

Pour les utilisateurs moins scrupuleux des règles, le plugin permet d’outrepasser les recommandations officielles en activant l’option de configuration dédiée, permettant de mettre en exposant les raccourcis suivants :
-  Bd par : Bd (Boulevard), Fg par : Fg (Faubourg)
-  St(e)(s), Bx et Bse(s) par : St(e)(s), Bx et Bse(s) (abréviations suivies d’un espace, d’un point ou d’un tiret simple)

Technique

Le remplacement de 1ers se traduit par le code HTML suivant :

   1<sup class="typo_exposants">ers</sup>

Afin de lever toute ambiguïté, la balise <sup> (de classe "typo_exposants" ou non) est stylée comme ceci dans le fichier « config_outils.php » :

sup, sup.typo_exposants {
  font-size:78%;
  font-variant:inherit;
  vertical-align:23%; 
}

Ceci dit, d’autres styles sont possibles, comme :

sup, sup.typo_exposants {
  top: -0.5em;
  vertical-align: baseline;
  position: relative;    
}

Ce code suit les travaux et observations de frdm développés dans le forum ci-dessous.

Notes :

-  Cette fonctionnalité sur les exposants ne fonctionne pour l’instant que sur les textes français, mais d’autres langues peuvent être intégrées facilement dans le fichier outils/typo_exposants.php.
-  Les textes anglais bénéficient d’une mise en exposant des nombres ordinaux : 1st, 2nd, 3rd, 4th, etc.
-  Le texte situé entre les balises <html> et </html>, <code> et </code>, <cadre> et </cadre>, <frame> et </frame>, <script> et </script>, <acronym> et </acronym>, <cite> et </cite> ou <math> et </math> est protégé : aucune modification d’exposant n’y sera faite.
-  De la même façon, toutes les balises HTML contenant elles-même des guillemets (comme : <div id="mon_id">) sont bien sûr protégées afin d’éviter tout remplacement intempestif du code.
-  Cas des RSS. Pour éviter que les flux RSS ne recoivent des textes du genre "3<sup class="typo_exposants">e</sup> tour", le filtre supprimer_tags pourra vous aider. Voici un exemple de code à utiliser dans vos squelettes backend :
[(#TITRE|supprimer_tags|supprimer_numero|texte_backend)]. Ici, "2ème« sera bien remplacé par »2e", mais sans balise HTML.

Pour les spécialistes :

-  Le pipeline utilisé est : post_typo
-  Le fichier inclus est : outils/typo_exposants.php

Améliorations possibles
D’autres remplacements sont faciles à mettre en place : il faut pour cela connaître les expressions régulières et les ajouter au fichier outils/typo_exposants.php.

Il serait possible un paramétrage sur l’interface de gestion privée permettant de choisir quels remplacements activer ou non.

Débat

Suite à une conversation de forum avec Jean-Christophe, je retranscris ici quelques remarques.

Un petit rappel : Le Couteau Suisse met à votre disposition une page de test accessible en partie privée grâce à l’url : ecrire/?exec=test_couteau_suisse

Les chiffres romains

Les petits chiffres romains (I, V & X) sont pris en compte, mais le cas de « Ire » ou « Ires » a été volontairement laissé pour cause de performance (les regexpr risquent de gonfler) et de confusion avec « Irez-vous » par exemple. Les chiffres romains s’emploient-ils si souvent au féminin ?

Quant aux 50, 100, 500 & 1000 (L, C, D & M), c’est un peu pareil. comment distinguer l’article « Le » de 50e : « Le » ? Je me disais que les chiffres romains s’emploient le plus souvent pour les siècles et qu’on était tranquille au moins jusque 21...

Ici doit-on choisir quelles sont les limites d’usage afin de ne pas grever les performances pour quelques cas particuliers, inusités la plupart du temps. Je veux bien ouvrir le débat.

Les abréviations, dans cet article, sont mises en italique parce qu’elles sont citées (cas d’autonymie). Il va de soi que le plugin ne les met pas en italique dans le corps du texte.

Le logo a été créé sous GIMP au moyen d’une image publiée sous licence GFDL par Matthias Kabel pour Wikimedia Commons. Consulter cette page pour plus de détails.

Discussion

2 discussions

  • 5

    Bonjour,
    Cas de « km2 » qui ne semble pas traité.. (alors que « m2 » l’est bien..). J’ai essayé de modifier le typo_exposants.php (non surchargeable.. donc le fichiers original.. pas bien, je sais mais hélas que faire d’autre...?).

    -  Donc est-ce qu’il y a un problème car « km2 » devrait bien être traité ?
    -  Ou est-ce que c’est normal et dans ce cas là, quel serait le code à insérer dans typo_exposants.php pour que cela marche ?

    Merci,
    Thomas

    • Bonjour,
      Tu peux ajouter une règle comme :
      /km2/ = km²

      dans la config du plugin en bas /ecrire/ ?exec=configurer_orthotypo

    • Merci mais alors.. orthotypo.. le plugin ? A ajouter ?

    • Ah oui pardon j’ai confondu.
      Je n’utilise pas couteau suisse mais https://contrib.spip.net/Ortho-typographie qui permet d’ajouter des règles perso.

    • La lame « Exposants typographiques » du Couteau Suisse ne corrige pas « km2 » actuellement.

      Mais il est possible d’utiliser un autre outil :
      -  « Corrections automatiques »
      avec la ligne suivante :
      (km2) = km<sup>2</sup>

      La correction automatique utilisera les mêmes css des exposants typographiques.

    • Merci bien à vous pour vos réponse, du coup j’ai activé la lame ’Corrections automatiques’ du Couteau-suisse et inséré l’instruction qui marche ok !

      Reste la question du traitement de ce pauvre km2 par Exposants typographiques... on s’attend à ce qu’il soit pris en charge mais il doit y avoir des raisons.. En tout cas peut-être le signaler dans la doc ci-dessus (km2 n’étant pas rare).
      Merci encore
      Thomas

    Répondre à ce message

  • 8

    Bonjour,
    La Mises en exposant provoque une très légère augmentation de l’interlignage du paragraphe entre la ligne de texte de l’exposant et celle qui se trouve juste au-dessus.
    Comment éviter cet affichage ?

    exemple : http://keraluc.com/Quimper-un-centre-faiencier
    sur la 3e ligne du paragraphe

    • Bonjour
      J’ai le même soucis
      A priori, il faudrait modifier le css et plus précisément le paramètre « vertical-align » à 23% par défaut dans le fichier config_outils.php (ligne 1263) :

      'code:css' => 'sup, sup.typo_exposants { font-size:78%; font-variant:inherit; line-height:inherit; vertical-align:23%; }'

      Il faudrait pouvoir le corriger (le passer à 10% pour moi). Mais je ne sais pas quel fichier je dois créer dans mon répertoire « squelettes » pour surcharger « proprement » le css du plugin...
      J’ai créé un fichier /squelettes/css/perso.css dans lequel j’ai intégré la ligne :

      sup, sup.typo_exposants { font-size:78%; font-variant:inherit; line-height:inherit; vertical-align:10%; }

      mais cela ne fonctionne pas même après avoir vidé le cache bien sûr.
      Merci d’avance pour votre aide.

    • Bonjour à tous, pour que la surcharge fonctionne, il faut vérifier avec les outils de développement de votre navigateur préféré, que la déclaration CSS est placée après celle du Couteau Suisse.
      Il serait aussi possible de créer nativement dans le plugin une variable de configuration afin de régler les valeurs voulues....

    • Ton lien en exemple ne montre malheureusement pas le problème.
      Pour éviter les décalages de ligne, il est aussi possible de configurer les exposants ainsi :

      sup, sup.typo_exposants {
              top: -0.5em;
              vertical-align: baseline;
              position: relative;    
      }
    • Bonjour Patrice
      Tu peux voir un exemple sur cette page.
      Effectivement, j’ai bien l’impression que la déclaration CSS du Couteau Suisse passe en dernier... D’où ma demande pour savoir à quel endroit placer ma surcharge.

    • En effet, donc trois solutions :

      1. placer les nouvelles définitions dans le squelette après celles du CS

      2. ajouter une clause de priorité :

      sup, sup.typo_exposants {
          vertical-align: 10% !important;
      }

      3. choisir une autre formulation, meilleure visuellement :

      sup, sup.typo_exposants {
          top: -0.5em;
          vertical-align: baseline !important;
          position: relative;
      }
    • Mais cela doit être ajouté dans quel fichier pour que cela passe après le CS ?
      En attendant de pouvoir régler ces variables dans l’administration du plugin, y a-t-il une possibilité de surcharger config_outils.php ? Dans quel répertoire du squelettes doit-on enregistrer la copie modifiée de ce fichier ?
      Je rappelle que le fichier créé squelettes/css/perso.css ne passe pas après les css des plugins (en tout cas chez moi...).
      Je soupçonne le plugin « Ahuntsic » de mettre le bazar depuis la mise à jour Spip3.2 et la refonte de la gestion des cascades css...

    • Toute l’architecture du squelette doit être vérifiée.
      Le fichier config_outils.php n’est pas surchargeable. Toute surcharge CSS doit être faite dans le dossier personnel du squelette, souvent squelettes/ effectivement.
      La mention !important règle le problème des priorités CSS.

    • Finalement, j’ai réussi à passer après le css du Couteau Suisse à intégrant la surcharge dans le fichier css surchargé d’un plugin (Bigfoot en l’occurence...)...
      C’est pas très propre mais ça fonctionne...
      En attendant d’avoir la mise à jour du plugin Ahuntsic avec ses fichiers de style compatibles avec Spip3.2.
      Merci en tout cas pour ton aide.
      Pb résolu.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom