diff --git a/.github/workflows/contrib.yml b/.github/workflows/contrib.yml
index a12d4164..298a0308 100644
--- a/.github/workflows/contrib.yml
+++ b/.github/workflows/contrib.yml
@@ -8,8 +8,6 @@ on:
branches:
- main
- develop
- types:
- - 'review_requested'
paths:
- 'contrib/**'
@@ -44,7 +42,7 @@ jobs:
run: |
apk add ghostscript imagemagick gnupg
sed -i "s|||g" /etc/ImageMagick-*/policy.xml
- .github/ci/build_contrib.sh -halt-on-error -time -quiet -xelatex
+ .github/ci/build_contrib.sh -halt-on-error -time -xelatex
name: build contrib doc with XeLaTeX
- uses: actions/upload-artifact@v2
with:
diff --git a/contrib/poster/poster.tex b/contrib/poster/poster.tex
new file mode 100644
index 00000000..d0f0ab00
--- /dev/null
+++ b/contrib/poster/poster.tex
@@ -0,0 +1,168 @@
+\documentclass{ctexbeamer}
+\usetheme[red]{sjtubeamer}
+\usesjtutheme{poster}
+% \usesjtutheme[landscape]{poster}
+% \usesjtutheme[sepinst]{poster}
+% \usesjtutheme[noindent]{poster}
+\usepackage{subcaption}
+\usepackage[style=gb7714-2015]{biblatex}
+\addbibresource{\getcontribpath{poster}{ref.bib}}
+\usepackage{zhlipsum}
+\begin{document}
+ \title{poster 子主题}
+ \author{作者}
+ \logo{\zhlogo}
+ \institute[Test Institute]{测试机构}
+ \footline[左脚注]{右脚注}
+ \begin{frame}[fragile]
+ \begin{columns}[T]
+ \begin{column}{.45\textwidth}
+
+ \begin{stampblock}{主题概述}
+ \texttt{poster} 子主题基于 \texttt{beamerposter} 宏包\cite{beamerposter},对 SJTUBeamer 进行适配以制作海报,展示您的成果。
+ \codeblockinput[firstline=1,lastline=3]{开始使用}{poster.tex}
+ \end{stampblock}
+
+ \begin{stampblock}{风格建议}
+ 建议使用 \texttt{stampblock} 环境分割不同的区块。你也可以使用 \texttt{block} 环境分割不同的区块。相较于普通 \texttt{beamer} 幻灯片文字较少的情形,\texttt{poster} 更有可能会写入大段文字,所以默认情况下这些区块内部会有首行缩进。由于 \texttt{column} 环境内部不受外部首行缩进的影响,所以不推荐之间在 \texttt{column} 环境中书写内容,而应该再套一层 \texttt{stampblock} 或 \texttt{block}。
+
+ 可以插入图片来丰富你的海报内容,但请注意由于海报的纸张尺寸较大,像一些高 DPI 显示的场景一样,会对文字大小进行缩放,但是度量上却没有发生变化,请注意要使用相对于平时更大的度量插入图片。
+
+ 不推荐直接插入 Ti\emph{k}Z 的代码,推荐使用 \texttt{standalone} 文档类产生 PDF 文件后再插入,否则会导致图片内的文字过大而排版错乱。
+ \end{stampblock}
+
+ \begin{stampblock}{多栏对齐}
+ 推荐使用 \texttt{columns} 环境分割多栏,环境可选选项可以用于指定顶部对齐 \texttt{t},居中对齐 \texttt{c},底部对齐 \texttt{b}。
+ \codeblockinput[firstline=16,lastline=16,firstnumber=1]{多栏}{poster.tex}
+ \end{stampblock}
+
+ \end{column}
+ \begin{column}{.45\textwidth}
+
+ \begin{stampblock}{图文混排}
+ 由于 \texttt{beamer} 关闭了浮动体浮动,所以推荐使用多栏分割的方式实现图文混排。
+ 或者是多图并排放置。
+ \begin{columns}
+ \begin{column}{0.7\textwidth}
+ 上海交通大学的东大门---紫气东来门,简称庙门,位于上海市闵行区莲花南路 4800 号。
+ \end{column}
+ \begin{column}{0.3\textwidth}
+ \begin{figure}
+ \includegraphics[width=\textwidth]{vi/sjtuphoto.jpg}
+ \caption{庙门}
+ \end{figure}
+ \end{column}
+ \end{columns}
+ \begin{figure}
+ \begin{subfigure}{0.4\textwidth}
+ \resizebox{\textwidth}{!}{\secondaryinstlogo[Test Institute]{测试机构}{\zhlogo}}
+ \caption{中文}
+ \end{subfigure}\hspace*{20pt}
+ \begin{subfigure}{0.4\textwidth}
+ \resizebox{\textwidth}{!}{\secondaryinstlogo[]{Test Institute}{\enlogo}}
+ \caption{英文}
+ \end{subfigure}
+ \caption{二级机构徽标}
+ \end{figure}
+ \end{stampblock}
+
+ \begin{stampblock}{参考文献}
+
+ 可以使用图标样式的参考文献。
+
+ \begin{bibliolist}{00}
+ \onlineitem \textsc{Tantau T}, \textsc{Wright J}, and \textsc{Mileti\'c V}.\newblock
+ The beamer class: User Guide for version 3.67[OL].\newblock
+ 2022. \url{https://github.com/josephwright/beamer}
+ \articleitem \textsc{上海交通大学}.\newblock
+ 上海交通大学视觉形象识别系统[OL].\newblock
+ 2016. \url{https://vi.sjtu.edu.cn}
+ \bookitem \textsc{Knuth DE}.\newblock
+ The \TeX{}book[M].\newblock
+ Addison-Wesley. 1986.
+ \end{bibliolist}
+
+ 你也可以使用 \texttt{biblatex} 插入参考文献。
+
+ \printbibliography
+
+ \end{stampblock}
+
+ \end{column}
+ \end{columns}
+
+ % 分割线
+ \vspace*{2cm}
+ \begin{tikzpicture}
+ \draw[cprimary,decoration=stampline,segment length=1cm,decorate] (0,0) -- (0.94\textwidth,0);
+ \end{tikzpicture}
+ \vspace*{2cm}
+
+ \begin{columns}
+ \begin{column}{0.45\textwidth}
+ \begin{block}{选项}
+ \texttt{poster} 子主题拥有一些选项。
+ \begin{description}
+ \item[\texttt{sepinst}] 分离徽标与机构于两侧
+ \item[\texttt{landscape}] 横向海报
+ \item[\texttt{noindent}] 首行不缩进
+ \end{description}
+ \end{block}
+ \begin{alertblock}{脚注}
+ 使用 \texttt{\textbackslash{}footline[左脚注]\{右脚注\}} 设定左脚注和右脚注。
+ \end{alertblock}
+ \begin{exampleblock}{区块}
+ 仍然可以使用内置的 \texttt{block}, \texttt{alertblock}, \texttt{exampleblock} 插入对应的区块。
+ \end{exampleblock}
+ \end{column}
+ \begin{column}{0.45\textwidth}
+
+ \begin{stampblock}[a]{印记区块}
+ 使用 \texttt{stampblock} 环境插入带有印记图案的区块,编号会自动递增。你也可以通过指定可选参数来设置编号内容。
+ \end{stampblock}
+
+ \begin{codeblock}[numbers=none]{代码块}
+% 应当减少代码块的使用,增加了标题栏的高度。
+% 关闭代码行号编号可以在 codeblock 上添加选项 numbers=none
+ \end{codeblock}
+
+ \begin{columns}[b]
+ \begin{column}{.5\textwidth}
+ \begin{stampbox}
+ \includegraphics[width=16cm]{vi/sjtuphoto.jpg}
+ \end{stampbox}
+ \end{column}
+ \begin{column}{.5\textwidth}
+ $\leftarrow$ 你仍然可以使用 \texttt{stampbox} 环境插入带边框的图片\vspace{1ex}
+ \end{column}
+ \end{columns}
+ \end{column}
+ \end{columns}
+ \end{frame}
+ \title{}
+ \author{}
+ \logo{}
+ \institute[]{}
+ \begin{frame}
+ \begin{columns}
+
+ \begin{column}{.5\textwidth}
+ \begin{stampblock}{测试}
+ \zhlipsum[1]
+ \end{stampblock}
+
+ \begin{stampblock}{测试}
+ \zhlipsum[2]
+ \end{stampblock}
+
+ \vspace*{0.5ex}
+
+ \begin{stampblock}{测试}
+ \zhlipsum[3]
+ \end{stampblock}
+ \end{column}
+
+ \end{columns}
+
+ \end{frame}
+\end{document}
\ No newline at end of file
diff --git a/contrib/poster/ref.bib b/contrib/poster/ref.bib
new file mode 100644
index 00000000..f3212111
--- /dev/null
+++ b/contrib/poster/ref.bib
@@ -0,0 +1,8 @@
+@Misc{beamerposter,
+ author = {Dreuw, Philippe and Deselaers, Thomas},
+ title = {The beamerposter package},
+ year = {2021},
+ url = {https://github.com/deselaers/latex-beamerposter},
+}
+
+@Comment{jabref-meta: databaseType:bibtex;}
diff --git a/contrib/poster/sjtubeamerthemeposter.ltx b/contrib/poster/sjtubeamerthemeposter.ltx
new file mode 100644
index 00000000..32f3dd3f
--- /dev/null
+++ b/contrib/poster/sjtubeamerthemeposter.ltx
@@ -0,0 +1,177 @@
+%% ------------------------------------------------------------------------
+%% Copyright (C) 2022 LogCreative
+%%
+%% Licensed under the Apache License, Version 2.0 (the "License");
+%% you may not use this file except in compliance with the License.
+%% You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing, software
+%% distributed under the License is distributed on an "AS IS" BASIS,
+%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+%% See the License for the specific language governing permissions and
+%% limitations under the License.
+%% ------------------------------------------------------------------------
+% 设置文件元数据
+\ProvidesFile{sjtubeamerthemeposter.ltx}[2022/09/20 Beamerposter adapter for SJTUBeamer]
+\PassOptionsToPackage{orientation=portrait}{beamerposter}
+\if\EqualOption{poster}{landscape}{true}
+ \PassOptionsToPackage{orientation=landscape}{beamerposter}
+\fi
+% 加载 beamerposter
+\usepackage[size=a0,scale=1.4]{beamerposter}
+% 设置 headline 颜色跟随亮色/暗色
+\setbeamercolor{headline}{parent=palette primary}
+\AtBeginDocument{
+ % 修改 headline,需要在文档起始处覆盖,防止 default 的行为
+ \setbeamertemplate{headline}{
+ \begin{beamercolorbox}[wd=\paperwidth,sep=0.02\paperwidth]{headline}
+ \begin{columns}
+ \begin{column}{0.25\textwidth}
+ \hspace*{0.02\paperwidth}
+ \if\EqualOption{poster}{sepinst}{true}%
+ \resizebox{!}{4cm}{\vphantom{-}\usebeamertemplate{logo}}
+ \else%
+ \if\EqualOption{inner}{lang}{en}%
+ \resizebox{!}{4cm}{\vphantom{-}\secondaryinstlogo{\csname beamer@shortinstitute\endcsname}{\usebeamertemplate{logo}}}
+ \else%
+ \resizebox{!}{4cm}{\vphantom{-}\secondaryinstlogo[\insertshortinstitute]{\insertinstitute}{\usebeamertemplate{logo}}}
+ \fi%
+ \fi%
+ \end{column}
+ \begin{column}{0.5\textwidth}
+ \vfill
+ \centering
+ \usebeamercolor{title in headline}{%
+ \color{fg}\textbf{\LARGE{\inserttitle}}\vskip2.5ex
+ }
+ \usebeamercolor{author in headline}{%
+ \color{fg}\large{\insertauthor}
+ }
+ \vfill
+ \end{column}
+ \begin{column}{0.25\textwidth}
+ \if\EqualOption{poster}{sepinst}{true}
+ \hfill
+ \if\EqualOption{inner}{lang}{en}
+ \resizebox{!}{4cm}{\vphantom{-}\secondaryinstlogo{\csname beamer@shortinstitute\endcsname}{}}
+ \else
+ \resizebox{!}{4cm}{\vphantom{-}\secondaryinstlogo[\insertshortinstitute]{\insertinstitute}{}}
+ \fi
+ \hspace*{0.03\paperwidth}
+ \else
+ \begin{tikzpicture}[overlay]
+ \if\EqualOption{poster}{landscape}{true}
+ \def\stampheight{0.05}
+ \def\stampsize{60pt}
+ \else
+ \def\stampheight{0.03}
+ \def\stampsize{50pt}
+ \fi
+ \usebeamercolor{palette primary}
+ \stamparray{\stampsize}{(-0.05\paperwidth,-\stampheight\paperheight)}{(\paperwidth,\stampheight\paperheight)}
+ \fill[bg, path fading=fade right] (-0.05\paperwidth, -\stampheight\paperheight) rectangle (\paperwidth, \stampheight\paperheight);
+ \end{tikzpicture}
+ \fi
+ \end{column}
+ \end{columns}
+ \end{beamercolorbox}
+ }
+}
+% 新的命令 设置底栏 \footline[左脚注]{右脚注}
+\newif\ifposterfootline
+\def\posterrightfootline{}
+\def\posterleftfootline{}
+\providecommand{\footline}[2][]{
+ \def\posterleftfootline{#1}
+ \def\posterrightfootline{#2}
+}
+% 底栏为空时不会出现
+\setbeamercolor{footline}{parent=palette primary}
+\setbeamertemplate{footline}{%
+ \resizebox{\paperwidth}{!}{\sjtugate[cprimary]}\vskip-6cm\par
+ \posterfootlinetrue
+ \ifx\posterleftfootline\relax
+ \ifx\posterrightfootline\relax
+ \posterfootlinefalse
+ \fi
+ \fi
+ \ifposterfootline
+ \begin{beamercolorbox}[wd=\paperwidth]{footline}
+ \small\vskip1.5ex\hspace*{0.02\paperwidth}\posterleftfootline\hfill
+ \posterrightfootline\hspace*{0.02\paperwidth}\vskip3ex
+ \end{beamercolorbox}
+ \fi
+}
+% 重置区块间隙
+\setbeamertemplate{block begin}{
+ \vskip.75ex
+ \begin{beamercolorbox}[colsep*=.75ex]{block title}%
+ \usebeamerfont*{block title}\insertblocktitle
+ \end{beamercolorbox}%
+ {\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
+ \usebeamerfont{block body}%
+ \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body}%
+ \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
+}
+\setbeamertemplate{block end}{
+ \end{beamercolorbox}
+}
+\setbeamertemplate{block alerted begin}{
+ \vskip.75ex
+ \begin{beamercolorbox}[colsep*=.75ex]{block title alerted}%
+ \usebeamerfont*{block title}\insertblocktitle
+ \end{beamercolorbox}%
+ {\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
+ \usebeamerfont{block body}%
+ \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body alerted}%
+ \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
+}
+\setbeamertemplate{block alerted end}{
+ \end{beamercolorbox}
+}
+\setbeamertemplate{block example begin}{
+ \vskip.75ex
+ \begin{beamercolorbox}[colsep*=.75ex]{block title example}%
+ \usebeamerfont*{block title}\insertblocktitle
+ \end{beamercolorbox}%
+ {\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}%
+ \usebeamerfont{block body}%
+ \begin{beamercolorbox}[colsep*=.75ex,vmode]{block body example}%
+ \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
+}
+\setbeamertemplate{block example end}{
+ \end{beamercolorbox}
+}
+% tcolorbox 设定
+\tcbset{toptitle=2.5mm,bottomtitle=2.5mm}
+\if\EqualOption{poster}{noindent}{true}\else%
+ % 首行缩进
+ \setlength{\parindent}{2em}%
+ % 重定义 stampblock 的首行缩进
+ \addtobeamertemplate{block stamp begin}{}{%
+ \setlength{\parindent}{2em}%
+ }
+ % 重定义 block 的缩进
+ \addtobeamertemplate{block begin}{}{%
+ \setlength{\parindent}{2em}%
+ }
+ \addtobeamertemplate{block alerted begin}{}{%
+ \setlength{\parindent}{2em}%
+ }
+ \addtobeamertemplate{block example begin}{}{%
+ \setlength{\parindent}{2em}%
+ }
+\fi%
+% 重设引用条目同名图标大小
+\pgfdeclareimage[height=26pt]{beamericonbook}{beamericonbook}
+\pgfdeclareimage[height=26pt]{beamericonbookshaded}{beamericonbook.20}
+\pgfdeclareimage[height=34pt]{beamericonarticle}{beamericonarticle}
+\pgfdeclareimage[height=34pt]{beamericonarticleshaded}{beamericonarticle.20}
+\pgfdeclareimage[height=32pt]{beamericononline}{beamericononline}
+\pgfdeclareimage[height=32pt]{beamericononlineshaded}{beamericononline.20}
+% 为了防止无法悬挂对齐的情形,直接使用 text 模式的 bibliography item
+% 可以改为正常的 article, book, online 等。
+% 注意!如果使用 gb7714-2015ay 样式,请手动删除本行。
+\setbeamertemplate{bibliography item}[text]
\ No newline at end of file