Skip to main content
Inspiring
February 3, 2021
Answered

Large figures in 2 columns text

  • February 3, 2021
  • 3 replies
  • 1291 views

Hello,

 

I want to create a 2 text columns document with some figures (graphics) that are wide and need to span over the 2 columns, and some that are less wide and can stay withing the columns. You can find examples of what I mean on the following document, page 15 for the wide figures and page 17 for the less-wide ones:

http://ww1.microchip.com/downloads/en/devicedoc/40044f.pdf

 

How can I set-up my FM structured document for it to place those figures correctly ? I may create two types of elements, like for example "wide graphic" and "narrow graphic", with each one its own linked paragraph style.

 

The tests that I have done so far have not been succesful as they led to unexpected position of the figures.

 

Here is the how the element that I place the figures into is described in the EDD:

Element (Container): Graphic
	General rule: (BlankPage?, TopOfPage?, Anchor, Caption?)+
	Automatic insertions
		Automatically insert child: Anchor
	Text format rules
		In all contexts.
			Use paragraph format: Anchor

And here if the child element "anchor":

Element (Graphic): Anchor
	Initial graphic element format
		In all contexts.
			Insert anchored frame.

Those has been copy/pasted from other projects so they might not be the best for the job, please let me know if they aren't.

 

Here is what I mean by "unexpected position":

I don't understand why the 2nd image keeps being positioned on the right column, cut in half with the caption separated from the image. I'd like to implement some rules to position the image at the most adequate place, linked to the content.

 

Thanx in advance for your help !

 

Best regards

 

Eric

    This topic has been closed for replies.
    Correct answer Lynne A. Price

    Eric,

        An EDD can set individual paragraph or character properties as well as applying entire formats. Instead of specifying a paragraph format in your all-context rule, insert one or more of the Properties elements. Note that these elements correspond to the pages in the paragraph designer. In your case, you want to set a paragraph across all columns, which is a pagination property. Therefore, insert PropertiesPagination, then Placement, and finally AcrossAllColumns.

     

       You don't need different element types for your wide and narrow graphics. Consider using an attribute on the Graphic element, something like Width, with possible values Wide and Narrow. Then you can use a context rule to test the attribute value and set the placement proeprty to either AcrossAllColumns or InColumn accordingly. You can then get rid of the CenteredPageWide and CenteredInColumn elements completely and replace the two CaptionPageWide and CaptionInColumn elements with a single Caption element.

     

       --Lynne 

    3 replies

    Eric5F88Author
    Inspiring
    February 8, 2021

    Hi,


    Thanx a lot for your answers !

     

    I finally found a way that seems to work fine to manage figures "In column" and "Accross all columns":

     

    Create an empty element which sets the paragraph format to a style with "Accross all columns" (or "In column") for the Anchor:

    Element (Container): CenteredPageWide
    	General rule:	<EMPTY>
    	Text format rules
    		Element paragraph format: PageWide
    Element (Container): CenteredInColumn
    	General rule:	<EMPTY>
    	Text format rules
    		Element paragraph format: InColumn

    Create 2 elements for captions: one for "Accross all columns" and the other one for "In column":

    Element (Container): CaptionPageWide
    	General rule:	(...)
    	Attribute list
    		Name: UniqueID 	Unique ID 	Optional 
    	Text format rules
    		In all contexts.
    			Use paragraph format: CaptionPageWide
    Element (Container): CaptionInColumn
    	General rule:	(...)
    	Attribute list
    		Name: UniqueID 	Unique ID 	Optional 
    	Text format rules
    		In all contexts.
    			Use paragraph format: CaptionInColumn

    Here is the resulting structure:

     

    I am not fully satisfied with this method as I must duplicate the style juste to change a single parameter. Would it be possible to set the EDD (or elsewhere) to override a single parameter in the style like the following ? I took an element attribute as a variable but this might not be the right way to go.

    if <attribute name> is <attribute value>:
    	Style > Pagination > Format = "Accross all columns"
    else:
    	Style > Pagination > Format = "In column"

     Thanx in advance !

     

    Best regards

     

    Eric

    Lynne A. PriceCorrect answer
    Inspiring
    February 8, 2021

    Eric,

        An EDD can set individual paragraph or character properties as well as applying entire formats. Instead of specifying a paragraph format in your all-context rule, insert one or more of the Properties elements. Note that these elements correspond to the pages in the paragraph designer. In your case, you want to set a paragraph across all columns, which is a pagination property. Therefore, insert PropertiesPagination, then Placement, and finally AcrossAllColumns.

     

       You don't need different element types for your wide and narrow graphics. Consider using an attribute on the Graphic element, something like Width, with possible values Wide and Narrow. Then you can use a context rule to test the attribute value and set the placement proeprty to either AcrossAllColumns or InColumn accordingly. You can then get rid of the CenteredPageWide and CenteredInColumn elements completely and replace the two CaptionPageWide and CaptionInColumn elements with a single Caption element.

     

       --Lynne 

    Eric5F88Author
    Inspiring
    February 8, 2021

    Thanx a lot, that was exactly what I was looking for !

     

    So if I understand correctly, the condition will look like that:

    If context is: * > Graphic [width = “wide”]
    	Pagination properties
    		Placement: Across all columns

    Is that correct ?

     

    By the way, where can I find a reference guide on EDD syntax ? I have been looking for one on Adode's help pages but could'n find one.

     

    Thanx a lot for taking the tile to answer me !

     

    Best regards

     

    Eric

    Community Expert
    February 4, 2021

    Hi Eric,

     

    I also have a two-column layout, and I often have figures which span both columns. My documents are not structured.

    My figures are in one cell tables. I just extend the width of the table cell to the width of the main text frame. Everything else adjusts automatically.

    Otherwise anchors and tables for single or both columns do not differ.

    The only thing is possibly when your table is anchored in a right column and there is a last text line in the left column, which might be hidden. This depends on your settings in Space before/after in the anchor paragraph and the table. Just experiment. That's the only reason why I have anchor paragraphs for single column and two column tables.

     

    Best regards

     

    Winfried

    Inspiring
    February 3, 2021

    Eric,

       Here are some things you might consider:

    1. If you insert an anchored frame or table that is wider than a single column into a multi-column flow, FrameMaker automatically extends the frame or table across all columns in the flow.
    2. You can use different elements for narrow and wide graphis, but it is not necessary.
    3. The Pagination page of the paragraph designer let's you specify that a paragraph extends across all columns; of course, you can make that setting in your EDD.
    4. There's no way to tell FrameMaker not to insert a page break between an anchored frame and the following paragraph, even if that paragraph is a caption. However, you can put the anchored frame into a cell in a one-column table with the caption in the next row and use the row keep-with settings to keep them on the same page.

     --Lynne