Message 3152: From sergey Wed Dec 4 18:46:02 1996 Subject: Announcing separticle.cls (98 lines) Surely you want more? [ynq] y What: As you know, SEP has been using special LaTeX macros (with the root in sepreport.sty) to typeset report articles. I have rewritten them in Latex2e and compiled in a class file separticle.cls (LaTeX2e replaces style files with classes and packages). Where: In case you would like to look at it, the sources are in /usr/local/share/TEX/teTeX/texmf/tex/latex/separticle/. As with makerules and setup files, feel free to make changes (use RCS!). I am working on a documentation to ease this task. Why: The old macros 1) are written in a mixture of TeX and LaTeX. Though there is nothing wrong with using TeX in LaTeX programming (LaTeX itself is just a TeX macro), it is safer to use high-level commands whenever possible; 2) don't use new advanced capabilities of LaTeX2e; 3) use obsolete packages, no longer supported at CTAN archives; 4) have accumulated just too many hacks; etc. Since we do have occasional problems with TeX macros, I found it easier to rewrite everything from scratch than to add new fixes over the old ones. How: To use separticle.cls, do one of the following: 1) put a line "OTEXPRFLAGS = -sa" in your makefile 2) run texpr as "texpr -sa [-bib -2] -d file.tex" note: xtex does not work with separticle (see below), view dvi files with xdvi Backward compatibility problems: Everything should work as before, but 1) The separticle class doesn't use comment.sty (an old package, used in sepreport.sty). The comment environment is still available (LaTeX will ignore everything between \begin{comment} and \end{comment}), but the commands "\includecomment" and "\excludecomment" are not supported. 2) Defining the height of a figure in active[side]plot, you cannot omit "height=" in the argument. 3) [the major one] xtex is NOT supprorted. Unfortunately, it means: no interactive buttons. If you feel attached to them, we may work something out, but I would be reluctant to do that. Xtex does have some nice features but, left without support, it has become obsolete. The latest version is 5 years old, and none of the standard TeX distributions is supporting it. It is unlikely that the author of xdvi will put "syscall" buttons in his program, because they violate the Unix security principles. Let's hope that Web and Java s will bring us interactivity back. New packages: 1) For bibtexing, I chose to use the chapterbib package (instead of previously used bibunits). Chapterbib allows each "include"d file to have its own bibliography (useful for reports.) 2) Inputing a program in "verbatim style", you can control the number of space characters in "tab" (one of our recent problems, solved by moreverb package). For more verbatim features, see the documentation in /usr/local/share/TEX/teTeX/texmf/doc/latex/tools/verbatim.dvi. 3) Referencing a program (\PROG or \GPROG) will output "program xxx on page xxx" or just "program xxx" or "program xxx on the previous page", etc., depending on the relative location. This feature is provided by the varioref package, documented in /usr/local/share/TEX/teTeX/texmf/doc/latex/tools/varioref.dvi. 4) For citations, I used the natbib (Natural Biblography) package, which has some advanced features. See the documentation in /usr/local/share/TEX/teTeX/texmf/doc/latex/natbib/natbib.dvi. 5) For graphics I used the graphicx package (/usr/local/share/TEX/teTeX/texmf/doc/latex/graphics/grfguide.dvi). It allows you to specify more options in activeplot besides "width=" and "height='. To do: 1) Documentation (on the way) 2) class sepbook.cls or fgdp.cls for Jon Claerbout's books (on the way) 3) The texpr shell script should be replaced by smart makerules. A simple rule may look like this (try it) %.dvi : build %.tex textypefiles FORCE @-${ECHO} '\documentclass{separticle}' > SAjunk.tex @-${ECHO} '\\begin{document}' >> SAjunk.tex @-cat $*.tex >> SAjunk.tex @-${ECHO} '\end{document}' >> SAjunk.tex @-latex SAjunk @-bibtex SAjunk @-latex SAjunk @-latex SAjunk ${MV} SAjunk.dvi paper.dvi @-${RM} SAjunk.* ECHO = /bin/echo ifeq "${ARCH}" "SUN4" ECHO = /usr/5bin/echo # otherwise echo '\\b' doesn't work endif I will collect feedback and bug reports before making "separticle.cls" the default. This might be a good time to implement new features, previously unavailable. Your suggestions are highly appreciated. Sergey -----