//// Included in: - user-manual: Inter-document cross references //// The inline xref macro can also link to IDs in other AsciiDoc documents. This eliminates the need to use direct links between documents that are coupled to a particular converter (e.g., HTML links). It also captures the intent of the author to establish a reference to a section in another document. Here's how a cross reference is normally defined in Asciidoctor: [source] ---- include::ex-xref.adoc[tag=base] ---- This cross reference creates a link to the section with the ID _images_. Let's assume the cross reference is defined in the document [.path]_document-a.adoc_. If the target section is in a separate document, [.path]_document-b.adoc_, the author may be tempted to write: [source] ---- include::ex-xref.adoc[tag=bad] ---- However, this link is coupled to HTML output. What's worse, if [.path]_document-b.adoc_ is included in the same document as [.path]_document-a.adoc_, the link will refer to a document that doesn't even exist! These problems can be alleviated by using an inter-document xref: [source] ---- include::ex-xref.adoc[tag=base-inter] ---- The ID of the target is now placed behind a hash symbol (`#`). Preceding the hash is the name of the reference document (the file extension is optional). We've also added a label since Asciidoctor cannot (yet) resolve the section title in a separate document. When Asciidoctor generates the link for this cross reference, it first checks to see if [.path]_document-b.adoc_ is included in the same document as [.path]_document-a.doc_. If not, it will generate a link to [.path]_document-b.html_, intelligently substituting the original file extension with the file extension of the output file. [source,html] ---- Section B ---- If [.path]_document-b.adoc_ is included in the same document as [.path]_document-a.doc_, then the document will be dropped in the link target and look like the output of a normal cross reference: [source,html] ---- Section B ---- Now you can create inter-document cross references without the headache. ==== Navigating Between Source Files include::xref-source-to-source.adoc[]