Introduction to LaTeX CPS470 Software Engineering Fall 1998 Objectives Learn how to create a simple LaTeX2e document: Create a LaTeX (tex) file. Create and include figures. Reference figures and sections. Create lists. Include other tex files. Generate a postscript file. Cite bibliographic references. Fall 1998 CPS 470 Software Engineering 2 Introduction Tex Text processing system for documents with lots of math Donald Knuth Latex Fall 1998 Document preparation system based on Tex formatter Leslie Lamport CPS 470 Software Engineering 3 References LaTeX User’s Guide and Reference Manual; Leslie Lamport The LaTeX Companion; Michel Goossens et. al. On-line documents. (available from cps470 web page) Fall 1998 CPS 470 Software Engineering 4 Files LaTeX Uses Input source file (.tex). Files containing structure and layout definitions (.sty). Tex formatted output file (.dvi). Others: .toc (table of contents), .lof (list of figures), .lot (list of tables), .bib (bibliography) Fall 1998 CPS 470 Software Engineering 5 Document Classes Five standard document classes article, report, book, slides, letter Can be further customized Fall 1998 Specifying class options. Using additional packages (epsfig for including postscript figures) CPS 470 Software Engineering 6 Minimal LaTeX File \documentclass[12pt]{article} % comments... \begin{document} Text goes here… \end{document} Fall 1998 CPS 470 Software Engineering 7 More Complex LaTeX File \documentclass[12pt]{article} \usepackage{doublespace,epsfig} \usepackage{../custom} \begin{document} \input{abstract} \section{Sample Section} \label{s:sample} Text goes here... \end{document} Fall 1998 CPS 470 Software Engineering 8 Cross-references (internal references) \label{key-string} \ref{key-string} assigns the key key-string to the current element of the document inserts a string identifying the element to which keystring refers \pageref{key-string} Fall 1998 inserts the page number on which the element referenced by key-string appears CPS 470 Software Engineering 9 Cross-reference Example Figure~\ref{f:figexample} in Section~\ref{s:sample} is on page~\pageref{f:figexample}. Figure 1 in Section 1 is on page 1. Fall 1998 CPS 470 Software Engineering 10 Including Other LaTeX Files Supports modularity a single LaTeX document can consist of multiple LaTeX files useful for group work (many authors) \input{LaTeX-file} Fall 1998 used to include other Latex files Latex filename is latex-file.tex CPS 470 Software Engineering 11 Including a ps Figure \begin{figure} [htbp] \centerline{\epsfig{figure=figname.eps, height=2.5in,silent=,clip=}} \caption{\label{f:figexample} Example of a figure.} \end{figure} Fall 1998 CPS 470 Software Engineering 12 Making a List \begin{itemize} % \begin{enumerate} \item Text for this item. \item Text for this item. \end{itemize} % \end{enumerate} Fall 1998 CPS 470 Software Engineering 13 Generating, Viewing, and Printing a Postscript file latex latex-file.tex generates latex-file.dvi xdvi latex-file.dvi displays dvi file for preview dvips latex-file.dvi > latex-file.ps generates postscript file ghostview latex-file.ps displays postscript file lpr -P <printer> latex-file.ps sends file to the specified printer Fall 1998 CPS 470 Software Engineering 14 Generating ASCII Output dvi2tty latex-file.dvi > file.text Fall 1998 generates ASCII file of document for viewing CPS 470 Software Engineering 15 Drawing Tools xfig For interactive generation of figures. Must export encapsulated postscript files (eps). idraw Fall 1998 Interactive drawing tool. Saves files automatically in postscript format. CPS 470 Software Engineering 16 Snapshot Used to capture a screen or a portion of the screen (a window). Saves file in raster format or postscript format. ras2ps converts a Sun raster file to a postscript file. Fall 1998 CPS 470 Software Engineering 17 Advanced Features Creating a table of contents Creating a list of figures Creating a .bib file and a bibliography Fall 1998 CPS 470 Software Engineering 18 Table of Contents Contains section headings and page number where each section starts. \tableofcontents Causes LaTeX to generate a .toc file Must run LaTeX on the file at least twice: Fall 1998 On the first pass, LaTeX collects information On the second pass, LaTeX reads back information and typesets it. CPS 470 Software Engineering 19 List of Figures Contains caption text of the figures and page number where each figure appears. \listoffigures Causes LaTeX to generate .lof file. As for the table of contents, must run LaTeX at least twice. Fall 1998 CPS 470 Software Engineering 20 Bibliographies and BIBTeX Must create a bibliography “database” .bib file formatted by keyword, readable by BIBTeX Bibliographies can have different formats yet the same .bib file (alphabetical, order of citation, etc.) BIBTeX formats entries based on the bibliography style chosen (.bst or .sty) Fall 1998 ieeetr, plain, alpha, acm, etc. CPS 470 Software Engineering 21 BIBTeX Entry Entry type Keyword identifying publication book, article, inproceedings, etc. should be unique for each entry Series of fields for each type Fall 1998 author, title, journal, etc. CPS 470 Software Engineering 22 Referencing .bib entry \cite{keyword} \nocite{key1, key2, key3,…} example: In \cite{pressman97}, the characteristics of software are discussed. In [1], the characteristics of software are discussed. Fall 1998 CPS 470 Software Engineering 23 BIBTex and LaTeX Command sequence Fall 1998 latex file.tex bibtex file latex file May have to latex file again if unresolved references CPS 470 Software Engineering 24