Re: Page Breaks

maxwell <[email protected]>
Newsgroups gmane.text.docbook.misc
Message-ID <[email protected]>
On 2016-07-06 16:44, Peter Flynn wrote:
> On 07/06/2016 02:33 PM, Forsyth, Emily B. wrote:
>> Is there an EASY way to get page breaks?  We have tables that are
>> breaking in the middle of a row and don't want that to happen.
> 
> If you are able to use LaTeX as your formatter instead of FO, it should
> be possible to make the table use 'longtable' package (plugin), which
> will automatically break across page boundaries.
> 
>> Also I have blockquote that has programlisting for coding information
>> and do not want that to break in the middle of the block.
> 
> Same; the 'listings' package will break across page boundaries.
> 
> But I don't know if your toolchain allows you to switch to a different
> formatter.

FYI, we use dblatex (http://dblatex.sourceforge.net/) for all our PDF 
production from DocBook files.  dblatex produces a LaTeX (or XeLaTeX, if 
you're using non-ASCII Unicode) file, which you then run through 
(xe)latex to produce the PDF.

> Is there an EASY way to get page breaks?

A comment on this fix: You really have the converse problem.  You don't 
really want to put in a page break just before a longish table, because 
whenever you edit the XML source, you'll be getting a different amount 
of text on the page before the table, and sometimes that will be very 
little text.  What you want instead is to be able to float the table 
onto the next page whenever there's too much text on the current page 
for the table to fit, and then continue outputting the text that happens 
to be after that table in the XML, until you hit the end of the page.  
At least that's how professional typesetting is done, and it is how 
LaTeX does it.  And if you ever have really long tables--ones that won't 
fit even on a blank page--you can use the longtable package that Peter 
mentions for that table.

Actually, I may have misunderstood the original request.  Emily wrote:
> ...tables that are breaking in the middle of a *row*...
(emphasis added)  If it's breaking in the middle of a row, rather than 
in the middle of a table *between* rows, then it sounds like the table 
is too wide for the page, not too long.  In which case one solution 
would be to rotate the table 90 degrees.  There's a LaTeX package for 
this, too: pdflscape (and it automagically rotates the PDF on-screen so 
you don't have to tilt your head to read it).

    Mike Maxwell
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.