Skip to contents

Generic page layout options suitable for bound codices. Each page layout attempts to shape the page, textblock, and whitespace between them using only harmonious ratios.

Usage

layouts

Format

A tibble of generic harmonious layouts

page_ratio

page proportion, height:width

page_2up_ratio

two-page proportion, height:(2 × width)

text_ratio

textblock proportion, height:width

text_2up_ratio

two-page textblock proportion, height:(2 × width + 2 × inner margin)

bt_ratio,oi_ratio,ot_ratio,ob_ratio,ti_ratio,bi_ratio

bottom (b), top (t), outer (o), and inner (i) margin ratios

oii_ratio,tii_ratio,bii_ratio

two-page margin ratios that span the spine (i.e., width = 2 × inner margin)

text_pct

textblock area as a fraction of the total page area

page_height,page_width

page dimensions, relative to unit width of 1

text_height,text_width

textblock dimensions, relative to unit width of 1

b_mar,t_mar,o_mar,i_mar

margin dimensions, relative to unit width of 1

error

total area of layout that is in disharmony, see Details

Details

All layouts are sized so the page width equals one. This allows the actual size to be scaled to suit the desired font and line spacing.

It is seldom possible to lock all thirteen ratios into perfect harmony, so by design inner margins are allowed to be slightly wider than ideal if needed. The curvature of pages towards the spine produces some optical foreshortening, so this approach works to counteract this effect. Fit is assessed by summing all inner margin whitespace in excess of the ideal ratio. This error is typically very small and is often smaller than the resolution of commercial printers.

Examples

str(layouts)
#> tibble [736 × 23] (S3: tbl_df/tbl/data.frame)
#>  $ page_ratio    : Factor w/ 13 levels "unison","minor 2nd",..: 7 7 7 7 7 7 7 7 7 7 ...
#>  $ page_2up_ratio: Factor w/ 13 levels "unison","inverse minor 2nd",..: 6 6 6 6 6 6 6 6 6 6 ...
#>  $ text_ratio    : Factor w/ 14 levels "minor 2nd","major 2nd",..: 14 14 14 14 14 14 14 14 14 14 ...
#>  $ text_2up_ratio: Factor w/ 24 levels "unison","minor 2nd",..: 9 11 11 11 1 1 5 8 11 11 ...
#>  $ bt_ratio      : Factor w/ 13 levels "minor 2nd","major 2nd",..: 2 4 4 4 5 6 6 6 11 11 ...
#>  $ oi_ratio      : Factor w/ 16 levels "unison","minor 2nd",..: 13 13 9 7 15 16 13 16 16 15 ...
#>  $ ot_ratio      : Factor w/ 14 levels "unison","minor 2nd",..: 7 7 7 7 12 12 12 13 12 12 ...
#>  $ ob_ratio      : Factor w/ 26 levels "unison","minor 2nd",..: 10 6 6 6 12 10 10 22 1 1 ...
#>  $ ti_ratio      : Factor w/ 14 levels "unison","minor 2nd",..: 6 6 2 1 7 12 1 6 12 7 ...
#>  $ bi_ratio      : Factor w/ 14 levels "unison","minor 2nd",..: 7 9 6 5 12 13 7 12 14 13 ...
#>  $ oii_ratio     : Factor w/ 16 levels "unison","inverse minor 2nd",..: 1 1 5 6 7 13 1 13 13 7 ...
#>  $ tii_ratio     : Factor w/ 14 levels "unison","inverse minor 2nd",..: 7 7 11 12 5 1 12 7 1 5 ...
#>  $ bii_ratio     : Factor w/ 14 levels "unison","inverse minor 2nd",..: 6 4 8 9 1 7 6 1 13 7 ...
#>  $ text_pct      : num [1:736] 0.0882 0.0741 0.0938 0.0999 0.1067 ...
#>  $ page_height   : num [1:736] 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 ...
#>  $ page_width    : num [1:736] 1 1 1 1 1 1 1 1 1 1 ...
#>  $ text_height   : num [1:736] 0.727 0.667 0.75 0.774 0.8 ...
#>  $ text_width    : num [1:736] 0.182 0.167 0.188 0.194 0.2 ...
#>  $ b_mar         : num [1:736] 0.409 0.463 0.417 0.403 0.4 ...
#>  $ t_mar         : num [1:736] 0.364 0.37 0.333 0.323 0.3 ...
#>  $ o_mar         : num [1:736] 0.545 0.556 0.5 0.484 0.6 ...
#>  $ i_mar         : num [1:736] 0.273 0.278 0.313 0.323 0.2 ...
#>  $ error         : num [1:736] 3.05e-09 4.10e-09 4.77e-11 9.68e-09 6.25e-09 ...