Paper/Thesis Guide

From Vlsiwiki
Revision as of 00:19, 15 May 2008 by Apart178 (Talk | contribs) (Feedback)

Jump to: navigation, search

This is a reference for how to write papers and theses. I spent a lot of time messing with different tools and these are the ones I settled on. You may wish to substitute your personal favorite here and there, but these are a very good basic set. I like them because they are free, portable, and stable. You will be able to work on your paper from any machine. In other words, if you lose your laptop or your hard drive crashes, you don't need that special license for a piece of software and you don't have to borrow one or find a hack to get your data back.



Word Processing

I prefer to use LaTeX. Any other word processor (except perhaps Framemaker) is a pain to get to have the right format. Word is horrible because every time you make an edit you have to replace your figures. Given that, you can start with several document classes that have the formatting done for you:

Some other (mostly Mac) utilities I have found useful for LaTeX:

  • EquationEditor - for putting equations on slides
  • TexShop - for quickly updating/viewing your LaTeX results

Drawing Graphics

For making images, I try to be consistent. It is important to have the ability to always modify the image. If you need some fancy tool like Visio, you may not have a license. Photoshop, for example, costs thousands of dollars. Therefore, I recommend these tools for vector graphics (simple line-based shapes) in the order of my preference:

You should store both the original file and an eps or pdf copy for use in a LaTeX document.

Sometimes, you may not have a vector graphic file. For example, screen captures. To edit (or create) these, you can use The Gimp.

Screen Captures

This depends on your platform. On the Linux machines in the lab, you can use the print screen button like on Windows. Often, Unix/Linux machines will have "xv" which has a grab option. On OSX machines, you can use Grab.app.

Results

For making plots, there are also many options. I prefer to use (in order):

  • gnuplot
  • Matlab (but this requires a license)

For computing results, you should also look at the R project.


Converting Image Formats

To convert formats, I highly recommend the ImageMagick tool suite. The interface is through the command 'convert' and it pretty much automatically recognizes extensions. So, for example, you can do:

convert myimage.gif myimage.eps

You can also specify rotation, scale, resolution, etc. It works with almost any image format you will find. Type "man convert" for more information.


Revision Control

Another thing that is very important, is revision control. YOU SHOULD USE SVN TO MANAGE YOUR REVISIONS. If you do not, you will eventually delete a file by mistake or want to undo an edit and you will be out of luck. SVN can handle binary formats automatically. All of the above source files should be checked into an SVN repository that is either in your personal space or on the group server.

To access our group SVN server from the mada cluster, you can do this:

svn co file:///mada/users/vlsi/<project>

To access it from outside the cluster, you can access it through ssh like this:

svn co svn+ssh://user@mada0/mada/users/vlsi/<project>

To get an SVN client for any machine (Linux, OSX, Windows), you can look at http://subversion.tigris.org/project_packages.html

Feedback

If any of the above tools (except Matlab) are missing from a group machine, please let me know and I will install it.

Please feel free to update this information with other things I may forget.