ICPCのライブラリPDFの生成
ICPCのWFまたは多くのアジア地区予選では持ち込めるライブラリのページ数が決まっています。
また、PDFの右上にページ番号、左上に大学名を入れろという指定がついてきます。
PDF化するコマンド
sublimeに印刷機能がなかったし、ページ番号と大学名を入れる方法も分からなかったので調べたらenscript
っていうコマンドがあるらしい。
なければbrewとかでインストールすれば使える。
enscript
ではpost scriptのファイルが吐かれるので、pstopdf
コマンドを使うとPDFに出来る。
ライブラリをlibrary.cpp
っていう1つのファイルにまとめておけば、下みたいな感じでうまいことPDFに出来ます。
enscript --highlight=cpp --line-numbers --color --header='HOGE University (team: HOGE) Page $% of $=' --landscape -2 -o library.ps library.cpp pstopdf library.ps
1つのファイルに纏める方法ですが、以下のpythonスクリプトを走らせたりすればいいです。
import os for f in os.listdir("."): if f == "library.cpp": continue if ".cpp" not in f: continue print("#"*50) l = (50-len(f)-2)//2 r = (50-len(f)-2)-l print("#"*l+" "+f+" "+"#"*r) print("#"*50) print("") with open(f) as f: print(f.read()) print("")
ページ番号とかを挿入できるツール
すでにPDFがあって、ページ番号とかを挿入したいって場合はこのサイトを使えば良さそう。
カスタム設定とかを使えば左上に大学名っていう指定も出来そう。
オンライン操作でPDFファイルにページ番号を追加www.ilovepdf.com