Front Matter and Back Matter
The front matter is a series of topics that are usually placed after the cover page and before the TOC or the content.
The back matter is a series of topics that are usually placed after the content of the book.
Front Matter and Back Matter - XML Fragment
In the merged map
file, the frontmatter topic references are wrapped in a
<frontmatter>
element that has the class
bookmap/frontmatter
. Then, the referenced content is marked with the
attribute @is-frontmatter="true"
:
<bookmap xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" ...>
<oxy:front-page class="- front-page/front-page ">
...
</oxy:front-page>
<opentopic:map xmlns:ot-placeholder="http://suite-sol.com/namespaces/ot-placeholder"
class="- toc/toc ">
...
<frontmatter xmlns:dita-ot="http://dita-ot.sourceforge.net/ns/201007/dita-ot"
class="- map/topicref bookmap/frontmatter ">
...
<topicref class="- map/topicref " href="#unique_1" type="concept">
...
</frontmatter>
</opentopic:map>
<concept
class="- topic/topic concept/concept "
is-frontmatter="true"
topicrefclass="- map/topicref bookmap/bookabstract " ...>
For the DITA Map PDF - based on HTML5 & CSS
transformation type, the merged map is further processed resulting in a collection
of HTML5 <div>
elements. These elements preserve the
original DITA @class
attribute values and add a new value derived
from the DITA element name.
<div xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/" ...>
<div class=" front-page/front-page front-page">
...
</div>
<div class="- toc/toc toc">
<div class="- map/topicref bookmap/frontmatter topicref frontmatter">
<div href="#unique_2" type="topic" class="- map/topicref topicref">
...
</div>
</div>
<article
class="- topic/topic concept/concept topic concept nested0"
is-frontmatter="true"
topicrefclass="- map/topicref bookmap/bookabstract " ...>
<backmatter>
element with the bookmap/backmatter
class and referenced content with the @is-backmatter="true"
attribute both in
the merged map and merged HTML files.Front Matter and Back Matter - Built-in CSS
The built-in CSS rules are in
[PLUGIN_DIR]/css/print/p-bookmap-frontmatter-backmatter.css. By
default, it associates the top-level topics that do not represent chapters to a
matter-page
style of page layout. Each child topic starts on a new
page.
How to Remove Page Breaks Between Front Matter Child Topics
*[class ~= "map/map"] > *[class ~= "topic/topic"][is-frontmatter]{
page-break-before: auto;
}
How to Style the Front Matter and Back Matter Topics
Style all the Topics with the Same Aspect
All the topics referenced from the <frontmatter>
and
<backmatter>
bookmap elements are formatted using the
matter-page
as defined in Default Page Definitions. In the merged file, the
<backmatter>
and <frontmatter>
elements are
omitted, and their child topic content is matched using a CSS rule like the one below:
*[class ~= "map/map"] > *[class ~= "topic/topic"][is-backmatter],
*[class ~= "map/map"] > *[class ~= "topic/topic"][is-frontmatter]{
page: matter-page;
...
}
Style the Topics Depending on Their Role
- Preface
- Notice
- Abstract
- Copyright
<topicref>
elements, with different class attribute values. The class attribute values are then passed by the transformation process onto the
corresponding topic elements from the merged map content. For example, a topic that was
referenced by a <preface>
map element now has a " bookmap/preface "
value in its @topicrefclass
attribute:
<topic
class="- topic/topic "
id="unique_1"
topicrefclass="- map/topicref bookmap/preface " .. >
...
</topic>
This can be used to match and apply various styling choices, or even a particular page layout:
@page preface-page {
background-color:silver;
@top-center{
content: "Custom Preface Header";
}
}
*[class ~= "topic/topic"][@topicrefclass ~= "bookmap/preface"] {
page: preface-page;
}