0 votes
544 vues

Bonjour,

Je vérifiais l'utilisation incorrecte de la capitalisation. En particulier, je sais que les traducteurs ont parfois écrit par accident « LORD » au lieu de \nd Lord\nd*. Mais j'ai été surpris que Run Basic Checks…>Capitalization n'ait pas détecté les instances en toutes majuscules.

Cette expression régulière trouvera deux lettres majuscules adjacentes, mais elle renvoie aussi beaucoup de bruit. Par exemple, les abréviations de noms de livres, les codes de langue et les noms de fichiers d'images.
regex:\w*[A-ZĆÄÏÜ]\w*[A-ZĆÄÏÜ]\w
(pour les non-initiés aux expressions régulières, [A-ZĆÄÏÜ] signifie n'importe quel caractère de A à Z, ou l'un des caractères spéciaux Ć, Ä, Ï et Ü - majuscules uniquement)

J'ai cherché des endroits pour modifier les règles de capitalisation, mais je n'ai trouvé qu'un endroit pour approuver ou désapprouver les mots avec une capitalisation mixte (dans lequel les mots en TOUTES MAJUSCULES n'apparaissent pas).

J'ai également cherché dans les fichiers d'aide de Paratext et sur ce forum, mais je n'ai trouvé aucune information.

Y a-t-il actuellement un moyen facile de trouver les mots en TOUTES MAJUSCULES ? Sinon, cette fonctionnalité pourrait-elle être ajoutée ? Peut-être que cela pourrait apparaître dans les résultats de recherche de la capitalisation mixte, même s'ils sont techniquement en toutes majuscules. Ou peut-être serait-il mieux qu'ils aient leur propre catégorie.

Merci beaucoup !

Traduit automatiquement depuis English
Paratext par (379 points)
réaffiché | 544 vues

6 Réponses

0 votes
Meilleure réponse

J'adore utiliser les expressions régulières, mais elles me donnent toujours mal à la tête. Voici comment j'ai réussi à les décomposer, pour ceux qui sont intéressés. J'ai utilisé des tirets bas comme espaces pour tout aligner.

Décomposition de l'expression régulière qui trouve les mots en MAJUSCULES qui ne sont pas précédés de certains marqueurs.
(?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

  1. Rechercher une limite de mot
    __________________________\b_________
  2. Rechercher n'importe quelle lettre majuscule au début d'un mot
    __________________________\b\p{Lu}___
  3. Rechercher une ou plusieurs lettres majuscules, en commençant par le début d'un mot
    __________________________\b\p{Lu}+__
  4. Rechercher un mot de n'importe quelle longueur entièrement en majuscules
    __________________________\b\p{Lu}+\b
  5. Après avoir trouvé un mot en majuscules, vérifier s'il y avait un regroupement optionnel juste avant
    (?_______________________)\b\p{Lu}+\b
  6. Après avoir trouvé un mot en majuscules, s'assurer qu'il n'y avait pas de barre oblique inversée juste avant
    (?<!\\___________________)\b\p{Lu}+\b
  7. Après avoir trouvé un mot en majuscules, s'assurer qu'il n'y avait pas de \id ou \h ou \toc ou \mt ou \fig juste avant
    (?<!\\(id|h|toc|mt|fig)__)\b\p{Lu}+\b
  8. Après avoir trouvé un mot en majuscules, s'assurer qu'il n'y avait pas de \id ou \h ou \toc ou \mt ou \fig plus tôt dans la ligne
    (?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

Personnellement, je pense que je vais supprimer |mt car je veux aussi vérifier les majuscules dans les titres de livres.

Il me vient à l'esprit, que se passerait-il si une figure est insérée au début ou au milieu d'un verset ? Les mots suivants en MAJUSCULES ne seraient pas détectés par cette expression régulière.

(\\fig(.*?)\\fig\*) capture la balise de figure entière, mais cela n'a pas aidé. Voici ce que j'ai trouvé :
(?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?(?!\\fig\*)

Voici la décomposition :

  1. Après avoir trouvé un mot en majuscules, s'assurer qu'il n'y avait pas de \id ou \h ou \toc plus tôt dans la ligne.
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b______________
  2. Après avoir trouvé un mot en majuscules, s'assurer qu'il n'y avait pas de \id ou \h ou \toc plus tôt dans la ligne. Puis rechercher en avant n'importe quel nombre de caractères.
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?___________
  3. Après avoir trouvé un mot en majuscules, s'assurer qu'il n'y avait pas de \id ou \h ou \toc plus tôt dans la ligne. Puis rechercher en avant n'importe quel nombre de caractères pour s'assurer que \fig* n'est pas trouvé plus tard dans la ligne.
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?(?!\\fig\*)

Pour une raison quelconque, cette expression régulière n'a pas capturé « \mt1 GÉNESIS ». Avez-vous des idées sur la raison ?

Traduit automatiquement depuis English
par (379 points)
réaffiché

Un \fig ne devrait jamais se trouver à l'intérieur d'un verset ou d'un paragraphe, car cela fragmenterait le texte et la mise en forme de toutes sortes de mauvaises manières, selon votre logiciel de sortie. Il doit être placé à la fin d'un paragraphe. Bien sûr, nous exécutons des expressions régulières à toutes sortes de moments où le texte n'est pas particulièrement propre, mais je tenais à mentionner cette restriction.

Traduit automatiquement depuis English
0 votes

Bonjour anon094061.
Vous pouvez saisir l'expression régulière suivante dans le moteur de recherche de Paratext pour voir les mots entièrement en majuscules : regex:\b\p{Lu}+\b

où :
« regex: » est la commande indiquant à Paratext qu'il s'agit d'une expression régulière.
« \b » est la limite de mot (word boundary)
« \p{Lu} » indique les lettres majuscules
« + » indique une ou plusieurs occurrences de la formule ci-dessus.
Cela signifie qu'il recherchera une ou plusieurs lettres majuscules consécutives délimitées par des séparateurs de mots, tels que des espaces ou des virgules.


En effet, l'inventaire des majuscules mixtes… prend en compte les combinaisons inhabituelles, il n'énumère donc pas ici les mots entièrement en majuscules.

Traduit automatiquement depuis English
par (973 points)
réaffiché
0 votes

C'est un peu plus compliqué, mais vous pouvez également utiliser :
regex:(?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

Cela permet d'ignorer le contenu de certains marqueurs que nous savons déjà être en majuscules, tels que « id » ou « mt ».
Vous pouvez ajouter d'autres marqueurs à exclure en ajoutant un « | » et le nom du marqueur tel qu'il apparaît dans la grande parenthèse.

Traduit automatiquement depuis English
par (973 points)
réaffiché

Wow, c'est vraiment génial ! Merci beaucoup anon689242 - c'est exactement ce dont j'avais besoin.

Je pense que ce contrôle serait un excellent ajout à « Assignments and Progress ».

Traduit automatiquement depuis English
0 votes

Ah, je viens de réaliser que ma solution \fig \fig* filtre les résultats en MAJUSCULES se produisant dans un verset avant la figure. Il faut donc quelque chose de plus avancé. Je vais chercher comment dire à l'expression régulière d'ignorer un groupe.

Traduit automatiquement depuis English
par (379 points)
réaffiché
+1 vote

J'ai trouvé https://regex101.com/ utile pour l'analyse des expressions régulières, bien que je comprenne qu'une connexion Internet puisse poser problème pour certains. Je ne suis pas sûr de savoir quel « flavor » (variante) d'expression régulière correspond à ce que Paratext utilise.

Traduit automatiquement depuis English
par (296 points)

D'après mes notes, Paratext 9, RegEx Pal, PrintDraft Changes.txt et DBLchanges.txt utilisent tous
C# (NET 2.0-4.8.1 & .NET Core 1.0-3.0)

Je serais heureux d'avoir confirmation de cela.

Traduit automatiquement depuis English
0 votes

Très bonnes observations. Merci @Shegnada et @anon806807.

Je me demandais simplement si nous ne devrions pas utiliser cette expression régulière pour vérifier aussi le texte alt des figures. Je pense que c'est juste le nom de fichier de l'image qui pose problème, alors pourquoi ne pas simplement filtrer cela ? Quelque chose comme
\b.*\.(TIF|GIF|JPG|JPEG)\b ?

Peut-être avec une recherche négative en avant (negative lookahead) ? Quelque chose comme ceci ?

(?:\b.*\.(TIF(F)|GIF|JP(E)G|PNG|EPS|BMP|WEBP)\b)

Il devrait aussi ignorer quelque chose comme CN01628B.tif.

Je ne suis pas devant mon ordinateur en écrivant ceci, mais j'espère le tester bientôt.

Traduit automatiquement depuis English
par (379 points)
réaffiché

Questions connexes

0 votes
3 réponses 234 vues
(Paul Unger writes) I found a topic in the PT Supporters e-mail list that held promise for how to do this. It ... track. Does anyone know what I need to put for small caps?
anonyme posée avr. 10, 2015
0 votes
2 réponses 314 vues
Une équipe que j'aide aimerait que le nom de Dieu s'affiche en toutes majuscules (pas en petites capitales). Que dois-je ... le contenu de \nd \nd* s'affiche en toutes majuscules ?
Ruth Mathys 153 posée oct. 25, 2023
0 votes
6 réponses 818 vues
Bonjour, j'ai une question concernant le marquage en masse de mots comme incorrects dans la liste de mots. Nous ... maintenant une demande pour le rendre possible ! Merci, Lizzie
anon859055 130 posée juil. 14, 2021
0 votes
6 réponses 455 vues
Je veux que le style \nd soit en petites capitales. Lorsque j'exporte de PT vers RTF, \nd est souligné. J'ai ... de style. Que puis-je faire pour obtenir des petites capitales ?
anon054969 123 posée févr. 20, 2021
0 votes
0 réponses 162 vues
The KJVA uses \sc markup for signs and inscriptions like \sc King of the Jews\sc*. \sc stands ... Scripture Typesetting trainer & Regular Expression Specialist Dallas TX aDllas TX
anon467281 571 posée mars 15, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
I urge you, brothers and sisters, to watch out for those who cause divisions and put obstacles in your way that are contrary to the teaching you have learned. Keep away from them.
Romans 16:17
3,048 questions
6,007 réponses
5,672 commentaires
2,028 utilisateurs