summaryrefslogtreecommitdiff
path: root/macros/generic/poster
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/generic/poster
Initial commit
Diffstat (limited to 'macros/generic/poster')
-rw-r--r--macros/generic/poster/Changes7
-rw-r--r--macros/generic/poster/Makefile71
-rw-r--r--macros/generic/poster/README9
-rw-r--r--macros/generic/poster/poster-doc.pdfbin0 -> 48990 bytes
-rw-r--r--macros/generic/poster/poster-doc.tex365
-rw-r--r--macros/generic/poster/poster.sty8
-rw-r--r--macros/generic/poster/poster.tex349
-rw-r--r--macros/generic/poster/poster1.pdfbin0 -> 56529 bytes
-rw-r--r--macros/generic/poster/poster2.pdfbin0 -> 5678 bytes
9 files changed, 809 insertions, 0 deletions
diff --git a/macros/generic/poster/Changes b/macros/generic/poster/Changes
new file mode 100644
index 0000000000..7a71aa42f8
--- /dev/null
+++ b/macros/generic/poster/Changes
@@ -0,0 +1,7 @@
+poster.tex --------
+1.1 2010-05-13 - change license to lppl (hv)
+ - update documentation (hv)
+ - new LaTeX style file (hv)
+
+1.0 13 May 1993 - Added "\PosterPage".
+0.93 11 Feb 1993 - First stable release.
diff --git a/macros/generic/poster/Makefile b/macros/generic/poster/Makefile
new file mode 100644
index 0000000000..b8a81b8daa
--- /dev/null
+++ b/macros/generic/poster/Makefile
@@ -0,0 +1,71 @@
+
+# `Makefile' for `pst-3dplot.pdf', hv, 2007/03/17
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = poster
+
+MAIN = $(PACKAGE)-doc
+
+TDS = ~/PSTricks/PSTricks-TDS
+
+LATEX = latex
+
+ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
+
+ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
+
+all : doc clean
+doc: $(MAIN).pdf
+
+$(MAIN).pdf : $(MAIN).ps
+ GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
+
+$(MAIN).ps : $(MAIN).dvi
+ dvips $<
+
+$(MAIN).dvi : $(MAIN).tex
+ $(LATEX) $<
+ $(LATEX) $<
+# if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
+# if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
+# makeindex -t $(basename $<).ilg -s pst-doc.ist -o $(basename $<).ind $(basename $<).idx
+# makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
+# $(basename $<).glo
+# bibtex $(basename $<)
+ $(LATEX) poster1.tex && $(LATEX) poster1.tex && dvips poster1 && ps2pdf poster1.ps
+ tex poster2.tex && dvips poster2 && ps2pdf poster2.ps
+
+clean :
+ $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl )
+ $(RM) $(addprefix $(MAIN), .dvi .ps .xcp)
+ $(RM) poster?.tex poster?.dvi poster?.aux poster?.ps poster?.log
+
+veryclean : clean
+ $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
+
+arch :
+ zip $(ARCHNAME).zip $(ARCHFILES)
+
+tds:
+ cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u README $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u $(MAIN).pdf $(TDS)/doc/generic/$(PACKAGE)/
+#
+ cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/
+ cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/
+#
+ cp -u Changes $(TDS)/tex/generic/$(PACKAGE)/
+ cp -u $(PACKAGE).tex $(TDS)/tex/generic/$(PACKAGE)/
+#
+ cp -u Changes $(TDS)/dvips/$(PACKAGE)/
+ cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/
+ cp -u $(PACKAGE).pro ~/Links/dvips-local/
+#
+ cp -u Changes $(TDS)/source/$(PACKAGE)/
+ cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/
+ cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/
+ cp -u Makefile $(TDS)/source/$(PACKAGE)/
+
+
+# EOF
diff --git a/macros/generic/poster/README b/macros/generic/poster/README
new file mode 100644
index 0000000000..6950343262
--- /dev/null
+++ b/macros/generic/poster/README
@@ -0,0 +1,9 @@
+Save the files poster.sty|tex in a directory, which is part of your
+local TeX tree.
+Then do not forget to run texhash to update this tree.
+For more information see the documentation of your LATEX distribution
+on installing packages into your LATEX distribution or the
+TeX Frequently Asked Questions:
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+
diff --git a/macros/generic/poster/poster-doc.pdf b/macros/generic/poster/poster-doc.pdf
new file mode 100644
index 0000000000..444393db83
--- /dev/null
+++ b/macros/generic/poster/poster-doc.pdf
Binary files differ
diff --git a/macros/generic/poster/poster-doc.tex b/macros/generic/poster/poster-doc.tex
new file mode 100644
index 0000000000..2d1dcb3f75
--- /dev/null
+++ b/macros/generic/poster/poster-doc.tex
@@ -0,0 +1,365 @@
+%% BEGIN poster.doc
+%%
+%% Documentation for poster.tex/poster.sty.
+
+
+\documentclass[12pt]{article}
+\usepackage [T1]{fontenc}
+\usepackage{mathpazo,url}
+\usepackage{poster}
+\let\Pfv\fileversion
+\begin{filecontents}{poster1.tex}
+%% BEGIN poster1.tex
+%%
+%% Sample for poster.tex/poster.sty.
+%% Run with LaTeX, with or without the NFSS.
+%% You might have problems with missing fonts.
+%%
+%% See below if using A4 paper.
+
+\documentclass[dvips,a4paper]{article}
+
+\usepackage{poster,wasysym,geometry}
+
+\mag\magstep5 % Magnification of 1.2^5 (roughly 2.5)
+ % Use "true" dimensions below for magnified values.
+
+\begin{document}
+
+\begin{Poster}[vcenter=true,hcenter=true]
+\setlength{\fboxsep}{.8truein}%
+\setlength{\fboxrule}{.1truein}%
+\fbox{\begin{minipage}{11.1truein}
+
+\begin{center}
+ \bf ON SOME \boldmath$\Pi$-HEDRAL SURFACES IN QUASI-QUASI SPACE
+\end{center}
+\begin{center}
+ CLAUDE HOPPER, Omnius University
+\end{center}
+
+There is at present a school of mathematicians which holds that the
+explosive growth of jargon within mathematics is a deplorable trend. It
+is our purpose in this note to continue the work of
+Redheffer~\cite{redheffer} in showing how terminology itself can lead to
+results of great elegance.
+
+I first consolidate some results of Baker~\cite{baker} and
+McLelland~\cite{mclelland}. We define a class of connected snarfs as
+follows: $S_\alpha=\Omega(\gamma_\beta)$. Then if
+$B=(\otimes,\rightarrow,\theta)$ is a Boolean left subideal, we have:
+$$
+\nabla S_\alpha=\int\int\int_{E(\Omega)}
+B(\gamma_{\beta_0},\gamma_{\beta_0})\,d\sigma d\phi d\rho
+-\frac{19}{51}\Omega.
+$$
+Rearranging, transposing, and collecting terms, we have:
+$\Omega=\Omega_0$.
+
+The significance of this is obvious, for if $\{S_\alpha\}$ be a class of
+connected snarfs, our result shows that its union is an utterly
+disjoint subset of a $\pi$-hedral surface in quasi-quasi space.
+
+We next use a result of Spyrpt~\cite{spyrpt} to derive a property of
+wild cells in door topologies. Let $\xi$ be the null operator on a door
+topology, $\Box$, which is a super-linear space. Let $\{P_\gamma\}$ be
+the collection of all nonvoid, closed, convex, bounded, compact,
+circled, symmetric, connected, central, $Z$-directed, meager sets in
+$\Box$. Then $P=\cup P_\gamma$ is perfect. Moreover, if $P\neq\phi$,
+then $P$ is superb.
+
+\smallskip
+{\it Proof.} The proof uses a lemma due to
+Sriniswamiramanathan~\cite{srinis}. This states that any unbounded
+fantastic set it closed. Hence we have
+$$
+\Rightarrow P\sim\xi(P_\gamma)-\textstyle\frac{1}{3}.
+$$
+
+After some manipulation we obtain
+$$
+\textstyle\frac{1}{3}=\frac{1}{3}
+$$
+I have reason to believe~\cite{russell} that this implies $P$ is perfect.
+If $P\neq\phi$, $P$ is superb. Moreover, if $\Box$ is a $T_2$ space, $P$
+is simply superb. This completes the proof.
+
+Our final result is a generalization of a theorem of Tz, and
+encompasses some comments on the work of Beaman~\cite{beaman} on the
+Jolly function.
+
+Let $\Omega$ be any $\pi$-hedral surface in a semi-quasi space. Define
+a nonnegative, nonnegatively homogeneous subadditive linear functional
+$f$ on $X\supset\Omega$ such that $f$ violently suppresses $\Omega$.
+Then $f$ is the Jolly function.
+
+\smallskip
+{\it Proof.} Suppose $f$ is not the Jolly function. Then
+$\{\Lambda,\mbox{@},\xi\}\cap\{\Delta,\Omega,\Rightarrow\}$ is void. Hence
+$f$ is morbid. This is a contradiction, of course. Therefore, $f$ is
+the Jolly function. Moreover, if $\Omega$ is a circled husk, and
+$\Delta$ is a pointed spear, then $f$ is uproarious.
+
+\small
+\begin{center}
+\bf References
+\end{center}
+\def\thebibliography#1{%
+ \list
+ {\bf\arabic{enumi}.}{\settowidth\labelwidth{\bf #1.}\leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \usecounter{enumi}}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+\begin{thebibliography}{9}
+\bibitem{redheffer}
+R. M. Redheffer, A real-life application of mathematical symbolism,
+this {\it Magazine}, 38 (1965) 103--4.
+\bibitem{baker}
+J. A. Baker, Locally pulsating manifolds, East Overshoe Math. J., 19
+(1962) 5280--1.
+\bibitem{mclelland}
+J. McLelland, De-ringed pistons in cylindric algebras,
+Vereinigtermathematischerzeitung f\"ur Zilch, 10 (1962) 333--7.
+\bibitem{spyrpt}
+Mrowclaw Spyrpt, A matrix is a matrix is a matrix, Mat. Zburp., 91
+(1959) 28--35.
+\bibitem{srinis}
+Rajagopalachari Sriniswamiramanathan, Some expansions on the Flausgloten
+Theorem on locally congested lutches, J. Math. Soc., North Bombay, 13
+(1964) 72--6.
+\bibitem{russell}
+A. N. Whitehead and B. Russell, Principia Mathematica, Cambridge
+University Press, 1925.
+\bibitem{beaman}
+J. Beaman, Morbidity of the Jolly function, Mathematica Absurdica, 117
+(1965) 338--9.
+\end{thebibliography}
+\end{minipage}}%
+\end{Poster}
+
+\end{document}
+%% END poster1.tex%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\end{filecontents}
+\begin{filecontents}{poster2.tex}
+%% BEGIN poster2.tex
+%%
+%% A sample file for poster.tex/poster.sty. Makes a banner.
+%% Use Plain TeX (or add preamble and use LaTeX)
+
+\input poster
+
+\special{landscape} % This works with Rokicki's dvips
+
+% ptmr should be name of the PostScript Times-Roman font:
+% 8in is a good size for this font, but might not work with other fonts.
+% You can use a Computer Modern font, if you are prepared to make a big
+% font bitmap.
+
+\font\bigroman=ptmr at 8in
+\bigroman
+
+\poster[vcenter=true,landscape=true]{Happy}
+
+\end
+%% END poster2.tex%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\end{filecontents}
+
+% Now adjust for different paper size:
+\newdimen\mydim
+\mydim=\paperwidth
+\advance\mydim-8.5in
+\divide\mydim 2
+\advance\oddsidemargin \mydim
+\advance\evensidemargin \mydim
+\mydim=\paperheight
+\advance\mydim-11in
+\divide\mydim 2
+\advance\topmargin \mydim
+
+%% OTHER
+
+% Short meta (works in verbatim. Can't use < for other purposes.
+\catcode`\<=13 \def<#1>{{\rm\it #1\/}} % <meta> (works in verbatim)
+
+% Short verbatim.
+\catcode`\"=13
+\def"{\verb"}
+
+\catcode`\@=12 % In case I'm using AmS-LaTeX
+
+\title{Documentation\thanks{Documentation revised by Herbert Vo\ss} for poster.tex:\\[5pt]
+ \small Posters and banners with generic \TeX, v. \Pfv}
+\author{Timothy Van Zandt\\ \url{tvz@Princeton.EDU}}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+\begin{abstract}
+"poster.tex/poster.sty" contains the macro
+\begin{verbatim}
+ \poster{<stuff>}
+\end{verbatim}
+for making posters and banners. <stuff> is processed in restricted horizontal
+mode (i.e., "\hbox" or ``LR-mode'') and is then printed on as many sheets of
+paper as are needed. You can then construct the poster or banner by trimming
+and piecing together the sheets of paper.
+\end{abstract}
+\clearpage
+\tableofcontents
+\clearpage
+
+\section{Introduction}
+You can also write
+\begin{verbatim}
+ \Poster <stuff>\endPoster
+\end{verbatim}
+and \LaTeX\ users can write
+\begin{verbatim}
+ \begin{Poster} <stuff> \end{Poster}
+\end{verbatim}
+
+\section{Details}
+\begin{itemize}
+\item Use a "\vbox" or \LaTeX's "minipage" or "\parbox" in <stuff> if you want
+to include vertical mode material. For more help with LR-boxes, see
+"fancybox.sty", available from archives everywhere.
+
+\item Don't worry about margins, headers or footers; "\poster" ignores output
+routines entirely.
+
+\item <stuff> can contain "\catcode" changes, such as verbatim environments.
+\end{itemize}
+
+If you want to use your regular output routines, and have "poster.tex" print
+out each page of your document as a poster, then instead put the command
+\begin{verbatim}
+ \PosterPage
+\end{verbatim}
+towards the beginning of your document, or in the \LaTeX\ preamble. Each page
+is printed without its margins, but with the headers and footers, if any. (You
+can print out your whole dissertation on $8\times 10$-feet pages.) With
+"\PosterPage", you do not have to worry about LR-boxes.
+
+Whichever method you use, it is up to you to make everything big. The easiest
+way is to set \TeX's "\mag" parameters (to an integer equal to 1000 times the
+magnification factor, or to "\magstephalf", or to "\magstep"<n>, where <n> is
+1,$\ldots$,5). You may need to generate big bitmaps if using bitmapped fonts
+(e.g., \TeX's usual Metafont fonts), rather than scalable outline fonts (e.g.,
+PostScript fonts). Using "\magstep"<n> minimizes the need for extra bitmaps.
+
+\section{Parameter}
+ "\poster", "\Poster" and "\PosterPage" use the following parameters:
+\begin{center}
+ \def\arraystretch{1.1}
+ \begin{tabular}{lll}
+ {\em Parameter} & {\em Value} & {\em Default}\\[2pt]
+ "paperwidth" & <dim> & "8.5in"\\
+ "paperheight" & <dim> & "11in"\\
+ "imagewidth" & <dim> & "7.5in"\\
+ "imageheight" & <dim> & "10in"\\
+ "landscape" & "true"/"false" & "false"\\
+ "hcenter" & "true"/"false" & "false"\\
+ "vcenter" & "true"/"false" & "false"\\
+ "crop" & "none"/"corners"/"full" & "corners"\\
+ "clip" & "none"/"pstricks" & "none"
+ \end{tabular}
+\end{center}
+
+You can include parameter changes as a list of "<key>=<value>" pairs in an
+optional argument to "\poster", "\Poster" or "\PosterPage", enclosed in square
+brackets. E.g.,
+\begin{verbatim}
+ \poster[clip=pstricks,hcenter=true]{foo}
+\end{verbatim}
+No extraneous spaces, please.
+
+You can also redefine the parameters using "\def" or "\LaTeX"'s
+"\renewcommand". For parameter "foo", you should redefine "\POSTERfoo". E.g.,
+the next example is like the last one:
+\begin{verbatim}
+ \def\POSTERclip{pstricks}
+ \def\POSTERhcenter{true}
+ \poster{foo}
+\end{verbatim}
+This is mainly of interest when developing your own custom "\poster" command
+or "poster.tex" file.
+
+Here are some comments on the parameters:
+\begin{itemize}
+\item
+Don't adjust the "paper" and "image" dimensions for your document's
+magnification (and don't use \TeX's "true" dimensions). "poster.tex" does this
+for you. (That is, set the "page" and "image" dimensions to the actual values
+you want for the output.)
+
+\item
+Most printers cannot print right up to the edge of the paper. That is why the
+"imagewidth" and "imageheight" should be smaller than the "paperwidth" and
+"paperheight". The default values are good for printing on 8.5in by 11in paper
+in portrait mode with one-half inch margins.
+
+\item
+Setting "landscape" to "true" is just a convenient way to switch the "height"
+and "width" parameters. You still have to take care of printing your document
+in landscape mode. E.g., with Rokicki's "dvips", use
+\begin{verbatim}
+ \special{landscape}
+\end{verbatim}
+For other dvi driver's, consult the documentation.
+
+\item
+Setting "hcenter" and "vcenter" to "true" causes the image to be centered
+horizontally and vertically, respectively, in the total number of pages that
+are printed. E.g., when "vcenter" is "true", extra space is added to the top
+of the first row of pages and to the bottom of the last row of pages.
+
+\item
+The "crop" parameter controls the crop marks, to help you trim each page to
+size. When "crop" equals "full", you get crop marks along the full length of
+all four sides.
+
+\item
+Setting "clip" to "pstricks" causes each page to be clipped to the size of the
+image (rather than having the image overlap in the margins on each page), but
+this only works if you have loaded the PSTricks package.
+\end{itemize}
+
+\section{Examples}
+The file "poster1.tex" contains the following sample of a framed poster with a
+whole page of text:
+\begin{verbatim}
+ \documentclass{article}
+ \usepackage{poster}
+ \mag\magstep5 % Magnification of 1.2^5 (roughly 2.5)
+ % Use `true' dimensions below for magnified values.
+
+ \begin{document}
+
+ \begin{Poster}[vcenter=true,hcenter=true]
+ \setlength{\fboxsep}{.8truein}%
+ \setlength{\fboxrule}{.1truein}%
+ \fbox{\begin{minipage}{11.1truein}
+ <stuff>
+ \end{minipage}}%
+ \end{Poster}
+
+ \end{document}
+\end{verbatim}
+
+The file "poster2.tex" contain the following sample of a banner in landscape
+mode. "ptmr" is meant to be the name of the Times-Roman PostScript font, if
+your dvi driver supports such a thing.
+\begin{verbatim}
+ \font\bigroman=ptmr at 7.5in
+ \bigroman
+ \poster[vcenter=true,landscape=true]{Animals}
+\end{verbatim}
+
+
+\end{document}
+%%
+%% END poster.doc
+
diff --git a/macros/generic/poster/poster.sty b/macros/generic/poster/poster.sty
new file mode 100644
index 0000000000..550b73e5c3
--- /dev/null
+++ b/macros/generic/poster/poster.sty
@@ -0,0 +1,8 @@
+%% $Id: poster.sty 319 2010-05-15 09:06:19Z herbert $
+\ProvidesPackage{poster}[2010/05/13 package wrapper for
+ poster.tex (hv)]
+\input{poster.tex}
+\ProvidesFile{poster.tex}
+ [\filedate\space v\fileversion\space `poster' (tvz,hv)]
+\endinput
+
diff --git a/macros/generic/poster/poster.tex b/macros/generic/poster/poster.tex
new file mode 100644
index 0000000000..0265818b9c
--- /dev/null
+++ b/macros/generic/poster/poster.tex
@@ -0,0 +1,349 @@
+%% BEGIN poster.tex/poster.sty
+%%
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, tvz@Princeton.EDU
+%%
+%% DESCRIPTION:
+%% poster.tex/poster.sty contains a macro for making posters and banners
+%% with TeX. It is compatible with most TeX macro packages, including Plain
+%% TeX, LaTeX, AmSTeX, and Ams-LaTeX. The only special requirement is that
+%% your printer not be bothered by text that lies off the page. This is
+%% true of most printers, including laser printers and PostScript printers.
+%%
+%% COPYING:
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% CODE:
+% These macros use TeX primitives, plus the Plain TeX commands:
+% \dimen@, \dimen@i, \count@, \newcount, \newtoks,
+%
+% Check if file is loaded, announce file on terminal, and take care of @:
+%
+\def\fileversion{1.1}
+\def\filedate{10/05/15}
+\csname PosterLoaded\endcsname
+\let\PosterLoaded\endinput
+
+\message{\space\space v\fileversion\space\space\filedate\space\space <tvz>}
+
+\edef\TheAtCode{\the\catcode`\@}
+\catcode`\@=11
+
+\newbox\@posterbox
+\newbox\poster@savedbox
+\newbox\poster@cropbox
+
+\def\POSTERpaperheight{11in}
+\def\POSTERpaperwidth{8.5in}
+\def\POSTERimageheight{10in}
+\def\POSTERimagewidth{7.5in}
+\def\POSTERlandscape{false}
+\def\POSTERclip{none}
+\def\POSTERcrop{corners}
+\def\POSTERvcenter{false}
+\def\POSTERhcenter{false}
+
+\def\poster@set#1[#2]{%
+ \poster@@set#2,=\@nil,%
+ #1}
+\def\poster@@set#1=#2,{%
+ \ifx\@nil#2\else
+ \expandafter\ifx\csname POSTER#1\endcsname\relax
+ \errmessage{Poster parameter `#1' not defined}%
+ \else
+ \expandafter\edef\csname POSTER#1\endcsname{#2}%
+ \fi
+ \expandafter\poster@@set
+ \fi}
+
+\def\poster@true{true}
+
+\def\poster{%
+ \begingroup
+ \futurelet\next\poster@i}
+\def\poster@i{%
+ \ifx\next[%
+ \expandafter\poster@set
+ \fi
+ \poster@ii}
+\def\poster@ii{%
+ \afterassignment\poster@iii
+ \setbox\@posterbox=\hbox}
+\def\poster@iii{\aftergroup\poster@iv}
+\def\poster@iv{%
+ \setbox\@posterbox=\hbox{\raise\dp\@posterbox\box\@posterbox}%
+ \poster@savepage
+ \poster@magtonum
+ \ifx\POSTERlandscape\poster@true \poster@landscape \fi
+ \poster@hoffsets
+ \poster@voffsets
+ \ifx\POSTERvcenter\poster@true \poster@vcenter \fi
+ \ifx\POSTERhcenter\poster@true \poster@hcenter \fi
+ \poster@makecropbox
+ \count\z@=\z@
+ \poster@vloop
+ \endgroup}
+
+\def\Poster{%
+ \begingroup
+ \futurelet\next\Poster@i}
+\def\Poster@i{%
+ \ifx\next[%
+ \expandafter\poster@set
+ \fi
+ \Poster@ii}
+\def\Poster@ii{%
+ \setbox\@posterbox=\hbox\bgroup\ignorespaces}
+\def\endPoster{\egroup\poster@iv}
+
+\def\PosterPage{\futurelet\next\PosterPage@i}
+\def\PosterPage@i{%
+ \ifx\next[%
+ \expandafter\poster@set
+ \fi
+ \PosterPage@ii}
+\def\PosterPage@ii{%
+ \count2=\z@
+ \let\poster@trueshipout\shipout
+ \let\shipout\poster@pageshipout}
+\def\poster@pageshipout{%
+ \begingroup
+ \global\advance\count2\@ne
+ \def\poster@swapcounters{%
+ \count@=\count2
+ \count2=\count1
+ \count1=\count\z@
+ \count\z@=\count@}%
+ \let\poster@savepage\relax
+ \let\shipout\poster@trueshipout
+ \setbox\@posterbox\box\voidb@x
+ \afterassignment\poster@@pageshipout
+ \setbox\@posterbox}
+\def\poster@@pageshipout{%
+ \ifvoid\@posterbox\aftergroup\poster@iv\else\poster@iv\fi}
+\let\poster@swapcounters\relax
+
+% Save current contents of page in case it contains \special's:
+\def\poster@savepage{%
+ \begingroup
+ \global\setbox\poster@savedbox\box\voidb@x
+ \output{\global\setbox\poster@savedbox\box\@cclv}%
+ \par\hbox{}\penalty-10000
+ \endgroup
+ \ifvoid\poster@savedbox\else
+ \dp\poster@savedbox\z@
+ \ht\poster@savedbox\z@
+ \wd\poster@savedbox\z@
+ \fi}
+
+% \poster@mag set to decimal value of \mag.
+\def\poster@magtonum{%
+ \ifnum\mag=1000
+ \def\poster@mag{}%
+ \else
+ \count@=10000000
+ \divide\count@\mag
+ \advance\count@ by 200000000
+ \expandafter\poster@@magtonum\the\count@
+ \fi
+ \dimen@=2000pt
+ \divide\dimen@\mag
+ \edef\poster@cropwidth{\number\dimen@ sp }}
+
+\def\poster@@magtonum#1#2#3#4#5#6#7#8#9{%
+ \count@ #2#3#4#5\relax
+ \edef\poster@mag{\the\count@.#6#7#8#9}}
+
+\def\poster@landscape{%
+ \let\next\POSTERpaperheight
+ \let\POSTERpaperheight\POSTERpaperwidth
+ \let\POSTERpaperwidth\next
+ \let\next\POSTERimageheight
+ \let\POSTERimageheight\POSTERimagewidth
+ \let\POSTERimagewidth\next}
+
+% \dimen@ii set to imageheight
+\def\poster@voffsets{%
+ \dimen@\POSTERimageheight\relax
+ \dimen@ii=\poster@mag\dimen@
+ \voffset=\POSTERpaperheight\relax
+ \advance\voffset-\dimen@
+ \divide\voffset 2
+ \ifdim\voffset<\z@
+ \voffset\z@
+ \fi
+ \dimen@=\poster@mag\voffset
+ \edef\poster@vmargin{\number\dimen@ sp }%
+ \advance\voffset-1in
+ \voffset=\poster@mag\voffset}
+
+% \dimen@i set to imagewidth
+\def\poster@hoffsets{%
+ \dimen@\POSTERimagewidth\relax
+ \dimen@i=\poster@mag\dimen@
+ \hoffset=\POSTERpaperwidth\relax
+ \advance\hoffset-\dimen@
+ \divide\hoffset 2
+ \ifdim\hoffset<\z@
+ \hoffset=\z@
+ \fi
+ \dimen@=\poster@mag\hoffset
+ \edef\poster@hmargin{\number\dimen@ sp }%
+ \advance\hoffset-1in
+ \hoffset=\poster@mag\hoffset}
+
+% Center vertically
+\def\poster@vcenter{%
+ \count@=\ht\@posterbox
+ \divide\count@\dimen@ii
+ \dimen@=\the\count@\dimen@ii
+ \advance\dimen@-\ht\@posterbox
+ \ifdim\dimen@<-.1pt
+ \advance\count@ 1
+ \fi
+ \setbox\@posterbox=\hbox{\vbox to \the\count@\dimen@ii{%
+ \vss\box\@posterbox\vss}}}
+
+% Center horizontally
+\def\poster@hcenter{%
+ \count@=\wd\@posterbox
+ \divide\count@\dimen@i
+ \dimen@=\the\count@\dimen@i
+ \advance\dimen@-\wd\@posterbox
+ \ifdim\dimen@<-.1pt
+ \advance\count@ 1
+ \fi
+ \setbox\@posterbox=\hbox to \the\count@\dimen@i{%
+ \hss\box\@posterbox\hss}}
+
+% Print rows:
+\def\poster@vloop{%
+ \ifdim\ht\@posterbox>.1pt
+ \ifdim\ht\@posterbox<\dimen@ii
+ \dimen@ii=\ht\@posterbox
+ \poster@makecropbox
+ \fi
+ \advance\count\z@ 1
+ \count1=\z@
+ \dimen@=\wd\@posterbox
+ \poster@hloop
+ \dimen@=\ht\@posterbox
+ \advance\dimen@-\dimen@ii
+ \ht\@posterbox\dimen@
+ \expandafter\poster@vloop
+ \fi}
+
+% Print columns.
+% \dimen@ is used as scratch to keep track of remaining width.
+\def\poster@hloop{%
+ \ifdim\dimen@>.1pt
+ \advance\count1 by 1
+ \begingroup
+ \ifdim\dimen@<\dimen@i
+ \dimen@i=\dimen@
+ \poster@makecropbox
+ \fi
+ \poster@swapcounters
+ \poster@shipout
+ \endgroup
+ \advance\dimen@-\dimen@i
+ \expandafter\poster@hloop
+ \fi}
+
+% Shipout, aligning everything at the top-left corner:
+\def\poster@shipout{%
+ \shipout\hbox{%
+ \ifvoid\poster@savedbox\else\box\poster@savedbox\fi
+ \csname beginposterclip@\POSTERclip\endcsname
+ \lower\ht\@posterbox\hbox to\z@{%
+ \advance\dimen@-\wd\@posterbox
+ \kern\dimen@
+ \copy\@posterbox
+ \hss}%
+ \csname endposterclip@\POSTERclip\endcsname
+ \copy\poster@cropbox}}%
+
+% clip=pstricks
+\def\beginposterclip@pstricks{%
+ \expandafter\ifx\csname @pstrickserr\endcsname\relax
+ \errmessage{%
+ You must load PSTricks to use poster.tex's clip=pstricks option!}%
+ \global\let\beginposterclip@pstricks\relax
+ \else
+ \gdef\beginposterclip@pstricks{\beginposterclip@@pstricks}%
+ \gdef\endposterclip@pstricks{\pstVerb{currentpoint initclip moveto}}%
+ \beginposterclip@@pstricks
+ \fi}
+
+\let\endposterclip@pstricks\relax
+
+\def\beginposterclip@@pstricks{%
+ \pst@Verb{%
+ /mtrxc CM def
+ \tx@STV
+ CP translate
+ newpath
+ 0 0 moveto
+ \pst@number\dimen@i 0 rlineto
+ 0 \pst@number\dimen@ii neg rlineto
+ \pst@number\dimen@i neg 0 rlineto
+ closepath
+ clip
+ newpath
+ 0 0 moveto
+ mtrxc setmatrix}}
+
+\def\poster@makecropbox{%
+ \setbox\poster@cropbox=\hbox{\csname postercrop@\POSTERcrop\endcsname}%
+ \ht\poster@cropbox=\z@
+ \dp\poster@cropbox=\z@
+ \wd\poster@cropbox=\z@}
+
+\def\postercrop@corners{%
+ \vtop{%
+ \hbox{%
+ \kern -\poster@hmargin
+ \vrule height \poster@cropwidth width \poster@hmargin
+ \kern -\poster@cropwidth
+ \vrule height \poster@vmargin width \poster@cropwidth
+ \kern \dimen@i
+ \vrule height \poster@vmargin width \poster@cropwidth
+ \kern -\poster@cropwidth
+ \vrule height \poster@cropwidth width \poster@hmargin}%
+ \nointerlineskip
+ \vskip\dimen@ii
+ \hbox{%
+ \kern -\poster@hmargin
+ \vrule height \z@ depth \poster@cropwidth width \poster@hmargin
+ \kern -\poster@cropwidth
+ \vrule height \z@ depth \poster@vmargin width \poster@cropwidth
+ \kern \dimen@i
+ \vrule height \z@ depth \poster@vmargin width \poster@cropwidth
+ \kern -\poster@cropwidth
+ \vrule height \z@ depth \poster@cropwidth width \poster@hmargin}}}%
+
+\def\postercrop@full{%
+ \begingroup
+ \hbox to\z@{%
+ \advance\dimen@ii\poster@vmargin
+ \kern -\poster@cropwidth
+ \vrule height \poster@vmargin depth \dimen@ii width \poster@cropwidth
+ \kern \dimen@i
+ \vrule height \poster@vmargin depth \dimen@ii width \poster@cropwidth
+ \hss}%
+ \kern -\poster@hmargin
+ \vtop{%
+ \advance\dimen@i \poster@hmargin
+ \advance\dimen@i \poster@hmargin
+ \kern-\poster@cropwidth
+ \hrule height \poster@cropwidth width \dimen@i
+ \kern\dimen@ii
+ \hrule height \z@ depth \poster@cropwidth width \dimen@i}%
+ \endgroup}
+
+\catcode`\@=\TheAtCode\relax
+\endinput
+%%
+%% END poster.tex
diff --git a/macros/generic/poster/poster1.pdf b/macros/generic/poster/poster1.pdf
new file mode 100644
index 0000000000..0faf29a7a8
--- /dev/null
+++ b/macros/generic/poster/poster1.pdf
Binary files differ
diff --git a/macros/generic/poster/poster2.pdf b/macros/generic/poster/poster2.pdf
new file mode 100644
index 0000000000..e26c53b98e
--- /dev/null
+++ b/macros/generic/poster/poster2.pdf
Binary files differ