ACM赛前准备——模板(排版篇)
ACM赛前准备——模板(排版篇)
更新
2018-01-31 添加中文支持
前言
一个好的模板抵的过一个漂亮的志愿者。本文旨在方便广大ACMer赛前整理代码,把繁琐的排版工作交给工具完成,更专注于模板本身的内容。
再次强调:本文只谈排版,本文只谈排版,本文只谈排版。
github地址
效果演示
封面
目录页
模板页(不分栏)
模板页(分栏)
结果文件
快速使用
- git clone https://github.com/palayutm/ply-template
- cd ply-template
- xelatex -shell-escape ply-template.tex
详看https://github.com/palayutm/ply-template ,推荐使用在线工具(sharelatex),不用在本地装tex环境。
准备工作
安装TexLive
安装指南
只需要安装就行了,不需要学习tex任何内容
(可选)安装minted包
这个包应该是TexLive自带的,如果接下来编译出现问题可以考虑手动安装此包。
https://github.com/gpoore/minted
创建模板
文件结构
其中所有的cc(cpp)文件是模板文件,可以以任意喜好分类成若干文件夹,唯一的tex文件ply-template.tex负责导入所有的代码文件并排版。代码文件和tex文件分离可以很方便的进行代码修改和完善。
Tex文件内容
照着抄就行了,不需要知道tex语法,里面已写好注释,增加模板只需要在tex中加个section就行。
实例:
- % \twocolumn % 是否需要分栏显示
- \newpage %另起一页
- \section{String} %一级标题
- \subsection{KMP} %二级标题
- \inputminted[breaklines]{c++}{string/kmp.cc} %导入模板文件
- \subsection{Suffix Automaton}
- \inputminted[breaklines]{c++}{string/suffix-automaton.cc}
编译
- xelatex -shell-escape ply-template.tex
相应目录下即可生成pdf文件
总结
用tex来创建ACM模板非常容易,只需要在tex文件中写好模板结构,把模板放在相应文件夹即可,相比较word,省去了大量复制粘贴和排版的困难,并且代码和排版分离也使得模板的修改更为容易。