Skip to content

NCKU-CAV/gt-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

154 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graph Theory Course

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.

Getting Handouts

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.

Getting Started to Edit and Compile Handouts

Install Docker

  1. 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.

  2. Install Docker Engine by following the official instructions.

  3. Skip the next section.

Install Dependencies Locally

  1. 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.

  2. 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).

  1. 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.

  1. (Optional) Install an editor you prefer.

    Some editors with LaTeX syntax highlighting (click to expand/hide):

    Terminal:

    1. Emacs with AUCTeX
    2. Vim/gVim, Neovim, MacVim (macOS) with vim-latex
    3. Nano
    4. Sublime Text

    Simple GUI:

    1. Notepadqq
    2. Notepad++

    Comprehensive GUI, IDE:

    1. Visual Studio Code (VS Code), VSCodium
    2. TexMaker
    3. TeXstudio
    4. TeXworks

Compilation of TeX Files

  1. With Docker, you could compile the main handout src/handouts/main.tex in 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
  2. Without using Docker, you can also compile the main handout in src/handouts. Note that you may need to run pdflatex command 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
  3. 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

Reporting Bugs or Supplementary Contents

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 and Development

Contribution like pull requests are welcomed.

Please check the rules and notes in advance.

To-do List

About

The lecture materials of the course Graph Theory (圖形理論) in the graduate school of the EE (電機所) in the NCKU (國立成功大學), Tainan, Taiwan.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages