View Single Post
Old 06-06-2012, 05:18 PM   #148
roger64
Wizard
roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.roger64 ought to be getting tired of karma fortunes by now.
 
Posts: 1,456
Karma: 846401
Join Date: Jan 2009
Device: KoboGlo
Bonjour

Édition

L'être ou ne pas l'être, un recueil de nouvelles de Richard O'Monroy publié en 1890.

Logiciel

Mise en place d'images répétitives.
Il a été indiqué la semaine dernière une technique qui fonctionne bien. Elle a l'inconvénient d'être verbeuse. Dans la page html, vous pouvez éclaircir le code de l'image ainsi (source: Jellby):
1. - Changer alt="images3" en alt="" L'attribut alt est ce qu'utiliserait le programme de lecture ou ce qui serait affiché si les images étaient supprimées par défaut. Vous ne souhaitez probablement pas que "images3" soit lu ou affiché. Il ne faudrait utiliser l'attribut alt que lorsqu'il est nécessaire de fournir une description. Attention dans ce cas, à ne pas faire double emploi avec la légende.
2. - L' id="images3graphic" n'est probablement pas nécessaire. Si vous l'utilisez pour plusieurs chapitres, il faudrait mettre un attribut id différent par image.
Compte tenu de ces deux remarques, vous obtenez alors ceci:
<div style="text-align:center"><img alt="" class="frameGraphics" src="../Images/image003.png" style="width:30%" />

Il est même recommandé d'aller plus loin en mettant dans la feuille de style css la valeur width:30%. On la «borde» souvent en indiquant une marge pour aider certains lecteurs déficients. Je proposerai que ce traitement soit assuré automatiquement par writer2xhtml en cas d'image multiple.

Nettoyer la feuille de styles.

C'est un luxe qui devrait être superflu. Si vous avez inséré dans votre modèle des textes html dont vous avez supprimé le formatage au préalable, vous ne devriez avoir que très peu de déchets. S'il s'agit par contre de travailler avec un texte converti d'un fichier Word, ce peut être différent.

Le nettoyage peut être – et devrait être – fait à deux niveaux: d'abord dans le fichier odt, peu avant d'exporter l'EPUB vous pouvez lancer la macro jointe. – installer dans Mes Macros - Standard – Elle détecte et propose de détruire les styles personnels non utilisés (caractère et paragraphe). C'est un premier pas.

Spoiler:


Code:
'---------------------------------------------------------- 03/02/2012
' Supprimer les styles personnalisés inutilisés
' d'un document texte ou d'un classeur
'---------------------------------------------------------------------
sub stylesPersoInutiles()
dim coStylesFamilles as object, oStyleFamille as object
dim oStyle as object, nomFamille as string
dim f as long, x as long
dim ts(), buf as string, iRet as integer
const SEP = ", "

    coStylesFamilles = thisComponent.StyleFamilies
    for f = 0 to coStylesFamilles.count -1
        ' Pour chaque famille
        nomFamille = coStylesFamilles.elementNames(f)
        oStyleFamille = coStylesFamilles.getByName(nomFamille)
        buf = ""
        for x = 0 to oStyleFamille.Count -1
            ' Pour chaque style
            oStyle = oStyleFamille(x)
'xray oStyle            
            if (oStyle.isUserDefined) and (not oStyle.isInUse) then
                buf = buf & oStyle.name & SEP
            end if
        next x
        
        if len(buf) > len(SEP) then
            buf = left(buf, len(buf) - len(SEP))
            iRet = msgBox("Styles personnalisés non utilisés : " _
                & chr(13) & buf & chr(13) & chr(13) _
                & "Faut-il les détruire ?", 4+32+256, nomFamille)
            if iRet = 6 then
                ts = split(buf, SEP)
                for x = 0 to uBound(ts) 
                    oStyleFamille.removeByName(ts(x))
                next x
            end if
        end if
    next f
end sub

Après l'export vers l'EPUB, il est conseillé de donner un coup d'œil de contrôle à la feuille de styles. Si vous voyez un style que vous n'avez pas le souvenir d'avoir utilisé, faites une recherche en vue code avec son nom (Expression rationnelle, tous fichiers html). On peut parfois éradiquer ainsi quelques délinquants.

Les utilisateurs Linux peuvent utiliser ce code:

Spoiler:

Code:
pcregrep -o -h 'class=".+?"' * >fic_tmp.$$
for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr
Essayé sur l'un de mes EPUBs.

Code:
roger@lmde64 ~/Bureau/Coups/OEBPS/Text $ pcregrep -o -h 'class=".+?"' * >fic_tmp.$$
roger@lmde64 ~/Bureau/Coups/OEBPS/Text $ for i in $(sort -u fic_tmp.$$); do echo "$i $(grep -rc $i fic_tmp.$$)"; done | sort -t ' ' -k2 -nr
class="smcpIncise" 225
class="smcpCentrage" 57
class="Header" 54
class="let" 35
class="let2" 35
class="let1" 35
class="Standard" 28
class="Centrage" 24
class="smcpTypeA" 17
class="smcpTypeV" 16
class="smcpDroite" 16
class="Subtitle" 5
class="Italdroite" 5
class="Heading" 2
class="smcpChanson" 1
class="frameFrame" 1
class="Chanson" 1
roger@lmde64 ~/Bureau/Coups/OEBPS/Text $

Le résultat fournit des informations utiles pour intervenir le cas échéant (la recherche ne porte que sur les styles pourvus d'une classe).

Enfin, comme vous utilisez au moins le mappage des attributs de style, il ne doit pas y avoir de style parasite type span qqch dans l'en-tête des pages html elles mêmes.

Ces embryons de solution, appliqués dans l'EPUB plus haut, devraient être complétés.

Last edited by roger64; 06-30-2012 at 12:09 AM. Reason: spoiler
roger64 is offline   Reply With Quote