CSCI 430: Algorithm Design and Analysis
Fall 2017


Data Structure and Algorithm Visualization

Editing files

An Emacs cheatsheet.

Getting LaTeX/Graphviz

As computer science students you should be used to things being needlessly complicated : ) LaTeX as a typesetting system is available on most systems as a set of command-line toolchains. That is, you can invoke them from the command line as you would any other Unix tools, and use the editor of your choice as a front-end (e.g., Emacs). (This part shouldn't really be complicated for most of you.)

There are a number of front-ends available for LaTeX (read: GUI, LaTeX-specific text editors) that are not necessary, but some prefer them to regular Unix editors. Note that you will need a LaTeX backend in order for the front-end to work (most packages are not bundled with the LaTeX base, which many new users don't expect and find confusing).

My personal preference is Emacs on a terminal (all the necessary support should be built in), but I'm leaving specifics up to you. Either way, everything you need is already supported in the UD Lab.

Linux for LaTeX and Graphviz (using sudo apt-get install package_name):
  • texlive-latex-base
  • texlive-latex-extra
  • texmaker
    • Not required, but Dr. Ericson likes this as a front-end. Otherwise, any standard text editor should work (e.g., Emacs).
  • graphviz
  • macTeX - LaTeX backend (all you need for command-line development with an editor like Emacs).
  • TeXShop - Currently installed on my mac for the limited instances when I desire a graphical front-end.
    • Not required, but it is currently installed on my Mac for the limited instances when I desire a front-end for development.
  • Texmaker
    • Not required, but Dr. Ericson likes this as a front-end.
Windows (and cross-platform): Graphviz (non-Linux):
  • I have had good luck on OS X with the recommended install of graphviz.
    • At least on OS X, graphviz comes with a decent (albeit simple) graphical interface (which is nice).

Typesetting with LaTeX

LaTeX is the mathematical and scientific standard for typesetting written work. You can find an example with some markup here:

Typesetting Graphics with GraphViz

You can use graphviz to typeset your images (like FSAs) and include them in the above:

Typesetting Notes

The command line applications/arguments listed above are tuned for the UD lab setup. If you are working on a different system you may need to research different flags.