Insérer des images avec l'ancrage "comme caractère" (ou autre) par défaut dans LibreOffice Writer

Le problème

Après l'installation de LibreOffice, l'opération d'insertion d'une image dans un document Writer affecte, par défaut, l'ancrage "Au paragraphe" à l'image, comme le montre l'examen du style "Images". Il n'est ensuite plus possible de changer ce comportement par défaut. Ici, c'est la version 6.0.73 de LibreOffice qui est à la manœuvre mais le comportement décrit est ancien (bug 32484).
Style Images

Lorsque l'on utilise beaucoup d'images, il y a des moments où l'on aimerait bien changer ce comportement par défaut. Par exemple, l'auteur de cette page prèfère généralement ancrer les images "Comme caractère" et, au-delà d'une dizaine d'images, être obligé à chaque fois de cliquer droit sur l'image pour descendre dans le menu contextuel choisir "Ancre > Comme caractère" lui semble un chemin de croix. L'utilisation des raccourcis clavier n'est guère plus agréable.

La boîte de dialogue du style "Images" offre bien un bouton "Éditer le style" mais il semble qu'aucune fonction ne lui soit attachée : le clic ne déclenche aucune réaction. Les onglets ne contiennent rien qui permette d'agir sur l'ancrage. Dans l'onglet Gestionnaire, l'activation de l'actualisation automatique du style ne prend pas en compte le changement d'ancrage. Passer par l'outil "Conception de formulaire", comme l'indique l'aide de LibreOffice, ne résout pas davantage le problème.

On pourrait songer à attacher une macro à l'insertion d'une image mais ce serait utiliser un marteau-pilon pour écraser une mouche.

Cette page présente une solution plus propre et conforme à l'esprit de LibreOffice (inspirée par cette discussion).

La manipulation décrite a été testée sous Ubuntu 18.04 avec LO 6.0.73 et sous Ubuntu 14.04 avec LO 5.2.7.2.

Si vous êtes pressé, vous pouvez aller directement en bas de page pour télécharger les modèles de documents génériques incorporant les quatre comportements par défaut possibles : ancrage à la page, au paragraphe, au caractère et comme caractère.
Si, au contraire, vous voulez personnaliser un de vos modèles existant pour modifier son mode d'ancrage par défaut, alors suivez la démarche décrite ci-dessous.

Il est à noter que l'affichage de l'onglet Gestionnaire de la boîte de dialogue "Style de cadre: images" est également bogué : il n'affiche pas correctement l'ancrage appliqué par le style "au caractère" ou "comme caractère", bien que les comportements soient bons ! Ne pas prêter attention à ces indications.

Une solution

Tous les styles utilisés par un modèle de document sont stockés dans le modèle lui-même d'une manière très accessible. Tout document au format Writer (odt ou modèle ott) est en fait un dossier compressé (comme un zip).

Pour s'en convaincre, trouver le chemin de rangement des modèles
Option chemins et le suivre pour ouvrir le modèle à modifier. Par exemple, ici, le modèle modele_img_ancre_comme_caractere.ott a été créé pour l'occasion en "enregistrant sous…" le format d'un modèle (ott) un document créé avec les options par défaut de LibreOffice. Son nom est choisi pour indiquer qu'il va être modifié afin de lui faire insérer les nouvelles images avec l'ancrage "Comme caractère" par défaut mais, bien sûr, pour le moment il contient l'ancrage "Au paragraphe".
Commencer par refermer LibreOffice pour libérer l'accès au fichier puis l'ouvrir avec un gestionnaire d'archives comme Engrampa, par exemple. Ouvrir le modèle avec un gestionnaire d'archive
Si le gestionnaire refuse d'ouvrir le fichier pour cause de format inconnu, renommer temporairement le fichier en .zip pour l'ouvrir :
Ouvrir le modèle zip avec un gestionnaire d'archive
puis extraire uniquement le fichier styles.xml (laisser l'archive ouverte - elle va être de nouveau utile bientôt).

C'est ce fichier qui contient les styles utilisés par le modèle de document et qu'il va falloir modifier pour changer le mode d'ancrage par défaut des images à l'insertion.

S'agissant d'un fichier xml, il va être possible de le modifier avec un simple éditeur de texte comme gedit ou pluma. Malheureusement, ce fichier contient deux lignes et la deuxième peut contenir 10 000 ou 20 000 caractères, ce qui peut rendre l'éditeur de texte EXTRÊMEMENT LENT. Si ceci se produit, il est possible de redonner à l'opération une vitesse plus normale et, en même temps, de rendre le fichier plus lisible pour les humains en le renommant styles0.xml, par exemple, puis en appliquant dans un terminal ouvert dans son dossier la commande suivante

cat styles0.xml | sed 's/></>\n</g' > styles.xml

qui introduit des sauts de lignes entre les balises.

Dans le nouveau fichier styles.xml ainsi produit, rechercher le nom Graphics :
fichier styles.xml.
L'élément qui porte ce nom en contient un autre de type "style:graphic-properties" doté de l'attribut text:anchor-type avec la valeur "paragraph".

Nous y sommes : ceci signifie que le style des images contient le type d'ancrage "Au paragraphe".

Maintenant, c'est simple, il suffit de remplacer ce type d'ancrage par celui voulu pour le modèle en cours de transformation. On a le choix de remplacer "paragraph" par l'un des types suivants :

Par exemple, la préférence de l'auteur de cette page va à l'ancrage "Comme caractère", ce qui donne :
fichier styles.xml
et, bien sûr, enregistrer le fichier après avoir fait la modif.

Il faut maintenant remettre ce fichier modifié dans le modèle. Pour cela, retourner dans la fenêtre du gestionnaire d'archive et activer la commande de menu "Ajouter des fichiers" :
Ajouter des fichiers
puis aller chercher le fichier qui vient d'être modifié :
Ajouter styles.xml
et l'ajouter.

Il prend la place de l'ancienne version dans l'archive.

Il ne reste plus qu'à refermer l'archive qui contient ce modèle. Le cas échéant, si le fichier a été renommé en .zip, lui redonner l'extension .ott. Le placer dans le dossier des modèles (si la modification a été faite dans un autre répertoire) puis relancer LibreOffice pour qu'il prenne en compte les nouveaux modèles.

Le cas échéant, recommencer l'opération pour créer des modèles avec d'autres ancrages par défaut. Les fichiers de travail styles0.xml et styles.xml extérieurs au(x) modèle(s) peuvent ensuite être supprimés.

Désormais, les documents LibreOffice créés en appliquant un modèle ainsi modifié : Mdèle pour ancrer Comme caractère par défaut
feront l'insertion d'image avec le nouveau type d'ancrage spécifié.
Ancrage Comme caractère par défaut

Téléchargement des modèles modifiés

Ces modèles ont été créés à partir d'un document engendré par LibreOffice Writer avec les options par défaut en place juste après l'installation de la distribution, enregistré sous le format modèle (ott) puis modifié pour incorporer l'un des ancrages possibles. Pour mémoire, celui avec l'ancrage initial est également disponible ci-dessous avec un nom qui permet de l'identifier facilement dans LibreOffice, avec la même présentation que les autres.

Ils ont été testés avec LO 5 et 6.

Pour utiliser ces modèles, les télécharger, les placer dans le dossier des modèles personnels pour LibreOffice et vérifier qu'ils possèdent les droits de lecture et d'écriture pour l'utilisateur et son groupe, puis relancer LibreOffice. Dans la boîte de dialogue "Modèles" de LibreOffice (qui s'ouvre notamment lorsque que l'on souhaite créer un nouveau document selon un modèle), il n'y a plus qu'à déclarer celui voulu comme modèle par défaut, à l'aide d'un clic droit.
Modèles avec les quatre ancrages


logo html 5  Validé avec le vérificateur expérimental du W3C