This repository provides the lecture materials of the course Graph Theory (GT, 圖形理論) in the department of Electrical Engineering (EE, 電機所), National Cheng Kung University (NCKU, 國立成功大學), Tainan, Taiwan.
If you just need the handouts, please check the latest release.
The handouts should be present by 4 ~ 10 days after the class, based on Ray's workloads.
-
If you want to set up a working and fast LaTeX environment, you may want to skip this section. Otherwise, for building the handouts once or to isolate LaTeX environments, follow the instructions here.
-
Install Docker Engine by following the official instructions.
-
Skip the next section.
-
If you've set up Docker, you could skip this sections, for the Docker image rays2/gt-handout-env handles all the LaTeX-related dependencies.
-
Install a TeX distribution which provides the pdfTeX engine. If you need to compile the syllabus, the TeX distro needs to provide XeLaTeX.
Tip
You could install either TeX Live or MikTeX.
Some Linux distributions also provide TeX Live packages from the default package manager (like apt install texlive or pacman -S texlive-bin, you cannot use tlmgr to manage TeX packages).
-
Install the following packages with your TeX distribution.
babel caption cleveref datetime2 environ geometry ifmtarg listings listingsutf8 mathabx mathtools multirow pdfcol pgf pgfplots preprint ragged2e soul subfiles tcolorbox tikzfill tools wrapfig xifthen
Tip
With TeX Live, you could use tlmgr install <packages>, where <packages> is the package list above.
Replace the package tools with latex-tools in MikTeX.
-
(Optional) Install an editor you prefer.
Some editors with LaTeX syntax highlighting (click to expand/hide):
Terminal:
- Emacs with AUCTeX
- Vim/gVim, Neovim, MacVim (macOS) with vim-latex
- Nano
- Sublime Text
Simple GUI:
Comprehensive GUI, IDE:
- Visual Studio Code (VS Code), VSCodium
- TexMaker
- TeXstudio
- TeXworks
-
With Docker, you could compile the main handout
src/handouts/main.texin a Docker container.# Linux cd src/builders ./build-main-handout-linux.sh
rem Windows, in Command Prompt (CMD) cd src\builders .\build-main-handout-windows.bat
-
Without using Docker, you can also compile the main handout in
src/handouts. Note that you may need to runpdflatexcommand three or more times to have correct referencing.# with files clustering in the working directory pdflatex main.tex # put all compiled files in build/ # ..\..\build in Windows mkdir ../../build pdflatex -output-directory="../../build" -file-line-error main.tex # see only error messages in Linux # exit code 1 means no error pdflatex -output-directory="../../build" \ -file-line-error \ main.tex 2>&1 | \ grep '^!.*' -A200 --color=always
-
To build the syllabus in Linux, you could use the script to build the syllabus in Docker. For Windows, you could modify the script, or compile the syllabus with VS Code and LaTeX Workshop with a TeX distribution.
# Linux cd src/builders ./build-syllabus.sh
Ray <coding-ray> (黃柏叡) is the primary maintainer of this repo, but the instructor Yean-Ru Chen (陳盈如) is the primary provider of the handouts.
As a result, for typos in content or technical problems (Docker, LaTeX, etc.), please contact Ray by opening an issue.
For content correctness related problems (like misleading definitions) or supplementary content (like missing but important theorems or proofs), please email the instructor to get a correct and wanted version before opening an issue.
Contribution like pull requests are welcomed.
Please check the rules and notes in advance.
- Create the keyword index.