Cover Pages

From Wiki
Revision as of 10:48, 13 December 2020 by Garulfo (talk | contribs) (Garulfo moved page Simple Cover Page to Cover Pages: to make easier to browse samples document category)
Jump to navigation Jump to search

First one

\setuppapersize[A6]
\setupcolors[state=start]

\startuseMPgraphic{cover}
   StartPage ;
     fill Page withcolor .5green ;
     path p ; p := unitcircle randomized .1 xsized(PaperWidth-1cm) ;
     fill p shifted -center p shifted center Page  withcolor red ;
   StopPage ;
\stopuseMPgraphic

\defineoverlay[cover][\useMPgraphic{cover}]

\starttext

\setupbackgrounds[page][background=cover]

\startstandardmakeup
  \raggedcenter
  \vfill \definedfont[SerifBold at 28pt]\setstrut \strut Penguins in Vietnam
  \blank[2*big] \definedfont[SerifBold at 18pt]\setstrut \strut A Very Short Story
  \vfill
\stopstandardmakeup

\setupbackgrounds[page][background=]

\input tufte

\stoptext

Reference to mailing list

Another title page

\setuppapersize[A6]
\definetype[ytyp][color=yellow]

\startbuffer[title]
\type{/(}\ytyp{h}\type{*?)testexpr/io}\par
\type{/t(}\ytyp{a}\type{*?)estexpr/io}\par
\type{/te(}\ytyp{n}\type{*?)stexpr/io}\par
\type{/tes(}\ytyp{s}\type{*?)texpr/io}\par
\type{/test(}\ytyp{h}\type{*?)expr/io}\par
\type{/teste(}\ytyp{a}\type{*?)xpr/io}\par
\type{/testex(}\ytyp{g}\type{*?)pr/io}\par
\type{/testexp(}\ytyp{e}\type{*?)r/io}\par
\type{/testexpr(}\ytyp{n}\type{*?)/io}\par
\stopbuffer

\setupcolors[state=start]

\definelayer
   [TitleGraphic]
   [width=\paperwidth,
    height=\paperheight]

\setlayer
   [TitleGraphic]
   [preset=lefttop]
   {\scale
      [width=\paperwidth,
       height=\paperheight]
      {\framed
         [frame=off,
          offset=overlay,
          background=color,
          backgroundcolor=blue,
          foregroundcolor=red,
          align=normal]
%         {\setuptyping[before=,after=]\typebuffer[title]}}}
         {\getbuffer[title]}}}

\setupbackgrounds[page][background=TitleGraphic]

\starttext

\startstandardmakeup

\stopstandardmakeup

\stoptext

Guess who did this one :-) Reference to mailing list

A simple centered cover for a booklet

\setuppapersize[A6]
\setuppagenumbering[alternative=doublesided]


\starttext

\startpagemakeup[align=center,doublesided=no,%
  pagestate=start]% we want to number this

{\bfb This should be the long title, Andreas' solution\par}

\stoppagemakeup

This is the colofon

\chapter{Start}

\input knuth

\stoptext

Reference: http://www.ntg.nl/pipermail/ntg-context/2011/063030.html

Or, another solution (which can be tuned at will), which relies on a new feature in MkIV: there is also a layout with the same name as the makeup environment and you can control the margins of your new title page environment with \setuplayout[makeupname][...].


\setuppagenumbering[alternative=doublesided]

%\showframe

\setuppapersize[A5][A4,landscape]
\setuparranging[2UP]


\definemakeup[titlepage][pagestate=start,doublesided=no]
\setuplayout[titlepage]
[backspace=2cm,width=108mm] % 148mm is the width, 20 mm of backspace,
                            % 20 mm of outer margin

\starttext

\starttitlepagemakeup
 \raggedcenter
 \bfc This should be the long, long, very long title\par
\stoptitlepagemakeup

This is the colofon

\chapter{Start here on page 3}

\dorecurse{20}{\input tufte\par}

\stoptext

Scaled Full Page Image 1

An elegant option is to extend the makeup mechanism to accept the background key:

   \unprotect
   \appendtoks
     \setupbackgrounds[\v!page][\c!background=\makeupparameter\c!background]
   \to \t_page_makeup_every_setup
   \protect

Then you can use

    \setupexternalfigures[location={local,default,global}]

    \defineoverlay
      [backgroundimage]
      [{\externalfigure[cow.pdf][width=\overlaywidth, height=\overlayheight]}]


    \starttext

    \startstandardmakeup[background=backgroundimage]
      Whatever
    \stopstandardmakeup

    Next

    \stoptext


Scaled Full Page Image 2

Another way to use a full-page image includes:

\setuppapersize[A7,landscape]
\startTEXpage
  \externalfigure
    [cow.pdf]
    [width=\paperwidth, 
     height=\paperheight]
\stopTEXpage


A very very simple one

If you are looking for something fancy with graphics, bells, and whistles, this is not for you. However, if you are looking for a very simple cover page with simple code, then read on.

Very often a white paper or some other document needs a cover page. The cover page needs to have a specific (and special) layout, so some layout commands are required. The textual content is limited, and in many cases there is no graphics whatsoever. The cover page below is really plain vanilla:

% --- Cover page

\dontleavehmode
\blank[6cm]

\startalignment[center]
  \ssd Polar Bears of Antarctica \par
  \ssc A Suggestion
\stopalignment

\blank[10cm]

\startalignment[flushright]
\dontleavehmode
\ssb
\bTABLE
  \setupTABLE[r][each][frame=off]
  \bTR \bTD Dr. I.M.Looney \eTD \eTR
  \bTR \bTD Institute of Bad Ecology \eTD \eTR
  \bTR \bTD February 30, 2006 \eTD \eTR
\eTABLE
\stopalignment
\page

Analysis of the code

These two commands together make a 6-centimeter blank on the top of the page:

\dontleavehmode
\blank[6cm]

The \dontleavehmode in the beginning is a bit of TeX-magic. TeX has a horizontal and a vertical mode, and if it is in the vertical mode when it encounters a \blank, no blank will appear. The \dontleavehmode forces the right mode.

The title is centered. The actual layout may need some tweaking with e.g. \blank. This one looks reasonably fine on the paper (and bad in the Wiki).

\startalignment[center]
  \ssd Polar Bears of Antarctica \par
  \ssc A Suggestion
\stopalignment

Another measured waste of paper (this time no mode problems):

\blank[10cm]

And then the rest of the information is embedded in a natural TABLE. All the text in the TABLE is left-aligned, but the TABLE itself is right-aligned. So, the longest row dictates the position of the TABLE. The downside of this approach is that if you have a number of cover pages with different authors, the starting position jumps around.

\startalignment[flushright]
\dontleavehmode
\ssb
\bTABLE
  \setupTABLE[r][each][frame=off]
  \bTR \bTD Dr. I.M.Looney \eTD \eTR
  \bTR \bTD Institute of Bad Ecology \eTD \eTR
  \bTR \bTD February 30, 2006 \eTD \eTR
\eTABLE
\stopalignment

N.B.: the \startalignment requires the \dontleavehmode if there is no text immediately after the start command.

And finally, let's finish the page:

\page

And that's it, a very simple cover page. While it may be useful as such, it has several shortcomings. For example, the positions are not absolute, so a change in the title may move the information block in the lower right corner. Using the TABLE is just a show-off. If you do not need the "align-by-rightmost" alignment, \startnarrower[..][..] ... \stopnarrower provides much the same functionality with fewer commands and cleaner code.

Simple example with MetaFun (2019)

from tex.stackexchange.com

\setuppapersize[A6]

\setupbodyfont [palatino]

\definecolor [Top] [h=a5b291]
\definecolor [Bottom] [h=b7c1a7]
\definecolor [TitleColor] [h=96433a]

\define[1]\titlefont{%
  \setcharacterkerning[extrakerning]%
  \cap
  \definedfont[#1]%
  \ignorespaces
}

\starttext

\startMPpage

    StartPage ;

    numeric w ; w := bbwidth(Page) ;
    numeric h ; h := bbheight(Page) ;

    fill (unitsquare xyscaled (w,.8h)) withcolor \MPcolor{Bottom} ;
    fill (unitsquare xyscaled (w,.2h) yshifted .8h) withcolor \MPcolor{Top} ;
    draw (0,.8h) -- (w,.8h) withpen pensquare scaled 2pt withcolor white ;

    draw textext.rt("\definedfont[Serif at 10pt]Author") shifted (.1w,.95h) ;
    draw textext.rt("\titlefont{Serif at 20pt} Cover Page Title") shifted (.1w,.85h) withcolor \MPcolor{TitleColor} ;
    draw textext.rt("\titlefont{SerifBold at 10pt} Subhead Title") shifted (.1w,.75h) withcolor \MPcolor{TitleColor} ;
    draw textext.rt("\titlefont{SerifBold at 10pt} Another subhead") shifted (.1w,.70h) ;


%    picture p; p := externalfigure "matterhorn.png" ;
%    draw p scaled (w/bbwidth p) ;

    StopPage ;

\stopMPpage

\stoptext