Apache OpenOffice (AOO) Bugzilla – Issue 35545
Float tables/graphics across page boundaries like LaTeX
Last modified: 2017-05-20 11:31:10 UTC
There seems to be a fundamental problem with creating good-looking long, complex living documents that contain tables/graphics. (By "living document", I mean one that has text added/deleted on a routine basis.) If one has, for example, a graphic that takes up, say, 75% of a page, there seems to be no way to tell OOo to behave as follows: "If the anchor point for the graphic is less than 25% into the page, insert the graphic in place; otherwise, move the graphic to the next page AND BRING THE TEXT THAT FOLLOWS THE GRAPHIC FORWARD, SO THAT THERE IS NO BIG GAP OF VERTICAL WHITE SPACE ON THE CURRENT PAGE". In LaTeX, one does this sort of thing with a construct such as the following: \begin{figure}[ht] <commands to insert figure go here> \end{figure} Without this capability, then every time that one adds/deletes text, then one faces the possibility that large vertical white spaces may be created elsewhere in the document as graphics are moved on to different pages, because OOo never allows the text that follows the graphic to be pulled forward to fill up the white space. (All of the above follows for tables, too, and possibly for other types of object.) It is, of course, possible to make any given snapshot of the document look good, by manually moving things around. But as soon as someone changes the amount of text, then one has to go through the entire document moving tables/graphics around to make it look good again. This is an unrealistic amount of work to maintain the visual quality of a large-ish document that contains many graphics and tables. (I apologise for wasting your time if this capability is already present; I spent quite a bit of time and couldn't figure out how to make OOo do this, and the consensus on ooforum is that it cannot be done.)
reassigned to BH.
This is the primary reason why people use FrameMaker or Latex, or any other reasonable word processor (MS-Word excluded since it behaves like Writer). There is simply a "float" checkbox needed in the UI (to maintain compatibility), and a slight improvment of the text formatting. This problem has been around for years (e.g. part of issue 5500), but little hope for action (was hoping that someone inside Sun would react when trying to use Writer instead of FrameMaker, but surprisingly this has not been the case). This deficiency is well known, but writers go on with manual formatting (in Word or Writer) or LaTeX/FrameMaker instead of voting here. Could someone point at where in the LaTeX source this is being done, and where in the Write code it should go? /Klas
Hi Mathias, I have changed the current owner to your owner. Please take the ownership of these enhancements.
<rant reason="fewcomments manyvotes"> Gosh, I can't believe OOo doesn't have a feature like this, even though it's been requested for five years now. It's totally pissing off (and makes no semantic sense) to keep moving tables around MANUALLY just to avoid the blanks. My folks keep on advertising OOo for everyone. But I get pissed off by it each time I try to use it for something real (that means not often). With features like this missing, can Writer actually be considered useful for anything but a three-page document?.. </rant>
the lack of such a feature is indeed very frustrating. Me too, I have to waist a lot of time trying to manually rearrange the text of my documents due to the editing of graphics and frames. I totally agree with the need to fix this problem (or improvement, if you want).
Agreed; I'm needing to include tables in a document about a network design, and I'm getting 3/4-page whitespaces. Perhaps this would be best handled by changing the strange "floating frame" to act more like what some users, at least, expect: to create a kind of subdocument window (IFRAME-style), in which you could drop a figure, and then tell the frame to anchor suitably.
I've accidentally discovered a partial workaround. If you insert your figure into a frame (e.g., by adding a caption), anchor the frame to the paragraph, set the vertical placement to be relative to the page text area, and UN-check the unhelpfully named "follow text flow" attribute, you'll get something closer to the desired behavior. (Incidentally, "follow text flow" really should be renamed. I don't know to what, as I don't know quite what it does; I'm doing this by voodoo at this point.)
Absolutely - it is amazing that OOo does not have this feature. IBM mainframe formatters had this at least 30 years ago!
I've just made two, large documents (200+ pages), and I have found this feature lacking as well. I just had no idea that it was even an option! I've been fiddling with frames for a couple of years now. Please add this! If it only takes three lines of code in LaTex, then surely it can be implemented in Writer without much trouble.
Not having floating frames is one of those things that makes OOo feel like a toy compared to professional tools like FrameMaker. It's too bad that either development is underfunded or the designers don't seem to get what the users need when development priorities are being set.
n7dr hit the nail on the head, and it has been almost six years since this issue was raised. OOo has reached a quality and capability level comparable to Word, now it is time to surpass it. What is the best method of elevating this enhancement?
The lack of proper placement for figures/tables is the main reason I've given up on using OOo for any real work. Even a paper that's only 5-10 pages is bound to have a table or figure. If you've got to manually place stuff on pages, you might as well get out the scissors and glue. I've been watching this issue for almost 5 years in hopes that OOo would become something that I could occasionally use instead of LaTeX, but it's starting to seem hopeless.
This is my Number 1 problem with OO writer! I spend more time manually relocating pictures and frames when something is added or deleted than in typing text in the first place. The fact that MS Word does not have such a feature should simply stimulate OO engineers to add it. It would be a "killer" feature, a super selling point for Writer over Word. I will try the workaround suggested, but please, please, give this a high priority. Back in the 1970's, I was using a Unix program call roff or nroff. It wasn't wysiwyg, but it had this feature. The command was .float <filename>. I would suggest that the feature be implemented as one more radio button on the "Anchor" panel on the "Type" tab of the "picture" or "Frame" window that comes up when you right-click a frame or picture. It might be called "Attach to character as floating frame."
Created attachment 76618 [details] latex layout package user manual.
Created attachment 76619 [details] latex layout package technical code.
In latex, there is a package called 'layouts' that take cares of the floating figures : http://www.tug.org/svn/texlive/trunk/Master/texmf-dist/source/latex/layouts/ layouts.dtx gives a technical explanation of the package. layman.tex seems to be a user manual. These two files need to be compiled with latex to be readable, I did so and attached layman.pdf and layouts.pdf. see layman.pdf section 6 : Float layout. see layout.pdf section 12 : Drawing the layouts of floats The packages 'idxlayout' and 'canoniclayout' may also be relevant. To be used by latex, the .dtx package file is stripped into a .sty file. http://www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/layouts/layouts.sty To understand exactly how latex is processing floating figures, you would need to understand the logic of the .sty package file. I think this could be a good starting point in order to implement a floating figure enhancement in Writer. We could also ignore latex and do our own floating figure, which I don't recommend. Hope that helps.
Reset assigne to the default "issues@openoffice.apache.org".