Presentation is loading. Please wait.

Presentation is loading. Please wait.

Document Preparation LaTeX and other vital tools for computing scientists. CMPUT 603: Teaching and Research Methods Paul Berube Sept. 19, 2005.

Similar presentations


Presentation on theme: "Document Preparation LaTeX and other vital tools for computing scientists. CMPUT 603: Teaching and Research Methods Paul Berube Sept. 19, 2005."— Presentation transcript:

1 Document Preparation LaTeX and other vital tools for computing scientists. CMPUT 603: Teaching and Research Methods Paul Berube Sept. 19, 2005

2 CMPUT 603, Paul Berube2 Anatomy of a Thesis 6 Chapters, 2 Appendixes 14 Section 18 Subsections 196 Charts 11 Figures 48 Tables 35 cited works

3 Sept. 19, 2005CMPUT 603, Paul Berube3 Data for a Thesis ~ 40,000 raw data files ~ 8,000 processed data files 865 charts 41 tables Charts and tables change when data changes!

4 Sept. 19, 2005CMPUT 603, Paul Berube4 Managing the Complexity Scripts to process data –Shell scripts, awk, bc, grep, sed, wc, etc… Non-interactive programs to create charts –Matlab, gnuplot A document preparation system that: –Decomposes and compartmentalizes writing –Integrates with other tools –Automates formatting and numbering

5 LaTeX

6 Sept. 19, 2005CMPUT 603, Paul Berube6 The Basics Commands start with a ‘ \ ’ –\chapter, \section, \subsection, \subsubsection –{\tt }, {\bf }, {\it } –\input{<filename} Some special characters: ‘#’, ‘&’, ‘\’, ‘{‘, ‘}’ –‘ ~ ’ : non-breaking space –‘ $ ’ : math mode, ‘ ^ ’ superscript, ‘ _ ’ subscript –‘ % ’ : comments

7 Sept. 19, 2005CMPUT 603, Paul Berube7 Document Structure Root File Intro.texResults.texConc.tex Fig1.epsSec1.texSec2.tex Tab.tex Local.bib Fig2.eps

8 Sept. 19, 2005CMPUT 603, Paul Berube8 Document Structure Root File Intro.texResults.texConc.tex Fig1.epsSec1.texSec2.tex Tab.tex Local.bib Fig2.eps xfig script gnuplot

9 Sept. 19, 2005CMPUT 603, Paul Berube9 The figure environment Used for inserting images, graphs, charts, etc… A “float” environment –Latex will put the figure where it thinks is best Figure 2, top of page 4: \begin{figure} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure}

10 Sept. 19, 2005CMPUT 603, Paul Berube10 \begin{figure} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure} Captions Caption

11 Sept. 19, 2005CMPUT 603, Paul Berube11 Labels & References \begin{figure} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure} Label

12 Sept. 19, 2005CMPUT 603, Paul Berube12 Labels & References \begin{figure} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure} Label Figure~\ref{fig: motiv -exmp} shows… Reference

13 Sept. 19, 2005CMPUT 603, Paul Berube13 Labels & References \begin{figure} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure} Label Figure~\ref{fig: motiv -exmp} shows… Figure 2 shows… Reference

14 Sept. 19, 2005CMPUT 603, Paul Berube14 (conclusion.tex Overfull \hbox (196.49pt too wide) \begin{figure} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure}

15 Sept. 19, 2005CMPUT 603, Paul Berube15 figure* Adding a ‘*’ lets a figure or table span the whole page in multi-column documents \begin{figure*} \centering \includegraphics{motiv2.eps} \caption{Motivating Example.} \label{fig:motiv-exmp} \end{figure*}

16 Sept. 19, 2005CMPUT 603, Paul Berube16 Tables Also a “float” environment \begin{table} \centering \begin{tabular}{|l|c|} \hline {\bf Evaluation Category} & {\bf Score} \\ How confident are [snip] & \\ \hline {\bf Reviewer Confidence} & \\ Are you convinced [snip] & \\ \hline \end{tabular} \caption{Peer-based referee report for \paper.} \label{tab:eval1} \end{table} Table 1, Page 3

17 Sept. 19, 2005CMPUT 603, Paul Berube17 \begin{table} \centering \begin{tabular}{|l|c|} \hline {\bf Evaluation Category} & {\bf Score} \\ How confident are [snip] & \\ \hline {\bf Reviewer Confidence} & \\ Are you convinced [snip] & \\ \hline \end{tabular} \caption{Peer-based referee report for \paper.} \label{tab:eval1} \end{table} Tables Also a “float” environment Table 1, Page 3 Table Format Specifier: -‘r’ : right-justified column -‘l’ : left-justified column -‘c’: center-justified column -‘|’ : vertical line

18 Sept. 19, 2005CMPUT 603, Paul Berube18 \begin{table} \centering \begin{tabular}{|l|c|} \hline {\bf Evaluation Category} & {\bf Score} \\ How confident are [snip] & \\ \hline {\bf Reviewer Confidence} & \\ Are you convinced [snip] & \\ \hline \end{tabular} \caption{Peer-based referee report for \paper.} \label{tab:eval1} \end{table} Tables Also a “float” environment Table 1, Page 3 & = column separator

19 Sept. 19, 2005CMPUT 603, Paul Berube19 \begin{table} \centering \begin{tabular}{|l|c|} \hline {\bf Evaluation Category} & {\bf Score} \\ How confident are [snip] & \\ \hline {\bf Reviewer Confidence} & \\ Are you convinced [snip] & \\ \hline \end{tabular} \caption{Peer-based referee report for \paper.} \label{tab:eval1} \end{table} Tables Also a “float” environment Table 1, Page 3 \\ = newline

20 Sept. 19, 2005CMPUT 603, Paul Berube20 \begin{table} \centering \begin{tabular}{|l|c|} \hline {\bf Evaluation Category} & {\bf Score} \\ How confident are [snip] & \\ \hline {\bf Reviewer Confidence} & \\ Are you convinced [snip] & \\ \hline \end{tabular} \caption{Peer-based referee report for \paper.} \label{tab:eval1} \end{table} Tables Also a “float” environment Table 1, Page 3 \hline

21 Sept. 19, 2005CMPUT 603, Paul Berube21 Text-figures To create a figure containing text, use a tabular inside a figure Works great for code segments, etc \begin{figure} \centering \begin{tabular}{|l|} \hline Title\\ 1. Introduction\\ Acknowlegments\\ \hline \end{tabular} \caption{Organization for \paper.} \label{fig:organization} \end{figure}

22 Sept. 19, 2005CMPUT 603, Paul Berube22 Other Table Tricks Multicolumn –\multicolumn{ }{ } Multirow –\multirow{ }*{ }

23 Sept. 19, 2005CMPUT 603, Paul Berube23 Enumeration Environments Not a float Enumerate : ordered list Itemize : unordered list Description : unordered list with item labels Canadian bands include: \begin{itemize} \item Chilliwack \item Harlequin \item The Guess Who \end{itemize}

24 Sept. 19, 2005CMPUT 603, Paul Berube24 Math Mode LaTeX is the tool to typeset mathematics and symbols $ $ : inline math $$ $$ : not-inline math

25 Sept. 19, 2005CMPUT 603, Paul Berube25 Make your own commands Customized commands –Shorthand –Help ensure consistency \def –\def\course{{\tt CMPUT}~603} This course is \course. \let, \newcommand, \newenvironment This course is CMPUT 603.

26 Sept. 19, 2005CMPUT 603, Paul Berube26 Citations & Bibliographies Bibtex makes it easy –Create a.bib file with your references –Cite references with \cite{ } in text –\cite{ }  [ ] in text, eg, [3] –Bibliography automatically generated with proper formatting –Bibliography only includes references you actually cite

27 Sept. 19, 2005CMPUT 603, Paul Berube27 Citations & Bibliographies.bib file

28 Sept. 19, 2005CMPUT 603, Paul Berube28 Citations & Bibliographies Optional Required Color-coded items

29 Sept. 19, 2005CMPUT 603, Paul Berube29 Citations & Bibliographies Fill in everything you can find out.

30 Sept. 19, 2005CMPUT 603, Paul Berube30 Citations & Bibliographies CTRL-C, CTRL-C to clean up bib entry

31 Sept. 19, 2005CMPUT 603, Paul Berube31 Things to read about Math mode Subfigures Tabularx environment Tabbing environment Minipages Algorithmics packages

32 Bash scripting See: Advanced Bash-Scripting Guide

33 Sept. 19, 2005CMPUT 603, Paul Berube33 Scripts Automate tedious tasks Tests and checks  more robust than manual execution “Glue” to bind a collection of tasks High-level programming –Scripts like a “meta-program”? Rely on common utilities to do the “real work”

34 sed See: Advanced Bash-Scripting Guide

35 Sept. 19, 2005CMPUT 603, Paul Berube35 Sed String manipluation utility Substitution –$> sed –e “s/hate/love/” file –$> find./data/ -name “*.data” | sed –e “s/\.\/data\///” < file Selection –$> sed –n –e “10p” file

36 awk See: Google

37 Sept. 19, 2005CMPUT 603, Paul Berube37 Awk Used to process data in plain-text formats C-like syntax Can address file data by column –$> awk ‘{print $3}’ file

38 Sept. 19, 2005CMPUT 603, Paul Berube38 Awk Use to process data in plain-text formats C-like syntax Can address file data by column Can perform math, has variables awk ‘BEGIN \ {max = 0; min = 9999; cnt = 0; sum = 0} \ { cnt++; sum += $1; \ if($1 > max) max = $1; \ if($1 < min) min = $1; } \ END \ {printf "%f %f %f\n", min, max, sum/cnt}’

39 Sept. 19, 2005CMPUT 603, Paul Berube39 Awk Use to process data in plain-text formats C-like syntax Can address file data by column Can perform math, has variables awk ‘BEGIN \ {max = 0; min = 9999; cnt = 0; sum = 0} \ {cnt++; sum += $1; \ if($1 > max) max = $1; \ if($1 < min) min = $1; } \ END \ {printf "%f %f %f\n", min, max, sum/cnt}’

40 Sept. 19, 2005CMPUT 603, Paul Berube40 Awk Use to process data in plain-text formats C-like syntax Can address file data by column Can perform math, has variables awk ‘BEGIN \ {max = 0; min = 9999; cnt = 0; sum = 0} \ {cnt++; sum += $1; \ if($1 > max) max = $1; \ if($1 < min) min = $1; } \ END \ {printf "%f %f %f\n", min, max, sum/cnt}’

41 Sept. 19, 2005CMPUT 603, Paul Berube41 Awk Use to process data in plain-text formats C-like syntax Can address file data by column Can perform math, has variables awk ‘BEGIN \ {max = 0; min = 9999; cnt = 0; sum = 0} \ {cnt++; sum += $1; \ if($1 > max) max = $1; \ if($1 < min) min = $1; } \ END \ {printf "%f %f %f\n", min, max, sum/cnt}’

42 gnuplot See: gnuplot webpage, Google

43 Sept. 19, 2005CMPUT 603, Paul Berube43 gnuplot Script-based 2D and 3D plotting Many output formats, including eps Graph functions and/or data from files Apply functions to data in files before graphing

44 Sept. 19, 2005CMPUT 603, Paul Berube44 gnuplot set term postscript eps set output ‘sincos.eps’ set title “sin(x), cos(x)” set xrange [-2*pi:2*pi] plot sin(x) with lines, cos(x) with points

45 Sept. 19, 2005CMPUT 603, Paul Berube45 Putting It All Together A Script: –Build the program if needed –Run the program to simulate M experiments, each run N times –Calulate the min, max, and average of the N runs for each experiment –Graph the results Max and min lines Smooth average line Each data point

46 Sept. 19, 2005CMPUT 603, Paul Berube46 Putting It All Together Demo…


Download ppt "Document Preparation LaTeX and other vital tools for computing scientists. CMPUT 603: Teaching and Research Methods Paul Berube Sept. 19, 2005."

Similar presentations


Ads by Google