[texhax] class file vs style file
Brian Papa
bpapa at ametsoc.org
Wed Jun 20 16:06:05 CEST 2007
Thank you very much for the feedback. You are right, I am fairly new to
Latex. I've developed a template using a style file, but I've seen
numerous people asking about developing their own class file and a few
articles on the subject, so I was wondering if developing a new class
(or modifying the existing article.cls) might be a better way to go.
It sounds like using a style file is the easier route, and so far I have
not had any problems with this method. Thanks again.
-Brian
Niall Mansfield wrote the following on 6/20/2007 6:04 AM:
> Brian,
>
> Brian Papa wrote:
> > In developing a template for a journal article, I'm
> > wondering if there is a significant advantage to creating an
> > entirely new class file as opposed to using the existing
> > article.cls and then making any necessary modifications
> > though the .sty file? The general consensus seems to be to
> > create a new class file
>
> From our own experience, we'd disagree: writing your own class
> file is very hard. We've found it's much easier to use a standard
> class file, and apply the changes we need via our own xxx.sty file.
> Here's why:
>
> 1. Changing only the bits that need to be changed is a lot less work.
>
> 2. It's usually people who are relatively inexperienced in
> LaTeX who ask this question. (That's not a put down,
> just objective.) But if you're a LaTeX newbie you won't
> know what you have to include in a class file to get a
> professional result. You'll face a lot of trial and error.
>
> 3. The standard class files have had years of debugging and are
> very robust.
>
> 4. Lots of very useful packages assume that certain actions
> are performed by certain named functions ("hooks") and change the
> behavior by re-defining these functions. If you write your
> own class file, you won't know which names you have to
> preserve.
>
> 5. Most class files use TeX code in addition to LaTeX code.
> (We have found that) TeX code is much harder to write and
> understand, or at least requires much more effort up
> front to become proficient with.
>
> Some facts and figures: our standard style file now uses the
> following 25 packages:
> babel
> caption
> chngpage
> color
> colortbl
> courier
> crop
> endnotes
> fancyvrb
> framed
> framed
> geometry
> graphicx
> helvet
> ifthen
> latexsym
> layout
> makeidx
> mathpazo
> nextpage
> relsize
> sidecap
> ulem
> url
> wrapfig
>
> Ignoring comments, our additional style file contains 300
> lines. The old class file that it replaces had 850 lines,
> ignoring comments. But these figures don't tell the full story:
>
> * The new style file has more functionality and is more
> sophisticated.
>
> * The old class file was very difficult to maintain, not
> least because it uses lots of TeX code.
>
> * The new style file is much simpler: most of it uses
> standard LaTeX, and a lot of that is very simple stuff
> such as:
> \newenvironment{...}
> \newcommand{...}
> to impose a consistent style, but which we could live
> without by typing a lot more in the documents being
> typeset, plus a few lines to set options for the various
> packages used.
>
> * The new style file lets us use all the standard packages,
> which the old class file didn't.
>
> Whichever route you go, we've found the following invaluable:
>
> * CTAN online catalog: http://www.ctan.org/tex-archive/help/Catalogue/alpha.html
>
> * "The LaTeX Companion" book, published by Addison-Wesley.
>
> We've have got nowhere without them.
>
>
> Niall Mansfield
> UIT Cambridge Ltd.
> _______________________________________________
> TeX FAQ: http://www.tex.ac.uk/faq
> Mailing list archives: http://tug.org/pipermail/texhax/
> More links: http://tug.org/begin.html
>
> Automated subscription management: http://tug.org/mailman/listinfo/texhax
> Human mailing list managers: postmaster at tug.org
>
--
Brian Papa
Technical Editor
American Meteorological Society
45 Beacon Street
Boston, MA 02108-3693 USA
phone: 617.227.2426 ext 279
fax: 617.973.0468
e-mail: bpapa at ametsoc.org
More information about the texhax
mailing list