%D \module %D [file=s-map-10.mkiv, %D version=2012.06.06, %D title=\CONTEXT\ Style File, %D subtitle=\MAPS\ journal style, %D author={Hans Hagen, Taco Hoekwater and Siep Kroonenberg}, %D date=\currentdate, %D copyright=NTG/MAPS] % This module implements the MAPS style for use with the Context % macro package. The original MAPS layout was designed and % implemented in LaTeX by Taco Hoekwater and Siep Kroonenberg. % - three layouts: % 1. two columns % 2. one column, with wide outer margins (option onecolumn) % 3. one column, with wide left margin (option asym) % - font sizes deviate from TeX's usual geometric progression % - use of sans-serif for headers and various details % - option realfonts uses Linux Libertine, Euler Math and Inconsolata. % This is used for final typesetting. % The default font setup, intended for authors, uses Computer % Modern Math instead of Euler Math (which is still in beta), % and LM Mono instead of Inconsolata. % A mode nosubsub defines only two levels of sectioning. If you % don't need more and use the two-column layout, then this option % will probably improve the looks of your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifMapsInColumns \doifmode{asym}{\enablemode[onecolumn]} % implies onecolumn \doifnotmode{onecolumn}{\MapsInColumnstrue} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% fonts %%%%%%%%% first, font sizes \definebodyfontenvironment [7pt][% LaTeX: scriptsize interlinespace=8pt, big=8pt, small=6pt% ] \definebodyfontenvironment [8pt][% LaTeX: footnotesize interlinespace=9pt, big=9pt, small=7pt, x=6pt% ] \definebodyfontenvironment [9pt][% LaTeX: small interlinespace=10pt, big=10pt, small=8pt,% x=7pt,% script=6pt% ] \definebodyfontenvironment [10pt][% LaTeX: normalsize interlinespace=11pt, big=11pt, a=11pt, small=9pt,% x=8pt,% script=7pt% ] \definebodyfontenvironment [11pt][% LaTeX: large interlinespace=11pt, big=11pt, small=10pt,% x=9pt,% script=8pt% ] \definebodyfontenvironment [14pt][% interlinespace=14pt, big=18pt, small=11pt, x=10pt% ] \definebodyfontenvironment [18pt][% interlinespace=18pt, big=24pt, small=14pt, x=10pt% ] \definebodyfontenvironment [24pt][% interlinespace=24pt, big=24pt, small=18pt, x=11pt% ] %%% font families \starttypescript [maps] \definetypeface [maps] [rm] [serif] [modern] [default] [rscale=0.95] \definetypeface [maps] [mm] [math] [modern] [latin-modern] \definetypeface [maps] [tt] [mono] [modern] [default] [rscale=0.90] \definetypeface [maps] [ss] [sans] [modern] [default] [rscale=0.95] \stoptypescript \startmode[realfonts] \usetypescriptfile[type-libertine] \usetypescriptfile[type-inconsolata] \starttypescript [maps] \definetypeface [maps] [rm] [serif] [libertine] [default] \definetypeface [maps] [mm] [math] [euler] [default] [rscale=0.9] \definetypeface [maps] [tt] [mono] [inconsolata] [default] [rscale=0.92] \definetypeface [maps] [ss] [sans] [modern] [default] [rscale=0.95] \stoptypescript \stopmode \setupbodyfont[maps,10pt,rm] % activate protruding \setupinterlinespace[line=11pt] \setupfontsynonym[handling=pure] \setupalign[hanging] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% additional general typographic details \setupindenting [yes,next,11pt] % indenting after enumerations etc. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% 3 versions of layout with matching headers \definepapersize [maps] [width=21cm,height=26.5cm] \setuppapersize [maps][maps] \setuplayout[ [topspace=40pt, height=688pt, header=33pt, margin=106pt, leftmargindistance=11pt, rightmargindistance=11pt] \setupblank[5.5pt] \setuppagenumbering [location=] \definetyping [widetyping] \setupheader [style=\ss] \setupfooter [style=\ss] \def\AuHead{\MapsRunningAuthor} \def\TiHead{\ifnum\pageno=\MapsPage \relax \MapsRunningAuthor \else \MapsRunningTitle\fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% sectioning \setupheads[sectionnumber=no, align=right] \def\hfonti{\ssbfa} \def\hfontii{\ssbf} \def\hfontiii{\rm\it} \doifelsemode{nosubsub}{% \setuphead [section][% style=\hfontii, before={\blank[line]}, after={}% ] \setuphead [subsection][% style=\hfontiii, alternative=text, distance=6pt, before={\blank[halfline]}% ]}{% \setuphead [section][% style=\hfonti, before={\blank[line]}, after={\blank[halfline]}% ] \setuphead [subsection][% style=\hfontii, before={\blank[halfline]}, after={}% ] \setuphead [subsubsection][% style=\hfontiii, distance=6pt, alternative=text, before={\blank[halfline]}% ]} \doifelsemode{nosubsub}{% \setuphead [subject][% style=\hfontii, before={\blank[halfline]}, after={}% ] \setuphead [subsubject][% style=\hfontiii, alternative=text, before={\blank[halfline]}% ]}{% \setuphead [subject][% style=\hfonti, before={\blank}, after={\blank[halfline]}% ] \setuphead [subsubject][% style=\hfontii, before={\blank[halfline]}, after={}% ] \setuphead [subsubsubject][% style=\hfontiii, alternative=text, before={\blank[halfline]}% ]} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% floats \setupfloats [location=center, before={\ss}] \setupcaptions [headstyle={\ssbf},style={\ssx}, suffix=.,distance=6pt, inbetween={\blank[halfline]}] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% various document elements \definesymbol [1][\getnamedglyphdirect{file:stmary10}{boxempty}] \setupitemize[1][packed] \setupitemize [each][% indentnext=no, align=right, width=1em, distance=0pt% ] % an outer form of itemize that does not indent % the paragraph. \definecomplexorsimpleempty\startouteritemize \def\complexstartouteritemize[#1]{\begingroup \startitemize[width=1sp,#1] \let\doitem\item \def\item{\doitem[]\hbox{}\kern12pt\rightskip=0pt}% } \def\stopouteritemize{\stopitemize\endgroup} \setupenumerations [indentnext=no] \setupdescriptions [indentnext=no] \unexpanded\def\smalltyping{% \switchtobodyfont[tt]% \parindent=0pt } % typing: % - prettyverbatim is NOT the default % - smaller size \unexpanded\def \XeTeX{X\lower.5ex\hbox{\kern-.1em\mirror{E}}\kern-.1667em\TeX} \setuptyping [% style={\smalltyping}, option=none, indentnext=no% ] \def\footnum#1{#1.} \setupnotation [footnote] [alternative=serried, before=, after=, location=none, width=\textwidth, before={\blank}, numbercommand=, command=\footnum, distance=0.5em] \setuptabulate [before=\blank, inner=\ss, after=\blank] \def\startIntroEntry#1% {\startlinecorrection \bgroup \setupalign[right] \setuptolerance[verytolerant] \setupindenting[no] \noindent \switchtobodyfont[9pt]% \setuplocalinterlinespace[line=10pt]% %\hyphenpenalty10000 \parfillskip 0pt plus 1fill \rightskip6pt plus 1fill \ss \bgroup\bf #1\par\egroup \ignorespaces } \def\stopIntroEntry {\par\egroup \stoplinecorrection \blank[line] } \def\defineIntroEntry[#1][#2][#3]% {\setvalue{start#1}{\startIntroEntry{#2}}% \setvalue {stop#1}{\stopIntroEntry#3}} \defineIntroEntry[Keywords][Keywords][] \defineIntroEntry[Abstract][Abstract][] % article parameters (other fields and defaults) \def\MapsBibData[#1]% {\getparameters [Maps] [SubTitle=, RunningAuthor=, RunningTitle=, Email=, Address=, Page=1, Title=, Author=, Period=, Number=, Year=, #1]% \doifnothing{\MapsPeriod}{% \ifnum \normalmonth<6 \gdef\MapsPeriod{VOORJAAR}\else \gdef\MapsPeriod{NAJAAR}\fi} \doifelseinstring{oorjaar}{\MapsPeriod}{\gdef\MapsPeriod{VOORJAAR}}{}% \doifelseinstring{pring}{\MapsPeriod}{\gdef\MapsPeriod{VOORJAAR}}{}% \doifelseinstring{ajaar}{\MapsPeriod}{\gdef\MapsPeriod{NAJAAR}}{}% \doifelseinstring{utumn}{\MapsPeriod}{\gdef\MapsPeriod{NAJAAR}}{}% \doifnothing{\MapsYear}{\gdef\MapsYear{\the\year}}% \doifnothing{\MapsNumber}{% \ifnum \normalmonth<6 \xdef\MapsNumber{\the\numexpr (\the\year-1990)*2\relax}% \else \xdef\MapsNumber{\the\numexpr (\the\year-1990)*2+1\relax}% \fi }% \doifnothing\MapsRunningAuthor {\glet\MapsRunningAuthor\MapsAuthor}% \doifnothing\MapsRunningTitle {\glet\MapsRunningTitle\MapsTitle}}% \def\dostartArticle[#1]{% \MapsBibData[#1] \pageno=\MapsPage \setupuserpagenumber[start=\MapsPage] \startbaselinecorrection \bgroup \hsize = 457pt \let\\\crlf \blank[35pt,force] \switchtobodyfont[24pt] \setupalign[right] {\noindent\bf\MapsTitle\par} \ifx\MapsSubTitle\empty \blank[30pt] \else \bgroup \blank[12pt] \switchtobodyfont[18pt]\noindent \it \advance \rightskip 0pt plus 2em \MapsSubTitle\par \egroup \blank[30pt] \fi \egroup \setupalign[width] \switchtobodyfont[rm,10pt] \stopbaselinecorrection \ifMapsInColumns \startcolumns\hyphenpenalty1000 \else \clubpenalty10000 \widowpenalty10000 \fi } \def\startArticle{\dosingleempty\dostartArticle} \def\signArticle{% \blank\let\\\crlf \noindent\switchtobodyfont[ss,9pt]% \MapsAuthor \doifsomething{\MapsAddress}{\\\MapsAddress}% \doifsomething{\MapsEmail}{\\\MapsEmail}% \switchtobodyfont[10pt]% \def\signArticle{}% } \def\stopArticle{% \par\signArticle \ifMapsInColumns \stopcolumns \fi \page } \installpagebreakmethod{last}{} %%% `logos' %%%%%%%%%%%%%%%%%%%%%%%%%% \unexpanded\def\LaTeX % requested by erik frambach {{\setbox\scratchbox\hbox{L}% \scratchdimen\ht\scratchbox \setbox\scratchbox\hbox{\switchtobodyfont[script]A}% L\kern-.55\wd\scratchbox \raise\scratchdimen\hbox{\lower\ht\scratchbox\copy\scratchbox}% \kern-.2\wd\scratchbox\TeX}} \def\CONTEXT{Con{\TeX}t} \def\ConTeXt{Con{\TeX}t} \def\METAFONT{Metafont} \def\METAPOST{MetaPost} \def\POSTSCRIPT{PostScript} \def\acro#1{{\switchtobodyfont[9pt]#1}} %%%%%%%%%%% \doifelsemode{onecolumn}{% \setuplayout[width=340pt] \doifelsemode{asym}{% one col, asymmetric \setuplayout[backspace=187.3pt]% \setuptyping [widetyping][oddmargin=-117pt] \setuppagenumbering [alternative={singlesided,doublesided}] \setupheadertexts [{\hbox{}\hskip-117pt\TiHead}] [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-30pt\hbox{}}] [{\hbox{}\hskip-147pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \setupfootertexts }{% one col, symmetric \setuplayout[backspace=70.3pt] \setuppagenumbering [alternative=doublesided] \setuptyping[blank=halfline] \setupheadertexts [\TiHead] [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-147pt\hbox{}}] [{\hbox{}\hskip-147pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \setupfootertexts }}{% two col \setuplayout[width=457pt] \setupcolumns[n=2,tolerance=verytolerant,distance=11pt] \setuplayout[backspace=70.3pt,grid=yes] \setuppagenumbering [alternative=doublesided] \setuptyping[blank=halfline] \setupheadertexts [\TiHead] [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-30pt\hbox{}}] [{\hbox{}\hskip-30pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \setupfootertexts } \def\fulltextwidth{457pt} \def\startdescription {\blank \bgroup \def\sym##1{\par\noindent\hbox{\bf\kern -16pt ##1}\hskip 12pt} \startnarrower[left] } \def\stopdescription {\par \stopnarrower \egroup \blank \noindentation } \frenchspacing \setuptolerance[tolerant] \endinput