这几天被要求做一张海报,看了一眼大家好像都用 PowerPoint 在做,也有用 Photoshop、Illustrator 做的。本来觉得反正也没做出啥成果来,内容都没有,随便应付一下随便做做得了。
结果真开始动手之后,发现 Adobe 系的不支持公式,粘来粘去实在不爽。还是打开了 TeXstudio ……
其实 LaTeX 做海报是有不少模板的,比如 beamerposter 啦什么的。然而这些基本都是 A0 这类标准尺寸的海报,学校要求的尺寸则比较奇葩,尝试过在这上面做改动,然而在折腾 LaTeX 模板方面我还是 too young,搞出了各种随随便便的问题。后来一想,反正是我自己用用,workable 就行了,干脆用个 article 类然后自己瞎搞得了……
嘛,话不多说了,贴代码。注意这里使用 XeTeX 编译的,因为读字体方便。下面是导言区主要代码。其中主要定义了纸张大小、基本字号、文本框,顺便做了文本框里不能用 Figure 环境的替代方案。
\documentclass{article} % 页面大小 \usepackage[paperwidth=80cm, paperheight=160cm, margin=5cm]{geometry} % 大字 \usepackage{scrextend} \changefontsizes[44pt]{36pt} % 大行距 \usepackage{setspace} \linespread{1.15} % 配色 \usepackage{xcolor} \definecolor{myblk}{RGB}{61,61,59} \definecolor{mynavy}{HTML}{4c5870} \definecolor{mywhite}{HTML}{ebedec} \definecolor{mygray}{HTML}{a2a9af} \color{myblk} \pagecolor{mygray} % 定义文本框 \usepackage{tcolorbox} \tcbuselibrary{skins, breakable, theorems} \newtcolorbox{block}[2][]{ colback=mywhite, colframe=mynavy, coltitle=mywhite, coltext=myblk, fonttitle = \bfseries\Large, boxsep=1ex, left skip=1ex, right skip=1ex, title=#2, #1} % 多列环境 \usepackage{multicol} % 设置主字体 \setmainfont{Adobe Garamond Pro} %\setmainfont{Courier New} % 设置参考文献 \usepackage[sort&compress,numbers,super,square,comma]{natbib} \bibliographystyle{gbt7714-2005} \setlength\bibsep{0ex} \renewcommand\refname{} % 预览填空用 \usepackage{lipsum} % 在 Figure 外用 Caption \usepackage{capt-of}
然后,所有内容往 Block 里写,注意 Figure 环境不能用,如果要插图的话:
\begin{block}{} % Title Block % A BIG TITLE ON THE TOP !! \end{block} \begin{block}{PART I} \begin{minipage}{\linewidth} \vspace{3ex} \includegraphics[width=\linewidth]{Figure/Poster/process-flow.eps} \captionof{figure}{Processing Flow Diagram}\label{fig:process-flow} \vspace{2ex} \end{minipage} \end{block}
虽然用了很多 \vspace 啦 minipage 啦非常 trick 的做法,不过至少是能用了,反正就一页不是吗(滑稽