cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X

FOSI floats spacing and overflow questions

ptc-953343
1-Visitor

FOSI floats spacing and overflow questions

I'm trying to format my figures such that they float to the next page as
needed. I have two sets of markup for figures, one for a single graphic
and then another with multiple sheets.

SINGLE

<figure>
<title>this is the title</title>
<graphic filreref="image.cgm"/">
</figure>

MUTLI-SHEET

<figure>
<title>this is the title</title>
<subfig>
<graphic filreref="image2.cgm"/">
</subfig>
<subfig>
<graphic filreref="image3.cgm"/">
</subfig>
</figure>

I created a floatloc:

<floatloc floatid="figfloat" floattyp="once" minspace="13pt"&lt;br"/>nomspace="13pt" maxspace="13pt">

I have set this as both a bot and top float on the page descriptions with
varying results.

<rectopg bind="lleft" chgmkplc="pright" xvjstretch="max"&lt;br"/>topfloat="table-title.top" botfloat="figfloat" >

<rectopg bind="lleft" chgmkplc="pright" xvjstretch="max"&lt;br"/>topfloat="table-title.top figfloat" >

And I use the float on my figure element:
<e-i-c gi="figure" gitype="element">
<charlist inherit="0" charsubsetref="center" block=" noindent&quot;=">
<float flidref="figfloat" width="page" scope="figure" pagetype="afterref">
<savetext textid="tabtitle" conrule="\\">
<reset resetlist="sheetct">
<usetext source="&lt;ps.figtitle">,tabtitle,</ps.figtitle>" placemnt="after">
<subchars></subchars>
</usetext>
</charlist>
</e-i-c>

Note, The graphic is also boxed with the figure caption appearing below he
graphic and outside this border.

Note that I have a scope of FIGURE on my figure element definition. I'm
not sure why this works and setting it to section or chapter doesn't. When
I use the wrapping elements the figures disappear

My understanding is that scope specifies when something has to be output.
So I thought it would allow more flexibility in final placemenent, but
instead it disappears, while setting it to figure, things work with the
following hiccups.

1) When I set the figfloat to topfloat I had an occasion where a table
broke from the previous page as well as a figure being produced. I got the
output but not the way I expected. I got the table continued title, the
figure, the figure title, followed by the remainder of the table.

2) In my single sheet example I have problems when 2 half page graphics
get placed on the same page. I'll get
- the first graphic (boxed)
- start of the second graphic (boxed),
- first figure title about .5in inside the second graphic box
- followed by the second figure title placed properly.

Yet when I use the multisheet markup everything formats properly. I'm
testing right now, so I'm using the same image multiple times, so if it
fits twice on a page in one scenario it should in the second. It's not an
issue with space on the page, there is something about the pre/psot space
that is not beign triggered properly. I've played with pre/post space on
the figure, graphic, and title elements trying to see what is controlling
the space and nothing seems to touch this. I'm getting about a .2inch
after the title before something starts after it, and the top of the image
box seems to occur at different positions depending upon content of the
page. When set in a topfoat area, the top is not consistently at the same
location.

3) This common half page graphic I'm testing with occasionally gets a
larger bounding box and reduced into the lower left corner. I get about 1
inch of space on top and to the right. The bounding box is taking more
space than it should as well. There are no scaling attributes set or
override height/widths.

4) In the multisheet version, if the two graphics are larger than a page
(together) the next sheet is not pushed to a new page. Maybe I shoudl be
using two fullpage samples and that would fix this, but I was expecting
the second graphic to float to the next page as there is not room on the
current page to complete it. Is this maybe related to the floattyp="once"
setting? I'll see if 2 fullpage images format properly.

Any ideas or insights would be appreciated.

..dan
3 REPLIES 3

Ok I found a solution for the subfig elements - just move the float from
figure to subfig and now those elements will float separatley. This causes
a new problem.

I need to move the title element to after the figure. If I do this on the
figure>graphic element, that puts the title inside the bounding box. If I
put it on figure, then I have no way to detect when figure has a subfig
and I get an extra title without any sheet information. Is it possible to
test for the existence of a subfig ahead of the title psuedo tags I create
and suppress the content accordingly??? So I have generated content that
now looks like this:

<figure>
<title>this is the title</title>
<subfig>
<graphic filreref="image2.cgm"/">
<ps.title>this is the title (sheet 1 of 2)</ps.title>
</subfig>
<subfig>
<graphic filreref="image3.cgm"/">
<ps.title>this is the title (sheet 2 of 2)</ps.title>
</subfig>
<ps.title>this is the title</ps.title>
</figure>

How can I suppress the final ps.title content in this situation and still
keep the following working?

<figure>
<title>this is the title</title>
<graphic filreref="image.cgm"/">
<ps.title>this is the title</ps.title>
</figure>


While trying to solve this problem I toyed with recreating via psuedo tags
the content that I would want, but I ran into a problem. I think part of
my problem is with FOSI and if I get it to work I might have a problem
with the editor. Is there a way to build tags with the !<tag>! construct
and add attributes that you don't know the value of and have to get from a
variable? I wanted to try this:

<figure>
<title>this is the title</title>
<graphic filreref="image.cgm"/">
<ps.fig>
<ps.graphic filreref="image.cgm"/">
<ps.title>this is the title</ps.title>
</ps.fig>
</figure>

So I want a conrul something like this:

!<ps.fig>!,
!<ps.graphic filreref="," filref.txt,=" &quot;="/>!,
!<ps.title>this is the title</ps.title>,
!</ps.fig>!

The editor accepts this, but when displayed it has the wrong value and is
actually crossed out like an unrecognized attribute. So I get:

<ps.fig>
<ps.graphic filreref=",fileref.txt,"/">
<ps.title>this is the title</ps.title>
</ps.fig>

Error most likely coming from the comma in the attribute value.


..dan

> I'm trying to format my figures such that they float to the next page as
> needed. I have two sets of markup for figures, one for a single graphic
> and then another with multiple sheets.
>
> SINGLE
>
> <figure>
> <title>this is the title</title>
> <graphic filreref="image.cgm"/">
> </figure>
>
> MUTLI-SHEET
>
> <figure>
> <title>this is the title</title>
> <subfig>
> <graphic filreref="image2.cgm"/">
> </subfig>
> <subfig>
> <graphic filreref="image3.cgm"/">
> </subfig>
> </figure>
>
> I created a floatloc:
>
> <floatloc floatid="figfloat" floattyp="once" minspace="13pt"&lt;br"/>> nomspace="13pt" maxspace="13pt">
>
> I have set this as both a bot and top float on the page descriptions with
> varying results.
>
> <rectopg bind="lleft" chgmkplc="pright" xvjstretch="max"&lt;br"/>> topfloat="table-title.top" botfloat="figfloat" >
>
> <rectopg bind="lleft" chgmkplc="pright" xvjstretch="max"&lt;br"/>> topfloat="table-title.top figfloat" >
>
> And I use the float on my figure element:
> <e-i-c gi="figure" gitype="element">
> <charlist inherit="0" charsubsetref="center" block=" noindent&quot;=">
> <float flidref="figfloat" width="page" scope="figure" pagetype="afterref">
> <savetext textid="tabtitle" conrule="\\">
> <reset resetlist="sheetct">
> <usetext source="&lt;ps.figtitle">,tabtitle,</ps.f<br/>

How about...

1. In the e-i-c for title in figure, save
"<ps.title>,#CONTENT,</ps.title>" to "figtitle.txt" and "#CONTENT" to
"subfigtitle.txt".
2. In the e-i-c for subfig, use subfigtitle.txt in the "after" usetext
and save " to "figtitle.txt".
3. In the e-i-c for figure, use figtitle.txt in the "after" usetext.

-Brandon 🙂


Man those XSLT blinders are hard to shed. I keep getting to the element I
want to do something with and wanting to use the context instead of using
the hierarchy to set and rest values.

thanks

..dan

> How about...
>
> 1. In the e-i-c for title in figure, save
> "<ps.title>,#CONTENT,</ps.title>" to "figtitle.txt" and "#CONTENT" to
> "subfigtitle.txt".
> 2. In the e-i-c for subfig, use subfigtitle.txt in the "after" usetext
> and save " to "figtitle.txt".
> 3. In the e-i-c for figure, use figtitle.txt in the "after" usetext.
>
> -Brandon 🙂
>
>
>
Announcements

Top Tags