I think I now have all the elements and that basically what I want to do is (1) 
extremely natural, (2) impossible in FrameMaker today, and (3) addable to 
FrameMaker in... maybe one day of work? But I don’t see (through successive 
releases since FrameMaker ceased to be an independent company) an effort to 
improve the basic capabilities so I am not holding my breath.

 

What I need, and I am sure many others have wanted it to, is “hyperlinks to 
paragraphs”. I ask to create a hyperlink and can display a list of target 
paragraphs just to choose one. Exactly like one does for cross-references, 
except it’s a hyperlink, not a cross-reference.

 

What’s amazing is that the design of the cross-reference mechanism in 
FrameMaker, which must date back to the nineties, is brilliant. I have not seen 
anything similar elsewhere. For example the “Update references” command to 
resolve references when you move files around. It would be  a breeze to 
generalize it. I just used it to turn a single-file document into a book; 
without this mechanism updating the hundreds of cross-references would have 
been a nightmare.

 

At this point the only way to do what is described above is to type a gotolink 
command for every hyperlink and a newlink command for every target paragraph 
(what the manual calls “source”, which is confusing). The gotolink commands (in 
the case of cross-links between files of a book) must include the file name, so 
they are of the form

 

                gotolink full_file_name:full_paragraph_name

 

No one in his right mind would type this (on both sides, new and goto) hundreds 
or thousands of time.

 

FrameMaker on Unix had a macro facility which at least would have simplified 
this task. As far as I know it never existed in the Windows version.

 

(As an aside, I am pretty sure the cross-reference facility predates the Web. 
The hyperlink facility, with this absurd let-the-user-type-everything 
gotolink/newlink facility cannot have been designed by the same obfiously 
talented people who designed cross-references. It looks like a quick patch 
added when the Web came out. Which is OK, but it should have been replaced long 
ago with something smarter.)

 

I am willing to try scripts but I doubt they will help much since one still 
needs to type in the file name and the link name each time. We have computers 
with a graphical UI. They are supposed to display such lists to us to pick from 
them, not force us to type and retype information that “the computer” has! This 
is crazy.

 

I must say I did find a workaround, which is crazy too. Let me describe it for 
the benefit of anyone else who runs into the same issue. Fasten your seat belts.

 

Again the problem is that I want to have what others in this thread have called 
a glossary, which contains definitions, for example

 

                cat: a kind of *beast* whose pictures some people have an urge 
to post on Facebook

 

Each definition appears in a paragraph of a certain type (format), which I call 
the “target type”. (Again this is not the manual’s terminology, but it makes 
more sense.) Let me call TT the target type. There could be several, but I will 
assume just one for simplicity. (The technique easily generalizes to several 
target types.)

 

In the rest of the text there may be references to concepts defined in the 
glossary. For example:

 

                ... coming home last night I saw a *cat* roaming in the 
street...

 

Such mentions, which I call source mentions, are marked with a special 
character type, say Underline. They appear between asterisks above (maybe the 
mailer shows them in boldface). Note that a glossary entry can itself have a 
source mention, such as “beast” in the definition of “cat”. This does not raise 
any particular problem.

 

I want to ensure that every source mention gets turned, in the generated PDF, 
into a clickable hyperlink to the corresponding target paragraph in the 
glossary (of type TT).

 

As an aside, “glossary” is a convenient term, but the glossary entries do not 
necessarily appear all collected in one section or chapter. They can be 
scattered throughout the text. But they are special, as defined by the TT 
paragraph type.

 

There is actually a solution using cross references, which would be the 
solution of last resort (if nothing else worked). It’s a bit like what 
Wikipedia occasionally uses by putting an arrow after a bibliographic 
reference, to indicate a hyperlink to a web resource. I could mark every source 
mention with a special character, say “@”, which will be a cross-reference. The 
above example becomes

 

                                ... coming home last night I saw a *cat@* 
roaming in the street...

 

The “@” will actually be a cross-reference, which will point to the proper 
target paragraph (which I will have created the way I want to: by selecting a 
TT paragraph from a menu using the normal FM UI). I can devise a reference 
format that actually does not involve the text of the target paragraph (as 
reference formats usually do, e.g.  with <$paratext>) but just the character 
“@”.

 

I haven’t actually tried this solution but it should work. However it is not 
ideal because in this approach only the “@” is clickable (a hyperlink). The 
reader of my document has to understand that convention and click at exactly 
the right place. Besides, having those “@” all over the place pollutes the 
text. Still, I reserve the possibility of using this approach if everything 
else fails.

 

The crazy approach is different. It does require some manual work: for every 
“glossary” entry in a paragraph of type TT I will have to insert, above or 
below, a zombie paragraph, of a paragraph type that I will call ZMB for this 
discussion. The zombie paragraph contains only the word being defined. So the 
above glossary example will now contain

 

                cat

cat: a kind of *beast* whose pictures some people have an urge to post on 
Facebook

 

with the first paragraph of type ZMB and the second one of type TT as above. 
Now every source mention will be a cross reference, to the ZMB paragraph (not 
the originally intended one, of type TT, appearing just below) with the format 
<$paratext>, i.e. it reproduces the paragraph text, in this case “cat”.

 

So this works, at least for the very specific purpose of my text, but I have 
polluted the glossary with lots of zombie paragraphs – one for each entry. 
Elementary, my dear Watson: I now define the ZMB paragraph type so that the 
corresponding paragraphs are invisible. The best (i.e most invisible) way I 
have found so far is: use White as the font color; use 0 points as line spacing 
for the paragraph, and use 0 point too for the space before and after each ZMB 
paragraph; and use the smallest possible font that FrameMaker will accept, 
which I found to be 2pt. (Any better suggestion?)

 

I also have an auxiliary paragraph type, say ZOMBIE-PREPARATION, with 
reasonable (black, big enough) font, which I can use for the future ZMB 
paragraphs when I type them, then change them to ZMB.

 

The net effect on the text is that there will be some invisible paragraphs here 
and there (in glossary entries), adding a very small amount of line spacing, 
but it should be hardly noticeable by the document’s reader, and I might even 
be able to remove it altogether by removing 2pt from the standard above or 
below paragraph spacing of type TT.

 

I still have to type in all the ZMB paragraphs with the glossary entries. But 
there are far fewer glossary entries than source mentions. Maybe a couple 
hundred glossary entries, and thousands of source mentions. For the source 
mentions, I can just use the beautiful UI mechanism of cross references: select 
the target file, select the paragraph type (ZMB), scroll to the right term 
(which will be easy since the text of a ZMB paragraphs is precisely the 
glossary term), select it.

 

(I still have a small problem with letter-case variants of the source mentions, 
for example if a sentence start

 

                Cat is not what I would call this particular thing, it looks 
more like a dog to me.

 

Because of the initial upper-case “C” per the rules of written English I need 
two ZMB paragraphs in this case, one of “cat” and one for “Cat”. This also adds 
another 2pt of line spacing. However it is not such a frequent occurrence so I 
assume I can live with it in practice.)

 

If you are still with me at this point thanks (and admiration) for your 
patience. Why we have to indulge in such bizarre tricks is left as an exercise 
– we should just be able to create a hyperlink the way we create a 
cross-reference, by getting a list of paragraphs from a UI dialog. But since 
the facility is not there, at least the bizarre trick provides a way to proceed.

 

Thanks for all the comments received.

 

-- Bertrand Meyer

 

 

 

 

 

From: Lin Sims [mailto:ljsims...@gmail.com] 
Sent: Wednesday, October 28, 2020 20:56
To: An email list for people using Adobe FrameMaker software. 
<framers@lists.frameusers.com>
Cc: bertrand.me...@inf.ethz.ch
Subject: Re: [Framers] Basic question: hyperlinks to paragraphs

 

He's already using markers. His issue is that there are thousands of them and 
he doesn't want to have to manually type everything out everytime he inserts a 
link to another location in the document. 

 

If I understood him correctly, what he wants is to be able to select which 
predefined target marker to go to from a drop-down list when inserting the 
marker to create the hypertext link instead of having to manually type it in 
each time he inserts the gotolink marker. This would have to be scripted. 
Neither the Hypertext Marker insert nor the general Marker Insert window 
provide a drop-down list for anything other than the type of marker or type of 
Hypertext command to make part of the marker. 

 

I suppose a brute force method would be to create the destination marker first, 
then find the first instance of the word or term you want to hyperlink to a 
definition, create your gotolink, copy the word or term including the marker, 
then do a search for the word or term and replace it with the information on 
the clipboard. In fact, I think that was the method recommended by Matt 
Sullivan when he described how to set up special markers for glossary terms and 
definitions in the article I linked to earlier in the thread. Except in Matt's 
solution, you can (I think) get it to open a non-modal window with the text of 
the definition at the spot so the user can just click the link, read the term 
in the pop-up, and close the pop-up without having to return the the original 
location in the document because you never left it. Or maybe that was one of 
Shlomo Perets TimeSavers.

 

On Wed, Oct 28, 2020 at 12:06 PM Wim Hooghwinkel - idtp <w...@idtp.eu 
<mailto:w...@idtp.eu> > wrote:

Hi Bertrand,

not sure if that will work, but did you try to use markers? Insert a marker (of 
your own type) at the target location and create a link (hyperlink or 
cross-ref) to that marker that displays the marker text. Additional benefit is 
that it will also allow you to create an 'index' of those markers in your 
publication.

Else, best advise is to contact Rick Quatro and ask him to propose a script 
that will help you to insert those newlink and gotolink markers in asiple 
manner. He’s very good at that. A script is an investment, but ROI is very 
quick.


Vriendelijke groet / Kind regards,

Wim Hooghwinkel


_______________________________________________

This message is from the Framers mailing list

Send messages to framers@lists.frameusers.com 
<mailto:framers@lists.frameusers.com> 
Visit the list's homepage at  http://www.frameusers.com
Archives located at http://www.mail-archive.com/framers%40lists.frameusers.com/
Subscribe and unsubscribe at 
http://lists.frameusers.com/listinfo.cgi/framers-frameusers.com
Send administrative questions to listad...@frameusers.com 
<mailto:listad...@frameusers.com> 




 

-- 

Lin Sims

_______________________________________________

This message is from the Framers mailing list

Send messages to framers@lists.frameusers.com
Visit the list's homepage at  http://www.frameusers.com
Archives located at http://www.mail-archive.com/framers%40lists.frameusers.com/
Subscribe and unsubscribe at 
http://lists.frameusers.com/listinfo.cgi/framers-frameusers.com
Send administrative questions to listad...@frameusers.com

Reply via email to