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; }