1 / 46

Document Preparation

Document Preparation. LaTeX and other vital tools for computing scientists. CMPUT 603: Teaching and Research Methods Paul Berube Sept. 19, 2005. Anatomy of a Thesis. 6 Chapters, 2 Appendixes 14 Section 18 Subsections 196 Charts 11 Figures 48 Tables 35 cited works. Data for a Thesis.

ariane
Download Presentation

Document Preparation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Anatomy of a Thesis • 6 Chapters, 2 Appendixes • 14 Section • 18 Subsections • 196 Charts • 11 Figures • 48 Tables • 35 cited works CMPUT 603, Paul Berube

  3. 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! CMPUT 603, Paul Berube

  4. 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 CMPUT 603, Paul Berube

  5. LaTeX

  6. The Basics • Commands start with a ‘\’ • \chapter, \section, \subsection, \subsubsection • {\tt <monospaced text>}, {\bf <bold text>}, {\it <italicized text>} • \input{<filename} • Some special characters: ‘#’, ‘&’, ‘\’, ‘{‘, ‘}’ • ‘~’ : non-breaking space • ‘$’ : math mode, ‘^’ superscript, ‘_’ subscript • ‘%’ : comments CMPUT 603, Paul Berube

  7. Document Structure Root File Local.bib Intro.tex Results.tex Conc.tex Fig1.eps Sec1.tex Sec2.tex Tab.tex Fig2.eps CMPUT 603, Paul Berube

  8. Document Structure Root File Local.bib Intro.tex Results.tex Conc.tex Fig1.eps Sec1.tex Sec2.tex xfig gnuplot Tab.tex Fig2.eps script CMPUT 603, Paul Berube

  9. 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} CMPUT 603, Paul Berube

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

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

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

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

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

  15. 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*} CMPUT 603, Paul Berube

  16. 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 CMPUT 603, Paul Berube

  17. 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 • Table Format Specifier: • ‘r’ : right-justified column • ‘l’ : left-justified column • ‘c’: center-justified column • ‘|’ : vertical line CMPUT 603, Paul Berube

  18. 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 & = column separator CMPUT 603, Paul Berube

  19. 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 \\ = newline CMPUT 603, Paul Berube

  20. 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 \hline CMPUT 603, Paul Berube

  21. 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} CMPUT 603, Paul Berube

  22. Other Table Tricks • Multicolumn • \multicolumn{<span>}{<text>} • Multirow • \multirow{<span>}*{<common text>} CMPUT 603, Paul Berube

  23. 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} CMPUT 603, Paul Berube

  24. Math Mode • LaTeX is the tool to typeset mathematics and symbols • $ <math> $ : inline math • $$ <math> $$ : not-inline math CMPUT 603, Paul Berube

  25. 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. CMPUT 603, Paul Berube

  26. Citations & Bibliographies • Bibtex makes it easy • Create a .bib file with your references • Cite references with \cite{<name>} in text • \cite{<name>}  [<num>] in text, eg, [3] • Bibliography automatically generated with proper formatting • Bibliography only includes references you actually cite CMPUT 603, Paul Berube

  27. Citations & Bibliographies .bib file CMPUT 603, Paul Berube

  28. Citations & Bibliographies • Color-coded items Required Optional CMPUT 603, Paul Berube

  29. Citations & Bibliographies • Fill in everything you can find out. CMPUT 603, Paul Berube

  30. Citations & Bibliographies • CTRL-C, CTRL-C to clean up bib entry CMPUT 603, Paul Berube

  31. Things to read about • Math mode • Subfigures • Tabularx environment • Tabbing environment • Minipages • Algorithmics packages CMPUT 603, Paul Berube

  32. Bash scripting See: Advanced Bash-Scripting Guide

  33. 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” CMPUT 603, Paul Berube

  34. sed See: Advanced Bash-Scripting Guide

  35. 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 CMPUT 603, Paul Berube

  36. awk See: Google

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

  38. 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}’ CMPUT 603, Paul Berube

  39. 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}’ CMPUT 603, Paul Berube

  40. 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}’ CMPUT 603, Paul Berube

  41. 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}’ CMPUT 603, Paul Berube

  42. gnuplot See: gnuplot webpage, Google

  43. 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 CMPUT 603, Paul Berube

  44. 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 CMPUT 603, Paul Berube

  45. 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 CMPUT 603, Paul Berube

  46. Putting It All Together Demo… CMPUT 603, Paul Berube

More Related