# Understand .cls files and working with sig-alternate.cls

I'm a day-one LaTex user so bear with me.

I need to format a paper I'm writting with the sig-alternate.cls template in LaTex. I've got LaTex installed with TexStudio and MixTeX along with the sig-alternate.cls file downloaded. Assuming I don't need to install that .cls file somehow (I'm honestly not sure from all the documentation I've read so far) I open the .cls file in TexStudio which gives me the 1,600+ line format that I assume is the proper template I need to fill in.

Before I start filling in sections like Abstract I want to be sure that the file can compile correctly. I like to make sure that my code works at every stage. I hit "Build & View" and I'm given a slew of errors starting with "Unknown graphics extension .eps"

Am I using the sig-alternate.cls file wrong? Do I have LaTex installed wrong? Some help would be greatly appreciated.

-
Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. – Heiko Oberdiek Apr 14 '14 at 0:42

You need to download all of the files at this site http://www.acm.org/sigs/publications/proceedings-templates This is Option 2: LaTeX2e - Tighter Alternate style.

And you need to put them all into the same folder.

Now open the sig-alternate.tex file in TeXStudio. It should now compile correctly. Since this class and example template uses bibtex, you need to run latex once then bibtex (check the TexStudio menus for the correct menu choice.). And then run Latex twice to resolve the references. This should give you the correct output.

Now save this to a new filename.tex and start making your changes. I would recommend making only a couple of changes between compiles since errors can be hard to find after extensive modification.

-

Just as a supplement to R. Schumacher's answer, it may be worth explaining the difference between a class/style file (.cls) and a template/document (.tex).

Class files are like recipes which determine the overall formatting of documents and specify some reasonable defaults. As an author, you don't typically need to worry about what's in them. You just tell LaTeX which recipe you'd like to use:

\documentclass{sig-alternate}


You need never open, read or modify the class file and typically will not wish or need to.

Instead, you put the above line in you document (.tex). So a template is typically also a .tex file designed for you to fill in. At a minimum, this will specify the document class and tell LaTeX where the document begins and ends:

\documentclass{sig-alternate}

\begin{document}

% This is a comment which will not be typeset. Replace this line with the contents of your document.

\end{document}


Obviously both documents and templates can get a great deal more complicated but the complications are basically elaborations on that template.

One other basic kind of file you may need to recognise is a package (.sty) file. Packages are basically instructions for modifying particular parts of the overall recipe. You use packages by loading them after you specify the document class but before you begin your document:

\documentclass{sig-alternate}
\usepackage{packagename}

\begin{document}

% This is a comment which will not be typeset. Replace this line with the contents of your document.

\end{document}


This way, the style of your document is kept entirely separate from the content. The content goes in the .tex file. The recipe for formatting that content stays in the .cls and .sty files.

If the class explained how to make a Victoria sandwich with buttercream filling, a package might explain how to adapt the recipe to make a chocolate cake. Your .tex file would provide the sugar, flour etc. and would say that you wanted the Victoria sandwich with the chocolate modification. LaTeX would then bake the cake, make the filling and assemble the result.

-