Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
corrections_de_masse_dans_writer [2020/11/02 13:24] jean |
corrections_de_masse_dans_writer [2020/11/02 14:54] (Version actuelle) jean |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | | + | ** **Correction de masses dans Writer.**** |
+ | // | ||
+ | | ||
Utilisation des expressions régulières ou REGEX. | Utilisation des expressions régulières ou REGEX. | ||
Ligne 9: | Ligne 11: | ||
Après « télétravail » (ligne 5) dans le corps du texte, je suppose que l’auteur a voulu mettre des points de suspension, en oubliant que ce caractère de suspension compte 3 points et pas un de plus. Là, nous en avons 5 ou 6. Pour autant, il les a correctement placés tout à fait à la fin de son article. | Après « télétravail » (ligne 5) dans le corps du texte, je suppose que l’auteur a voulu mettre des points de suspension, en oubliant que ce caractère de suspension compte 3 points et pas un de plus. Là, nous en avons 5 ou 6. Pour autant, il les a correctement placés tout à fait à la fin de son article. | ||
+ | |||
Le texte fautif au format LibreOffice : | Le texte fautif au format LibreOffice : | ||
Ligne 26: | Ligne 29: | ||
Corrigeons pas à pas ce texte. Supposons toutefois qu’il ne fait pas un paragraphe comme ici, mais 200 pages. | Corrigeons pas à pas ce texte. Supposons toutefois qu’il ne fait pas un paragraphe comme ici, mais 200 pages. | ||
+ | |||
Concernant l’espace avant la virgule et le point, nous pouvons le supprimer à la main, mais au bout de 200 pages… Optons pour la fainéantise qui est mon leitmotiv : | Concernant l’espace avant la virgule et le point, nous pouvons le supprimer à la main, mais au bout de 200 pages… Optons pour la fainéantise qui est mon leitmotiv : | ||
+ | |||
Faisons « Édition », | Faisons « Édition », | ||
+ | |||
Je rappelle qu’une expression régulière (traduction fautive de « regular expression ») est un « motif » (match en anglais) susceptible de représenter des caractères différents mais qui ont toujours la même forme (exemple : je cherche tous les mots en majuscule suivis d’une espace suivie de 2 chiffres suivis d’un point. On peut trouver DUPONT 27. tout comme OCTOBRE 10.) | Je rappelle qu’une expression régulière (traduction fautive de « regular expression ») est un « motif » (match en anglais) susceptible de représenter des caractères différents mais qui ont toujours la même forme (exemple : je cherche tous les mots en majuscule suivis d’une espace suivie de 2 chiffres suivis d’un point. On peut trouver DUPONT 27. tout comme OCTOBRE 10.) | ||
+ | |||
Revenons à notre espace suivie d’un point. Dans le cartouche « Rechercher », | Revenons à notre espace suivie d’un point. Dans le cartouche « Rechercher », | ||
+ | |||
+ | |||
Dans le cartouche « Remplacer », | Dans le cartouche « Remplacer », | ||
+ | |||
Pourquoi l’antislash \ avant le point dans le cartouche « Rechercher » ? | Pourquoi l’antislash \ avant le point dans le cartouche « Rechercher » ? | ||
+ | |||
Pas de panique, si vous procédez à une correction de masse qui se révèle être fautive, vous fermez le cadre « Rechercher et remplacer » puis vous faites « Édition » et « Annuler » ou (je suis un épouvantable fainéant assumé) Ctrl z. Vous retrouverez instantanément votre texte tel qu’il était avant de commettre l’erreur. | Pas de panique, si vous procédez à une correction de masse qui se révèle être fautive, vous fermez le cadre « Rechercher et remplacer » puis vous faites « Édition » et « Annuler » ou (je suis un épouvantable fainéant assumé) Ctrl z. Vous retrouverez instantanément votre texte tel qu’il était avant de commettre l’erreur. | ||
+ | |||
Je reviens au point. En REGEX, le point représente n’importe quel caractère. L’aide de LibreOffice (F1 puis expressions régulières dans le cartouche de recherche) nous dit que le point représente précisément : | Je reviens au point. En REGEX, le point représente n’importe quel caractère. L’aide de LibreOffice (F1 puis expressions régulières dans le cartouche de recherche) nous dit que le point représente précisément : | ||
+ | |||
OK, le point représente pratiquement tous les caractères. Or, je recherche très précisément le point de ponctuation. Il me faut alors le protéger (ou l’échapper) avec l’antislash \. Là, LibreOffice oublie la signification REGEX du point et cherche uniquement le caractère de ponctuation. | OK, le point représente pratiquement tous les caractères. Or, je recherche très précisément le point de ponctuation. Il me faut alors le protéger (ou l’échapper) avec l’antislash \. Là, LibreOffice oublie la signification REGEX du point et cherche uniquement le caractère de ponctuation. | ||
+ | |||
Donc, nous avons _\. (je rappelle, le _ est une espace dans mon exemple !) dans rechercher et un simple point dans remplacer. Nous cliquons sur « Remplacer tout » et nos deux fautes sont corrigées. | Donc, nous avons _\. (je rappelle, le _ est une espace dans mon exemple !) dans rechercher et un simple point dans remplacer. Nous cliquons sur « Remplacer tout » et nos deux fautes sont corrigées. | ||
+ | |||
Nous allons faire la même chose avec la virgule précédée, | Nous allons faire la même chose avec la virgule précédée, | ||
+ | |||
Mais une nouvelle faute apparaît. En effet, notre première phrase devient « s’accélérer, | Mais une nouvelle faute apparaît. En effet, notre première phrase devient « s’accélérer, | ||
+ | |||
Cette correction pourrait générer un autre genre d’erreur. En fin de texte exemple, nous avons les mots « s’accélérer, | Cette correction pourrait générer un autre genre d’erreur. En fin de texte exemple, nous avons les mots « s’accélérer, | ||
+ | |||
Si nous recherchons simplement la virgule dans le cartouche « Rechercher » et la virgule suivie d’une espace dans le cartouche « Remplacer », | Si nous recherchons simplement la virgule dans le cartouche « Rechercher » et la virgule suivie d’une espace dans le cartouche « Remplacer », | ||
+ | |||
Dans nos deux exemples, nous observons que nos virgules fautives sont encadrées de mots et nos virgules non fautives sont entourées de chiffres. Il nous faut alors distinguer les deux. | Dans nos deux exemples, nous observons que nos virgules fautives sont encadrées de mots et nos virgules non fautives sont entourées de chiffres. Il nous faut alors distinguer les deux. | ||
+ | |||
Au bas de la page d’aide que nous avons ouverte (F1 puis expressions régulières dans le moteur de recherche), nous voyons différents termes génériques susceptibles de nous intéresser, | Au bas de la page d’aide que nous avons ouverte (F1 puis expressions régulières dans le moteur de recherche), nous voyons différents termes génériques susceptibles de nous intéresser, | ||
+ | |||
Nous allons donc passer dans le cartouche « Rechercher » (en faisant Ctrl h bien sûr) [: | Nous allons donc passer dans le cartouche « Rechercher » (en faisant Ctrl h bien sûr) [: | ||
- | L’espace manquant après la virgule apparaît bien et nous voyons que notre nombre 1,29 n’a pas été corrigé. C’était le but poursuivi, mais notre texte est à nouveau fautif. En effet, la dernière phrase devient « ... semble s’accélére, | + | |
+ | L’espace manquant après la virgule apparaît bien et nous voyons que notre nombre 1,29 n’a pas été corrigé. | ||
+ | |||
+ | C’était le but poursuivi, mais notre texte est à nouveau fautif. En effet, la dernière phrase devient « ... semble s’accélére, | ||
Il va donc nous falloir l’obliger à se souvenir du caractère précis qui est concerné par [:alpha:] avec des parenthèses. Nous placerons alors dans le cartouche « Rechercher » ceci ([: | Il va donc nous falloir l’obliger à se souvenir du caractère précis qui est concerné par [:alpha:] avec des parenthèses. Nous placerons alors dans le cartouche « Rechercher » ceci ([: | ||
+ | |||
La phrase « … semble s’accélérer, | La phrase « … semble s’accélérer, | ||
+ | |||
Que s’est-il passé ? Nous avons demandé à LibreOffice de mémoriser les caractères alphabétiques en mettant ([:alpha:]) avec des parenthèses. Nous avons récupéré ces variables avec $1 pour la première variable, $2 pour la seconde. Je ne connais pas jusqu’à quelle profondeur de variables ($3, $4, $n)peut aller LibreOffice. Pour être franc, il est exceptionnel que j’aille jusqu’à $3 ! | Que s’est-il passé ? Nous avons demandé à LibreOffice de mémoriser les caractères alphabétiques en mettant ([:alpha:]) avec des parenthèses. Nous avons récupéré ces variables avec $1 pour la première variable, $2 pour la seconde. Je ne connais pas jusqu’à quelle profondeur de variables ($3, $4, $n)peut aller LibreOffice. Pour être franc, il est exceptionnel que j’aille jusqu’à $3 ! | ||
+ | |||
Il nous reste les points de suspension fautifs après le mot « télétravail » de la 5e ligne. L’auteur a mis 5 points, alors que l’exacte ponctuation est 3 points, pas un de plus. | Il nous reste les points de suspension fautifs après le mot « télétravail » de la 5e ligne. L’auteur a mis 5 points, alors que l’exacte ponctuation est 3 points, pas un de plus. | ||
+ | |||
Certes, avec Ctrl h et en décochant « Expressions régulières », | Certes, avec Ctrl h et en décochant « Expressions régulières », | ||
+ | |||
Nous avons demandé à LibreOffice de rechercher un point (\.) qui serait reproduit 4 fois ou plus ({4,} on n’oublie pas la virgule!) et on remplace ce motif par … | Nous avons demandé à LibreOffice de rechercher un point (\.) qui serait reproduit 4 fois ou plus ({4,} on n’oublie pas la virgule!) et on remplace ce motif par … | ||
+ | |||
Dans cet exemple, vous pouvez rencontrer une vraie correction faite d’autorité par LibreOffice et qui transforme les 3 points successifs « ... » (forme malgré tout fautive) par la vraie ponctuation comme ceci … qui correspond à un caractère unique. Si tel devait être le cas, notre REGEX \.{4,} serait inopérante dans le sens où LibreOffice trouverait un caractère de ponctuation correct … suivi de deux points. Ça ne correspondrait pas au motif recherché (4 points successifs ou plus). LibreOffice vous répondrait à raison « Terme recherché introuvable » et c’est normal. | Dans cet exemple, vous pouvez rencontrer une vraie correction faite d’autorité par LibreOffice et qui transforme les 3 points successifs « ... » (forme malgré tout fautive) par la vraie ponctuation comme ceci … qui correspond à un caractère unique. Si tel devait être le cas, notre REGEX \.{4,} serait inopérante dans le sens où LibreOffice trouverait un caractère de ponctuation correct … suivi de deux points. Ça ne correspondrait pas au motif recherché (4 points successifs ou plus). LibreOffice vous répondrait à raison « Terme recherché introuvable » et c’est normal. | ||
+ | |||
En ce cas, et pour pouvoir tester notre correction, je vous invite à supprimer à la main les points de suspension ainsi que les deux points suivants et à les remettre à la main. | En ce cas, et pour pouvoir tester notre correction, je vous invite à supprimer à la main les points de suspension ainsi que les deux points suivants et à les remettre à la main. | ||
+ | |||
À bientôt pour d’autres aventures avec les REGEX et LibreOffice ☺ | À bientôt pour d’autres aventures avec les REGEX et LibreOffice ☺ |