[Date Prev][Date Next] [Thread Prev][Thread Next]
[Date Index] [Thread Index] [New search]

Re: Conditional text does not exclude correctly



On Tue, 09 Mar 1999 14:50:10 -0600, Ginny Barnett
<barnett@chesapeake.tokheim.com> wrote:

>We have a manual that is customized according to customer and functional
>levels.  Most of the text conditions are working fine, but there are a few
>that aren't doing what I need them to do.  (For technical people - the 
>"conditional text" function seems to act as a logical OR instead of a 
>logical AND.)

[long and clear example snipped]

>(There are actually 15 condition tags for these manuals, variously combined to
>result in 30 manual versions.  If I have to start creating condition tags that
>include several conditions -- i.e., one tag that says Customer A, Level 2, as
>opposed to two separate tags -- I think I'll start pulling my hair out!)

The lack of a logical AND is certainly a major deficiency in the otherwise
excellent Conditional Text facility.  And it would appear relatively simple
to fix in FM itself, at the point where a section of text is evaluated to
determine if it goes to the "hidden page" or not.  It would involve a change
in the UI dialog to allow expressions using conditions, but that's also a
simple one for Adobe's programmers.  For users, though, it's a wall.

However, if you can't go through the wall, sometimes you can go around.  I
thought about this, and recalled that in Boolean algebra, you can restate
  A AND B
as
  NOT ((NOT A) OR (NOT B))
It's easier to see if you draw the little picture of the overlapping circles,
but I can't do that here.  So how does this apply to Conditional Text?  Well,
if you exclude all the conditions that do not apply, then you are left with
what you wanted.  That is, if you exclude Customers B and C, you are left
with only Customer A.  If you exclude Level 2, you are left with Level 1.
Therefore your remaining document, that last NOT, is what you wanted.

Unfortunately, Conditional Text has no NOT operator either.  But there is
still one more trick... we have Find/Change.  And we can Find text by the
Conditions applied to it.  So... you can Find Customer B, Customer C, and
Level 2, and Replace it with *nothing*.  You are left with your desired
Customer A and Level 1.  (Remember, you can use Shift with the arrows to
move *all* the conditions from one box to another at once.)

Obviously you want to do this to a clone of your document, not the master,
because next you will have to Save, reflow, and regenerate to get the xrefs,
page breaks, and TOC/IX right, before you can print.  You may also want to
script the process, so you can run your several print versions overnight...
Find/Change is not swift, and there's no replacement for it that will handle
Conditional Text correctly.  But it may be better than using the combinational
tags that would have cost you your hair...  ;-)  It depends on how many of
those combinations you would have; under 10, I'd use the combinational tags.

Now, if only the Show/Hide dialog allowed AND and NOT, in unlimited-length
expressions with parentheses, you could do it all in one doc set.  Wouldn't
that be nice?  Word has nothing like it; it builds on FrameMaker's strength
and makes it even more powerful, and it's so easy to code... really!

-- Jeremy H. Griffith, at Omni Systems Inc.
   (jeremy@omsys.com)     http://www.omsys.com/
** To subscribe to Free Framers, email the message **
** body "subscribe framers" to majordomo@omsys.com **

** To unsubscribe, send a message to majordomo@omsys.com **
** with "unsubscribe framers" (no quotes) in the body.   **