% \iffalse      THIS IS A META-COMMENT
%<*dtx>
\ProvidesFile
%========================================================================
                       {MPS-POSTER.DTX}
%========================================================================
%</dtx>
%% Copyright 2010 Patrick W Daly
%% Max-Planck-Institut f\"ur Sonnensystemforschung
%% Max-Planck-Str. 2
%% D-37191 Katlenburg-Lindau
%% Germany
%% E-mail: daly@mps.mpg.de
%%
%% -------------------------------------------------
%         This is a LaTeX class to format poster talks for MPS
% Installation:
%    LaTeX this file: creates docstrip installation file mps-poster.ins
%                         AND the LaTeX documentation
%    (La)TeX mps-poster.ins: creates class file mps-poster.cls, and optionally
%                         the documentation driver mps-poster.ltx
%    (mps-poster.ins and mps-poster.ltx may be edited as needed)
% Docstrip options available:
%        class   - to produce a (LaTeX2e) a class file
%        driver  - to produce a driver file to print the documentation
%--------------------------------------------------------------------------
%  *** Identify the class file:-
%<class>\NeedsTeXFormat{LaTeX2e}[1998/06/01]
%<class>\ProvidesClass{mps-poster}
%
%  *** Identify the driver file:-
%<driver>\NeedsTeXFormat{LaTeX2e}
%<driver>\ProvidesFile{mps-poster.ltx}
%
%  *** The DATE, VERSION, and other INFO
%                    END META-COMMENT \fi
%\ProvidesFile{mps-poster}
          [2010/08/06 3.0 (PWD)]
%
% \changes{1.0}{1999 Sep 6}{Initial version}
% \changes{2.0}{2004 Jul 6}{Add the MPS head}
% \changes{3.0}{2010 Aug 6}{Rename mps-poster, remove MPAe, new format}
%
% \CheckSum{395}
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%<*install>
%^^A =============================================
%^^A    Here is the docstrip installation file
%^^A    It is written on first LaTeX run if it
%^^A    does not already exist
%^^A =============================================
\begin{filecontents}{mps-poster.ins}
% This file is an installation file for extracting class and driver
% files from the original source file. Simply process it under
% TeX or LaTeX. It requires DocStrip version 2.4f or later.
\input docstrip

\preamble
=============================================
IMPORTANT NOTICE:
This is a generated file.

It is subject to the same copyright conditions (see below)
as in the original file: \inFileName.
It may not be distributed without \inFileName.

Full documentation can be obtained by LaTeXing that original file.
Only a few abbreviated comments remain here to describe the usage.
=============================================
\endpreamble
\postamble

<<<<< End of generated file <<<<<<
\endpostamble
\keepsilent

\declarepreamble\driver
============================================
This is the driver file to produce the LaTeX documentation
from the original source file \inFileName.

Make changes to it as needed. (Never change the file \inFileName!)
============================================
\endpreamble

\declarepostamble\driverq

End of documentation driver file.
\endpostamble

\askforoverwritefalse
\generate{\file{mps-poster.cls}{\from{mps-poster.dtx}{class}}
          \file{mps-poster.ltx}{\usepreamble\driver\usepostamble\driverq
                           \from{mps-poster.dtx}{driver}}
         }

\obeyspaces
\Msg{*********************************************}%
\Msg{* For documentation, process mps-poster.dtx *}%
\Msg{*    or the driver file      mps-poster.ltx *}%
\Msg{*********************************************}
\endbatchfile
\end{filecontents}
%</install>
%<*driver>
\documentclass{ltxdoc}
\usepackage{graphicx}
%<driver>%\documentclass[twoside]{ltxdoc}
%<driver>%\documentclass[a4paper]{ltxdoc}
%<driver>%\documentclass[twoside,a4paper]{ltxdoc}
\raggedbottom

 %** To include the detailed explanation of the coding, comment out
 %**   the next line
\OnlyDescription

 %** To produce a command index: add the following line for one run,
 %**   then run  makeindex -s gind.ist mps-poster
 %**   and reprocess, with or without this line (much faster without)
%<driver>% \EnableCrossrefs\CodelineIndex

 %** To produce a change history: add the following line for one run,
 %**   then run  makeindex -s gglo.ist -o mps-poster.gls mps-poster.glo
 %**   and reprocess, with or without this line (faster without)
%<driver>% \RecordChanges

\DisableCrossrefs %May stay; zapped by \EnableCrossrefs
\CodelineNumbered %May stay

\begin{document}
   \DocInput{mps-poster.dtx}
\end{document}
%</driver>
%\fi
%
% \DoNotIndex{\begin,\CodelineIndex,\CodelineNumbered,\def,\DisableCrossrefs}
% \DoNotIndex{\DocInput,\documentclass,\EnableCrossrefs,\end,\GetFileInfo}
% \DoNotIndex{\NeedsTeXFormat,\OnlyDescription,\RecordChanges,\usepackage}
% \DoNotIndex{\ProvidesClass,\ProvidesPackage,\ProvidesFile,\RequirePackage}
% \DoNotIndex{\LoadClass,\PassOptionsToClass,\PassOptionsToPackage}
% \DoNotIndex{\DeclareOption,\CurrentOption,\ProcessOptions,\ExecuteOptions}
% \DoNotIndex{\AtEndOfClass,\AtEndOfPackage,\AtBeginDocument,\AtEndDocument}
% \DoNotIndex{\InputIfFileExists,\IfFileExists,\ClassError,\PackageError}
% \DoNotIndex{\ClassWarning,\PackageWarning,\ClassWarningNoLine}
% \DoNotIndex{\PackageWarningNoLine,\ClassInfo,\PackageInfo,\MessageBreak}
% \DoNotIndex{\space,\protect,\DeclareRobustCommand,\CheckCommand}
% \DoNotIndex{\newcommand,\renewcommand,\providecommand,\newenvironment}
% \DoNotIndex{\renewenvironment,\newif,\newlength,\newcounter,\setlength}
% \DoNotIndex{\setcounter,\if,\ifx,\ifcase,\ifnum,\ifdim,\else,\fi}
% \DoNotIndex{\texttt,\textbf,\textrm,\textsl,\textsc}
% \DoNotIndex{\textup,\textit,\textmd,\textsf,\emph}
% \DoNotIndex{\ttfamily,\rmfamily,\sffamily,\mdseries,\bfseries,\upshape}
% \DoNotIndex{\slshape,\scshape,\itshape,\em,\LaTeX,\LaTeXe}
% \DoNotIndex{\filename,\fileversion,\filedate,\let}
% \DoNotIndex{\@captype,\@minus,\@namedef,\@plus,\@startsection,\addtolength}
% \DoNotIndex{\baselineskip,\boldmath,\centering,\char,\csname,\definecolor}
% \DoNotIndex{\endcsname,\evensidemargin,\expandafter,\fboxrule,\fboxsep,\fcolorbox}
% \DoNotIndex{\global,\hspace,\hss,\LARGE,\Large,\large,\linewidth,\makebox}
% \DoNotIndex{\newfont,\normalfont,\normalsize,\oddsidemargin,\p@,\paperheight}
% \DoNotIndex{\paperwidth,\parbox,\ps@empty,\relax,\rmdefault,\sfdefault,\small}
% \DoNotIndex{\special,\textcolor,\vspace,\vss,\z@,\\,\",\noindent}
% \DoNotIndex{\abovecaptionskip,\belowcaptionskip,\box,\hb@xt@,\hfil,\hsize}
% \DoNotIndex{\long,\par,\sbox,\vskip,\wd}
% \DoNotIndex{\@minipagefalse,\@tempboxa,\@title,\abstractname,\color}
% \DoNotIndex{\endfigure,\endtable,\footskip,\headheight,\headsep}
% \DoNotIndex{\includegraphics,\textheight,\textwidth,\topmargin}
% \DoNotIndex{\raisebox,\mbox,\@ifundefined,\pdfoutput}
%
% \setcounter{IndexColumns}{2}
% \setlength{\IndexMin}{10cm}
% \setcounter{StandardModuleDepth}{1}
%
% \GetFileInfo{mps-poster}
%
% \title{\bfseries Standard Poster Talks for MPS with \LaTeX}
%
% \author{Patrick W. Daly}
%
% \date{This paper describes the \LaTeXe\ class \texttt{\filename}\\
%       version \fileversion{} from \filedate}
%
% \maketitle
%
% \pagestyle{myheadings}
% \markboth{P. W. Daly}{MPS Poster Talks}
%
%^^A In order to keep all marginal notes on the one (left) side:
%^^A (otherwise they switch sides disasterously with twoside option)
% \makeatletter \@mparswitchfalse \makeatother
%
%\begin{small}\begin{center}\textbf{Summary}\end{center}
% The stripped version of this file contains the following brief description:
%\iffalse
%<*class>
 % MPAe Posters
 %
%\fi
% \begin{verbatim}
 % Use to make posters on A4 paper, which can be sent to A1/A0 printer with
 % magnification. Abstract in 2 columns, text in 2 or 3 automatically
 %
 % Loads packages  color, graphicx and multicol directly
 % Also uses the txfonts package
 % Must manually load (optionally) natbib, epsfig etc
 % Class options:
 %   portrait (default) for portrait format, and two columns
 %   landscape wide, and three columns;
 %   sans  (default) a sans serif font is used
 %   roman      roman (normal) font is used for text
 %   margin=<len>  sets the margin size, default 1cm
 %   a3paper, a2paper, a1paper, a0paper are other size options, default a4paper
 %
 % Extra commands:
 %   \posternumber[r|l]{text}   adds text to upper right or left (def) corner
 %                              of first page
 %   \meeting{text}    adds text to bottom of last column of last page.
 %
 % Normally figure and table environments do not work within multicols, but
 % here they are fixed up. However, they do not float, but appear there where
 % placed, causing spacing problems. Must manually adjust.
% \end{verbatim}
%\iffalse
 %-----------------------------------------------------------
 % See documentation in the source .dtx file for more details.
%</class>
%\fi
%\end{small}
%
% \section{Introduction}
%
% This is a special \LaTeX\ class for MPS poster talks. The idea is to have
% uniform appearance for all MPS talks.
%
% This class is an updated version of the previous MPAe class, \texttt{mpposter},
% which it replaces. It produces a header with the MPS logo along with the MPG
% Minerva logo.
%
% The text is prepared as for normal \LaTeX, with only two extra commands for
% inputting information (poster number and name of meeting).
% This means that the same text may be used for producing preprints or
% camera-ready copy with a minimum of changes.
%
% The output is 10\,pt text on a sheet that is nominally A4 size, which can
% then be printed on A1 or A0 with the appropriate scaling. To go from A4 to A1
% requires a magnification of 2.828, meaning the text is effectively 28\,pt. If
% this is too large, one could select A3 paper with the \texttt{a3paper}
% option, in which case the magnification is only a factor of 2, allowing more
% text per page. (It is actually easier to program for larger paper than for
% smaller text.) See section~\ref{printing} below.
%
% \section{Invoking the Class}
%
% This class in invoked by using it in place of \texttt{article} or whatever
% other class is normally used.
% \begin{quote}
% |\documentclass|\oarg{options}|{|\texttt{\filename}|}|
% \end{quote}
% The following options may be employed:
% \begin{description}
% \item[\ttfamily portrait] (default) switches to portrait format, and uses 2 columns for
%   the text;
%
% \item[\ttfamily landscape] switches to landscape format; the number
%   of columns for the text is set to 3;
%
% \item[\ttfamily sans] (default) uses a \textsf{sans serif} font for the
%   text;
%
% \item[\ttfamily roman] uses regular roman font for the text;
%
% \item[\ttfamily margin={\normalfont\emph{len}}] sets the margin size for all
%    4 sides, default 1\,cm;
%
% \item[\ttfamily a{\normalfont\emph{n}}paper] where \emph{n}=0, 1, 2, 3, 4, 5, 6,
% to select the paper size; default is \texttt{a4paper}.
% \end{description}
%
% \section{Other Packages}
% The \texttt{\filename} class automatically loads the packages
% \begin{quote}
% \texttt{color}, \texttt{graphicx}, \texttt{multicol}, \texttt{geometry},
%  and \texttt{txfonts}
% \end{quote}
% Any other packages must be loaded manually with |\usepackage|.
%
% \section{Header Information}
%
% \DescribeMacro{\title}
% \DescribeMacro{\author}
% Information to be put into the header are the title and authors, done with
% the regular \LaTeX\ commands
% \begin{quote}
%   |\title|\marg{title text}\\
%   |\author|\marg{author names}
% \end{quote}
%
% \DescribeMacro{\thanks}
% To add any non-MPS affiliations as footnotes, the |\thanks| command may be
% used within the argument of |\author| (standard \LaTeX), e.g.,
% \begin{quote}
%   |\author{P. W. Daly and | \\
%   |    J. D. Smith\thanks{At MPE, Garching}}|
% \end{quote}
%
% Both |\title| and |\author|, as well as |\posternumber| below, must be given
% in the preamble, before |\begin{document}|, because that is when the header
% is output so the information must be known at that time.
%
% \section{Extra Commands}
% There are two non-standard commands for adding additional information, both
%  are optional.
%
% \DescribeMacro{\posternumber}
% To add the poster number at the top of the first page, give
% \begin{quote}
% |\posternumber|\oarg{pos}\marg{text}
% \end{quote}
% where \emph{pos} is \texttt{l} or \texttt{r} for left/right. Default is left.
% The \emph{text} is printed in the selected position.
%
% \DescribeMacro{\meeting}
% With
% \begin{quote}
% |\meeting|\marg{text}
% \end{quote}
% one can place some text in small typeface at the bottom of the last column on
% the last page; this is meant to note the meeting at which the poster was
% presented.
%
% \DescribeMacro{\startcols}
% \DescribeMacro{\stopcols}
% The main text is set in 2 or 3 columns, initiated automatically at the start
% of the document. However, it might be desired to break the columns in the middle
% of the page, or to insert a wide figure across the whole width. In this case,
% one can issue
% \begin{quote}
%  |\stopcols| \dots |\startcols|
% \end{quote}
% Note that if |\startcols| is not given, there will be an error message at the
% end of the document where an automatic |\stopcols| is inserted.
%
% \section{User Configurations}
%
% \DescribeMacro{\MPcols}
% The number of columns for the text is either 2 or 3 depending on portrait or
% landscape mode. One can change this by redefining |\MPcols| with
% |\renewcommand|.
%
%
% \DescribeMacro{\MPfigfont}
% A font declaration can be issued for the figure and table captions. This can
% be redefined by the user. Default is a colour:
% \begin{quote}
% \begin{verbatim}
% \renewcommand{\MPfigfont}{\color{capcol}}
% \end{verbatim}
% \end{quote}
%
% \DescribeMacro{\geometry}
% Since \texttt{\filename} uses the \texttt{geometry} package, its formatting command
% |\geometry| may be used for any special effects. About the only one I can imagine
% would be to set the horizontal margins differently from the vertical ones.
% For example:
% \begin{quote}
% \begin{verbatim}
% \geometry{hmargin=2mm,vmargin=1cm}
% \end{verbatim}
% \end{quote}
% Other keywords are \texttt{top=}, \texttt{bottom=}, \texttt{left=}, \texttt{right=}.
% (These could also be put into the |\documentclass| options.)
% The |\geometry| command must be given in the preamble, before |\begin{document}|.
%
% The colours for sections and captions may also be redefined by the user.\\
% \begin{tabular}{rp{8cm}}
% \texttt{abscol} & is the colour of the abstract name\\
% \texttt{seccol} & is the colour of the section titles\\
% \texttt{subseccol} & is the colour of the subsection titles\\
% \texttt{subsubseccol} & is the colour of the subsubsection titles\\
% \texttt{capcol} & is the colour of the figure and table captions\\
% \end{tabular}
%
% These can be redefined as one wants, e.g.
% \begin{quote}
% |\definecolor{capcol}{named}{WildStrawberry}|
% \end{quote}
%
% \section{Other Considerations}
%
% The document should be made up as follows:
% \begin{itemize}
% \item Start with |\documentclass|\oarg{options}|{mps-poster}|.
% \item Enter title and authors with the |\title|\marg{title\_text} and
%   |\author|\marg{authors\_names} as usual. The |\date| command will be
%   ignored.
% \item Enter optionally |\posternumber|\oarg{pos}\marg{Number\_text} and
%    |\meeting|\marg{meeting\_name}.
% \item Any other preamble declarations, then |\begin{document}|.
% \item Issue |\maketitle| to print MPS heading, title, authors, poster number
%   at top of first page.
% \item Give the (optional) abstract with
%   \begin{quote}
%   |\begin{abstract}|\\
%   \hspace*{10pt}\emph{abstract text}\\
%   |\end{abstract}|
%   \end{quote}
% \item Start the main text (in 2 or 3 columns) with the first |\section|
%   command.
% \item Place figures and tables with |\begin{figure}| and |\begin{table}|
%    as usual. However, they will not float, but will be placed right there in
%    the text, causing unwanted column/page shifts. The author must massage the
%    positioning himself.
%
%    (This is a feature of the |multicols| environment that does not
%    allow floats.)
% \item Add citations and reference lists as usual.
% \item End with |\end{document}|.
% \end{itemize}
%
% \section{Sample Poster}
%
% The following input demonstrates the essentials of a poster \LaTeX\ file.
%
% \begin{small}
% \begin{verbatim}
% \documentclass[a2paper,margin=2cm]{mps-poster}
% % Alternative:
% % \documentclass[landscape,a1paper,roman]{mps-poster}
%
% \posternumber[r]{Poster Number 1234}
% \meeting{20th Anniversary Symposium}
%
% \title{Overview of Recent Highlights}
% \author{P. W. Daly, J. G. Smith\thanks{At MPE Garching},
%    F. C. Collins\thanks{Retired}}
%
% \begin{document}
% \begin{abstract}
%   .........
% \end{abstract}
% \section{Introduction}
% ............
% \stopcols
%
% Just an intermezzo!
%
% \startcols
% \section{Continued}
% .............
% \end{document}
% \end{verbatim}
% \end{small}
%
% The resulting header appears thus:\\
% \includegraphics[width=\textwidth]{demo-mps-poster}
%
% \section{Printing the final poster\label{printing}}
%
% The regular output is to A4 paper, but the final result is meant to be
% magnified to A0 or A1.
%
% The easiest way to do this is to produce PDF output (best with pdf\LaTeX,
% or alternatively with PS converted to PDF). This can be viewed with Acrobat
% (Reader) and then sent to an A1 printer with the option `fit to page'. The
% magnification occurs automatically.
%
% It might be that the amount of material on an A4 page is too little and the
% magnified text far too large (28\,pt on A1). To reduce the text size, one can
% print instead on A3 or even A2 paper, still with 10\,pt text, and then expand
% that to A1 or A0. For finer tuning, the text size can selected with the
% regular options \texttt{11pt} and \texttt{12pt}.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \section{Options with \texttt{docstrip}}
% The source \texttt{.dtx} file is meant to be processed with
% \texttt{docstrip}, for which a number of options are available:
% \begin{description}
% \item[\ttfamily class] to produce a \texttt{.cls} class file with most
%     comments removed;
%
% \item[\ttfamily driver] to produce a driver \texttt{.drv} file that will
%     print out the documentation under \LaTeXe.
%
% \end{description}
% The source file \texttt{\filename.dtx} is itself a driver file and can
% be processed directly by \LaTeXe.
%
% \section{The Coding}
% This section presents and explains the actual coding of the macros.
% It is nested between |%<*class>| and |%</class>|, which
% are indicators to \texttt{docstrip} that this coding belongs to the class
% file.
%
% \begin{macro}{\DeclareOption}
% \changes{3.0}{2010 Aug 3}{Use \texttt{geometry} package to do all the page formatting}
% Start by defining the special options for \texttt{\filename}. The page size options
%  like \texttt{a3paper} etc, are passed on to the \texttt{geometry} package,
%  which does all the page formatting, also the switch to landscape.
%
% Using \texttt{geometry} simplifies the page formatting considerably, and it even
%  allows for larger paper sizes, up to A0, which \texttt{article} class does not.
%
% Note, the font size options must be explicitly passed on to \texttt{article}
%  since undefined options are sent to \texttt{geometry} instead.
%    \begin{macrocode}
%<*class>
\AtBeginDocument{\let\MProman=\rmdefault}
\DeclareOption{roman}{\AtBeginDocument{\let\rmdefault=\MProman\normalfont}}
\DeclareOption{sans}{\AtBeginDocument{\let\rmdefault=\sfdefault\normalfont}}
\DeclareOption{10pt}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{11pt}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{12pt}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{geometry}}
%    \end{macrocode}
%
% Set the defaults: sans serif font, with MPS and MPG logos. The defaults
% for \texttt{geometry} are given here before |\ProcessOptions|, so that
% those options in the |\docummentclass| command will be inserted \emph{after}
% the defaults. The \texttt{geometry} options are executed in the order they
% are given, with those in the |\RequirePackage| command coming first.
%    \begin{macrocode}
\ExecuteOptions{sans,mps,mpg}
\PassOptionsToPackage{margin=1cm,portrait,a4paper}{geometry}
\ProcessOptions\relax

%    \end{macrocode}
% \end{macro}
%
%
% Load the other packages needed for the class.
%
%    \begin{macrocode}
\LoadClass{article}
\RequirePackage[dvipsnames]{color}
\RequirePackage{multicol}
\RequirePackage{graphicx}
%    \end{macrocode}
% Select the \texttt{txfonts} package, to ensure PostScript fonts that are
%  infinitely scalable, which the \texttt{cm} are not (even if they are used
%  as PostScript fonts now, the \texttt{fd} files specify limited sizes.)
%    \begin{macrocode}
\RequirePackage{txfonts}
%    \end{macrocode}
%
% Load the \texttt{geometry} package with the option \texttt{ignoreall} which
% ensures that all headers, footers, and marginal notes are set to 0 for the
% ensuing calculations. It is at this point that all formatting options will
% be executed, including \texttt{landscape} or \texttt{portrait}.
%    \begin{macrocode}
\RequirePackage[ignoreall]{geometry}

%    \end{macrocode}
%  If landscape, add the special command for dvips, but not for pdf\TeX.
% The landscape/protrait issue was settled when \texttt{geometry} was loaded.
%    \begin{macrocode}
\ifdim\paperwidth>\paperheight
  \@ifundefined{pdfoutput}{\special{landscape}}{%
    \ifnum\pdfoutput<1 \special{landscape}%
    \fi
  }\fi

%    \end{macrocode}
%
% Set the page style to empty, turn off paragraph indentation, add space
% between paragraphs. Taken from \texttt{parskip} package.
%    \begin{macrocode}
\ps@empty
\setlength\parindent{\z@}
\setlength\parskip{0.5\baselineskip}
\addtolength\parskip{0pt plus 2pt}
%    \end{macrocode}
%
% \begin{macro}{\posternumber}
% To allow the poster number to be printed, store it and its placement option.
%    \begin{macrocode}
\newcommand{\posternumber}[2][l]{\def\@MPnum{#2}\def\@MPside{#1}}
\posternumber{}
\@onlypreamble{\posternumber}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\meeting}
% Some text for the name of the meeting can be printed at the very end. Store
% that text here.
%    \begin{macrocode}
\newcommand{\meeting}[1]{\def\@meeting{#1}}\meeting{}
%    \end{macrocode}
% \end{macro}

% \begin{macro}{\mpshead}
% \changes{3.0}{2010 Aug 2}{Add Minerva MPG logo}
% \changes{3.0}{2010 Aug 6}{Recode for standard header with Minerva, MPS-Text, title in middle}
%
% The code for the MPS poster head: this has gray background, Minerva to the
% left, MPS with Institute name at right, and poster title and authors in the
% middle.
%
% The colour \texttt{MPname} is no longer needed; it is a leftover from a
% previous version where the Institute name was explicitly written in the
% middle; but keep it just in case things change at some time in the future.
%
%    \begin{macrocode}
\definecolor{MPname}{rgb}{.187,.613,.594}
%    \end{macrocode}
%
% Define some new lengths, for the sizes of logos, title font, author font
%  and thanks (affiliation) font, and define those fonts as well. All
%  these sizes are relative to the shorter page dimension, so that they will
%  always be the same size on the output A1 paper, regarless the working
%  size selected. (This is why the \texttt{txfont} package is used, to
%  ensure that PostScript fonts are applied; they can scale without limit,
%  something the \texttt{cm} fonts cannot, because of the restrictions in the
%  \texttt{fd} files.)
%    \begin{macrocode}
\newlength\templen
\newlength\logowth
\newlength\titlesize
\newlength\authorsize
\newlength\thankssize
\newlength\MPem
\ifdim\paperwidth>\paperheight
  \setlength\logowth{\paperheight}\else\setlength\logowth{\paperwidth}\fi
\setlength\titlesize{0.021\logowth}
\newcommand\titlefont{\fontsize{\titlesize}{1.1\titlesize}%
  \usefont{\encodingdefault}{\sfdefault}{bx}{n}\mathversion{sfbold}}
\setlength\authorsize{0.6\titlesize}
\setlength\MPem{\authorsize}
\newcommand\authorfont{\fontsize{\authorsize}{1.1\authorsize}%
  \usefont{\encodingdefault}{\sfdefault}{n}{n}}
\setlength\thankssize{0.5\titlesize}
\newcommand\thanksfont{\fontsize{\thankssize}{1.1\thankssize}%
  \usefont{\encodingdefault}{\sfdefault}{n}{n}}
\setlength\logowth{0.18\logowth}
%    \end{macrocode}
%
% The header is |\makebox| with gray background (with gray frame) containing
% the MPG logo, a title/author block, and the MPS logo, all within vertically
% centered |\parbox|es. To get the |\thanks| footnotes to work properly, the
% |\footnotetext| command needs redefining.
%
% The paper number line is added in a box of zero height and width, next to the
%  header box, so no interline spacing comes between.
%
% The |\authorfont|  is called right away to establish a default font size
% (and |\baselineskip|) that is scales with papersize; otherwise there are
% are non-scaling sizes that disrupt things.
%    \begin{macrocode}
\definecolor{headbg}{gray}{.9}
\newcommand{\mpshead}{\noindent
 {\authorfont\makebox[\z@][l]{\parbox[b][\z@][b]{\textwidth}{%
      \makebox[\linewidth][\@MPside]{\authorfont\@MPnum}\vspace{5.5\MPem}}}%
  \setlength{\fboxsep}{1\MPem}%
  \renewcommand\footnotetext[2][]{\textsuperscript{##1}##2\hspace{0.5\MPem}}%
  \setlength\templen{\textwidth}\addtolength\templen{-2\fboxsep}%
  \colorbox{headbg}{%
  \makebox[\templen][s]{%
    \parbox[c]{\logowth}{\includegraphics[width=\logowth]{logo_mpg}}\hfill
    \parbox[c]{0.5\textwidth}{\centering
      {\titlefont \@title\par}\vspace{1\MPem}{\authorfont \@author\par}
      \ifx\@thanks\@empty\else{\vspace{.5\MPem}\thanksfont\@thanks}\fi
    }\hfill
    \parbox[c]{\logowth}{\includegraphics[width=\logowth]{mps_txt_color}}}%
}}}
%    \end{macrocode}
% \end{macro}
%
% Make |\title| and |\author| to be preamble only; this is not standard \LaTeX,
% but is necessary here.
%    \begin{macrocode}
\@onlypreamble{\title}
\@onlypreamble{\author}
%    \end{macrocode}
%
% \begin {macro}{\maketitle}
% Modify |\maketitle| to print the MPS header, self-destruct, and then start
%  the multicolums. This is then added to the start of the document, so it
%  is executed automatically. (Use |\AtEndOfClass| so that this is the last
%  thing added to |\AtBeginDocument|.)
%    \begin{macrocode}
\renewcommand{\maketitle}{%
  \mpshead
  \setcounter{footnote}{0}%
  \global\let\thanks\relax
  \global\let\maketitle\relax
  \global\let\mpshead\relax
  \global\let\@thanks\@empty
  \global\let\@author\@empty
  \global\let\@title\@empty
  \global\let\title\relax
  \global\let\author\relax
  \startcols
}

\AtEndOfClass{\AtBeginDocument{\maketitle}}
%    \end{macrocode}
% \end{macro}
%
% Create the math version \texttt{sfbold} for use in the title. This is
%  based on the \texttt{txfonts}, and would have to be tailored to any other
%  set of fonts used. Another reason for sticking with the one set.
%    \begin{macrocode}
\DeclareMathVersion{sfbold}
\SetSymbolFont{operators}{sfbold}{OT1}{txss}{bx}{n}
\SetSymbolFont{italic}{sfbold}{OT1}{txss}{bx}{it}
\SetMathAlphabet{\mathsf}{sfbold}{OT1}{txss}{b}{n}
\SetMathAlphabet{\mathtt}{sfbold}{OT1}{txtt}{b}{n}
\SetSymbolFont{letters}{sfbold}{OML}{txmi}{bx}{it}
\SetSymbolFont{symbols}{sfbold}{OMS}{txsy}{bx}{n}
\SetSymbolFont{largesymbols}{sfbold}{OMX}{txex}{bx}{n}
%    \end{macrocode}
%
% \begin {environment}{abstract}
% \changes{3.0}{2010 Aug 3}{Add \texttt{abscol} as abstract title colour}
% Modify the \texttt{abstract} environment to print the heading in colour and
% the text with a reduced width.
%    \begin{macrocode}
\definecolor{abscol}{named}{Red}
\renewenvironment{abstract}{%
   \begin{center}
   {\large\bfseries\textcolor{abscol}{\abstractname}}\\[3ex]
   \begin{minipage}{0.9\linewidth}
}{%
   \end{minipage}
   \end{center}
}
%    \end{macrocode}
% \end{environment}
%
% \begin {macro}{\startcols}
% \begin {macro}{\stopcols}
% The main text is printed in 2 (portrait) or 3 (landscape) columns, initiated
% by the |\startcols| command. This is called at the end of |\maketitle|,
% which is executed automatically with |\begin{document}|, so the user need
% not give it explicitly. However, he can give |\stopcols| if he wants to break
% the columned text, say to add a broad figure across the whole page, and then
% resume with an explicit |\startcols|. He had better resume it, else the
% automatic |\stopcols| at |\end{document}| will cause problems.
%    \begin{macrocode}
\newcommand{\startcols}{\begin{multicols}{\MPcols}}
\newcommand{\stopcols}{\end{multicols}}
%    \end{macrocode}
% \end{macro}\end{macro}
%
% \begin {macro}{\MPcols}
% Define the default number of columns for the main text. The author may
% redefine this if he wants.
%    \begin{macrocode}
\ifdim\paperwidth<\paperheight
  \newcommand*{\MPcols}{2}\else\newcommand{\MPcols}{3}\fi
%    \end{macrocode}
% \end{macro}

% \begin {macro}{\section}
% \begin {macro}{\subsection}
% \begin {macro}{\subsubsection}
% Redefine the sectioning commands to have coloured titles. These colours can
% be redefined by the user if he wants.
%
% The definitions are those from \texttt{article} class with colour added.
% Spacing above and below has been reduced by 1~ex everywhere.
%    \begin{macrocode}
  \definecolor{seccol}{named}{OliveGreen}
  \definecolor{subseccol}{named}{RedViolet}
\definecolor{subseccol}{named}{Thistle}
\definecolor{subsubseccol}{named}{CarnationPink}
\setcounter{secnumdepth}{0}
\renewcommand\section{\@startsection {section}{1}{\z@}%
        {-1.5ex \@plus -1ex \@minus -.2ex}%
        {1.3ex \@plus.2ex}%
        {\normalfont\Large\bfseries\textcolor{seccol}}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
        {-1.25ex\@plus -1ex \@minus -.2ex}%
        {0.5ex \@plus .2ex}%
        {\normalfont\large\bfseries\textcolor{subseccol}}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
        {-1.25ex\@plus -1ex \@minus -.2ex}%
        {0.5ex \@plus .2ex}%
        {\normalfont\normalsize\bfseries\textcolor{subsubseccol}}}
%    \end{macrocode}
% \end{macro}\end{macro}\end{macro}

% \begin {macro}{\figure}
% \begin {macro}{\table}
% Floats do not work in \texttt{multicols} environment, so redefine them such
% that they are placed immediately in text, but so that |\caption|, |\ref|, and
% |\label| work. The starred versions are made identical to the unstarred ones.
%    \begin{macrocode}
\renewcommand{\figure}[1][]{\noindent
  \begin{minipage}{\linewidth}
  \def\@captype{figure}}
\renewcommand{\endfigure}{\end{minipage}}
\expandafter\let\csname figure*\endcsname\figure
\@namedef{endfigure*}{\end{minipage}}

\renewcommand{\table}[1][]{\noindent
  \begin{minipage}{\linewidth}
  \def\@captype{table}}
\renewcommand{\endtable}{\end{minipage}}
\expandafter\let\csname table*\endcsname\table
\@namedef{endtable*}{\end{minipage}}
%    \end{macrocode}
% \end{macro}\end{macro}
%
% \begin {macro}{\MPfigfont}
% \begin{macro}{\figurename}
% Redesign the captions by adding |\MPfigfont| hook to the caption formatting.
% This may be redefined by the user. Default is to make it a certain colour.
%
% The |\figurename| is abbreviated.
%    \begin{macrocode}
\definecolor{capcol}{named}{Blue}
\newcommand*{\MPfigfont}{\color{capcol}}

\renewcommand{\figurename}{Fig.}

\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{\MPfigfont#1: #2}%
  \ifdim \wd\@tempboxa >\hsize\MPfigfont
    #1: #2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
%    \end{macrocode}
% \end{macro}\end{macro}
%
% The \texttt{multicols} environment has been automatically started, so now it
% must be automatically ended. At this point add the meeting text.
%    \begin{macrocode}
\AtEndDocument{\par\vspace{1em}\noindent
  \makebox[\linewidth][r]{\small\@meeting}\end{multicols}}
%</class>
%    \end{macrocode}
%
% \Finale
