Impossibly Slow Load-Time for Cross-Reference Window Items

F

fizzicist

I have a document in which I need to insert numerous cross-reference
links to Heading numbers and Numbered items.

I place the cursor in the text at the point where I want to insert the
cross-reference link, pull down the Insert menu to open the
Cross-reference window, and wait for Word to load all the Headings or
Numbered items. Each time I advance to the next insertion point, the
entire list of heading or numbered items has to reload, and it takes
an inconveniently long time to do so. I cannot scroll down and
highlight ANYTHING until EVERYTHING is loaded, and that is currently
taking 26 seconds. As I add more cross-references, it is getting
progressively slower. It's a complete waste of time.

I'm only 1/3 of the way through a 76-page document section, and I'm
ultimately going to have to do this for the entire document, which has
500+ pages. It's already too slow...by the time the document gets up
to its full length, it will be an abusive waste of time.

It's not as though I'm using a slow computer. I'm running Office 2004
on a PowerMac G5 dual processor 2.5GHz with 2GB of RAM on 7,200 RPM
SATA hard drives. If the list items can't load any more rapidly with
such a fast computer, there is something VERY wrong with the
application's design.

Does anyone know of a workaround or some other option that will speed
up the Cross-reference window's load time for its listed items?
 
F

fizzicist

(e-mail address removed) (fizzicist) wrote in message
Typo correction & clarification:
I'm only 1/3 of the way through a 76-page document section, and I'm
ultimately going to have to do this for the entire document, which has
500+ pages. It's already too slow...by the time the document gets up
to its full length, it will be an abusive waste of time.

It's 400+ pages, not 500+, and that's an estimated document size when
it's finished. The bug described in my original post is in evidence
well before the document has reached its final size.

It has been suggested elsewhere that the document be broken up into
pieces and then merged. That's what the term "document section" in my
original post means; it's already broken up into sections as it is.
Any further fragmentation will be unworkable. The referents have to be
in the document "fragment" in which the cross-reference is being
inserted, or Word won't include them in the list. I already have to
bypass the references to other document sections, but that's just
delaying the inevitable. Eventually, all the cross-references are
going to have to be combined in the master document, and I can
anticipate the living hell that's going to be if I can't find a
workaround.

Of course, there IS one workaround that immediately comes to mind: do
all the cross-reference insertion on a PC running Word for Windows. I
have confirmed that this is indeed a software bug that afflicts only
the Mac version of Word. An associate running Word 2003 has no similar
problem, and other posts on other forums corroborate that this bug is
exclusive to Word for Mac.

Nevertheless, I have no intention of running this document through
Word 2003 to fix a problem that should not exist in Word for Mac in
the first place. This is only the first in a series of documents that
will be created in this 4-year project whose security, hardware, and
software specifications require Mac-only systems, so porting the doc
to Word 2003 is not an available option.
 
D

Daiya Mitchell

Hi fizzicist,

I think Clive Huggan's workaround is to keep Office 2001 loaded just to
insert cross-references. Can you just confirm whether the service pack 1
update for Office 2004 offered any improvement? I don't do this on a
regular basis, but in my quick test on a 400pg document with probably about
100 headings, I'd say it's taking maybe 10-15 seconds, although that's still
a slow pause, still getting progressively worse with each insertion.
Anyhow, I will report it and check whether there's any info available to us
on this bug. (I'm running Office 2004 SP 1, with less RAM and ghz than
you). My headings are not numbered, though.
 
J

John McGhie

Hi:

Yep: That's a design problem in Mac Word X/2004.

I am looking for a work-around, but so far I have not found one.

Microsoft is planning the next version of Mac Word. One of the changes
being debated may fix this as a side-effect.

Sorry: Clive Huggan is correct, either keep Word 2001 available for the
purpose, or use PC Word in Virtual PC (you're on a dual, so you will need to
wait for VPC 7...).

Cheers


I have a document in which I need to insert numerous cross-reference
links to Heading numbers and Numbered items.

I place the cursor in the text at the point where I want to insert the
cross-reference link, pull down the Insert menu to open the
Cross-reference window, and wait for Word to load all the Headings or
Numbered items. Each time I advance to the next insertion point, the
entire list of heading or numbered items has to reload, and it takes
an inconveniently long time to do so. I cannot scroll down and
highlight ANYTHING until EVERYTHING is loaded, and that is currently
taking 26 seconds. As I add more cross-references, it is getting
progressively slower. It's a complete waste of time.

I'm only 1/3 of the way through a 76-page document section, and I'm
ultimately going to have to do this for the entire document, which has
500+ pages. It's already too slow...by the time the document gets up
to its full length, it will be an abusive waste of time.

It's not as though I'm using a slow computer. I'm running Office 2004
on a PowerMac G5 dual processor 2.5GHz with 2GB of RAM on 7,200 RPM
SATA hard drives. If the list items can't load any more rapidly with
such a fast computer, there is something VERY wrong with the
application's design.

Does anyone know of a workaround or some other option that will speed
up the Cross-reference window's load time for its listed items?

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Consultant Technical Writer
Sydney, Australia +61 4 1209 1410
 
F

fizzicist

Hi Daiya:

I haven't installed SP1 yet. There's a whole security procedure I have
to go through before I can clear an update for installation on the
project workstations, running them on a test bed volume that's a
precise clone of the working volume to check for incompatibilities
with other software. I'm not griping about it...the procedure makes
sense from a process workflow standpoint. Nothing gets installed until
it's been cleared by the Resources CM System Manager. That'd be yours
truly. I'll probably make time to do it on Saturday, after which I'll
post back here and let you know whether it makes any difference. I
doubt it will, though; I don't recall seeing it listed as one of the
things SP1 fixed, and it has evidently been such a big nuisance for so
long that I would think MS would be pleased to crow about having fixed
it.

As for Clive Huggan's workaround, that presents problems of its own.
I've already found incompatibilities running Word 2004 docs back
through Word X; so, the opportunity for even greater
backward-incompatibility mischief probably skyrockets going back yet
another version to Word 2001...not to mention whatever gremlins might
materialize in bridging the gap from OS X back to Classic. The mind
reels...

....ah, well...as long as I'll be running the test bed volume for SP1,
I might as well launch Classic and fire up Word 2001 while I'm at it.
It can't hurt to check it out. Then all I have to do is sell it at the
next Project Change Board meeting. "Well, folks...I realize that we've
spec'd all this state of the art hardware & software, but we have to
port the documents back to Word 2001 in Classic to insert the
cross-references. The good news is that...(ahem)...there are
surprisingly few incompatibilities. I've prepared a list of the things
that won't survive the journey -- things we'll need to accommodate in
our workflow procedures..."

I can hear the groans already. It certainly will make for an
interesting proposal...in approximately the same sense that the word
"interesting" is used in that venerable old Chinese curse, "May you
live in interesting times." ;-)

Thanks much for your response, Daiya. I hope my
skepticism-cum-borderline-grumbly response above doesn't appear as
though I'm ungrateful. Believe it or not, there is some solace in
having a sympathetic ear, and I really do sincerely appreciate your
taking the time to post a reply to my original posts. I'll let you
know what happens in the test bed trials.

Vito DiLuminoso







Daiya Mitchell said:
Hi fizzicist,

I think Clive Huggan's workaround is to keep Office 2001 loaded just to
insert cross-references. Can you just confirm whether the service pack 1
update for Office 2004 offered any improvement? I don't do this on a
regular basis, but in my quick test on a 400pg document with probably about
100 headings, I'd say it's taking maybe 10-15 seconds, although that's still
a slow pause, still getting progressively worse with each insertion.
Anyhow, I will report it and check whether there's any info available to us
on this bug. (I'm running Office 2004 SP 1, with less RAM and ghz than
you). My headings are not numbered, though.

--
Daiya Mitchell, MVP Mac/Word
Word FAQ: http://www.word.mvps.org/
MacWord Tips: <http://www.word.mvps.org/MacWordNew/>
What's an MVP? A volunteer! Read the FAQ:
(previous content snipped)
 
C

Clive Huggan

Dear Fizz,

I agree: it's a complete waste of time. It infuriated me until I did some
meditating ... If it wasn't for my Windows laptop being deep in a Fijian
jungle right now, I'd stick to Word for Windows. (I haven't installed
Virtual PC yet).

My 200-word documents with un-numbered pure-styled headings take almost a
minute for the scroll-bar "thumb"* to shrink to its normal size then stop
returning uncontrollably to the beginning, allowing the cross-reference to
be inserted. And when you click anything else, you have to wait for Word to
go through this rigmarole again, don't you?

BTW, I would not separate your document into sections, which have their own
problems (Googling in newsgroup search for "section corrup" should tell you
why) and I would certainly not use the Master Document "feature" in Word --
there be Really Bad Things in there ...

But I do have a solution, of sorts, if you do not want to, or cannot, use
other than Word 2004. Before I go back to Word 2001 or a PC to insert the
actual cross-references, I use this workaround, while I develop the document
in Word 2004, to note where the cross-references will go.

It's centred on a very quick way of inserting some text (in my case it's
blue, italicized, small font) that reminds you where the cross-ref will
point to when you go back in Word 2001 to do the cross-referencing.

It's inserted as an AutoText item, so it's quick to do.

If that interests you, here goes. (Describing this took *far* longer than
you'll take to actually do it -- creating the AutoText item took me 2
minutes and inserting each entry in the text takes 10 seconds.)

CREATE THE AUTOTEXT ITEM

I typed (without the quotation marks) "[xref to page ]" (note space before
end square bracket). I dragged across it and applied a character style I had
previously created to contain note and comments (note: this is not manual
formatting, or a paragraph style, but a character style I call "comment
text"; for more information, see under the heading 'Applying a style via
keystrokes' on page 88 and under the heading '"Comment" feature, a simple
substitute for' on pages 96 and 97 of "Bend Word to Your Will", downloadable
free from http://www.word.mvps.org/FAQs/WordMac/Bend/BendWord.htm).

Keeping this text selected, I created an AutoText item for it titled "ixr,
insert xref".

INSERT THE AUTOTEXT ITEM

When I want to park a note reminding me of the need to insert a
cross-reference, I do this:

1. If I'm typing the material as distinct from inserting a cross-ref in
existing material, I type the space that follows where I'm inserting, then
left-arrow once.

2. I type "ixr" then Shift-left arrow 3 times to select these 3 letters, and
key Command-Option-v. That inserts, in blue italic Arial 9-point, "[xref to
page ]". Next I left-arrow to move to the left of the final square bracket
and I type the page number of where the heading is I want to cross-refer to.
I know the page number because I have either a second window open (Window
menu -> New window) or I key Command-Option-s to split the existing window,
and the "target" page is in this second view.

[More information on AutoText is on pages 94-95 of "Bend Word to Your
Will".]

Of course if the cross-referencing is intensive, referring only to the page
number is insufficient, so in that case I delete the word "page" in the blue
text and put whatever I want, such as the wording of the heading.

3. In Word 2001 or PC Word, I do a Find command for "[xref", then click
back in the doc where found, drag across the blue text and key
Control-spacebar to remove the blue etc formatting, and insert the
cross-reference, helped by knowing the page number (or whatever).

As I mentioned above, this is very quick once the AutoText item is set up,
but it's still *very* frustrating to have to in effect do cross-refs twice
over. I would not have resorted to the procedure if I had not been
reasonably confident that Microsoft's Mac Business Unit will fix the problem
before too long. (If it isn't, I'll have to do all my Word work on Virtual
PC.)

Cross-refs to bookmarks and figures/tables don't suffer from this problem.
I'm trying to resist the temptation to use lots of bookmarks, because that
leads to more problems...

I hope this helps!

[OT: Be envious, Daiya -- *this* is true long-windedness!!]

Cheers,

Clive Huggan
Canberra, Australia
(My time zone is at least 5 hours different from the US and Europe, so my
follow-on responses to those regions can be delayed)
============================================================

* [that's what you bullied me into calling the "lozenge", wasn't it, J.
McGhie? -- now the only thing I can only recall is my cringe, while you
smiled benevolently, but with overtones of "Don't say it again!"]
============================================================
 
F

fizzicist

Hi John:

Thanks for your reply. I've already responded to the Word 2001 idea in
my reply to Daiya's post. It's a possibility at this point, albeit not
a very attractive one.

Running WinWord in Virtual PC is not an available option. We have many
long documents moving through the process, with workflow distributed
across multiple project workphases, distributed across multiple
workstations, distributed across continents. We had to pick one OS to
avoid severe multi-platform chaos. OS X came up the winner, but we'd
be obligated to adhere just as faithfully to any other system had it
been chosen. Even if I were inclined to do so, it's unlikely that I
would be able to convince anyone to have another OS running on any
workstation anywhere in this project, much less to debit the software
budget to introduce that element of chaos into the process.

The argument I would be certain to hear in response to such a proposal
-- and frankly it's an argument with which I agree -- is that we've
already paid for software that is supposed to work. My first
inclination is not to throw more funds at the problem and entrench it
more deeply while compromising the project's existing standards &
specifications into the bargain. The solution is for Microsoft to fix
the problem -- one that should have been fixed long ago. Surely, no
one is suggesting that Microsoft can't afford to fix it? Or that there
is any benefit to its customers in perpetuating it? From my
perspective, the moral issue seems very clearly defined; there is no
justification for NOT fixing it. The fact that there could even be any
debate over whether to leave such an important feature so badly broken
is...well, incomprehensible.

Hmmm...that seems like a bit of a rant, doesn't it? Sorry. I know
you're trying to help, and I do appreciate that. My tirade is evidence
of the fact that mere frustration has evolved to maddening
exasperation. Having just read Clive's response to my earlier posts,
his meditation suggestion is one I intend to implement immediately.
Meanwhile, I'm sure Microsoft has its reasons for leaving this problem
in place across two major revisions of Word, although I must admit
that I can't imagine what they might be. My physicist's brain prefers
much simpler problems. ;-)

Thanks again, John!

Vito DiLuminoso

John McGhie said:
Hi:

Yep: That's a design problem in Mac Word X/2004.

I am looking for a work-around, but so far I have not found one.

Microsoft is planning the next version of Mac Word. One of the changes
being debated may fix this as a side-effect.

Sorry: Clive Huggan is correct, either keep Word 2001 available for the
purpose, or use PC Word in Virtual PC (you're on a dual, so you will need to
wait for VPC 7...).

Cheers
(previous content snipped by Vito)
 
J

John McGhie

Hi Vito:

OK, try this:

1) Insert a bookmark at the destination

2) Insert a cross-reference to the bookmark.

I just tried a few of those on a 300-page document, and each insertion takes
about three seconds. Make the bookmark names meaningful (to you) so you can
find them later.

The mechanism is essentially what Word is doing each time you insert a
cross-reference, except that Word has to repaginate the document twice each
time, once to find the destination and insert the (hidden) bookmark, then
again to resolve the cross reference.

If needed, you can quickly make a macro to insert the bookmarks for you. I
have included one below that you can customise. It takes about five seconds
to run on a 300-page document. Hint: If the document is more than 100
pages, switch to Normal View before you run the macro, otherwise Word will
pause to paginate the document each time it inserts a bookmark.

To make the display more meaningful in a long document, include some of the
text of the paragraph in the bookmark name.

Note: If you get a compile error when you paste this in, check that you
have not pasted non-breaking spaces instead of spaces at the beginnings of
lines.

Sub InsertBookmarks()

Dim i As Long ' Long is a full binary word in VBA, much faster
Dim aPara As Paragraph ' If you dim an object the VBE tells you its
properties

For Each aPara In ActiveDocument.Paragraphs ' All of the document
paragraphs, one by one
i = i + 1 ' Gives us a varying number
' Don't be scared to make VBA do the work for you,
' The built-inn functions are a lot faster than
' anything we can write

' A Select is simply a multi-shot 'IF", simpler than IF ... Or ...
Select Case UCase(aPara.Style.NameLocal)
' Be careful, 'Case' comparisons are case-sensitive
Case Is = "HEADING 1"
ActiveDocument.Bookmarks.Add _
Range:=aPara.Range, Name:="XRHd1_" _
& Format(i) ' Converts i to a string without leading space
' spaces not allowed in bookmark names
Case Is = "HEADING 2"
ActiveDocument.Bookmarks.Add _
Range:=aPara.Range, Name:="XRHd2_" _
& Format(i)
Case Is = "HEADING 3"
ActiveDocument.Bookmarks.Add _
Range:=aPara.Range, Name:="XRHd3_" _
& Format(i)
Case Is = "HEADING 4"
ActiveDocument.Bookmarks.Add _
Range:=aPara.Range, Name:="XRHd4_" _
& Format(i)
End Select
Next ' i
End Sub

Sub delbookmarks()
Œ This macro deletes all bookmarks in a document
For Each aBookmark In ActiveDocument.Bookmarks
aBookmark.Delete
Next
End Sub

Hope this helps

Hi John:

Thanks for your reply. I've already responded to the Word 2001 idea in
my reply to Daiya's post. It's a possibility at this point, albeit not
a very attractive one.

Running WinWord in Virtual PC is not an available option. We have many
long documents moving through the process, with workflow distributed
across multiple project workphases, distributed across multiple
workstations, distributed across continents. We had to pick one OS to
avoid severe multi-platform chaos. OS X came up the winner, but we'd
be obligated to adhere just as faithfully to any other system had it
been chosen. Even if I were inclined to do so, it's unlikely that I
would be able to convince anyone to have another OS running on any
workstation anywhere in this project, much less to debit the software
budget to introduce that element of chaos into the process.

The argument I would be certain to hear in response to such a proposal
-- and frankly it's an argument with which I agree -- is that we've
already paid for software that is supposed to work. My first
inclination is not to throw more funds at the problem and entrench it
more deeply while compromising the project's existing standards &
specifications into the bargain. The solution is for Microsoft to fix
the problem -- one that should have been fixed long ago. Surely, no
one is suggesting that Microsoft can't afford to fix it? Or that there
is any benefit to its customers in perpetuating it? From my
perspective, the moral issue seems very clearly defined; there is no
justification for NOT fixing it. The fact that there could even be any
debate over whether to leave such an important feature so badly broken
is...well, incomprehensible.

Hmmm...that seems like a bit of a rant, doesn't it? Sorry. I know
you're trying to help, and I do appreciate that. My tirade is evidence
of the fact that mere frustration has evolved to maddening
exasperation. Having just read Clive's response to my earlier posts,
his meditation suggestion is one I intend to implement immediately.
Meanwhile, I'm sure Microsoft has its reasons for leaving this problem
in place across two major revisions of Word, although I must admit
that I can't imagine what they might be. My physicist's brain prefers
much simpler problems. ;-)

Thanks again, John!

Vito DiLuminoso


(previous content snipped by Vito)

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Consultant Technical Writer
Sydney, Australia +61 4 1209 1410
 
F

fizzicist

Hi John:

Wow! That's quite an impressive workaround! If I hadn't already come
up with one that works exceedingly well, I probably would be using
yours, and lobbying for a change in the document configuration
specifications. As it is, the current specs preclude the use of
bookmarks for cross-references.

The workaround I developed is conceptually very simple, was very easy
to execute, and it was fast. In fact, I will probably use it from now
on. Even if Microsoft fixes the bug, there is still an enormous
user-time-cost built into the current design of the Cross-reference
window -- an un-Mac-like design deficiency that seems to afflict a
great many if not all of Office's dialog boxes and special function
windows; lack of resizability. But I'll get to that later in this
post. First, here's my dirt-simple workaround:
_____________________

1. Move the cursor to the end of the document and pull down the Window
menu to "New Window". You might want to hit the Return key a couple of
times to put some space between the cursor and the end of the
document. The cursor position defines the insertion point in the
procedure that follows.

2. Pull down the Insert menu to "Cross-reference...". When the
Cross-reference window appears, select the "Reference type", select
the referent from "Insert reference to", select the other checkbox
options as desired, and wait until the list of items in the "For which
numbered item" pane has fully loaded. (It's easy to tell when that
happens -- press the Down-arrow key and hold it. If the list hasn't
fully loaded, the highlighting that indicates which item is selected
will try to move down through the list, but it will keep jumping
around violently near the top of the list until it has fully loaded.
After loading is complete, it will begin scrolling smoothly through
the list at a uniform rate.)

3. The top item in the list is selected by default, but if the
selection moved during Step 2 (above) press the Up-arrow key to move
the highlighted selection back to the top item.

4. Press the Enter key once, and the top referent on the list is
inserted as a cross-reference field at the cursor location in the
document.

5. Press the Down-arrow key once, and the highlighted selection moves
down to the second item on the list.

6. Repeat Steps 4 and 5 alternately; Step 4 inserts the
cross-reference field, Step 5 moves the highlighted selection to the
next lower item on the list, repeating Step 4 inserts the
cross-reference field for that referent, repeating Step 5 moves the
highlighted selection to the next lower item on the list...and so on,
until you reach the end of the list. You can develop a rhythm and run
through the list very quickly. I was able to do it very comfortably at
the rate of three keystrokes per second, which inserted three links
per 2 seconds; 90 links in 60 seconds, and I could have done it
faster.

NOTE: Stay in the Cross-reference window for Steps 2 through 6. If you
click outside the window for any reason, the list will reload when you
return to it, and you'll have to wait for that process to complete
before you can select a list item and insert its corresponding
cross-reference field. Anytime you leave the Cross-reference window,
it will always reload when you return.

7. Following the conclusion of Step 6, you will have a solid block of
cross-reference fields all jammed together at the insertion point at
the end of the document, but not to worry; it's not as big or
unmanageable a mess as it first appears. The next step is to separate
the fields so you can access them individually without accidentally
clicking on them and getting whisked away to the corresponding parts
of the document. It's actually pretty easy, and it can be done very
quickly. You can close the Cross-reference window at this point; you
will not need it again for the remainder of the cross-reference
insertion process.

8. Here's an example of the string of characters that showed up in my
document representing all Section 5 heading numbers up to and
including the heading for Section 5.2:

55.15.1.15.1.25.1.2.15.1.2.25.1.35.2...etc.

When you're done with this step, the characters will look like this:
5
5.1
5.1.1
5.1.2
5.1.2.1
5.1.2.2
5.1.3
5.2

NOTE: Actually, they'll be listed separately on their own lines as
shown above, but each one with have the gray highlighting associated
with a Word field, which doesn't show up in this post.

Place the cursor at the head (upper left corner) of the block of
cross-reference fields. You can use the Right-arrow key to scroll over
to the point that divides the first and second fields ("5" and "5.1"),
then hit the Return key, then scroll over to the next point, then hit
the return key... and so on, but I don't recommend doing that. There's
a much easier way.

Instead, just use the same kind of alternating keystroke technique you
used in Step 6, except in this case, you'll alternate between the
Right-arrow key and the Return key. You don't even have to look at the
screen...just concentrate on the rhythm of alternately hitting the
keys (Hey Clive...it's a meditation!)

The reason it works is because Word will not allow you to insert a
line break in the middle of a cross-reference field, so it only
inserts the line break when the cursor is precisely over the dividing
point between two fields. It simply ignores the Return key strokes
that occur when the cursor is inside the field.

Yes...you'll be making some "wasted" Return key strokes, but from my
perspective, "wasted" Return keystrokes are a lot less costly than the
time it was taking me to work under Word's bug. Up to this point in
this workaround process, I now had every heading's cross-reference
field in the document, on a separate line...and I did it in about the
same amount of time (~3.5 minutes) it would have taken to insert about
6 or 7 cross-references while waiting for Word to load the list each
time. That's quite a significant increase in efficiency. But stay with
me on this -- it gets better.

Now that you have the links on separate lines in an easily viewable
vertical list, all that remains is to copy them from that list and
paste them wherever you want them in the document.

NOTE: I had used green highlighting for the heading numbers when I
originally typed them into the text, so they were very easy to find.

9. Pull down the Window menu to New Window, and create as many windows
as you need to show all the cross-reference fields you've just
inserted in sequential order. Resize and tile the windows as needed to
make all the links visible in their own respective windows and still
leave enough room on the screen to display the part of the document in
which you're going to insert the cross-reference fields ("the working
document window"). In the remainder of this procedure, the working
document window is on the left and the tiled windows containing the
cross-references are on the right, and they're all visible. (It helps
if you have a 23" HD Cinema Display; I do, so I was able to fit
everything on the screen at once with some room to spare. )

10. Find the first insertion point and the cross-reference it
specifies in the document window on the left. Then find the
corresponding cross-reference field in the sequential list you've
created in the tiled windows on the right. Since all the fields are
visible and they're all listed sequentially, you can find any field
very quickly by visually scanning the tiled windows that contain them.

11. Once you've located the field you're looking for, place the cursor
in the left margin of the line that contains the link you want to
insert and click the mouse button. The entire line is selected and
highlighted.

NOTE: If your Word:preferences:Edit options are configured with the
"Include paragraph marks when selecting paragraphs" checkbox checked,
selecting the entire line will also select the paragraph mark, which
will copy and paste with the link. You probably don't want that to
happen, so if your preferences are set that way, you'll need to
unselect the end of the line, which will prevent the paragraph mark
from being copied to the clipboard and pasted into the text. To
unselect the paragraph mark in the highlighted line, press the
Shift+Right-arrow keystroke combination, and the highlighting will be
reduced to include only the cross-reference field.

12. Press Command+C to copy the field (or whichever action you prefer
to execute the Copy command).

13. Move the cursor back to the working document window on the left,
place the cursor at the correct insertion point, and press Command+V
(or your preferred Paste action). The cross-reference field is pasted
into the document at the insertion point. Delete the hard-entered text
entry that originally specified the cross-reference. (Alternatively,
you can click+drag to select the hard-entered text entry before you
execute the Paste command, and the paste will replace the text entry
with the cross-reference field.)

14. Work your way through the document, copying and pasting the fields
as needed until all the text-entry references have been replaced with
cross-reference fields.
_____________________

Now for the part about the un-Mac-like design deficiency that afflicts
Office's dialog boxes and special function windows (like the
Cross-reference window). They're not resizable, and they're too small
to make it efficient to use them. I didn't realize it until I tried
Daiya's suggestion (which originated with Clive, as I understand it)
to use Word 2001 for the cross-reference insertion. I did try it, and
sure enough, it doesn't have the reload-the-list-every-time bug; once
the list items load, they stay loaded. But the list items window is so
painfully small that it's exceedingly difficult and time consuming to
scroll to the exact item you want to select.

The problem was accentuated in Word 2001 because the list doesn't
scroll in real time in correspondence to the movement of the scroll
bar "thumb". That is, you can grab the scroll "thumb" with the cursor
and drag it up and down within the scroll bar, but the list doesn't
move as you drag, so you can't see where you are until you release the
mouse button. Your only other option for navigating the list is to
click+hold on the up or down arrows in the scroll bar ends and wait
for the scrolling to take you where you want to go. Additionally, the
text in which the list items are displayed looks just plain awful (no
Quartz Extreme) in Word 2001. It would drive me nuts trying to find
what I'm looking for in such a tiny viewing area.

The scrolling action in Word 2004/OSX is vastly superior to that in
Word 2001/OS 9, but it still takes an unreasonably long time to
navigate to the desired list item due to the small size of the list
items pane (it only displays 9 items). That's what clued me in to the
fact that a big part of the time-cost in the cross-reference insertion
procedure is the referent selection process. If the window were
resizable, you could make it big enough to be able to view many more
referents at once, making it much easier (and FASTER) to visually scan
the list and make your selection.

Without a resizable window, even if the bug were fixed and the list of
referents stayed loaded, you'd still have to scroll through the list
in that tiny little window. In fact, an associate who's running
WinWord (Word 2003, methinks) said that after each insertion, the list
resets itself to the top if you have clicked anywhere outside the
Cross-reference window -- for example, to select the next insertion
point. So even over on the WinWord side, the process is afflicted by
the way the Cross-reference window is designed, imposing an
unreasonable time-cost on the user.

I haven't done the A-B comparison that it would take to rigorously
quantify the relative time requirements for each procedure (that is,
the time-cost difference between using Word 2001 to insert the links
versus using the workaround I've described above). Frankly, I'm not
inclined to do so. After suffering through the process of using the
minuscule referent list pane that Word's non-resizable windows
provides, I'd much rather use my method. It's simple, fast, and easy.

My recommendation to Microsoft in fixing the bug is to go all the way
to a more user-friendly solution: make the dialog boxes and special
purpose windows resizable, as they are in applications that more
strictly follow the OS X GUI convention. For that matter, the fix
should be applied to provide the same functionality in WinWord for
Windows users. That will make processes like cross-reference
insertion, bookmark selection, and other similar tasks with elements
whose numbers increase in proportion to document size much more
user-friendly, and less costly in the amount of time and tedium
required to execute them.

As for your workaround, despite the fact that the existing document
configuration specifications preclude the use of bookmarks for
cross-references, if I hadn't developed the procedure I've described
above, I probably would have used your workaround, and then attempted
to sell it to the documentation manager.

Personally, though, I have tended to avoid the use of bookmarks in an
application like the one I've described here;they have always been a
bit buggy for me, although that may be more a result of my own
ignorance as to their proper use than of any intrinsic fault in the
bookmark mechanism. In any case, they're not usable unless
Word:preferences:View is configured to display them, and in a document
as liberally peppered with cross-references as the one I'm currently
working on, the visual noise they impose would be objectionable. Of
course, that's a personal preference, and certainly not a reflection
on their functionality.

Anyhow, thanks for your elegant workaround, John. I will play with it
to ensure that I know how it works in case an application for it crops
up. In a project of this duration and magnitude, it's probable that
your workaround will be very useful for one purpose or another.

Oh...and thanks very much for the suggestion to switch to normal view
to avoid automatic repagination. It's not much of a problem when I'm
working on the DP G5 2.5GHz, but on my PowerBook it can be a downright
nuisance waiting for Word to repaginate.

Best regards,

Vito

John McGhie said:
Hi Vito:

OK, try this:

1) Insert a bookmark at the destination

2) Insert a cross-reference to the bookmark.

I just tried a few of those on a 300-page document, and each insertion takes
about three seconds. Make the bookmark names meaningful (to you) so you can
find them later.

The mechanism is essentially what Word is doing each time you insert a
cross-reference, except that Word has to repaginate the document twice each
time, once to find the destination and insert the (hidden) bookmark, then
again to resolve the cross reference.

If needed, you can quickly make a macro to insert the bookmarks for you. I
have included one below that you can customise. It takes about five seconds
to run on a 300-page document. Hint: If the document is more than 100
pages, switch to Normal View before you run the macro, otherwise Word will
pause to paginate the document each time it inserts a bookmark.

To make the display more meaningful in a long document, include some of the
text of the paragraph in the bookmark name.

Note: If you get a compile error when you paste this in, check that you
have not pasted non-breaking spaces instead of spaces at the beginnings of
lines.
(previous content snipped by Vito)
 
E

Elliott Roper

The workaround I developed is conceptually very simple, was very easy
to execute, and it was fast. In fact, I will probably use it from now
on.

<snip>
That has been a very useful thread. I have squirrelled both techniques
away.

I have one idle question for you. What was the reason you chose not to
use LaTeX? I thought it was almost a law of physics that scientists
used LaTeX for eveything like that.
 
J

John McGhie

Dunno about our poster, but the reason everyone else in a corporate setting
uses Word is that you can suck existing text in from all those existing
documents the rest of the staff have. And they can use yours when you have
finished.

Ever tried to import a Word document into LaTex? :)

Cheers

<snip>
That has been a very useful thread. I have squirrelled both techniques
away.

I have one idle question for you. What was the reason you chose not to
use LaTeX? I thought it was almost a law of physics that scientists
used LaTeX for eveything like that.

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Consultant Technical Writer
Sydney, Australia +61 4 1209 1410
 
E

Elliott Roper

John McGhie said:
Dunno about our poster, but the reason everyone else in a corporate setting
uses Word is that you can suck existing text in from all those existing
documents the rest of the staff have. And they can use yours when you have
finished.

Ever tried to import a Word document into LaTex? :)

It's why I'm still here ;-)

Thanks for all the work you have put into describing numbering for all
us muppets.
 
F

fizzicist

Hi John:

Yup...automating that puppy ought to be just the thing to squeeze the
maximum time savings out of the workaround. Thanks a million for yet
another elegant solution. It speaks to the lingering, ill-defined
sense that I'm probably like most Word users -- whom I suspect use
only a fraction of Word's capabilities most of the time.

Thanks again!

Vito

John McGhie said:
Hi:

Wow! You do like hard work :)



ALL cross-references in Word are done with bookmarks. There is no other
kind of cross-reference. The only difference is that when Word creates the
bookmark, it precedes the name with an underscore, which renders it
invisible.

You can check "Hidden Bookmarks" in the Insert>Bookmark dialog to see the
hidden ones if you wish.

Time you decided to hack a bit of code to make this puppy work FOR you :)
Here, this will save you some time:

(snip)
 
F

fizzicist

Hi Elliott:

The choice to use Word just sort of happened. Everyone who is working
on the project already had it installed in one version or another and
for one platform or another, it has the features that satisfy all the
documentation policy specifications (when they work...heh), and it has
the kind of interoperability with other applications that John McGhie
mentioned in his separate response to your post. As far as I can
recall, back when the project was in its early planning stages, no one
even questioned the proposal that Word would be used for the word
processing tasks.

Interestingly, the guys who wrote the original specs were Windows
users, but they were actually the ones who made the initial suggestion
that the project consider using the Mac platform. Obviously, they were
unaware of the bug that is the subject of this thread.

Vito
 
M

matt neuburg

fizzicist said:
I have a document in which I need to insert numerous cross-reference
links to Heading numbers and Numbered items.

I place the cursor in the text at the point where I want to insert the
cross-reference link, pull down the Insert menu to open the
Cross-reference window, and wait for Word to load all the Headings or
Numbered items. Each time I advance to the next insertion point, the
entire list of heading or numbered items has to reload, and it takes
an inconveniently long time to do so. I cannot scroll down and
highlight ANYTHING until EVERYTHING is loaded, and that is currently
taking 26 seconds. As I add more cross-references, it is getting
progressively slower. It's a complete waste of time.
Does anyone know of a workaround or some other option that will speed
up the Cross-reference window's load time for its listed items?

Yes, I've written a solution using AppleScript. It turns out that when
you use AppleScript to ask for that same list of all the headings, the
reply comes back instantly, unlike when you do it from within Word's own
interface. m.
 
F

fizzicist

Hi Daiya:

As promised, here are the results of my findings on the Office 2004
SP1 installation, and my tryout of Clive's Word 2001 workaround.

Office 2004 SP 1:
I installed it and tested it on a volume that was identical to my
normal working volume. In testing the cross-reference insertion
process, I determined that SP1 does not affect the stability or
persistence of the "reloads-the-list-every-time" bug, which functions
just as reliably as ever. However, it runs more quickly since I
installed SP1. The list loading time was approximately 30 seconds
before SP1; after SP1 it's down to approximately 12 seconds. That's
still an unacceptably long wait, but at least it suggests that
whatever is the cause of the bug is affected by something that was
fixed in SP1.

Clive's Word 2001 Workaround:
I tried it, and it works. In a separate post to John McGhie in which I
described my own workaround, I explained why I believe using Word 2001
is not practical in my application -- the tiny size of the referents
list pane and the primitive scrolling function are the principal
culprits -- so I won't repeat those details here. I mentioned it in
today's production meeting, whereupon it was met with a response I
would characterize as "not exactly receptive".

Predictably, there is a certain amount of indignation over the fact
that a great deal of effort is being expended by a number of users in
the development of a workaround, yet a similar level of concern and
remedial effort apparently is not forthcoming from Microsoft. I
pointed out that there is something suggestive in a remark that I
recalled in one of John McGhie's earlier posts:
Microsoft is planning the next version of Mac Word. One of the changes
being debated may fix this as a side-effect.

I've thought about that comment some more, especially in context with
the evidence that SP1 did not eliminate the "reload bug", but it DID
have an effect on it. I'm in hypothesizing mode here, so take it with
a grain of salt, but I'm inferring that there is a much bigger problem
with MacWord than the reload bug itself. I'm inferring that the reload
bug is a consequence of something else that is broken in the porting
from WinWord to MacWord, and it's such a formidable task to repair it
or redesign it that MBU is balking at the commitment of resources that
effort would require.

At least, that's the only kind of explanation that makes any sense to
me. It certainly doesn't make any sense that a bug this serious could
be allowed to persist for so long if it were a relatively simple or
easy matter to fix it. Methinks there are deep waters here.

This has been a pretty interesting thread. It has certainly stretched
me quite a bit as a Word user. Thanks again for your inputs as a part
of that process, Daiya.

Best regards,

Vito


Hi Daiya:

I haven't installed SP1 yet. There's a whole security procedure I have
to go through before I can clear an update for installation on the
project workstations, running them on a test bed volume that's a
precise clone of the working volume to check for incompatibilities
with other software. I'm not griping about it...the procedure makes
sense from a process workflow standpoint. Nothing gets installed until
it's been cleared by the Resources CM System Manager. That'd be yours
truly. I'll probably make time to do it on Saturday, after which I'll
post back here and let you know whether it makes any difference. I
doubt it will, though; I don't recall seeing it listed as one of the
things SP1 fixed, and it has evidently been such a big nuisance for so
long that I would think MS would be pleased to crow about having fixed
it.

As for Clive Huggan's workaround, that presents problems of its own.
I've already found incompatibilities running Word 2004 docs back
through Word X; so, the opportunity for even greater
backward-incompatibility mischief probably skyrockets going back yet
another version to Word 2001...not to mention whatever gremlins might
materialize in bridging the gap from OS X back to Classic. The mind
reels...

...ah, well...as long as I'll be running the test bed volume for SP1,
I might as well launch Classic and fire up Word 2001 while I'm at it.
It can't hurt to check it out. Then all I have to do is sell it at the
next Project Change Board meeting. "Well, folks...I realize that we've
spec'd all this state of the art hardware & software, but we have to
port the documents back to Word 2001 in Classic to insert the
cross-references. The good news is that...(ahem)...there are
surprisingly few incompatibilities. I've prepared a list of the things
that won't survive the journey -- things we'll need to accommodate in
our workflow procedures..."

I can hear the groans already. It certainly will make for an
interesting proposal...in approximately the same sense that the word
"interesting" is used in that venerable old Chinese curse, "May you
live in interesting times." ;-)

Thanks much for your response, Daiya. I hope my
skepticism-cum-borderline-grumbly response above doesn't appear as
though I'm ungrateful. Believe it or not, there is some solace in
having a sympathetic ear, and I really do sincerely appreciate your
taking the time to post a reply to my original posts. I'll let you
know what happens in the test bed trials.

Vito DiLuminoso

(previous content snipped by Vito)
 
D

Daiya Mitchell

Thanks very much for the info--I've passed it along as well. Let's just
hope the partial improvement in the service pack means they ran out of time,
not that they can't do any better.

Many thanks to both you and John for the more efficient workarounds, which I
also saved, and which hopefully will make their way into the hands of those
also suffering from this problem.

Daiya
 
F

fizzicist

Hi Clive:

Just a belated note of thanks in follow-up to your kindly having taken
the time to send a reply to my original post. As you might know by
now, I managed to concoct a somewhat primitive workaround that
nevertheless got the job done, as described in a separate post to John
McGhie. Practicality won out over sophistication; what my workaround
lacks in elegance is makes up for in simplicity, ease of use, and
SPEED. I need only adapt it to John's suggestion for automation (or
some suitably tweaked variant thereof) to have the best of all
currently available worlds.

As for the best of all theoretically possible worlds...ah,
well...that's another matter entirely, but if I were to dream one up,
it would have something to do with a clear and unambiguous commitment
from Microsoft to fix the doggone bug, and then actually DO it. Based
Microsoft is planning the next version of Mac Word. One of the changes
being debated may fix this as a side-effect.

To my admittedly uninformed ears, that sounds like a Word 2007 sort of
a fix. As I've speculated elsewhere in this thread in a post to Daiya,
there must be an iceberg here, of which this bug is perhaps only the
tip.

Anyhow, I've interposed (below) a couple of specific reponses to your
thoughtful post:


(snip)
My 200-word documents with un-numbered pure-styled headings take almost a
minute for the scroll-bar "thumb"* to shrink to its normal size then stop
returning uncontrollably to the beginning, allowing the cross-reference to
be inserted. And when you click anything else, you have to wait for Word to
go through this rigmarole again, don't you?

Yup...every time I click out of the Cross-reference window, when I
click back into it Word dumps the contents of the referents list and
rebuilds it from scratch. Just thinking about it elicits the primal
"Aaaaarrrrggghhhhh!!!!"

BTW, I would not separate your document into sections, which have their own
problems (Googling in newsgroup search for "section corrup" should tell you
why) and I would certainly not use the Master Document "feature" in Word --
there be Really Bad Things in there ...

I probably should have been a bit more explict there. We are not using
the Master Document "feature" in Word -- and I'm certain that it's
because of our predilection for avoiding the very same Demonic
Complexities to which you have referred...

Rather, the term "master document" as I am using refers to the
document ownership system we're using in this project. All documents
are "owned" by someone who is responsible for completion, for
compliance with specifications, for adherence to schedule &
budget...etc. Some documents are humongous...they have an owner, but
it's not realistic for one person to be on the hook for the entire
thing, so it's divided into "sections", each of which has an owner.
The sections are merged into the big, fat, humongous, giant "master
document" as it nears completion, but it's really nothing more than a
series of document merges.

But I do have a solution, of sorts, if you do not want to, or cannot, use
other than Word 2004. Before I go back to Word 2001 or a PC to insert the
actual cross-references, I use this workaround, while I develop the document
in Word 2004, to note where the cross-references will go.

It's centred on a very quick way of inserting some text (in my case it's
blue, italicized, small font) that reminds you where the cross-ref will
point to when you go back in Word 2001 to do the cross-referencing.

It's inserted as an AutoText item, so it's quick to do.

(snip)

That's much spiffier than what I was doing...although my method worked
well enough. Virtually all of the referents in my cross-reference
links are quite specific -- for example, "Section 5.5.2.4.4, list item
3.c.2)", in which "5.5.2.4.4" and "3.c.2)" show up as the content of
two separate cross-reference fields. My initial method has been to
simply type in the numeric (or alphanumeric) heading (or paragraph)
numbers, click+drag to select them, and then click on the green
highlight button in the formatting toolbar. When I go back to insert
the cross-references after I've finalized the content of the document
or document section, I simply find the green stuff and insert the
cross-references.

Your workaround (in combination with stuff thoughtfully provided by
John McGhie) will be the basis of some vastly sneakier ways of doing
this sort of thing in the future...by which I mean, later this
afternoon.

As I mentioned above, this is very quick once the AutoText item is set up,
but it's still *very* frustrating to have to in effect do cross-refs twice
over. I would not have resorted to the procedure if I had not been
reasonably confident that Microsoft's Mac Business Unit will fix the problem
before too long. (If it isn't, I'll have to do all my Word work on Virtual
PC.)

Hmmm... sounds like maybe you're not so confident after all, but what
do I know? You're undoubtedly plugged in to information resources that
I don't have on that subject. Since my resources are accurately
characterized by the number ZERO, the only thing I have to go on is
what shows up in the service pack releases or on the next distribution
CD. Don't get me wrong -- I'd love to receive a direct communication
from someone at Microsoft assuring me that the bug is fixin' to be
relieved of its existence, but until the fix actually shows up...

....let's just say that I grok the wisdom in your reference to
meditation. ;-)

Om,

Vito
 
B

Beth Rosengard

Yes, I've written a solution using AppleScript. It turns out that when
you use AppleScript to ask for that same list of all the headings, the
reply comes back instantly, unlike when you do it from within Word's own
interface. m.

Hi Matt,

I don't know why the principals on this thread haven't responded, but since
I'm eventually going to write something up about this for the MacWord
website, would you care to share the script (and may I have permission to
reproduce it with proper credit ­ and a link, if you wish ­ given)?

--
***Please always reply to the newsgroup!***

Beth Rosengard
Mac MVP

Mac Word FAQ: <http://word.mvps.org/MacWordNew/index.htm>
Entourage Help Page: <http://www.entourage.mvps.org>
 
M

matt neuburg

Beth Rosengard said:
Hi Matt,

I don't know why the principals on this thread haven't responded, but since
I'm eventually going to write something up about this for the MacWord
website, would you care to share the script (and may I have permission to
reproduce it with proper credit – and a link, if you wish – given)?

Well, the way I'm using the technique is useful for my needs, but it
might not be useful for someone else's, and I'm not interested in
supporting it. So, no, I've nothing in particular to share beyond what I
already said. The OP is perfectly right, the built-in Word interface to
the list of headings is unconscionably slow and instantly becomes
useless as your document gets bigger, but if you get the same list using
AppleScript:

set L to get cross reference items active document reference type
reference type heading

....the answer comes back instantly. So the problem is obviously in
Word's interface, not in its underlying machinery; the MacBU folks are
doing something wrong when they populate the interface. Therefore I use
AppleScript and provide my own interface. Presumably you could do
exactly the same thing in VBA. m.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top