%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] %D This module implements the MAPS style for use with the Context macro package. The %D original MAPS layout was designed and implemented in LaTeX by Taco Hoekwater and %D Siep Kroonenberg. %D %D \startitemize %D \startitem %D four layouts: %D \startitemize %D \startitem two columns \stopitem %D \startitem one column, with wide outer margins (option onecolumn) \stopitem %D \startitem one column, with wide left margin (option asym) \stopitem %D \startitem one column, with wide right margin (option single) \stopitem %D \stopitemize %D \stopitem %D \startitem %D font sizes deviate from TeX's usual geometric progression %D \stopitem %D \startitem %D use of sans-serif for headers and various details %D \stopitem %D \stopitemize %D %D A mode nosubsub defines only two levels of sectioning. If you don't need more and %D use the two-column layout, then this option will probably improve the looks of %D your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifMapsInColumns \doifmode {asym} {\enablemode[onecolumn]} % implies onecolumn \doifmode {single} {\enablemode[asym,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 \definefontfeature[mapsdef][default][mode=node,onum=yes,lnum=no] \starttypescript [serif] [libertine] [name] \setups[font:fallback:serif] \definefontsynonym [Serif] [file:LinLibertine_R.otf] [features=mapsdef] \definefontsynonym [SerifItalic] [file:LinLibertine_RI.otf] [features=mapsdef] \definefontsynonym [SerifSlanted] [file:LinLibertine_RI.otf] [features=mapsdef] \definefontsynonym [SerifBold] [file:LinLibertine_RB.otf] [features=mapsdef] \definefontsynonym [SerifBoldItalic] [file:LinLibertine_RBI.otf] [features=mapsdef] \definefontsynonym [SerifBoldSlanted] [file:LinLibertine_RBI.otf] [features=mapsdef] \definefontsynonym [SerifCaps] [file:LinLibertine_R.otf] [features=smallcaps] \stoptypescript \starttypescript [maps] \definetypeface [maps] [rm] [serif] [libertine] [default] \definetypeface [maps] [mm] [math] [euler] [default] [rscale=0.9] \definetypeface [maps] [tt] [mono] [modern] [default] \definetypeface [maps] [ss] [sans] [modern] [default] [rscale=0.95] \stoptypescript \setupbodyfont[maps,10pt,rm] \setupinterlinespace[line=11pt] % activate protruding \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 [number=no, align=flushleft] \unexpanded\def\hfonti {\ssbfa} \unexpanded\def\hfontii {\ssbf} \unexpanded\def\hfontiii {\rm\bi} \unexpanded\def\runin #1{#1.} \setuphead [section,subject] [style=\hfonti, before={\blank[line]}, after={\blank[halfline]}] \setuphead [subsection,subsubject] [style=\hfontii, before={\blank[halfline]}, after={}] \setuphead [subsubsection,subsubsubject] [style=\hfontiii, deeptextcommand=\runin, distance=6pt, alternative=text, before={\blank[halfline]}] \startmode[nosubsub] \setuphead [section,subject] [style=\hfontii, before={\blank[line]}, after={}] \setuphead [subsection,subsubject] [style=\hfontiii, deeptextcommand=\runin, alternative=text, distance=6pt, before={\blank[halfline]}] \stopmode %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% floats \setupfloats [location=left, before={\ss}] \setupcaptions [align=flushleft, headstyle={\ssbf}, style={\ssx}, suffix=., distance=6pt, inbetween={\blank[halfline]}] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% various document elements \setupitemize [1] [symbol=8] \setupitemize [each] [before={\blank[line]}, after={\blank[line]}, inbetween=, indentnext=no, width=12pt, distance=0pt] % an outer form of itemize that does not indent % the paragraph. \definecomplexorsimpleempty\startouteritemize \def\complexstartouteritemize[#1]% {\begingroup \setupitemize[width=0pt,inbetween={\blank},before={\blank},after={\blank}] \startitemize[#1] \let\doitem\item \def\item{\doitem[]\hbox{}\kern12pt\rightskip=0pt}} \def\stopouteritemize {\stopitemize\endgroup} \definedescription [description] [alternative=hanging,width=fit] % typing: % - prettyverbatim is NOT the default \setuptyping [style={\switchtobodyfont[small,tt]}, option=none, indentnext=no] % normally we have endnotes, but in the title there % could be a \thanks command. Since the new column mode % does not deal with footnotes all that well, we more % or less have to roll our own. \setupnotation [footnote] [margin=0cm, before={}, after={}, way=bypage, number=no] \setupnote [footnote] [location=page, spacebefore=, before=, after=] \unexpanded\def\thanks#1{\xdef\MapsThanks{#1}*} \setuptabulate [before=\blank, inner=\ss, after=\blank] \def\startIntroEntry#1% {\bgroup \setupalign[right] \setuptolerance[verytolerant] \setupindenting[no] \noindent \switchtobodyfont[9pt]% \setuplocalinterlinespace[line=10pt]% \parfillskip 0pt plus 1fill \rightskip6pt plus 1fill \ss \bgroup\bf #1\par\egroup \ignorespaces } \def\stopIntroEntry {\par\egroup \blank[line] } \def\defineIntroEntry[#1][#2] {\setvalue{start#1}{\startIntroEntry{#2}}% \setvalue {stop#1}{\stopIntroEntry}} \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=, SkipHeader=, SkipFooter=, Abstract=, Keywords=, Thanks=, #1]% \doifnothing{\MapsPeriod}% {\ifnum \normalmonth<6 \gdef\MapsPeriod{VOORJAAR}\else \gdef\MapsPeriod{NAJAAR}\fi} \doifinstringelse{oorjaar}{\MapsPeriod}{\gdef\MapsPeriod{VOORJAAR}}{}% \doifinstringelse{pring}{\MapsPeriod}{\gdef\MapsPeriod{VOORJAAR}}{}% \doifinstringelse{ajaar}{\MapsPeriod}{\gdef\MapsPeriod{NAJAAR}}{}% \doifinstringelse{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 {\global\let\MapsRunningAuthor\MapsAuthor}% \doifnothing\MapsRunningTitle {\global\let\MapsRunningTitle\MapsTitle}}% \def\doarticleheader {\startbaselinecorrection \bgroup \hsize= 457pt \enforced\let\\\crlf \blank[35pt,force] \switchtobodyfont[24pt] \startalign[flushleft,verytolerant,extremestretch] {\noindent\bf\language=-1\MapsTitle\par} \ifx\MapsSubTitle\empty \blank[line] \else \bgroup \blank[12pt] \switchtobodyfont[14pt]\noindent \it \advance \rightskip 0pt plus 2em \MapsSubTitle\par \egroup \blank[line] \fi \stopalign \egroup \setupalign[width] \switchtobodyfont[rm,10pt] \stopbaselinecorrection } \newif\ifintroentries \def\dostartArticle[#1]% {\MapsBibData[#1] \pageno=\MapsPage \setnumber[realpage][\MapsPage] \setnumber[userpage][\MapsPage] \doifnothing{\MapsSkipHeader}{\doarticleheader}% \ifMapsInColumns \startcolumns\hyphenpenalty1000 \else \clubpenalty10000 \widowpenalty10000 \fi \introentriesfalse \startbaselinecorrection \doifsomething{\MapsAbstract}{\startAbstract \MapsAbstract \stopAbstract \introentriestrue } \doifsomething{\MapsKeywords}{\startKeywords \MapsKeywords \stopKeywords \introentriestrue } \stopbaselinecorrection \ifintroentries \blank[2*line] \fi \doifsomething\MapsThanks {\expanded{\footnote[thanks]{*\quad\strut\MapsThanks}}% \kern -22pt }% need to unskip because of the silent \footnote \let\footnote\endnote } \def\startArticle {\dosingleempty\dostartArticle} \def\signArticle {\doifnothing {\MapsSkipFooter} {\blank[line]% \enforced\let\\\crlf \noindent\switchtobodyfont[ss,9pt]% \MapsAuthor \doifsomething{\MapsAddress}{\\\MapsAddress}% \doifsomething{\MapsEmail}{\\\MapsEmail}}% \switchtobodyfont[10pt]% \def\signArticle{}} % endnotes aka footnotes \def\footnum#1{#1.} \setupnotation [endnote] [alternative=serried, style={\switchtobodyfont[9pt]}, margin=0cm, width=12pt, before=, after=, margin=0cm, numbercommand=\footnum] \setupnote [endnote] [location=none] \def\endnotessubjectname{Footnotes} \def\endnotesubjectname{Footnote} \def\stopArticle {\ifcase\rawcountervalue[endnote]\relax \or \startsubject[title=\endnotesubjectname] % single \placenotes[endnote] \stopsubject \else \startsubject[title=\endnotessubjectname] \placenotes[endnote] \stopsubject \fi \par\signArticle \ifMapsInColumns \stopcolumns \fi \page } \installpagebreakmethod{last}{} %%% `logos' %%%%%%%%%%%%%%%%%%%%%%%%%% \unexpanded\def\XeTeX {X\lower.5ex\hbox{\kern-.1em\mirror{E}}\kern-.1667em\TeX} \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}} \unexpanded\def\CONTEXT {Con{\TeX}t} \unexpanded\def\ConTeXt {Con{\TeX}t} \unexpanded\def\METAFONT {Metafont} \unexpanded\def\METAPOST {MetaPost} \unexpanded\def\POSTSCRIPT{PostScript} \unexpanded\def\acro#1{{\switchtobodyfont[9pt]#1}} \definefontfeature[smallcapitals] [smcp=yes] \def\sc{\addff{smallcapitals}} \def\NTG{{\sc ntg}} \def\TUG{{\sc tug}} %%%%%%%%%%% % headers and footers and other mode-related things \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 % empty \startmode[onecolumn] \setuplayout[width=340pt] \startmode[asym]% one col, asymmetric \setuppagenumbering [alternative={singlesided,doublesided}] \doifmodeelse {single} {\setupheadertexts [\TiHead] [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-147pt\hbox{}}] [{\hbox{}\hskip-30pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead\hskip-110pt]} {\setuptyping [widetyping] [oddmargin=-117pt] \setuplayout[backspace=187.3pt] \setupheadertexts [{\hbox{}\hskip-117pt\TiHead}] [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-30pt\hbox{}}] [{\hbox{}\hskip-147pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead]} \stopmode \startnotmode[asym] \setupheadertexts [\TiHead] [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-147pt\hbox{}}] [{\hbox{}\hskip-147pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \stopnotmode \stopmode % onecolumn \def\fulltextwidth{457pt} \def\startfullwidth {\par\begingroup \doifmode {onecolumn} {\hsize=\fulltextwidth \doifmodeelse {asym} {\doifmodeelse{single}{\textwidth=\fulltextwidth }{\leftskip-117pt }} {\ifodd\pageno \else \leftskip-117pt \hsize=340pt \fi }}} \def\stopfullwidth {\par\endgroup} % Taco: \setupalign[tolerant,fixed} where fixed is french spacing \setupalign [tolerant,fixed] \continueifinputfile{s-maps.mkiv} % \enablemode[nosubsub] % if you need at most two levels of sectioning % \enablemode[onecolumn] % for symmetric single-column layout % \enablemode[asym] % for asymmetric single-column layout, left aligned % \enablemode[single] % for asymmetric single-column layout, right aligned % \usemodule[map-20] \usebtxdataset[samplmaps.bib] \usebtxdefinitions[apa] \starttext \startArticle[% Use {} if argument contains comma's! % titel Title={An example document for the Maps module, demonstrating its various features\thanks{Thanks should be short} }, RunningTitle=An example document, SubTitle=with an optional subtitle, % auteur Author=Anton Ulrich Thor, Email=a.u.thor@uu.am.dw, Address=Institute of Indefinite Studies\\ Unseen University\\ Ankh Morpork, % tijdstip Period=voorjaar, Number=36, Year=2008, Page=1, % Taal Language=english, % Intro Abstract={% This is a sample input file for the Maps module version 2.0, which mimics the associated \LaTeX\ class file. It demonstrates various standard and non-standard features. \crlf Use of the abstract- and keywords environments is highly appreciated.}, Keywords={Maps, \ConTeXt\ module, sample}] \startsection[title=Ordinary Text] The ends of words and sentences are marked by spaces. It doesn't matter how many spaces you type; one is as good as 100. The end of a line counts as a space. One or more blank lines denote the end of a paragraph. Footnotes\footnote{This is an example of an endnote.} are converted to endnotes\endnote{This is another one, with more text to it, to see how it will wrap to the next line.}. These will automatically be typeset at the end of the article. The title of the notes section is defined by the command \type{\endnotessubjectname} (for multiple notes) or \type{\endnotesubjectname} (in case of a single note). \stopsection \startsection[title=Fonts] The Maps uses Linux Libertine for main text, with Latin Modern Sans and Mono, and Euler for math. The Linux Libertine OpenType fonts are part of \TeX\ Live. If they are not found, Latin Modern Serif fallbacks will be used. \stopsection \startsection[title=Sectioning] The maps module defaults to unnumbered sections. If you really must, you can restore section numbering with \emph{e.g.} \type{\setupheads[number=yes]} \startsubsection[title=Subsection] This is a second-level section header. You can go down one more level: % \penalty0 \startsubsubsection[title=A subsubsection] This is supposed to be a run-in header, so make sure you start the text right after \type{\startsubsubsection}. \stopsubsubsection \startsubsubsection[title=Tip] If you only need one or two levels of header, then you can get a better layout with the \type{nosubsub} document option. The Maps editors may decide to turn on this option for you. \stopsubsubsection \stopsubsection \stopsection \startsection[title=Lists] Another frequently-displayed structure is a list. The following is an example of an \emph{itemized} list. \startitemize \item This is the first item of an itemized list. Each item in the list is marked with a \quote{tick}. \item This is the second item of the list. It contains another list nested inside it. The inner list is an \emph{enumerated} list. \startitemize[n] \startitem This is the first item of an enumerated list that is nested within the itemized list. \stopitem \item This is the second item of the inner list. \ConTeXt\ allows you to nest lists deeper than you really should. \stopitem \stopitemize \noindent This is the rest of the second item of the outer list. It is no more interesting than any other part of the item. \startitem This is the third item of the list. \stopitem \stopitemize In a two-column layout, protracted indenting doesn't look very good. Therefore, the Maps module provides an \type{outeritemize} environment: \startouteritemize \item This is the first item of a non-indented itemized list, produced with the \mono{outeritemize} environment. \item This is the second item. \stopouteritemize Now an enumerated version: \startouteritemize[n] \item This is the first item of a non-indented enumerated list, produced with the \mono{outeritemize} environment. \item This is the second item. \stopouteritemize There is also a definition for description lists: \startdescription{cow} A milk-producing animal that grazes grass and has multiple stomachs \stopdescription \startdescription{kangoroo} An Australian hopping animal \stopdescription \stopsection \startsection[title=Wide typesetting in single-column layout] For both single-column layouts, there are environments \type{fullwidth} and \type{widetyping} which typeset their content across the full page, including most of the wide margin. \startfullwidth x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x \stopfullwidth \startwidetyping {}\/$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \stopwidetyping The implementation of \type{fullwidth} is rather simplistic and may easily break, in which case more sophisticated hackery will be needed. \stopsection \startsection[title=Assembling your submission] Please check whether all non-standard modules and all non-standard fonts are included. We do have a current \TeX{} Live but, although we do have access to CTAN, finding the right stuff by name can occasionally be a challenge. Avoid jpeg compression for screenshots. Conversion to pdf may sometimes result in jpeg compression as well. Use \emph{e.g.} png format instead. Finally, a pdf of your article is appreciated. This way, we can check more reliably whether your article compiles correctly on our own systems. \stopsection \startsection[title=References] If you have references, use whatever suits you. A few sample references: see \cite[knuth], or \cite[lamport]. \stopsection \startsection[title=References] \placelistofpublications \stopsection \stopArticle \stoptext