# Put entire thesis on one A0 poster?

### The question

Is there any way to automatically scale and put an entire document on an A0 page? The thesis for which this is to be done is available as LaTeX code, as well as PDF output. Of course I know it is possible to do this manually, but I would prefer a LaTeX solution.

### A small background

Our university introduced a new page limit for master theses. This is not exactly appreciated by the teaching staff as well as students. To make a little joke, we decided to try to arrange an entire thesis (of approximately 200 pages) on a A0 poster, put it up in the hallway, and put a magnification glass next to it with a note saying: "New page limit introduced: 1 page maximum for all upcoming theses!"

### The final result

As some of you asked for this: below you can see a picture of the final result. (I "professionally removed" some of the sensitiv information.)

We presented the poster during my final presentation and everyone liked it a lot! Now, it is on display next to my office and is still attracting some attention once in a while.

-
I had a similar situation in our organization in that they, one day, insisted that every report had to be times-roman font (not my beloved Palatino), but allowed that figures could have other fonts. So I submitted my report, where each page of my Palatino manuscript was slightly reduced to full-page figure size, with the caption "Figure xx: Page xx, as the author would have liked it to appear." The caption was, of course, in Times Roman. The only other Times Roman was a 1 paragraph intro on page 1, where the Times-Roman requirement was ridiculed and the subsequent layout explained. – Steven B. Segletes Mar 19 '14 at 11:27
That is amazing @StevenB.Segletes! Can you post a picture of it? – Ingo Mar 19 '14 at 11:37
For better legibility, consider buying a duplex printer. – Daniel Mar 19 '14 at 23:00
– Werner Mar 19 '14 at 23:55
@DavidBrossard: Also, litographs.com. – Raphael Mar 22 '14 at 11:47

You can use pdfpages. In the example below, test2.pdf has 178 pages, and ceil(sqrt(178)) = 14.

The purpose of the delta option is actually to add additional white space between each page. By setting it to negative values I guess the effect is that each page overlaps a bit. So it doesn't actually crop anything, but one gets the same effect -- less white space. Some trial and error is required to find suitable values, and it will depend on the margins of the original PDF.

\documentclass{article}
\usepackage[a0paper,margin=0cm]{geometry}

\usepackage{pdfpages}

\begin{document}
\includepdf[pages=-,nup=14x14,delta=-2cm -3cm]{test2.pdf}
\end{document}

-
Isn't there room for squeezing more closely together? – daleif Mar 19 '14 at 11:07
@daleif The pages themselves have no whitespace between them, the whitespace you see is the margins of the original PDF. – Torbjørn T. Mar 19 '14 at 11:11
Lol, I just tried it with my 495 pages LaTeXbook printed on A4. Not particularly readable, but 200 pages on A0 would be readable. – daleif Mar 19 '14 at 11:22
@daleif Didn't find anything about cropping in the manual, but the delta option can be used for a similar effect, see my updated answer. – Torbjørn T. Mar 19 '14 at 12:58
Title pages, part pages might get f'ed up. Torbjørns delta solution is the easiest – daleif Mar 20 '14 at 7:14

By request in the comment section, I have been exhorted to share specifics on my comment:

I had a similar situation in our organization in that they, one day, insisted that every report had to be times-roman font (not my beloved Palatino), but allowed that figures could have other fonts. So I submitted my report, where each page of my Palatino manuscript was slightly reduced to full-page figure size, with the caption "Figure xx: Page xx, as the author would have liked it to appear." The caption was, of course, in Times Roman. The only other Times Roman was a 1 paragraph intro on page 1, where the Times-Roman requirement was ridiculed and the subsequent layout explained

But I would feel guilty if I did not try to first answer the OP's question as it stands. So this is a 2-part answer: first the OP's question; then my comment's elaboration.

PART 1

While it would require quite a bit of tuning, since it doesn't take floats, the method at Making the text fit in a specific space in Latex could be adapted in this regard:

\documentclass{article}
\usepackage{scalerel}
\usepackage{caption}
\usepackage[a0paper,margin=0.5cm]{geometry}
\usepackage{fp}
\usepackage{lipsum}
\usepackage{stackengine}
\newcount\boxheight
\newcount\boxwidth
\newlength\constrainedwidth
\newsavebox\testbox
\newlength\currentwidth

\newcommand\aspect[1]{%
\boxheight=\ht#1\relax%
\boxwidth=\wd#1\relax%
\FPdiv\testaspect{\the\boxheight}{\the\boxwidth}%
%\testaspect\\%                  COMMENT THIS LINE TO REMOVE ASPECT-RATIO PRINTS
}
% TARGET-HEIGHT, TARGET-WIDTH, CONTENT, GUESS>NATURAL-WIDTH, dWIDTH
\newcommand\constraintext[5]{%
\def\svfboxsep{\the\fboxsep}%
\setlength\fboxsep{0pt}%
\setlength\constrainedwidth{#2}%
\sbox\testbox{\rule{#2}{#1}}%
%TARGET ASPECT RATIO\\%          COMMENT THIS LINE TO REMOVE COMMENT
%V\\%                            COMMENT THIS LINE TO REMOVE COMMENT
\aspect{\testbox}%
\edef\aspectratio{\testaspect}%
\constrainsize{#1}{\aspectratio}{#3}{#4}{#5}%
\setlength\fboxsep{\svfboxsep}%
}
\newcommand\constrainsize[5]{%
\sbox{\testbox}{\fbox{\begin{minipage}[b]{#4}{#3}\end{minipage}}}%
\aspect{\testbox}%
\FPiflt{\testaspect}{#2}%
\setlength{\currentwidth}{#4}%
\constrainsize{#1}{#2}{#3}{\currentwidth}{#5}%
\else
\setlength\constrainedwidth{#1}%
\FPdiv\result{1.0}{#2}%
%RESET ANY OTHER COUNTERS, TO AVOID ITERATION CREEP
\setcounter{section}{0}%
\setcounter{figure}{0}%
%                               CHANGE \framebox TO \makebox TO REMOVE FRAME
\makebox[\result\constrainedwidth]{\hfill%
\scaleto{\begin{minipage}[b]{\currentwidth}{#3}\end{minipage}}{#1}%
\hfill%
}%
\fi%
}
\parindent 0in
\begin{document}
\centering\constraintext{46in}{32in}{%
\section{Test Section}
\lipsum[1-10]
\section{The Next Section}
\lipsum[11-17]
{\centering\par\rule{2in}{2in}\captionof{figure}{My caption}\par}
\lipsum[1-25]
{\centering\par\rule{3in}{1in}\captionof{figure}{My caption}\par}
\lipsum[1-15]
\section {Conclusions}
\lipsum[16-20]
}{60in}{.2in}
\end{document}


Part 2

Without listing the whole document, the code required to accomplish this part of the task is straightforward. I created my desired document in Palatino, had Adobe spit it out each page in its own file, with names f2_1.pdf, f2_2.pdf, etc. The following code grabbed the right pages and wrapped a figure wrapper around them (using my boxhandler package's \bxfigure). The code looks to be repeated twice because the first block is for captioning pages with roman numbers, and the second block for captioning figures with arabic numbers.

\section{A Meta-Report in Times-Roman Font}

This report is composed, by bureaucratic decree, in 12-point Times-Roman
font. The author has been informed that Palatino font, despite its
increased legibility, does not possess curly'' quotes and, therefore,
is just too different in appearance from the standard font'' that ARL
employs.  Efforts to obtain a local variance to this standard, though
granted regularly in the past to a number of authors, have been
presently denied to this author


[text deleted]

\newcounter{pnum}\newcounter{fnum}\newcounter{countindex}

\setcounter{countindex}{0}
\def\blahblah{, as the author would have liked it to appear, in Palatino font}

\whiledo{\value{countindex} < 2}{
\bxfigure[h] {Page \roman{pnum}\blahblah}
{\fbox{\includegraphics[scale=0.89,trim=47 36 46 60]{f2_\arabic{fnum}}}}
\clearpage
}

\setcounter{countindex}{0}

\whiledo{\value{countindex} < 40}{
\bxfigure[h] {Page \arabic{pnum}\blahblah}
{\fbox{\includegraphics[scale=0.89,trim=48 36 46 60]{f2_\arabic{fnum}}}}
\clearpage
}


Needless to say, while the editor was amused, it was not accepted for publication without modification.

-
A picture book on ballistics, nice :) – doncherry Mar 19 '14 at 13:33
I attempted a similar technique when forced to deliver a Microsoft Word®-document, but I did not succeed. – gerrit Mar 19 '14 at 15:52
@gerrit Hah. I can only imagine. :^) – Steven B. Segletes Mar 19 '14 at 16:00
One could remove all floating capability and force all floats to default to [H] (I guess that's fine-tuning). – Werner Mar 19 '14 at 23:30
On GNU/Linux, splitting a document into single pages is easily achieved by pdftk in.pdf burst output out_%04d.pdf (pick suitably many digits for enumeration). – Raphael Mar 22 '14 at 11:51

You could adapt the LaTeX source of the thesis to typeset it on A0 paper in four columns, each of which has the width of one A4 sheet. For better typesetting, i.e. a smaller number of characters per line, you could even increase the number of columns.

\documentclass{article}

\usepackage[a0paper, margin = 2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{microtype}

\usepackage{multicol}
\setlength{\columnsep}{1.5cm}

\usepackage[math]{blindtext}

\title{I Like Big Sheets of Paper}
\author{Zw\"ahnia}

\begin{document}
\maketitle

\begin{multicols}{4}
\tableofcontents
\Blinddocument
\Blinddocument
\end{multicols}
\end{document}


-

I would take the whole text and preamble of the thesis, but swap some packages to really print it on A 0:

\documentclass[pagesize, paper=a0, english, fontsize=6pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel, blindtext, multicol, endnotes}
\usepackage[margin=2cm]{geometry}
\let\footnote=\endnote

\title{Reamde}

\raggedbottom
%\recalctypearea
\begin{document}
\maketitle{}

\begin{multicols}{5}
\Blinddocument\footnote{\blindtext{}}

\Blinddocument\footnote{\blindtext{}}

\Blinddocument\footnote{\blindtext{}}

\Blinddocument\footnote{\blindtext{}}

\Blinddocument\footnote{\blindtext{}}

\Blinddocument\footnote{\blindtext{}}

\begingroup
\parindent 0pt
\parskip 2ex
\def\enotesize{\normalsize}
\theendnotes
\endgroup
\end{multicols}

\end{document}


If there are footnotes in the thesis, they have to follow inline. I've never thought about a solution for footnotes with multicols, probably that would be a difficult part. Maybe an easy solution were, to print them as endnotes, like I did here in this example.

The endnotes are in the lower right corner:

-
I liked your solution as well, however I could not get it running as it caused problems with quite some of the packages I was using. – Zwähnia Mar 22 '14 at 17:09

In addition to Torbjørns solution, there is pgfpages which should be able to do the same without using an external PDF. Though you may need to write your own layout macro for it. It is not that hard.

BTW: Interesting idea, when done post an image of it, might look interesting.

-
He should also post a picture of people starring at the poster. – schmendrich Mar 27 '14 at 13:15
@schmendrich he is a she ;-) and unfortunately didn't take any pictures of people starring at it (even though plenty did during the first weeks) but at least I finally posted a picture of it!! – Zwähnia Sep 24 '14 at 9:14