Put entire thesis on one A0 poster?
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}
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}%
\addtolength{\currentwidth}{-#5}%
\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{pnum}{\thefigure}\addtocounter{pnum}{3}
\setcounter{fnum}{\thefigure}\addtocounter{fnum}{5}
\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
\addtocounter{pnum}{1}
\addtocounter{fnum}{1}
\addtocounter{countindex}{1}
}
\addtocounter{pnum}{-4}
\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
\addtocounter{pnum}{1}
\addtocounter{fnum}{1}
\addtocounter{countindex}{1}
}
Needless to say, while the editor was amused, it was not accepted for publication without modification.
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}