From ProgSoc Wiki
TFM 2011 is a ProgSoc project to update TFM, a ProgSoc compendium.
A prospective Table of Contents is being maintained on the wiki.
The LaTeX sources and build system are stored in a Subversion repository available to ProgSoc members. To build TFM for yourself:
$ svn checkout svn+ssh://email@example.com/phatdisk/projects/tfm/tfm2010 $ cd tfm2010 $ make
Then open tfm.pdf.
A mailing list for general TFM development discussion has been setup, please feel free to subscribe.
Working with Subversion
- Make your changes
- Verify that your repository is up-to-date ("svn update")
- Add any new files ("svn add")
- Verify that you're about to commit what you want to commit ("svn status" and "svn diff")
- Commit your changes ("svn commit").
Subversion ships a set of command-line tools for manipulating the repository. Fortunately SVN is very similar to CVS in its command-line interface, so it should be very familiar if you've used that tool.
Updating your working copy
Update your checked-out version with the latest version on the server:
$ svn update
Or use the shortcut:
$ svn up
$ svn add <pathname>
You can specify multiple pathnames. If you specify a directory the directory and all its contents will be added.
Verifying your changes
$ svn status
This will give you a list of files which are going to be added ("A"), files which have been modified ("M"), files which are not stored in SVN ("?"), and so forth. It's a good idea to run this command before you commit changes, particularly when you're adding new files.
$ svn diff
"svn diff" shows a complete diff between your working version and the most recent version you checked out. You can also diff specific files ("svn diff <filename>").
Checking in your changes
$ svn commit
Or use the shortcut:
$ svn ci
Your editor will start, and you will be asked to enter a brief description of your changes. Please put some thought into this description.
You can also use the -m flag to specify your description on the command line without using an editor. For example, 'svn commit -m "Removed FTP chapter"'.
RapidSVN is a graphical interface for Subversion that runs on Linux. You can install rapidsvn on your Debian or Ubuntu desktop with:
# apt-get install rapidsvn
TortoiseSVN is a graphical interface for Subversion that runs on Windows. It's a shell extension which modifies the file explorer providing extra options on context-menus. Find out more and download via the TortoiseSVN web-site.
Working with LaTeX
Understanding the build process
TFM uses make for managing PDF generation. Check out this article on Writing Rules for make in order to get a grip on what's occurring in the TFM Makefile.
Converting an image to PDF
In Gimp, greyscale your image, then save it as an EPS file. Then, at the command line, type:
$ ps2pdf -dEPSCrop input.eps output.pdf
replacing 'input' and 'output' with the relevant filenames.