Mobileread
Initials in Sigil
#1  Milan2 02-06-2021, 05:30 PM
Hi people,

Thank you very much for accepting me.

I am quite a newbie in creating ePubs in Sigil.

A new big issue came from out of nowhere by controlling the output...

I use big initials not only at the beginning of a chapter, but also in the middle of a chapter. Like a sub-chapter or so.

I would like to treat them like a picture, so I close them by tags <div> and <span> and I am trying my best with the CSS styles.

Everything works good till a page-break comes. The surrounding text is behaving in an uncontrollable way, it is either o.k., or the next <p> Is coming in front of a span and div with initial , or the initial stays on the previous page and the text goes to the next one.

What I really want is the initial to stay always in front of the following paragraphs and to be sailed around by the text like a picture. But if the initial together with the surrounding paragraph doesn’t fit to the previous page, than I won’t them both to be pushed to the next page, initial always to be the first and the following paragraphs next to the initial, behind and beneath of corse, not vice versa...

Any idea how to proceed?

thank you very much in advance
Reply 

#2  DNSB 02-06-2021, 08:55 PM
I suspect that asking in the Sigil forum or the Epub forum would be better.

I'm going to assume that what you are calling big initials are drop caps. Are you placing them inside the same block tag as the rest of the sentence.

<p><img alt="A" class="initial_A" src="../Images/cap_A.jpg"/>ndthe rest of the sentence...</p>

Personally I am not overly fond of drop caps since they are a total PITA to try to have look good over different platforms and screen resolutions.
Reply 

#3  pdurrant 02-07-2021, 02:40 AM
Quote DNSB
I suspect that asking in the Sigil forum or the Epub forum would be better.
Moved to the Sigil forum
Reply 

#4  un_pogaz 02-07-2021, 06:23 AM
Which CSS rules do you use ?
To make a "clean" Lettrin it is recommended to use "float: left;"

HTML
Code
<p class="lettrine"><img class="lettrine" src="../Images/lettrine.png" alt="Rentai"/>raesent orci dui, pulvinar id convallis a, faucibus non mauris. Donec tellus augue, tempus sed facilisis sed, fringilla quis leo.</p>
<p class="text">Mauris vulputate, leo ac facilisis vulputate, enim orci interdum augue, in blandit quam turpis quis dui. Morbi dictum luctus velit nec faucibus. Cras vitae tortor purus, ut tincidunt mauris. Sed at velit nisl. Donec eu mauris tortor, interdum condimentum erat. Nam egestas <sub>turpis</sub> <sup>eget</sup> nibh laoreet pharetra.</p>
CSS
Code
p { margin: 0.25em 0 0;
}
p.text { text-indent: 1.25em;
}
p.lettrine { text-indent: 0;
}
img.lettrine { display: inline; float: left; height: 8em; margin-top: -0.5em; margin-bottom: 0;
}
But as having perfect Lettrin is probably impossible with all the subtle differences between the reader, you have to do your best, but accepted compromises and unpleasant surprises.

EDIT: Sorry for the lot of edit, but more I reread my text and more I find precision to make.
Capture d’écran 2021-02-07 122022.png 
Reply 

#5  phillipgessert 02-08-2021, 09:39 AM
Perhaps you can share your code, but I half suspect your issue is a mix of <div> within <p> (both being block elements) plus quirks of reflowability.
Reply 

#6  Milan2 02-18-2021, 02:55 AM
Hi friends,

Thank you very much for your answers, which I appreciate. At the end I am still sustaining by my old version which I simplified by cutting all doubling orders, divs etc.

The result looks fine in all devices, what concerns with Drop Caps and making free space for next lines of text.

The only annoying thing on the whole process is, that the first line with the Drop Cap is slightly lowered than expected, what is fine in the middle of a page, but looks weird on the top of a page, if two pages are next teach other. (computer or iPad - double pages view)

Till now it is the best looking and safe version I ve ever found.


I use the Paragraph class:


p.class


margin: 0 0 0 0;
border: 0;
width: auto;
padding: 0 0 0 0.5rem;

break-inside: avoid;
page-break-inside: avoid;


Inside a span.class which is actually the drop cap

Span.class


display: block;
border: 0px solid blue;
padding: 0rem 0 0rem 0rem;
height: 3rem;
color: #dd3210;
margin: -0.8rem 0.2rem 0.6rem -0.2rem;
text-align: left;
font-size: 3rem;
float: left;

And at the end I use a space zero div with function:

clear: both;
Reply 

Today's Posts | Search this Thread | Login | Register