On 6/1/23 12:46, benoit wrote:
Bonjour
Je voudrais reformater du texte en colonne, qui a été justifié avec
des retours à la ligne (\n) et des "-" de coupure de mot
ex:
Je voudrais reformater du texte en colonne, qui a été just- «---
ifié avec des retours à la ligne (\n) et est - de coupure de
mot.
% sed -rz '{s/-\n//g;s/\n//g}' format.txt
Mais je ne suis pas satisfait du résultat parce que je voudrais
ignorer les points (.\n) suivit d'un retour à la ligne.
Merci d'avance
Une possibilité est l'utilisation de l'utilitaire
https://man7.org/linux/man-pages/man1/fmt.1.html
Une autre possibilité est de le faire sous GNU emacs
https://www.gnu.org/software/emacs/
(ave un peu d'huile de coude, c'est automatisable)
Une autre possibilité est de coder avec GNU bison et/ou GNU flex.
La difficulté est de définir ce qu'est un mot (on peut imaginer un texte
encodé en UTF-8 avec un mélange de mots en hébreu -ou chinois ou serbe
ou arabe ou simplement en anglais- et en français, et alors le problème
est bien plus difficile).
Il faut formaliser ce qu'est le texte d'entrée, et le jeu de caractères
utilisé (UTF-8) et le language humain utilisé.
Même pour du texte en français (ou en anglais), les règles de césure
sont complexes, je ne ne les connais pas toutes (la consultation d'une
grammaire ou d'un manuel typographique s'impose). Par exemple, je crois
me souvenir qu'un nombre (en français) comme 2 145 906 (la population de
Paris en 2020) ne doit pas être césuré!
Les logiciels de typographie libres (par exemple https://latex.org/ ou
Lout en https://ftp.gnu.org/gnu/lout.README ...) sont compliqué pour
gérer la césure correctement!
Librement
--
Basile Starynkevitch<bas...@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/