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,省去了大量復制粘貼和排版的困難,並且代碼和排版分離也使得模板的修改更為容易。