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/

Répondre à