这几天被要求做一张海报,看了一眼大家好像都用 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 的做法,不过至少是能用了,反正就一页不是吗(滑稽
