Tex F.A.Q.

Activesideplot does not work as before

This is a little backward compatibility problem. Previously, you could use something like \activesideplot{plot}{2in}{}{Caption}, where 2in was taken as the plot height. Now you have to say \activesideplot{plot}{height=2in}{Caption} explicitly. You can use either one or both or none of width and height. If you use only one of them, the aspect ratio should be preserved by default. Some other possible keys in the argument to activeplot (supplied by the graphicx package) are:

  • bb= (bounding box)
  • viewport= (similar to bb. but relative to the bounding box in the encapsulated postscript)
  • trim= (to crop a part of the file)
  • origin= angle= (to rotate the figure)
  • scale= (to scale it)
  • draft= (draft=true replaces the actual figure with the file name in a box)
  • command= (a Unix command to be applied to the graphics file, e.g. zcat for compressed ps)

A more complete documentation is in $TEXMF/doc/latex/graphics/grfguide.dvi.

What macro should I use to include a program in the paper?

If you have a file called file.f90, \listing{file.f90} will do. If you want to reference it in a different place, try \progblock{label}{file.f90} and reference it with \ref{prog:label}. For cross-referencing among different chapters in a book there is also \gprogblock{label}{file.f90}. These are referenced with \ref{/prog:label}. You can find more information in the standard documentation on SEP2e.

I tried to read a dvi file with xtex, but couldn't see any figures

If you create a dvi file with SEP2e, xtex will not display figures in it. This is also true for non-SEP latex files that don't use xtex macro. If you really want to use xtex, try make xtex. It will creates a dvi file using the old macros. Xtex has been declared obsolete, and we expect it to move slowly out of usage…

I tried to read a dvi file with xdvi ("make read"), but couldn't see any figures

By the makerule default, xdvi starts with -nopostscript option. To activate a display of encapsulated postscript figures, press the View PS button on the right menu bar. If you see a file name in a box instead of a figure, check if this figure is listed in your makefile's RESULTSER, RESULTSCR, or RESULTSNR list.

How do I create (maintain) a book (a report, etc.)?

It has never been easier (though it probably should be). The system of book maintenance, described below, has been tested on SEP reports (from SEP-92 to SEP-94), SEPHELP document, Jon's books (from FGDP to TDF), and Biondo's lecture notes.

Minimum requirements

To build a book, you need to create a directory tree, with each sister directory containing a makefile and a paper.tex file. The requirement for the directory names to start with a small letter is not essential. The requirement for the directories to be in a sister tree will be lifted eventually, but is assumed currently by the system.

One of the directories (traditionally, Adm) is designated for general controls. It should contain Makefile (the capital “M” is important) with the usual include ${SEPINC}/SEP.top and include ${SEPINC}/SEP.bottom. Before include ${SEPINC}/SEP.bottom, put include ${SEPINC}/Doc.rules.book. Somewhere in the Makefile put LATOPTS = option=book for books or LATOPTS = option=report for a reports. LATOPTS (arguments to Latify) can include additional arguments. For example, style=makeidx is needed for Index.

This is the bare minimum you need to build a book. Running gmake read in the administration directory will create a dvi file and display it with xdvi, gmake print will print it out, etc. When you are satisfied with the dvi, run gmake install to move it into the Dvi directory. gmake clean will clean the machine-generated files in the adm. directory, gmake distclean will also clean the relevant directories in the tree. Additionally, gmake papername.readit (e.g. gmake sergey10.readit) will display an individual chapter papername (with correct page numbers!), and gmake papername.printit will print it. The chapters will appear in a random order unless you define a sorted list with Makefile's PAPERS variable. This list will also allow you to exclude chapters from the book or to include capital-letter directories.

How it works (fine-tuning)

The top file in the adm. directory (formerly known as all.tex) is called paper.tex to comply with the makerule defaults. It is created by four perl scripts: SEPdocTPG, SEPdocBIO, SEPdocTOC, SEPdocALL (not good names, according to Matt, but they are actually hidden in the make rules).

SEPdocTPG creates a title page (tpg.tex). It accepts a number of arguments, which you can list in Makefile's TPGOPTS variable. For books, the author name and the book title are supplied in the Makefile with AUTHOR = and TITLE=. Use “\n” (C-style syntax) to indicate new lines. For reports, the author information is picked automatically from the included papers. If the automatic picking fails, you can redefine the author information for any paper by including AUTHOR.papername = in the Makefile.

SEPdocBIO creates a list of biographies (bio.tex), which normally appears at the end of a book or a report. The biographies are picked from a simple database. The database currently lives in /usr/local/share/TEX/database. This directory contains files of the form user.bio and user.ps, where user is a login name (e.g. christin), user.bio contains a biography (in the LaTeX format), and user.ps is a postscript picture. The database itself contains pointers “FirstName LastName” → user (e.g. Matthias Schwab → matt), where “FirstName LastName” is the author name as it would appear on the title page of a report. Two simple scripts, CreateDB and TestDB, are provided to maintain and expand the database.

SEPdocTOC will do nothing for books, but will create an artificial table of contents (toc.tex) for reports. Again, the author and title information are picked automatically, and if it fails, you can redefine any author or title in the Makefile with AUTHOR.papername = and TITLE.papername =. To divide the table of contents into sections (“3-D seismic”,“Unimportant computer stuff”, etc.), put SECTION.papername =, where papername is the first paper of the section.

Finally, SEPdocALL compiles paper.tex. Additionally to (automatically generated) tpg.tex, bio.tex, and toc.tex, you can have the following two files in the adm. directory: preface.tex for the text that goes between tpg and toc, and intro.tex for the text between toc.tex and the main body of the book (roman pagenumbering.) Reports also include pub.tex with a list of recent publications.

"make html" fails to create a GIF figure from my postscript

The pstogif script does break sometimes, especially with non-vplot figures. I haven't seen enough examples to notice the pattern, but, for example, none of my Mathematica figures could convert to GIF. I hope we will find a way around it after getting more experience. You may try converting postscript to GIF with xv.

My LaTeX file (paper.tex) is an assembly file of several text files. Do I need to do something special?

Include files like file1.tex, file2.tex in your paper with \input{file1}, \input{file2}. Additionally, put paper.tex: file1.tex file2.tex … in your makefile to let make touch paper.tex for you each time one of those files changes.

What if I want to use the old SEP macros?

The old macros still exist on our system. If you really want to use them, put LATOPTS = class=old in your makefile or simply run gmake xtex.

I noticed a bug in the general macros (scripts, makerules.) How do I fix it myself?

Feel free to do that. The makerules are in $SEPINC, the tex macros are in $TEXMF/tex/latex/sep2e, the tex-related perl scripts are in /usr/local/share/TEX/bin. Please use RCS if you make any changes.

How do I install the tex system on my home computer?

To get the most current version of the tex macros, scripts, and makerules, run ~sergey/tarit and ftp the sep2e.tar.gz file. This file contains everything you need for tex processing. Unpack it from the root directory with tar xvzf sep2e.tar.gz. You may need to run rehash and texconfig rehash to update the system. This distribution doesn't contain yet the scripts and extra programs required by gmake html.

What do I put in my netscape options to make all the buttons (.sepsh scripts) work?

Check your ~/.netscape/preferences file. It should say something like

MIME_TYPES:		/usr/local/lib/netscape/mime.types
PERSONAL_MIME_TYPES:	~/.mime.types
MAILCAP:		/usr/local/lib/netscape/mailcap

Either of the files /usr/local/lib/netscape/mime.types or ~/.mime.types should have the lines

application/sepshell   		sepsh 
application/sepclean   		clean 

Either of the files /usr/local/lib/netscape/mailcap or ~/.mailcap should have the lines

application/sepshell;xterm -e sepshell %s
application/sepclean;         sepshell %s

How do I process a LaTeX file without "make"?

If for some reason you don't want to use make, run Latify paper.tex > paper.ltx to create a valid latex file and latex2dvi paper.ltx to process it with LaTeX. For figures to show up in the DVI file, you need to use \plot (\sideplot) instead of \activeplot (\activesideplot).

How do I add (change) my biography in an SEP report?

To add or update your biography and/or picture in the report, follow the following procedure:

  1. cd /usr/local/share/TEX/database
  2. Check if files user.bio and user.ps (where user is your login name) exist in this directory. user.bio contains your biography in LaTeX format, user.ps is your picture. Add or edit these files if necessary.

    To create a postscript picture, you can find the digital camera person or simply scan your favorite photo (there is a scanner in Mitchell Mac cluster, Meyer library, and some other places on campus). xv is a Unix program that can convert different picture formats (GIF, TIFF, JPEG) to postscript.
  3. Run

TestDB | grep user

 The output should look like **FirstName LastName => user**. For example,
  356 spur> TestDB | grep berryman
  James Berryman=>berryman
  357 spur>
 **FirstName LastName** is your name as it will appear on the report title page.
- If **TestDB** doesn't show your name or if you want to change your database entry, run
  CreateDB user 'FirstName LastName' 
 For example,
  359 spur> CreateDB berryman 'James Berryman'
  CreateDB: added James Berryman
  360 spur> 

According to this scheme, non-SEP co-authors who don't have SEP login accounts, should not have their photos in the report. Their names, however, will appear on the title page.

How do I create an SEG abstract?

Simply put LATOPTS = class=seg97 into your makefile (or run gmake LATOPTS=class=seg97 paper.ps). After you create a postscript file, you need to take it to Adobe Distiller. The result will be a PDF file, ready for electronic submission.

Several people pointed out to me that the font size in SEG abstracts turns out smaller than usual. You shouldn't worry about it, because this size complies precisely with the sample abstract, distributed by SEG.
The seg97 class is designed to fit the SEP style. That is, it knows about all the macros we use in our papers and translates them accordingly. There is a smaller export version, called seg-99.

How do I introduce double line spacing in my document?

A simple command for doublespace is


This line has to be in the preamble (before \begin{document}.) If you use SEP's scripts, put include='\renewcommand{\baselinestretch}{2.0}' in the arguments of Latify (or put

LATOPTS = include='\renewcommand{\baselinestretch}{2.0}'

in the makefile.)

What happened with syscall buttons?

They are back! In the “old days”, we used those buttons with xtex (now obsolete). Now \syscall{comm} will translate into a link to comm.sepsh and allow you to execute virtually any make command from the HTML version of your document. To create the sepshell files automatically, put a list of the buttons in your makefile under SYSCALLS variable. This is mostly useful for TAs, preparing interactive exercises.

Is there a thesis macro?

Yes! The sep2e class has now a thesis option, connected with the standard LaTeX2e package for Stanford University theses.
February 2007, Brad Artman made some updates, to include the latest suthesis2e.sty style file. Check out an entire Thesis/Adm directory of files that will build (in Make) your thesis in 3 formats.

BE CAREFUL!! The book definitions contain a rule to make a paper.tex file in your Adm directory. Get the whole directory to make things go smoothly (/net/sepwww/sepwww/pub/software/softtex/Thesis).

Basically, follow the instructions on book maintainence. with these additional definitions:

  1. Change LATOPTS in your “administration” makefile to LATOPTS = option=thesis
  2. Create an intro.tex in your “administration” directory. This file should contain something like

\principaladviser{Jon F. Claerbout}

  \firstreader{Biondo Biondi}
  \secondreader{Norman Sleep}
  \thirdreader{Donald Knuth}
  blah, blah, blah...
  Thank you, Sergey!

You should be able to put your SEP papers as chapters in your thesis without any technical change.

How do I typeset a paper for //Geophysics//?

Use geophysics, a LaTeX2e class. Check out the RSF SEGtex website for the latest. \old{} and \new{} commands are great for sending in marked revisions. Makeing the pdf with and without the LATOPTS option=revised statement will either include only the things in \new{}, or both with strike-out and color changes.
Put LATOPTS = class=geophysics in your makefile, run the usual make commands (make read, make print, etc), and your SEP report paper will appear in the form ready for submission to Geophysics.

How do I typeset a paper for //Geophysical Prospecting//?

Use can also use the geophysics class supplimented with some changes in the style of bibliography references. Put the following in your makefile:
LATOPTS = class=geophysics include='\bibpunct{(}{)}{;}{a}{}{\,}' bibstyle=eage
The usual make commands (make read, make print, etc) will prepare your SEP report paper for submission to Geophysical Prospecting.

Use the html LaTeX2e package, provided together with LaTeX2HTML.
To do that, put LATOPTS = style=html in your makefile. The commands to use in your LaTeX file are


makes text appear normally in the DVI file, but as a hyperlink in HTML


includes an image (ignored completely by LaTEX)


like htmladdnormallink but makes URL a footnote in the DVI version. There is a more complete documentation of these commands.
Additionally, you can use the rawhtml environment to include an arbitrary piece of HTML code (useful for forms, Java applets, etc.)
For system calls, read Question 17.

How do I typeset a resume?

Look under


for several available examples. (You can also submit your own example there.)

How do I index my pages for the full-text search on the web?

Run swish-e -c congiffile on the web server. Here configfile is a configuration file. The configuration file for SEP reports is in

  • The configuration file for Jon's books is in

What bibtex databases are available?

The SEP bibtex databases are located in


. The most useful ones are SEP.bib - SEP reports and theses, SEG.bib - SEG cumulative database, and MISC.bib - miscellaneous items. To use bibtex references in your paper, include something like


where paper.bib is your own database in the paper directory. To search databases, run

bibindex [keyword] [database]
bibindex stolt SEG

or use the web search

sep/software/softtex/faq.txt · Last modified: 2015/05/27 02:06 (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0