Copy link to clipboard
Copied
Thanks in advance for any help you can provide: I am not sure how I would go about searching for an answer to this question, so please forgive me if this question has been asked and answered before.
I'm working on a contract that requires use of FrameMaker 7.x
I have content that can be broken across a left-right page break (so when the two-page spread is open, the content continues at the top of the right page) but if the content would break across a right-left page break, the entire block of content should be moved to the top of the left page.
I have the FrameMaker SDK documentation etc. but can't find a way to say that a "keep with" rule should only apply if the content is rendered on a left page... that is, keep with previous is enforced when the thing that is "previous" that should be kept with is across the page break but only when the previous page would be a right page.
Is such a thing possible in Frame 7.x?
Copy link to clipboard
Copied
Can you start the left page content with a paragraph type set to "Top of Left page"?
... or does that lead to too many empty right pages.
Copy link to clipboard
Copied
Thanks for that suggestion but unfortunately the content constructs can vary from a 1/4 page to 1.5 pages, with the majority in the 1/4 to 3/4 page size
Copy link to clipboard
Copied
Caracticus,
This is definitely something that would require scripting or custom programming and can certainly be done with the FDK. A segment of text knows what frame it is in, and a frame knows what page it is on, and a page knows what type it is, and a body-type page knows what master page (perhaps right or left) that is assigned to it. So, this is just a short answer to say that yes it is possible if you go that route. You have to know what you are doing with the FDK, though. While it is straightforward when looking at the GUI, is a fairly advanced concept when using the FDK.
Russ
Copy link to clipboard
Copied
Adding on to what Russ mentions, you could also look at FrameScript for FM7.x. It will let you do almost all of what you can do in the FDK, but perhaps in a more friendlier way if you're not a skilled FDK programmer.
Copy link to clipboard
Copied
Can you start the left page content with a paragraph type set to "Top of Left page"?
... or does that lead to too many empty right pages.
Thanks for that suggestion but unfortunately the content constructs can vary from a 1/4 page to 1.5 pages, with the majority in the 1/4 to 3/4 page size
Caracticus,
I think you missed Error's point. No matter the length of the content (1/4 page, 3/4 page, 1.5 page), it always starts at the top of a left hand page.
IF the first paragraph in each content has the same style AND that paragraph style is used only in the first paragraph, then edit the style to Start at Top of Left Page.
IF NOT, then create a paragraph style that is set to Start at Top of Left Page. Then start each chunk of content with a blank paragraph set to the Top-of-Left-Page style. If it takes up too much vertical space, then set its font size to 2 points and line height to 0 points.
Then let things flow.
Van
Copy link to clipboard
Copied
I think maybe the followup question here is whether this needs to happen automatically. My impression was that the desire was to have certain content automatically move to the left page, if it happened to extend past the end of the right page. In this case, automation is required. Certainly, though, it could be managed manually using paragraph formats as Van describes.
Russ
Copy link to clipboard
Copied
The original post is one that changes its comprehension with each reading, at least for me. On the day I added my post, my reading was that all content chunks started at the top of the left page. Reading the whole thread today I concluded that there are some chunks (less than a page) that are allowed to start at the top of the right page, because they do not break at the bottom of the page. Unless the original poster has solved the problem, some clarity would help.
Van
Copy link to clipboard
Copied
<offtopic>(I spent 20 minutes in three different web browsers trying to get the "Reply" button to show up, to learn that even though the top navigation of the Web page shows "Welcome, Caracticus", there's a separate, tiny, "Login" link for the forums above the breadcrumb trail about 1/8th of the way down. Argh.</offtopic>
Hi Van; thanks for your answers... I have constructs that are about a 1/4 to 1/2 a page long, typically, that are allowed be broken (in the middle of the "construct") across "left to right page" breaks, but if a "construct" would break across a right-to-left page break, the construct that would otherwise break should start at the top of the left page.
This is a 1000 page publication. In order for me to benefit, it should be automated... it's not a difficult thing to zoom out and just press page down and every time a construct is NOT started at the top of a left page I go back an put a page break at the beinning of that construct... I think the logic for this is outside the scope of "pagination" because it really is about the entire construct, its start and end points etc. and knowing that should FM 'attempt' to lay out a construct that would have a page break inside it should figure out whether it's a left-to-right or right-to-left and then pop the whole thing to the next page if the latter. Since this is a structured document, what would be great would be a token in the EDD file for the construct that is something like "no page break", "no left-to-right page break", "no right-to-left page break", "allow page breaks here (override ancestor page break settings)" so for a given element, go into the "PaginationProperties" and set "types of page breaks to allow in this construct" then set the construct "wrapper" to one of the four choices above.
What I've done is set the EDD so constructs do not break across page breaks at all, which leaves unappealing white space at the bottom of left pages sometimes, but this is a reference guide where having extra white space at the bottom of left pages is preferfable to having constructs broken across right-to-left page breaks. If the client doesn't like that, I'll explain the effort required to do it optimally (manually pushing constructs to the next page, conditionally) and let them decide.
Copy link to clipboard
Copied
Caracticus,
Thanks for the explanation. I now understand what you are trying to do. Unfortunately, there is nothing that can be done in an EDD or with paragraph formats that can do what you want automatically. As you state, the problem is determining when content breaks across the pages from right side to left, and the EDD cannot do that. It can do the more local things, such as keep with next or keep X lines together, but not the more global thing you are trying to do.
If this is something a FrameScript or othe FDK programmer can do, then you will likely have to hire someone to create the script. My guess is that this is a one-off project. If so, it is probably easier and cheaper but more tedious to review the document visually and add the page breaks where needed.
Good luck,
Van
Copy link to clipboard
Copied
> ... every time a construct is NOT started at the top of a left page I go back an put a page break at the beinning of that construct.
My work has many cases where this sort of thing is needed, such as LH and RH schematic layouts, and Low/High range setting tables. I normally manage it by hand, and where possible, bunch the LH/RH pages together so that only one leading page needs a paragraph with the Start: Top of Left Page property.
In your case, if these topics lead with a paragraph format of, say, TopicStart, I'd create an alternate PgfFmt named TopicStart.LH, which is identical except for Pagination > Start: Top of Left Page
Then, rather than use manual page breaks, just apply the .LH PgfFmt where needed.
Don't forget to add the .LH format to the TOC gen, as appropriate.