Gp2mv3 / Syntheses

Synthèses et travaux pour l'EPL
Other
97 stars 220 forks source link

[Discussion] Convention sur les apostrophes/guillemets/quotes en Unicode et en LaTeX #876

Open Jimvy opened 3 years ago

Jimvy commented 3 years ago

[J'ai créé l'issue il y a trois jours mais visiblement j'ai oublié de cliquer sur "Submit" avant de fermer l'onglet...]

Petit annuaire des symboles dont je vais parler :

(Curiosité : les guillemets français ont des codepoints plus petits que les quotes/apostrophes typographiques anglais (3 bytes pour encoder). Mais si on prend le non-breaking space en compte, ça fait 4 bytes (5 bytes si narrow non-breaking space).)

En LaTeX, on peut taper U+0027 pour entrer une apostrophe, et LaTeX se chargera de le transformer en U+2019 quand il s'agit d'une apostrophe dans le texte, ou U+2032 quand il s'agit du signe "prime" en math mode (ce dernier je suis pas sûr). On peut taper `truc' avec U+0060 et U+0027 pour entrer un texte entre guillemets anglais simples, et LaTeX se chargera de les transformer en U+2018 et U+2019. On peut taper ``truc'' avec 2x U+0060 et 2x U+0027 pour entrer un texte entre guillemets anglais doubles, et LaTeX se chargera de les transformer en U+201C et U+201D. U+0022 n'est pas conseillé pour faire des guillemets doubles anglais en LaTeX, pour des raisons mystérieuses. Enfin, il est possible de taper \og truc \fg{} et babel french se chargera de le transformer en U+00AB et U+00BB avec espaces insécables U+00A0 (ou peut-être la version narrow du NBSP, U+202F, je suis pas sûr).

Mais, il est aussi possible de rentrer tous ces caractères directement dans le fichier, et ils seront output as-is par LaTeX. C'est notamment ce qui arrive quand on copy-paste du texte depuis Word. Il me semble que macOS le fait aussi (j'ai du mal à croire que les gens prennent le temps de taper ces caractères eux-mêmes tout en ne sachant pas que LaTeX sait faire ça automatiquement).

Ma question est : est-ce qu'on recommande aux gens/contributeurs d'utiliser les versions "simples" (ASCII traduit par LaTeX) de ces caractères ? Ou est-ce qu'on accepte l'utilisation de ces caractères Unicode directement ?

Le principal défaut que je vois avec l'utilisation directe de ces caractères Unicode c'est l'espacement qui peut ne pas être respecté (U+00AB et U+00BB n'en ajoutent pas, donc il faut mettre les espaces insécables soi-même) ; et la taille du fichier (U+2019 requiert 3 bytes en UTF-8 au lieu de 1 byte pour U+0027 ; mais \og + \fg{} requièrent 9 bytes, au lieu de 8 bytes pour U+00AB + U+00A0 + U+00A0 + U+00BB). Et une erreur que j'ai constaté, c'est l'utilisation de U+2019 pour représenter le caractère "prime" en math mode, qui n'est pas correct.

(BTW, U+2032 n'est pas supporté par PDFLaTeX (crash), et XeLaTeX a l'air de l'ignorer...)

Aussi, je me demande si LaTeX/babel french n'a pas un mode intelligent pour tous ces caractères.

Qu'en pensez-vous ?

(Oui, c'est un peu du nitpicking.)