Difference between revisions of "Paper/Thesis Guide"

From Vlsiwiki
Jump to: navigation, search
(Revision Control)
m (Word Processing)
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
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.
 
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.
  
 +
==Picky Things==
  
 +
Please take a look at my [[Paper/Thesis Checklist]]
 
    
 
    
 
   
 
   
Line 11: Line 13:
  
 
<UL>
 
<UL>
 +
<LI>[https://support.soe.ucsc.edu/latex/thesis UCSC official thesis format]</LI> <-- link needs to be updated
 +
<LI>[https://support.soe.ucsc.edu/latex/porting UCSC technical report format]</LI>
 
<LI>[http://www.soe.ucsc.edu/~mrg/UCSC-thesis-tex.tar.gz Javi Martinez's thesis format]</LI>
 
<LI>[http://www.soe.ucsc.edu/~mrg/UCSC-thesis-tex.tar.gz Javi Martinez's thesis format]</LI>
 
<LI>[http://www.ieee.org/web/publications/authors/transjnl/index.html IEEE style guide]</LI>
 
<LI>[http://www.ieee.org/web/publications/authors/transjnl/index.html IEEE style guide]</LI>
Line 64: Line 68:
 
==Revision Control==
 
==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.
+
See the new separate [[Tutorial on SVN]].
 
+
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.cse.ucsc.edu/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
+
 
+
To add new files to a repository:
+
 
+
svn add file.C
+
 
+
and it will remember from where the repository came. To check in changes without any new files, simply do:
+
 
+
svn ci
+
 
+
or for a specific file:
+
 
+
svn ci file.C
+
 
+
Usually, SVN will recognize files as binary. It does this when it finds a non-printable character in the first part of a file. If this is not the case as with some PDFs, you can set a binary property like this:
+
 
+
svn propset svn:mime-type application/octet-stream path/to/thingy
+
 
+
This will keep full copies of a file rather than incremental changes.
+
  
 
==Feedback==
 
==Feedback==

Latest revision as of 17:45, 20 April 2018

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.

Picky Things

Please take a look at my Paper/Thesis Checklist


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 (-rotate 90), scale, resolution, etc. It works with almost any image format you will find. Type "man convert" for more information.

To convert an eps to a pdf, you can also use

epstopdf myimage.eps

which will save a file called myimage.pdf.

Revision Control

See the new separate Tutorial on SVN.

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.