Bibliography

Features for styling and formatting a bibliography or reference list

Display graphics for bibliography

The <bibliography> element can be used to mark up a reference list or bibliography in the end matter of a book. The stylesheets p14-endmatter.xsl and c1-commonstyles.xsl have all features and instructions to set up styles for a bibliography.

The bibliography formats that can be set in the stylesheet p14-endmatter.xsl are:
The bibliography features that can be set in the stylesheet c1-commonstyles.xsl are:
Nested inside a <bibliography> element, you can mark up a bibliography in XML using either of:

The XML book templates contain examples of bibliographies using both these options.

The following diagram shows the decision-making process to add elements and punctuation in a bibliography.

Diagram showing the decision-making process for selecting XML elements of a bibliography

XML markup to edit

Hyperlinking to bibliography entries. You can produce ebook formats that allow hyperlinking from citations or references in the body text to specific entries in the bibliography.

To link from body text to each reference entry, you first need to add the attribute xml:id to each <bibliomixed> or <biblioentry> element in the bibliography, and use a unique name or abbreviation as the ID value. For example, if a reference is cited as Smith and Jones (2012), you could use "smithjones2012" as the ID value. An example of an entry in the bibliography is:
<bibliomixed xml:id="smithjones2012">
To add a link from a citation in the body text to the bibliography, use the <link> element and specify that ID name as the value of the "linkend" attribute. An example of a link from a citation in the body text is:
<link linkend="smithjones2012">Smith and Jones (2012)</link>
Note: The <link> element can be used to hyperlink any text to an entry in the bibliography (it is also used to create hyperlinks from any body text to formal objects and section titles). There are two other elements you can use to link to bibliography entries—<xref> and <biblioref>. These elements must not contain body text, but citation text is automatically generated when you produce an ebook. For a technical reference about using these two elements, see http://www.sagehill.net/docbookxsl/CiteBiblio.html.

Change the order of author first name and surname. When you create XML markup for author names, first add a <personname> element. Nested inside that you can add <firstname> and <surname> elements. These two elements are optional, but if you do not have them, you must type the author names in the same order as you want them in the output ebook formats.

It does not matter in what order you put the first name and surname, because you specify the order of names using a role attribute value (either "last-first" or "first-last"); the stylesheets will automatically generate the correct order of names based on that role attribute markup. See the following table for the XML markup to change the order of author names.

XML markup Description
<personname role="last-first"> xxx </personname> Format author names with the surname, followed by the first name
<personname role="first-last"> xxx </personname> Format author names with the first name, followed by the surname
Set text styles and punctuation for different types of publications. There are several types of publications that can be styled in bibliography entries. These are:
  • book title
  • book subtitle
  • chapter title
  • journal title
  • journal article title.

Cop-e-boox can generate the punctuation that surrounds these types of publications (such as quotation marks), as well as the punctuation after each item in a bibliography entry, which separates the different items (e.g. author names, year of publication, book title, journal volume number). Refer to the diagram above to help you choose stylesheet settings for punctuation in references, depending on whether you want to set up punctuation in stylesheets or add punctuation to XML markup. If you have a consistent format for all references, you may prefer to use stylesheet settings.

The following table summarises the XML markup required for styling the different types of publications in a bibliography.

XML markup Description
<citetitle pubwork="book"> Title of book </citetitle> Book title. This "pubwork" attribute value lets you apply stylesheet features at c1-75 to c1-95.
<subtitle> Subtitle of book </subtitle> Book subtitle. This element lets you apply stylesheet features at c1-100 to c1-110.
<citetitle pubwork="chapter"> Title of chapter </citetitle> Book chapter title. This "pubwork" attribute value lets you apply stylesheet features at c1-115 to c1-130.
<edition> 2nd ed. </edition> Book edition number. This element lets you apply the stylesheet feature at c1-135.
<editor> <personname> <firstname> J </firstname> <surname> Smith </surname> </personname> </editor> Editor's name. There are no stylesheet features to set the text style. This uses the default body text style.
<publisher> <publishername> Name of publisher </publishername> </publisher> Book publisher's name. These elements let you apply stylesheet features at c1-140 to c1-155.
<pagenums> 21-32 </pagenums> Book page numbers. This element lets you apply stylesheet features at c1-160 to c1-170.
<citetitle pubwork="article"> Title of journal article </citetitle> Journal article title. This "pubwork" attribute value lets you apply stylesheet features at c1-175 to c1-190.
<citetitle pubwork="journal"> Title of journal </citetitle> Journal title. This "pubwork" attribute value lets you apply stylesheet features at c1-195 to c1-210.
<volnum> 20 </volnum> Journal volume number. This element lets you apply stylesheet features at c1-215 to c1-230.
<issuenum> 1 </issuenum> Journal issue number. This element lets you apply stylesheet features at c1-235 to c1-255.
<artpagenums> 23-35 </artpagenums> Journal article page numbers. This element lets you apply stylesheet features at c1-260 to c1-280.

Stylesheet settings to edit

The relevant Stylesheet Guide page to set up text formats for a bibliography is PDF-biblio.svg.