Issue 13540 - Make cross-reference between different documents possible
Summary: Make cross-reference between different documents possible
Status: CONFIRMED
Alias: None
Product: Writer
Classification: Application
Component: ui (show other issues)
Version: OOo 1.0.2
Hardware: All Windows 2000
: P3 Trivial with 5 votes (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
: 107540 (view as issue list)
Depends on:
Blocks:
 
Reported: 2003-04-17 08:25 UTC by quetschke
Modified: 2013-02-07 22:34 UTC (History)
2 users (show)

See Also:
Issue Type: ENHANCEMENT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description quetschke 2003-04-17 08:25:23 UTC
When using Master- and Subdocuments it is needed to cross-reference to other
(sub-)documents. This doesn't work at the moment.

At least that's what Masterdocumets are for, divide big documents in smaler pieces
without loosing the ability to treat it as one document.
Comment 1 h.ilter 2003-04-17 12:44:59 UTC
Reassigned to BH
Comment 2 jeanweber 2003-09-20 03:45:27 UTC
I think this issue should be listed as a DEFECT not ENHANCEMENT. 

Elsewhere I had written:
You cannot create a cross-reference between files (whether those 
files are part of a master document or not). You can create a 
hyperlink, but that does not do what I want. The purpose of a cross-
reference to, say, the title of another chapter (or a figure number 
in another chapter), is to change the text of the cross-reference 
automatically if you change the title or figure number in the other 
chapter. 

Someone pointed me to the help file, which says:

---------
Insert reference

Inserting a referenced field to another position in the document. The 
corresponding text passage has to be defined with "Set Reference" 
first. Otherwise, inserting a reference by choosing a field name 
under Selection is not possible.

In master documents, you can also reference from one sub-document to 
another. Note that the reference name will not appear in the 
selection field and has to be entered "by hand".
---------

However, I have been unable to do this in OOo1.0.3 or beta versions 
up to and including 1.1RC3. Here's what happens. 

If the subdocs are write-protected in the master doc, then I must 
open one of the subdocs to edit it. If I do this, I cannot insert an 
x-ref to a reference name in another subdoc -- I can type it into the 
selection field, but it is ignored when I click Insert. If the help 
file means something else when it says "enter by hand," I can't 
figure out what I'm supposed to do.

If I remove the write-protection on the subdocuments and work on them 
within the master document, I can insert a cross-reference from one 
subdoc to another just the same as I would within one subdoc (and the 
reference name does appear in the selection list, contrary to what 
the help file says) and it all works just as it should. 

The problem is: When I save the master file and reopen it, if I 
choose to update the links, the cross-reference has disappeared. If I 
reopen the master doc and do not update the links, the cross-
reference remains, but that defeats the purpose of the links.

So I'm stumped. Either the help file is wrong, or it doesn't explain 
what to do clearly enough, or the program has a bug.
Comment 3 rblackeagle 2003-09-20 16:44:41 UTC
What is needed is some way to insert a cross-reference between the MD
and a sub-document or between sub-documents in an MD so that a change
in pagination (for example) results in a change in the
cross-reference, or a change in the order of chapters carries over the
correct cross-reference.  After all, what good does it do to reference
Chapter 3 when that is no longer Chapter 3 or page 15 when the
pagination has changed and it is now page 18?  I can do it in a single
document, but not in a MD.
Comment 4 jeanweber 2003-09-22 05:37:35 UTC
I've now discovered how to do this. It works just like the help file 
says, and produces the results that Robert Black Eagle and I (and 
many others) want, but until I discovered the secret, I didn't 
understand what the help file was telling me. Obviously I'm not the 
only person who had trouble with this, because I've now tested it in 
1.0.3 and it works there too.

However, although it works, it's cumbersome to do and not at all user-
friendly. Because many academics and others who use OOo want to x-ref 
between files, an improvement in the way of doing it would enhance 
the product immensely.

For the benefit of others, the secret lies in working out what is 
meant by 'entered "by hand".' Here's what I found.

1. When you set references in each subdoc, keep a list of what you've 
named them, and be sure every name is unique. I think the names are 
case-sensitive, but I haven't tested this.

2. Open the Master Document. Select a subdoc and click the Edit icon. 

3. In the subdoc, place the cursor where you want the x-ref to 
appear. Click Insert > Cross Reference.

4. In the Fields dialog, on the References page, select Insert 
Reference in the Type list on the lefthand side. The Selection list 
in the middle column shows only the reference field names for the 
subdoc you're using, so ignore that list and use the list you created 
in step 1.

5. In the Name field in the lower righthand column, type the name of 
the reference you set in the subdoc you're referring to. Click 
Insert. Nothing will appear in the subdoc except a tiny grey bar 
indicating a field. If you hover the mouse pointer over this field, 
you should see the field name.

6. Save and close the subdoc and return to the master doc window. 
Within the master doc, navigate to the page of the subdoc on which 
you inserted the x-ref field. You should now see the text of the 
cross-reference appear in the spot where you inserted it, because 
within the master doc, the subdoc can find the target of that field 
reference.

The above also works if you open a subdoc directly -- that is, not 
from within the master doc --(in step 2) and insert an x-ref field.

To test whether this x-ref changes as it should when the target text 
changes, do this:

1. Save and close the master doc.

2. Open  the Master Document. Select the subdoc containing the 
referenced text and click the Edit icon. 

3. Find the referenced text and change it in some way. Save and close 
the subdoc.

4. Within the master doc, navigate to the page of the subdoc on which 
you inserted the x-ref field. You should now see the changed text of 
the cross-reference.

It worked for me. It's cumbersome, but at least it worked. 

Jean Hollis Weber
Comment 5 eric.savary 2009-12-08 23:47:54 UTC
*** Issue 107540 has been marked as a duplicate of this issue. ***
Comment 6 skelem 2009-12-11 01:57:15 UTC
This is not an enhancement. It's a defect that when breaking a document up into
sub-documents with a master document, the functionality of cross-references is
severely limited.

I have an openoffice book with 20 subdocuments.
When, from inside one of the subdocuments, I try to insert a reference to a
heading in another subdocument, only the headings for the current subdocument
show up! When the document was flat all the references for the document showed
up in the insert other fields dialog. (When the document was flat, it took 6
minutes to do an autosave, which is why I broke up the document.)

ALL of the references for the main document should show up in the dialog for
inserting cross-references.

There is a hack shown at
http://wiki.services.openoffice.org/wiki/Documentation/OOo3_User_Guides/Writer_Guide/Cross-referencing_between_subdocuments
which is not acceptable.
I'm desperate, so I have to use the workaround, but if someone is coming from
FrameMaker or Microsoft, I don't think you have to go through all that work. I'm
stuck, because saves and autosaves for my flat document take over five minutes!
Otherwise, I wouldn't be using sub-documents for the following reasons:

First of all, it's a work-around for the lack of functionality that's available
for a flat document and within a sub-document.
Second, it's tedious and error-prone, having to keep a separate document where
you manually keep track of the references that you create. That tedium should be
done by OpenOffice, not the user.
Thirdly, the same user interface should be available whether a reference is
being made within a sub-document or across sub-documents in a book.
Fourth, the inter-document cross-references aren't expanded within a
sub-document, and changed text doesn't show up in the master document. This
means we can't publish a version of a document with change bars and all the
references resolved.
Comment 7 bettina.haberer 2010-05-21 14:54:01 UTC
To grep the issues easier via "requirements" I put the issues currently lying on
my owner to the owner "requirements".