Auto generate a PDF notebook from your source codes (useful for your ACM-ICPC cheatsheet)
This generator works in both Linux and Windows, so check how to install TeX Live in your OS.
TeX Live for linux:
sudo aptitude install texlive
TeX Live for Windows:
download installer (install-tl-windows.exe) from https://www.tug.org/texlive/acquire-netinstall.html
Also install the latest version of Node.js and NPM on your machine (you can download them from https://nodejs.org/en/download/).
After installing Node.js on Linux, add this command to your ~/.bashrc:
export PATH="$HOME/.npm_modules/bin:$PATH"
sudo npm install -g codes2pdf
sudo npm update -g codes2pdf
Usage: codes2pdf <source_dir> [options]
Auto generate a PDF notebook from your source codes
Options:
-V, --version output the version number
-a --author [name] author's name to be added in the notebook
-i --initials [initials] initials of the author to be placed in the upper-right corner of all pages
-o --output [filename] output file for the notebook. Default to `./notebook.pdf`
-h, --help output usage information
example:
codes2pdf ./ /tmp/team_reference.pdf
codes2pdf ./ --author "Shahid Beheshti University" --initials SBU
The second one will create a 'notebook.pdf' file in the current directory, from the source code files which are located in the current directory and its subdirectories.
The notebook generator will add your source code with syntax highlighting, additionally you can add .tex files which will be rendered as Latex code.
Here you can find a sample: https://github.com/Erfaniaa/codes2pdf/blob/master/sample_notebook.pdf
(In this forked version of the original repository, the generated notebook file will have three columns in each page with a smaller font size; so you can put more source codes in a few number of pages for ACM-ICPC contests.)
- Try to use up to 3 "levels" in your source code.
- Use spaces insead of underscore (in the filenames) to print a prettier TOC.
- In this forked version of the original repository, the generated notebook will have three columns in each page with a smaller line spacing. This is useful when you have a large number of different source codes and there is a limit on the number of pages for creating a cheatsheet.
- The original repository was created by Manuel Pineda and Diego Restrepo.