4

I have two similar formatted ASCII files and want to convert the two into one *.epub ebook such that file1 is printed only in the left and file2 only in the right column.

In this case: The Italian version + the english translation of Divine Comedy / La Divina Commedia by Dante Alighieri.

Glad if someone can help out.

3

In general, you will probably not get good results on most devices when trying to do a two column layout in epub. There is no way of correlating one paragraph to another, which means you will probably run into situations where the page breaks do not work well if at all. In addition, many epub reading systems do not work well with floating text (which is how you would create columns).

If you'd still like to try experimenting with it, I would suggest breaking the text of each book into paragraphs, interleaving them, and having the text of one book float left while the other floats right. Look out for paragraphs that run off the edge of the page and do not continue on the next page, though, as well as overlapping text at the top of pages.

A quick and dirty example of some code you could get started with:

<p class="english">This is the first paragraph</p>
<p class="italian">This is the first paragraph</p>

and the corresponding CSS:

p.english {
width: 45%;
margin: 1.25%;
float: left;
}
p.italian {
width: 45%;
margin: 1.25%;
float: right;
}

As for the initial conversion, you might check out this question.

| improve this answer | |
0

Preface: not my area of expertise, but your question intrigued me, so I tried an experiment.

I am on a Win 7 machine, using LibreOffice 4+ and Calibre. I had some large text documents that I used for the test. I created a two column table in LibreOffice and pasted the text files into the left and right cells. They expanded as necessary (16 pages). I saved as HTML. It looked OK in IE. I imported the book to Calibre and ran a conversion to epub using the defaults. The text on the right did not show up until about page 5 (white space until then). I don't know why.
As an initial demonstration, this may be helpful, but it obviously has issues, including those cited by Tom of paragraph alignment. A way to address the alignment might be to use multi row tables and keep the related text in the same row, different columns. A row could be as small as a paragraph, or as large as a chapter.

I also tried creating a two column frame, but that behaved like a newspaper set up, the text that was beyond the bottom of the first page wrapped to the second column, so that's not the way to go.

I thought about my test a little more and decided the text I used was not suitable. I tested again using the first 32 sonnets in the Complete Works of Shakespeare that I had as a text file. I put the same text into both columns, independently. I proceeded as above. After conversion it looked pretty good, but not perfect. The issues I noted were: the left column had about 4 lines of white space at the top, which the right column did not; the columns did not fully match throughout the epub of 41 pages, but were pretty close. This may actually meet your needs.

| improve this answer | |
  • I would strongly urge against the use of tables in epub documents in general, particularly when used for layout. Most reading systems that I have tested on (which includes most of the e-Ink reading device families) will lose any tabular content that does not fit on the screen. If someone is viewing the text at a large font size, it becomes fairly easy for even normal-length sentences to fill a half-width table cell to the point that some of the sentence will run off the screen, and therefore be completely inaccessible. – Tom Apr 3 '15 at 18:49
0

I sometimes use tables, and found they work fine on most ereaders: kindle, ipad, nook. In this case I would use a two columns table. The problem is splitting the text into each cell of the table: there should be one paragraph per cell. This allows to make sure that the left and right sides display the same paragraph. I use alkinea to convert the odt file to epub or kindle.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.