競プロライブラリをPDFにする無限にあるうちの一つの方法
競技プログラミングのライブラリをPDFにする無限にあるうちの一つの方法
- もうすぐICPCなのでライブラリを印刷したいけど印刷できる状態にするのがめんどくさい...
- そもそも綺麗にする方法なかなか見つからないし見つかってもファイル一つ一つやるのか...
そんな気分になったので競プロのライブラリをPDF(にできるようなTeXファイル)化するスクリプト書きました(誇張)
そこまで見た目が良くない(終わり)
そこまで楽でもない(はい)
リポジトリはこれなのでこっから適当にダウンロードして頑張ってください
template/template.tex
は使うので必要です. ちなみにプログラムへの引数のデフォルトは同じディレクトリにあること想定してるのでちゃんと指定するか移動させてください.
https://github.com/maze1230/Library-TeX-Generator
最初は細字だったんですが試しにコンビニで印刷してみたら掠れたので太字にしました
太字にしてから印刷してないのでもしかしたら文字が潰れるかもしれない(家にプリンターがほしすぎる)
準備
Python
使うライブラリの指定にtomlを使うのでtomlモジュールが必要
pip install toml
とかする
LaTeX
TeXファイルを作るだけなのでTeXファイルをコンパイルできる環境が必要
僕は"macOS Mojave 10.14.5"なのでその状況でのインストール
基本的にこれをした
少しだけ詰まったのでそこを書く
今これと同じようにmactexをインストールするとMacTeX2019が入るので気をつける
sudo tlmgr update --self --all
をしろと書いてあるが僕はパスが通ってなかったのでできなかった. 初心者なのでcommand not foundって言われて、ちゃんとインストールできなかったのか...?と数回インストールし直す人をした(初心者なので). brewでインストールしたんだからパス通ってると思っちゃわないか?思ってしまいました
sudo /usr/local/texlive/2019/bin/x86_64-darwin/tlmgr path add
みたいな感じのことをしてパスを通した、もう記憶曖昧なのでpathとadd逆かも
ついでに僕はLaTeXは書くとしたらVSCodeから書くかなぁという気持ちになったのでVSCodeのほうもやった
ここは関係ないところが原因だったけどなんか詰まって他の人のを参考にした. ただ、-shell-escape
が必要なので下みたいにargsを少し変えた.
"latex-workshop.chktex.enabled": true, "latex-workshop.latex.recipes": [ { "name": "Report", "tools": ["ptex2pdf"], } ], "latex-workshop.latex.tools": [ { "name": "ptex2pdf", "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1 -file-line-error -shell-escape", "%DOC%" ] } ], "latex-workshop.view.pdf.viewer": "tab",
ここまでやれば多分環境は整っている気がする.
スクリプトで生成したTeXファイルをVSCodeで開いてCmd+Shift+PからのBuild LaTeX Projectで行けるはず。
めっちゃ詰まっててごちゃごちゃいろいろしたのでなにか足りていないかもしれない.
使い方
Githubの方に書いてる(わかりにくいけど頑張って)
TOMLの流儀しらないから完全自己流の意味わからない設定方法になりましたが...
おわり
僕は必要だったからなんとなく書いたけど多分どこのチームも持ってるんだろうね
ここまでかいてこれ見つけちゃって泣いちゃった、みんなはちゃんと調べてから行動しような
フォントとか普段使ってるやつにしたかったけどLaTeXわからなすぎるな、悲しい
使う人、いなくないか?いなさそう
普通PCK参加した時点でみんなこういうの書くのかもしれないですが、僕は書かずにゴリ押しして1ファイルに付き1PDFファイルみたいなことをしてコンビニで頑張って印刷する悲しい人になっていました
PCK出る人とかも使ってくれると嬉しめ、左上のヘッダ部分にチーム名入れられるし(必要ないね)