将整篇论文放在一张 A0 海报上?

将整篇论文放在一张 A0 海报上?

问题

有没有办法自动缩放并将整个文档放在 A0 页面上?要执行此操作的论文以 LaTeX 代码和 PDF 输出形式提供。当然我知道可以手动执行此操作,但我更喜欢 LaTeX 解决方案。


小背景

我们大学对硕士论文实行了新的页数限制。教职员工和学生都不太喜欢这个规定。为了开个小玩笑,我们决定尝试将整篇论文(约 200 页)排在 A0 海报上,贴在走廊上,旁边放了一个放大镜,上面写着:“实行新的页数限制:所有即将发表的论文最多 1 页!”


最终结果

正如你们中的一些人所要求的那样:下面你可以看到最终结果的图片。(我“专业地删除”了一些敏感信息。)

我们在我的期末演讲中展示了这张海报,每个人都非常喜欢它!现在,它就在我的办公室旁边展示,偶尔还是会吸引一些人的注意。 最终结果

答案1

您可以使用pdfpages。在下面的例子中,test2.pdf有 178 页,并且 ceil(sqrt(178)) = 14。

该选项的目的delta实际上是在每页之间添加额外的空白。通过将其设置为负值,我猜效果是每页重叠一点。因此它实际上并没有裁剪任何东西,但可以得到相同的效果——更少的空白。需要反复试验才能找到合适的值,这将取决于原始 PDF 的边距。

在此处输入图片描述

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

\usepackage{pdfpages}

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

答案2

根据评论部分的要求,我被敦促分享我的评论的具体内容:

我在我们组织中也遇到过类似的情况,有一天他们坚持要求每份报告都必须使用 Times-Roman 字体(不是我心爱的 Palatino),但允许图表使用其他字体。所以我提交了我的报告,其中 Palatino 手稿的每一页都略微缩小到整页图表大小,标题为“图 xx:第 xx 页,作者希望它出现”。标题当然是 Times Roman。唯一的另一个 Times Roman 是第 1 页的一段介绍,其中 Times-Roman 的要求受到嘲笑,随后的布局得到了解释

但如果我不先尝试回答原帖者的问题,我会感到内疚。所以这是一个由两部分组成的答案:首先是原帖者的问题;然后是我的评论的详细说明。


第1部分

虽然它需要相当多的调整,因为它不接受浮点数,但是使文本适合 Latex 中的特定空间可以在这方面进行调整:

\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}

在此处输入图片描述


第2部分

无需列出整个文档,完成这部分任务所需的代码很简单。我在 Palatino 中创建了我想要的文档,让 Adob​​e 将其每一页拆分成自己的文件,并命名为f2_1.pdff2_2.pdf等。以下代码抓取正确的页面并用图形包装器包裹它们(使用我的boxhandler包的\bxfigure)。代码似乎重复了两次,因为第一个块用于用罗马数字为页面添加字幕,第二个块用于用阿拉伯数字为图形添加字幕。

\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

[文本已删除]

\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}
}

在此处输入图片描述

在此处输入图片描述

不用说,虽然编辑觉得很有趣,但是未经修改就不会被接受出版。

答案3

您可以调整论文的 LaTeX 源代码,将其排版在 A0 纸上,分为四栏,每栏的宽度相当于一张 A4 纸。为了排版效果更好,即每行的字符数更少,您甚至可以增加栏数。

\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}

整篇论文

标题片段

答案4

除了 Torbjørns 的解决方案之外,还有一个pgfpages解决方案应该能够在不使用外部 PDF 的情况下实现相同的功能。不过您可能需要为其编写自己的布局宏。这并不难。

顺便说一句:有趣的想法,发布完图片后可能会看起来很有趣。

相关内容