La pregunta
¿Hay alguna forma de escalar y colocar automáticamente un documento completo en una página A0? La tesis para la cual se va a hacer esto está disponible como código LaTeX, así como en formato PDF. Por supuesto, sé que es posible hacer esto manualmente, pero preferiría una solución LaTeX.
un pequeño fondo
Nuestra universidad introdujo un nuevo límite de páginas para tesis de maestría. Esto no es precisamente apreciado ni por el profesorado ni por los estudiantes. Para hacer una pequeña broma, decidimos intentar ordenar una tesis completa (de aproximadamente 200 páginas) en un cartel A0, colocarlo en el pasillo y colocar una lupa al lado con una nota que decía: "Nuevo límite de páginas". introducido: ¡1 página como máximo para todas las próximas tesis!"
El resultado final
Como algunos de vosotros lo habéis pedido: a continuación podéis ver una foto del resultado final. (Eliminé "profesionalmente" parte de la información confidencial).
¡Presentamos el cartel durante mi presentación final y a todos les gustó mucho! Ahora está expuesto junto a mi oficina y todavía llama la atención de vez en cuando.
Respuesta1
Puedes usar pdfpages
. En el siguiente ejemplo, test2.pdf
tiene 178 páginas y ceil(sqrt(178)) = 14.
El propósito de la delta
opción es en realidad agregar espacios en blanco adicionales entre cada página. Al configurarlo en valores negativos, supongo que el efecto es que cada página se superpone un poco. Entonces, en realidad no recorta nada, pero se obtiene el mismo efecto: menos espacios en blanco. Se requiere algo de prueba y error para encontrar valores adecuados, y dependerá de los márgenes del PDF original.
\documentclass{article}
\usepackage[a0paper,margin=0cm]{geometry}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-,nup=14x14,delta=-2cm -3cm]{test2.pdf}
\end{document}
Respuesta2
A petición en la sección de comentarios, se me ha exhortado a compartir detalles específicos sobre mi comentario:
Tuve una situación similar en nuestra organización en el sentido de que, un día, insistieron en que cada informe tenía que ser en fuente romana (no mi querida Palatino), pero permitieron que las figuras pudieran tener otras fuentes. Así que envié mi informe, donde cada página de mi manuscrito Palatino estaba ligeramente reducida al tamaño de una figura de página completa, con el título "Figura xx: Página xx, como al autor le hubiera gustado que apareciera". El título, por supuesto, estaba en Times Roman. El único otro Times Roman fue una introducción de un párrafo en la página 1, donde se ridiculizaba el requisito de Times Roman y se explicaba el diseño posterior.
Pero me sentiría culpable si no intentara responder primero a la pregunta del OP tal como está. Entonces esta es una respuesta de 2 partes: primero la pregunta del OP; luego la elaboración de mi comentario.
PARTE 1
Si bien requeriría bastante ajuste, ya que no requiere flotadores, el método enHacer que el texto encaje en un espacio específico en Latexpodría adaptarse en este sentido:
\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}
Parte 2
Sin enumerar el documento completo, el código necesario para realizar esta parte de la tarea es sencillo. Creé el documento que deseaba en Palatino, hice que Adobe lo escupiera en cada página en su propio archivo, con nombres f2_1.pdf
, f2_2.pdf
etc. El siguiente código tomó las páginas correctas y las envolvió con un envoltorio de figuras (usando el de mi boxhandler
paquete \bxfigure
). El código parece repetirse dos veces porque el primer bloque es para subtitular páginas con números romanos y el segundo bloque para subtitular figuras con números arábigos.
\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
[texto eliminado]
\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}
}
No hace falta decir que, aunque al editor le hizo gracia, no fue aceptado para su publicación sin modificaciones.
Respuesta3
Podrías adaptar la fuente LaTeX de la tesis para componerla en papel A0 en cuatro columnas, cada una de las cuales tiene el ancho de una hoja A4. Para una mejor composición tipográfica, es decir, un menor número de caracteres por línea, podría incluso aumentar el número de columnas.
\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}
Respuesta4
Además de la solución Torbjørns, existe pgfpages
una que debería poder hacer lo mismo sin utilizar un PDF externo. Aunque es posible que necesites escribir tu propia macro de diseño. No es tan difícil.
Por cierto: una idea interesante, cuando termine de publicar una imagen, puede parecer interesante.