G'day "David" <
[email protected]>,
A real PITA that even a Maggie struggles with. You asked "Why", and
that is my specialty. Unfortunately, the flip side is no stated
solution instructions, just a "why".
Note: Reductio ad absurdum - an 'overly simplified example'.
Colloquial, this is NOT a precise chronological sequence of events
with stated references that you can use as factual statements. This is
a biased (for the audience) 'view' of the world of Word.
I will get a bit historical here because I am a serious technology boy
from the dawn of silicon. MS developed a neat text editor/processor
called Word . It was quite good at dealing with pages of text. Then
the users wanted this numbering feature so they could just insert and
delete paragraphs at will, without having to retype the whole damn
list's worth of numbers. Fair call, as I am a Technical Writer (TW),
we NEED this feature for productivity.
However, it 'straddled' many blocks of text, and has to allow for
interleaved elements. A silly example for interleaving:
Part 1. Preparation
Step 1. Select a cockroach from the farm.
Step 2. Kill it dead with the Stiletto Crusher.
Part 2. Cooking
Step 3. Boil 150ml of water
etc ad nauseum
So, they 'strapped on' the list numbering outside of the text
processor. For example, you cannot 'type over' the numbers in such a
list. The lists exist outside of your content, and help format it.
This caused immediate problems for the gamma testers. Eg: Every time
they pressed Enter for a new paragraph, and it wasn't list numbered.
So they hard-coded in some more straps to their add-on. Then it went
out to Beta testing, users found that they needed to cross-reference
to Step 2, more straps were added, until we finally find Word 2k where
they have added just about every damn strap in existence.
Fine. Numbering (more or less) works. Most simple user edits are dealt
with satisfactorily. MS turns the list numbering team into the XML
development team and forgets Word exists.
Time passes. Roses bloom, die and subject themselves to pruning. Track
changes sucks, really badly. People's documents are falling over
everywhere. MS decide they need to 'fix' this.
Note: There is no Captain Evil deliberately sitting there making this
sew. This is just a natural progression of social and economic
consequences. The third side of the socio-eco-political triangle was
also being added around about this time, so any 'Captain Evils' were
busy trying to deal with Doing Our Job. Anyway...
MS start banging 'fixes' in for stability of track changes. One
MASSIVE problem was 'how do we track changes to lists?'. See, the
track changes features works with strings of text - RTF 1.0 - and list
numbering was a strap-on that quasi-existed outside of this. So if
that perceived block of text that read Step 3. changes to Step 666.
then we should know about it. Hmmm, har. Original solution was to
carry around the string in the change. Unfortunately, associating this
change back the original involved more hard-coding than was sanely
possible and they verily failed as expected.
This was a two part problem. List templates were not explicitly
handled (being a strap-on outside the 'real' RTF environment of
content) and track changes was... full of unusual features. They dealt
with it by associating the change with the list paragraph properties
itself.
This carries serious follow-on implications - the most pertinent of
which is that despite your content having lost its track status, if
(for whatever reason) that change is not communicated back to the list
paragraphs themselves we have trouble, because that is where the
change is carried once 'processed' by Word.
List paragraphs are dynamically constructed objects. That is, they do
not exist until Word 'processes' your document and works out that you
are actually at sequence position number 3 by the time we render "The
quick" paragraph) .
By attempting to directly associate an instanced element's value with
a dynamic object we have already committed ourselves to some serious
fun. It is a 'manual format' of that line. So when we render the
dynamic as a flat instance, we have to include that manual format.
<Finds a nice limb>
My current client's environment displays this same behaviour and I do
not have the time nor directive to fix it. They are Word 2k and I
assume you are too. My first solution would be to load into Word
2003+, save as XML, exit Word, reload the XML, save as doc, quit Word,
reload and retry. 2003 is finally sorta LT aware, insofar as Word
pre-processes the file for 'known' errors. That concept is not fully
extended - numbering is still just a strap-on.
The best part is with this method though, if pain persisted, at least
we can directly edit the damn XML file, not like the old days where we
had to compile a reader to extract partial chunks of content from the
Word Binary File Format. That is why so many smart assed utilities use
RTF as an intermediate - no proprietary protocols, just grab a
terminated line's worth and process. The downside is a lack of real
Word richness, and MS's XML structure overcomes this decently. This
will improve further shortly, from this post's POV. Obviously I cannot
promise MS features (being me heretical independent self of course),
but I do like the probabilities behind some current... initiatives,
both XML and List.
If you are feeling a wee bit hazy at this stage, do not worry. This IS
as crazy as it all sounds. We have patches on fixes to straps that
aren't really aware of each other. Track changes is one minefield, and
list numbering another. When we combine them... mate, it is nothing
but a huge mess with scattered disassociation happening as a
consequence of time.
It is always a case of catchup with list problems. We are currently
experiencing the artifacts from catchup 13 from 29. Why? List
numbering is NOT properly integrated into the Word processing model at
this stage. Neither is Track changes, and from an information
processing perspective, the latter is far more the problem. To fix it
you need to disassociate the content from the current list templates.
There are a few other ways to try and treat this using your current
technology but it is a lot more complex than the simple prayer offered
above and would be a small commercial service for next year. If you
save as RTF, you lose some richness, but you can hand-edit the file
with more effort and thus remove the unknown blobs of goop that
represent the list template changes.
Steve Hudson - Word Heretic
steve from wordheretic.com (Email replies require payment)
Without prejudice
David reckoned: