Differences between revisions 1 and 26 (spanning 25 versions)
Revision 1 as of 2006-09-18 00:35:14
Size: 682
Editor: yakko
Comment:
Revision 26 as of 2010-01-17 17:37:46
Size: 4974
Editor: 24-183-238-75
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from UsingLatex
= Writing Technical Papers (in LaTeX) =

This section draws heavily from work at my Alma Mater ([[http://cse.unl.edu/~goddard/WritingResources/|UNL]] - specifically Dr. Godddard's Writing Resources site)

== Standard Technical Paper Templates ==

The standard outline presented here, in different forms, is a tool to assist you in writing technical papers (especially in computer science). It is relevant for a wide range of, but not every single, type of technical paper. It is certainly appropriate for Master's and Ph.D. theses, for conference and journal papers, and for technical reports. It is also appropriate for proposals, although the speculative nature of a project or thesis proposal requires some adaptation of the form. It is less appropriate for user documentation, but still explicitly represents a number of important issues that must be handled when writing product manuals. These outlines were first created by [[niehaus@eecs.ukans.edu|Douglas Niehaus ]], then modified by [[goddard@cse.unl.edu>|Steve Goddard]] and finally reproduced and edited here by [[scot@southern.edu|Scot Anderson]].

LaTeX template:
 
   * [[attachment:generic-template.tex|Source]]
   * [[attachment:generic-template.pdf|PDF]]
   * [[attachment:my.bib]]
   * My own [[attachment:Grading_Rubric.pdf|grading rubric]] for project papers

When you write a technical report for Dr. Anderson, use the LaTeX template above and assiduously follow DrAndersonsRulesForWritingPapers.

== Reviewing Technical Papers ==

Many students do not know how to review a technical paper. It is important to learn for (at least) two reasons. First, you may be asked to review a confernce or journal paper. Second, you should always know your audience. Knowing what reviewers are looking for makes it easier to write a paper that they will understand (and like).

  * Prof. John Ousterhout (Berkeley) has a writeup on [[http://www.cs.berkeley.edu/~fox/paper_writing.html#rev|reviewing papers]] (available through Prof. Fox's page).



= Using LaTeX Tips and Tricks =

Here is clean, simple LatexTemplate with no content (this was designed to work specifically with Winedt's gather function).

I use wmf2eps which is an excellent program. Here is at least on issue to keep in mind: When using \psfrag, always make sure your excel, visio, ... files use ONE letter substitutions. If you use more than one letter, MS products put them in as individual letters instead of strings (which is what psfrag is looking for).
Line 3: Line 35:
There are two ways to use LaTeX. Inline: {{{[[latex2(\LaTeX)]]}}} which produces: [[latex2(\LaTeX)]] There are two ways to use LaTeX. Inline: {{{<<latex(\LaTeX)>>}}} which produces: <<latex(\LaTeX)>>
Line 5: Line 37:
{{{#!latex2 {{{#!latex
Line 12: Line 44:
For more examples see LatexPreamble and LatexArticle For more examples on including LaTeX in this wiki see LatexPreamble and LatexArticle
Line 14: Line 46:
= using psfrag off site = = Example Constructs for LaTeX =
Line 16: Line 48:
I use wmf2eps which is an excellent program. Here are a few issues to keep in mind: == Algorithm Template ==
Line 18: Line 50:
   1. When using \psfrag, always make sure your excel, visio, ... files use ONE letter substitutions. If you use more than one letter, MS products put them in as individual letters instead of strings (which is what psfrag is looking for). Don't forget that
   * \= sets a tab
   * \> uses it
   * \\ ends a line (every line!)

{{{#!latex
\noindent
\begin{minipage}{4.4in}
\tt
\noindent
\hrulefill
\begin{tabbing}
{\bf Sat(M,n)} \\
{\bf input:} Matrix $M$ representing a gap-graph over $n+1$ vertices.\\
{\bf output:} True or False depending on whether $M$ is satisfiable. \\
\\ m := 0 \\
{\bf repeat} \= \\
          \> m := m + 1 \\
          \> {\bf for} \= i := 0 to n {\bf do} \\
          \> \> {\bf for} \= j := 0 to n {\bf do} \\
          \> \> \> {\bf for} \= k := 0 to n {\bf do} \\
          \> \> \> \> $M[i,j] := \max(M[i,j],M[i,k]+M[k,j])$ \\
          \> \> \> {\bf end-for} \\
          \> \> {\bf end-for} \\
          \> {\bf end-for} \\
{\bf until} $m = \log(n+1)$ \\
\\
Flag := True \\
\\
{\bf for} \= i := 0 to n {\bf do} \\
          \> {\bf if} \= $M[i,i] > 0$ {\bf then} \\
          \> \> Flag := False \\
{\bf end-for} \\
\\
{\bf return}(Flag)
\end{tabbing}
\hrulefill\\
\rm
\end{minipage}
}}}

I usually place the text below before the \begin{document} element which allows me to use \progstart and \progend around a tabbing environment:

{{{
%defines the datalog operator :- with correct spacing etc.
\def\lfp{\mathop{\hbox{\it lfp}} }
\def\impl{\mathrel{\hbox{~~:---~~}} }

%defines the program code minipage environment that I used with rules top and bottom
%NOTE: you will need to change the lift value for the \rule command. This is set for 1.5 spacing.
% single spacing: 6pt/6pt and doublespacing: 0pt and 12 point (I believe)
%NOTE: If you use a \tabbing environment immediately after \progstart, (follow progstart by) put \vspace{-18pt}
\def\progstart{\begin{center}\begin{minipage}{0.98\textwidth}\tt\small\noindent\rule[0pt]{\textwidth}{0.4pt} \\}
\def\progend{\rm\rule[6pt]{\textwidth}{0.4pt} \\ \end{minipage}\end{center}}
}}}

Writing Technical Papers (in LaTeX)

This section draws heavily from work at my Alma Mater (UNL - specifically Dr. Godddard's Writing Resources site)

Standard Technical Paper Templates

The standard outline presented here, in different forms, is a tool to assist you in writing technical papers (especially in computer science). It is relevant for a wide range of, but not every single, type of technical paper. It is certainly appropriate for Master's and Ph.D. theses, for conference and journal papers, and for technical reports. It is also appropriate for proposals, although the speculative nature of a project or thesis proposal requires some adaptation of the form. It is less appropriate for user documentation, but still explicitly represents a number of important issues that must be handled when writing product manuals. These outlines were first created by Douglas Niehaus, then modified by Steve Goddard and finally reproduced and edited here by Scot Anderson.

LaTeX template:

When you write a technical report for Dr. Anderson, use the LaTeX template above and assiduously follow DrAndersonsRulesForWritingPapers.

Reviewing Technical Papers

Many students do not know how to review a technical paper. It is important to learn for (at least) two reasons. First, you may be asked to review a confernce or journal paper. Second, you should always know your audience. Knowing what reviewers are looking for makes it easier to write a paper that they will understand (and like).

  • Prof. John Ousterhout (Berkeley) has a writeup on reviewing papers (available through Prof. Fox's page).

Using LaTeX Tips and Tricks

Here is clean, simple LatexTemplate with no content (this was designed to work specifically with Winedt's gather function).

I use wmf2eps which is an excellent program. Here is at least on issue to keep in mind: When using \psfrag, always make sure your excel, visio, ... files use ONE letter substitutions. If you use more than one letter, MS products put them in as individual letters instead of strings (which is what psfrag is looking for).

Using LaTeX on this site

There are two ways to use LaTeX. Inline: <<latex(\LaTeX)>> which produces: <<latex(\LaTeX)>>

Or for extended paragraphs see the code that produced this \LaTeX 
\begin{equation}
    e=mc^2
\end{equation}

For more examples on including LaTeX in this wiki see LatexPreamble and LatexArticle

Example Constructs for LaTeX

Algorithm Template

Don't forget that

  • \= sets a tab
  • \> uses it

  • \\ ends a line (every line!)

\noindent
\begin{minipage}{4.4in}
\tt
\noindent
\hrulefill
\begin{tabbing}
{\bf  Sat(M,n)} \\
{\bf input:} Matrix $M$ representing a gap-graph over $n+1$ vertices.\\ 
{\bf output:} True or False depending on whether $M$ is satisfiable. \\ 
\\ m := 0 \\ 
{\bf repeat} \= \\
          \> m := m + 1 \\
          \> {\bf for} \= i := 0 to n {\bf do} \\
          \>           \> {\bf for} \= j := 0 to n {\bf do} \\
          \>           \>           \> {\bf for} \= k := 0 to n {\bf do} \\
          \>           \>           \>           \> $M[i,j] := \max(M[i,j],M[i,k]+M[k,j])$ \\
          \>           \>           \> {\bf end-for} \\
          \>           \> {\bf end-for} \\
          \> {\bf end-for} \\
{\bf until}  $m = \log(n+1)$ \\
\\
Flag := True \\
\\
{\bf for} \= i := 0 to n {\bf do} \\
          \> {\bf if} \= $M[i,i] > 0$ {\bf then} \\
          \>          \> Flag := False \\
{\bf end-for} \\
\\
{\bf return}(Flag)
\end{tabbing}
\hrulefill\\
\rm
\end{minipage}

I usually place the text below before the \begin{document} element which allows me to use \progstart and \progend around a tabbing environment:

%defines the datalog operator :- with correct spacing etc.
\def\lfp{\mathop{\hbox{\it lfp}} }
\def\impl{\mathrel{\hbox{~~:---~~}} }

%defines the program code minipage environment that I used with rules top and bottom
%NOTE: you will need to change the lift value for the \rule command. This is set for 1.5 spacing.
%      single spacing: 6pt/6pt and doublespacing: 0pt and 12 point (I believe)
%NOTE: If you use a \tabbing environment immediately after \progstart, (follow progstart by) put \vspace{-18pt}
\def\progstart{\begin{center}\begin{minipage}{0.98\textwidth}\tt\small\noindent\rule[0pt]{\textwidth}{0.4pt} \\}
\def\progend{\rm\rule[6pt]{\textwidth}{0.4pt} \\ \end{minipage}\end{center}}

WritingTechnicalPapersInLaTeX (last edited 2024-06-12 16:17:29 by scot)