#LyX 1.6.7 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass scrbook
\begin_preamble
\input{preamble.tex}
\end_preamble
\use_default_options false
\language english
\inputencoding utf8
\font_roman lmodern
\font_sans helvet
\font_typewriter courier
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\float_placement H
\paperfontsize default
\spacing single
\use_hyperref true
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder false
\pdf_colorlinks false
\pdf_backref false
\pdf_pdfusetitle true
\papersize letterpaper
\use_geometry false
\use_amsmath 2
\use_esint 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\bullet 0 5 11 -1
\bullet 1 5 24 -1
\bullet 2 0 0 -1
\tracking_changes false
\output_changes false
\author ""
\author ""
\end_header
\begin_body
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
input{chapter.tex}
\end_layout
\end_inset
\end_layout
\begin_layout Chapter
Design
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
epigraph{Immature poets imitate; mature poets steal; bad poets deface what
they take, and good poets make it into something better, or at least something
different.}{Thomas Stearns Eliot}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
With care, reports can be made visually stunning, like those depicted in
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Example-Report-Designs"
\end_inset
.
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-climate.png
display false
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Design-Environmental"
\end_inset
Environmental Design
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset space \hfill{}
\end_inset
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
bigskip{}
\end_layout
\end_inset
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-flower.png
display false
\end_inset
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Design-Flower"
\end_inset
Design with Pie Chart
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-coffee.png
display false
\end_inset
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Design-Coffee"
\end_inset
Coffee Design
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset space \hfill{}
\end_inset
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-silhouette.png
display false
\end_inset
\begin_inset Caption
\begin_layout Plain Layout
\align center
Risqué Design
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Example-Report-Designs"
\end_inset
Example Report Designs
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
When designing reports, always consider the target audience.
The general public will pay attention to reports with visual appeal; whereas,
the company executive might want facts, figures, and trends as the basis
for making decisions---the look of the report might not be as important
in the latter case.
\end_layout
\begin_layout Standard
The designs in
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Design-Environmental"
\end_inset
and
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Design-Flower"
\end_inset
have a similar appearance, yet depict vastly different information.
These designs illustrate how a little extra development work can result
in reports that are visually attractive.
\end_layout
\begin_layout Standard
An online report used by internal employees, in contrast, does not necessarily
need to be fancy.
However, all reports for a company, fancy or not, should have a unified
appearance.
\end_layout
\begin_layout Standard
This chapter describes the problem with report templates: they allow massive
duplication of the look and feel of reports.
When the time comes to change how all the reports look, it becomes a time-consu
ming task, which could have been avoided with a little planning at the project's
beginning.
\end_layout
\begin_layout Standard
In this chapter:
\end_layout
\begin_layout Itemize
\series bold
Title Page.
\series default
How the title page differs from other pages.
\end_layout
\begin_layout Itemize
\series bold
Header.
\series default
Information to consider including in the header.
\end_layout
\begin_layout Itemize
\series bold
Footer.
\series default
Details to bring order out of chaos, when the pages are accidentally dropped.
\end_layout
\begin_layout Itemize
\series bold
Charts.
\series default
Graphing guidelines.
\end_layout
\begin_layout Itemize
\series bold
Frames.
\series default
How to group information for zebra striping.
\end_layout
\begin_layout Itemize
\series bold
Subreports.
\series default
How to avoid duplication through judicious use of subreports.
\end_layout
\begin_layout Itemize
\series bold
Parameters.
\series default
Subreport communication.
\end_layout
\begin_layout Section
Title Page
\end_layout
\begin_layout Standard
Most of the report templates bundled with iReport have a title page that
differs from the other pages.
For example,
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Design-Flower-Design-Page"
\end_inset
resembles
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Design-Flower-Title-Page"
\end_inset
with the main difference being the title and subtitle are not included
on subsequent pages.
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-flower-title-01.png
display false
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Design-Flower-Title-Page"
\end_inset
Title Page
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset space \hfill{}
\end_inset
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-flower-title-02.png
display false
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Design-Flower-Design-Page"
\end_inset
Design Page
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
Title and Detail Pages
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Notice that in all the designs presented so far, the title receives the
emphasis.
It is wasteful to include the title on subsequent pages.
If a title is required on every page, consider reducing the title size
on the detail pages.
\end_layout
\begin_layout Standard
Another idea is to create a title page that takes up an entire page, forcing
the content of the report to start on the second page.
\end_layout
\begin_layout Standard
In any case, the report's
\series bold
Title
\series default
band should include a large report title and a smaller subtitle.
\end_layout
\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Design-Header"
\end_inset
Page Header
\end_layout
\begin_layout Standard
Consider embedding the following pieces of information to the header on
every page:
\end_layout
\begin_layout Itemize
User-supplied parameter values (to help debug and recreate reports).
\end_layout
\begin_layout Itemize
Name of the person who created the report.
\end_layout
\begin_layout Itemize
Report's version number (incremented each time the report is changed).
\end_layout
\begin_layout Itemize
Report identifier (unique across all reports that are offered by the system).
\end_layout
\begin_layout Standard
The reason to include the parameter values on the report is to help diagnose
any problems with the report.
Time spent fixing software bugs is mostly spent figuring out how to recreate
the problem.
When the problem can be repeatedly demonstrated, fixing the problem (with
reports) tends to be simple.
Parameters will help repeat the circumstances surrounding the issue.
\end_layout
\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Design-Footer"
\end_inset
Page Footer
\end_layout
\begin_layout Standard
Use a small font for the footer and include items such as:
\end_layout
\begin_layout Itemize
\series bold
Page.
\series default
The page number is often of the form
\emph on
Page X of Y
\emph default
(shown in the lower-right corner).
\end_layout
\begin_layout Itemize
\series bold
Timestamp.
\series default
Date and time that the report was run (shown in the lower-left corner).
\end_layout
\begin_layout Itemize
\series bold
Attribution.
\series default
Include the company name (shown centered along the page bottom).
\end_layout
\begin_layout Itemize
\series bold
Duration.
\series default
Not essential, sometimes it can be useful to note how long the report took
to run.
\end_layout
\begin_layout Standard
Apply the concepts discussed so far:
\end_layout
\begin_layout Itemize
\series bold
Style Template.
\series default
Use styles for fonts (page number, attribution) and timestamps.
\end_layout
\begin_layout Itemize
\series bold
Resource Bundle.
\series default
Use a resource bundle key instead of hard-coding footer texts.
\end_layout
\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:Laws-of-Charts"
\end_inset
Laws of Charts
\end_layout
\begin_layout Standard
Charts require more than a grid with plotted values to communicate to the
report audience.
A good chart includes the following:
\end_layout
\begin_layout Itemize
\series bold
Title.
\series default
A title, or subtitle, that describes the dependency relationship.
\end_layout
\begin_layout Itemize
\series bold
Labels.
\series default
Axes labelled with units of measurement (and numbers).
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The plural of axis is axes.
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
\series bold
Independent variable.
\series default
Horizontal (X) axis is always independent (for example, the interval measuremen
ts were taken).
\end_layout
\begin_layout Itemize
\series bold
Dependent variable.
\series default
Vertical (Y) axis is always dependent (for example, the value that was
measured).
\end_layout
\begin_layout Itemize
\series bold
Layout.
\series default
The chart should be nearly square in form, and use ample amounts of space.
\end_layout
\begin_layout Standard
Depending on the amount of width available for the chart, you can choose
vertically written labels along the horizontal instead of horizontally
written labels, which is the default orientation in
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
appireport{}
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
The difference between a bad chart and a good chart is demonstrated in
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Graph-Bad"
\end_inset
and
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Graph-Good"
\end_inset
respectively.
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
smallskip{}
\backslash
smallskip{}
\end_layout
\end_inset
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/graph-bad.png
display false
\end_inset
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Graph-Bad"
\end_inset
Bad Graph
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset space \hfill{}
\end_inset
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 0
width "45text%"
special "none"
height "1in"
height_special "totalheight"
status open
\begin_layout Plain Layout
\begin_inset Float figure
wide false
sideways false
status open
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/graph-good.png
display false
\end_inset
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Graph-Good"
\end_inset
Good Graph
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
Chart Content
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
The difference between the two charts is clear:
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Graph-Bad"
\end_inset
leaves the reader wondering what the data shows; whereas,
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Graph-Good"
\end_inset
provides all the information necessary to understand the content.
(The charts are from the Climate Reports.) The dots represent temperature
measuremens and the line suggests an increasing temperature trend.
The full chart can be seen in
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Design-Environmental"
\end_inset
.
\end_layout
\begin_layout Standard
Other ways to improve upon
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Graph-Good"
\end_inset
include:
\end_layout
\begin_layout Itemize
Add a legend that indicates what the items on the graph represent.
\end_layout
\begin_layout Itemize
Provide an estimate of trend relevance (the strength of the correlation).
\end_layout
\begin_layout Itemize
Provide report parameters that are required to reproduce the chart.
\end_layout
\begin_layout Standard
In the book
\emph on
Information Dashboard Design
\emph default
, Stephen Few critiques, and then suggests ways to improve actual dashboard
displays.
An interesting observation was brought to my attention: newspapers and
magazines sometimes compare data using three-dimensional graphics.
For example, a real estate article might use a small house to represent
the number of home sales in one year and a larger house to show represent
how sales doubled the following year.
If the larger house is depicted twice as wide, tall, and deep as the smaller
house, it can appear that the home sales have increased eight-fold, rather
than two-fold.
Either the people who create the graphics are not aware of the confusion
such imagery can create, or they are intentionally skewing perceptions.
\end_layout
\begin_layout Section
Frames
\end_layout
\begin_layout Standard
A number of technical manuals on JasperReports and iReport cover the subject
of frames in depth.
The purpose of this section is to emphasize ways frames can simplify creating
reports and facilitate shading for alternate rows of data.
\end_layout
\begin_layout Standard
Add a frame to the
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
filename{
\backslash
filejrxmlcity}
\end_layout
\end_inset
report as described in
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Repositioning-Fields"
\end_inset
, and then configure the frame to use alternate row colours.
\end_layout
\begin_layout Subsection
\begin_inset CommandInset label
LatexCommand label
name "sub:Repositioning-Fields"
\end_inset
Repositioning Fields
\end_layout
\begin_layout Standard
A frame can help ease the burden of selecting and repositioning fields all
the time.
To reposition fields:
\end_layout
\begin_layout Enumerate
Open
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
filename{
\backslash
filejrxmlcity}
\end_layout
\end_inset
.
\end_layout
\begin_layout Enumerate
Drag a
\series bold
Frame
\series default
(from the
\series bold
Palette
\series default
dialog) onto the
\series bold
Detail 1
\series default
band.
\end_layout
\begin_layout Enumerate
Select the
\series bold
Frame
\series default
.
\end_layout
\begin_layout Enumerate
Click
\series bold
Adapt to Parent
\series default
.
\end_layout
\begin_layout Enumerate
Select
\series bold
$F{id}
\series default
through
\series bold
$F{longitude}
\series default
in the
\series bold
Report Inspector
\series default
to select all the fields.
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Use click and shift-click in the
\series bold
Report Inspector
\series default
---it is faster.
\end_layout
\end_inset
\end_layout
\begin_layout Enumerate
\emph on
Drag and drop
\emph default
the selected fields to the
\series bold
Frame
\series default
(within the
\series bold
Report Inspector
\series default
).
\end_layout
\begin_layout Enumerate
Select the
\series bold
Frame
\series default
.
\end_layout
\begin_layout Enumerate
Drag the
\series bold
Frame
\series default
into different bands.
\end_layout
\begin_layout Standard
All the fields reposition themselves relative to the
\series bold
Frame
\series default
.
The frame, like a field,
\begin_inset space \space{}
\end_inset
can also be subjected to a
\series bold
PrintWhenExpression
\series default
value.
Only when the expression returns true is the entire field set included
in the report.
This is similar to adding the fields to a layer and then changing the layer's
\series bold
PrintWhenExpression
\series default
.
The difference is that a layer is useful in situations where unrelated
fields (for example, values displayed in different
\series bold
Detail
\series default
bands) must be subjected to the same expression that determines whether
the values are written into the report.
Whereas, a
\series bold
Frame
\series default
groups fields together in the same band and allows you to hide them as
a single entity.
\end_layout
\begin_layout Subsection
Zebra Striping
\end_layout
\begin_layout Standard
When reading long rows of data, it is helpful to provide a line to guide
the eye.
However, since horizontal lines (even 0.5 pixels thick) can be unsightly,
it is not uncommon to use a light background colour (that matches the report's
design) for every other row.
This is shown in
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Alternating-Rows"
\end_inset
.
\end_layout
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status collapsed
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/template-coffee.png
display false
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Alternating-Rows"
\end_inset
Alternating Rows
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
After completing the steps in the
\begin_inset CommandInset ref
LatexCommand ref
reference "sub:Repositioning-Fields"
\end_inset
\begin_inset CommandInset ref
LatexCommand vpageref
reference "sub:Repositioning-Fields"
\end_inset
, add a conditional style as follows:
\end_layout
\begin_layout Enumerate
Click
\series bold
Window
\begin_inset Quotes ald
\end_inset
Report Inspector
\series default
to open the
\series bold
Report Inspector
\series default
panel.
\end_layout
\begin_layout Enumerate
Right-click
\series bold
Style
\series default
in the
\series bold
Report Inspector
\series default
.
\end_layout
\begin_layout Enumerate
Click
\series bold
Add
\begin_inset Quotes ald
\end_inset
Style
\series default
.
\end_layout
\begin_layout Enumerate
Rename the style to
\series bold
ZebraStripe
\series default
.
\end_layout
\begin_layout Enumerate
Right-click
\series bold
ZebraStripe
\series default
in the
\series bold
Report Inspector
\series default
.
\end_layout
\begin_layout Enumerate
Click
\series bold
Add Conditional Style
\series default
.
\end_layout
\begin_layout Enumerate
Click
\series bold
Window
\begin_inset Quotes ald
\end_inset
Properties
\series default
to open the
\series bold
Properties
\series default
panel.
\end_layout
\begin_layout Enumerate
Click the button beside
\series bold
Condition Expression
\series default
to open the
\series bold
Condition Expression
\series default
dialog.
\end_layout
\begin_layout Enumerate
Set the expression to:
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
The expression means ``divide the row number by 2 and check the remainder.''
If the remainder is 0 (the row is even), then apply the conditional style.
The style changes the frame's background colour.
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout LyX-Code
\family typewriter
$V{REPORT_COUNT} % 2 == 0
\end_layout
\end_deeper
\begin_layout Enumerate
Click
\series bold
OK
\series default
to close the
\series bold
Condition Expression
\series default
dialog.
\end_layout
\begin_layout Enumerate
Check
\series bold
Opaque
\series default
.
\end_layout
\begin_layout Enumerate
Change
\series bold
Backcolor
\series default
to
\series bold
lightGray
\series default
, resulting in a
\series bold
Properties
\series default
panel similar to
\begin_inset CommandInset ref
LatexCommand ref
reference "fig:Conditional-Style-Properties"
\end_inset
.
\end_layout
\begin_deeper
\begin_layout Standard
\begin_inset Float figure
wide false
sideways false
status collapsed
\begin_layout Plain Layout
\begin_inset Graphics
filename captures/ireport-conditional-style-properties.png
width 9.364cm
height 6.8cm
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Caption
\begin_layout Plain Layout
\begin_inset CommandInset label
LatexCommand label
name "fig:Conditional-Style-Properties"
\end_inset
Conditional Style Properties
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\end_deeper
\begin_layout Enumerate
Select the
\series bold
Frame
\series default
[18, 12, 100, 20] in the
\series bold
Report Inspector
\series default
.
\end_layout
\begin_layout Enumerate
Select
\series bold
ZebraStripe
\series default
from the
\series bold
Style
\series default
drop-down in the
\series bold
Properties
\series default
panel.
\end_layout
\begin_layout Enumerate
Click
\series bold
Preview
\series default
.
\end_layout
\begin_layout Standard
Every second line of the city report has a light gray background colour.
\end_layout
\begin_layout Standard
The frame to get the zebra stripe effect is not simply a rectangle that
can be placed anywhere on the detail band: it is a hierarchical structure.
You must relocate the text fields into the frame.
\end_layout
\begin_layout Section
Borders and Lines
\end_layout
\begin_layout Standard
Whenever possible, prefer applying a border to fields instead of using a
line.
First, a line needs to be positioned, which takes time.
Second, a line and a field will result in having to maintain two different
styles to control the look of the report---one for the line and one for
the field.
\end_layout
\begin_layout Standard
In both cases, use a consistent thickness for lines and borders.
A thickness of 0.5 creates a distinct division without adding the feeling
of weight.
When two fields having a border thickness of 0.5 are placed next to each
other, their combined thickness is less weighty than 1-pixel borders.
Also, thin lines save ink.
\end_layout
\begin_layout Section
Summary
\end_layout
\begin_layout Standard
Innovation, an intensely iterative process, takes time.
Without the budget for a graphics artist, creating unique report presentations
can be a time consuming and daunting task.
Create your own variations based on existing themes and then share them
with the world, so that others can benefit.
Be responsible though: use your own graphics, your own text, your own colour
scheme, adjust the fonts, and tweak the layout so that it makes sense for
your particular application.
\end_layout
\end_body
\end_document