diff options
author | Harald Welte <laforge@gnumonks.org> | 2015-10-25 21:00:20 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2015-10-25 21:00:20 +0100 |
commit | fca59bea770346cf1c1f9b0e00cb48a61b44a8f3 (patch) | |
tree | a2011270df48d3501892ac1a56015c8be57e8a7d /2005/flow-accounting-ols2005/OLS2005/EXAMPLE |
import of old now defunct presentation slides svn repo
Diffstat (limited to '2005/flow-accounting-ols2005/OLS2005/EXAMPLE')
24 files changed, 1742 insertions, 0 deletions
diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/EXAMPLE.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/EXAMPLE.tex new file mode 120000 index 0000000..501b897 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/EXAMPLE.tex @@ -0,0 +1 @@ +myPaper.tex
\ No newline at end of file diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/Makefile.inc b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/Makefile.inc new file mode 100644 index 0000000..00016e6 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/Makefile.inc @@ -0,0 +1,6 @@ +PAPERS += EXAMPLE/EXAMPLE.dvi + +## Add any additional .tex or .eps files below: +EXAMPLE/EXAMPLE.dvi EXAMPLE/EXAMPLE-proc.dvi: \ + EXAMPLE/EXAMPLE.tex + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/bibliography.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/bibliography.tex new file mode 100644 index 0000000..78340bc --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/bibliography.tex @@ -0,0 +1,180 @@ + +This example is based on Keith Packard's 2003 paper for +the Linux Symposium Proceedings. + +The easiest way to do a bibliography is to use BiBTeX. +In the body of the paper, you \cite{} various references. +The citation name is the first name following the opening +curly brace in the .bib file. For example, with the list below, +I could \cite{autoconf} and \cite{freetype2}. + +Near the end of your main .tex file, you include a section like so: +\begin{flushleft} +\bibliography{keithp} +\bibliographystyle{plain} +\end{flushleft} +(this comes *before* \end{document}.) + +And in a separate file whose name matches the \bibliography{} +declaration above (e.g., keithp.bib in this case), you define all +the references. Note that \url is a valid way to typeset web +references. + +Note that the makefiles are already set up to process this form +of bibliography, so using it is indeed easy. (It's also one +reason why the input files are processed multiple times, though.) + +Here are some sample entries for various types +of publications: + +@book{autoconf, + title = "GNU Autoconf, Automake and Libtool", + author = "Gary V. Vaughan and Ben Elliston and Tom Tromey and Ian Lance Taylor", + publisher = "New Riders", + year = 2000, + note = {ISBN 1-57870-190-2}, }, + +@article{blinn:1994, + title = "Compositing Theory", + author = "Jim Blinn", + journal = "IEEE Computer Graphics and Applications", + year = 1994, + month = "September", + note = "Republished in~\cite{blinn:1998}" } + +@book{blinn:1998, + title = "{Jim Blinn's Corner: Dirty Pixels}", + author = "Jim Blinn", + year = 1998, + publisher = "Morgan Kaufmann", + isbn = "1-55860-455-3", } + +@techreport{dbe, + title = "{Double Buffer Extension Protocol}", + author = "Ian Elliott and David P. Wiggins", + institution = "X Consortium, Inc.", + type = "X Consortium Standard", + year = 1994, } +@manual{dc, + title = "DC - An Interactive Desk Calculator", + author = "Robert Morris and Lorinda Cherry", + organization = "AT\&T Bell Laboratories", + note = "Unix Programmer's Manual Volume 2, 7th Edition", + year = 1978, }, + +@misc{freetype2, + title = "The design of {FreeType} 2", + author = "David Turner and The FreeType Development Team", + year = 2000, + note = "\url{http://www.freetype.org/freetype2/docs/design/}", +}, + +@inproceedings{gj, + title = "Making the future safe for the past: Adding Genericity to the Java Programming Language", + author = "Gilad Bracha and Martin Odersky and David Stoutamire and Phillip Wadler", + month = "October", + booktitle = "Conference on Object-Oriented Programing systems, Languages and Applications (OOPSLA '98)", + year = 1998, + publisher = "ACM", + organization = "SIGPLAN", } + +@phdthesis{Hobby85, + author = {John D. Hobby}, + title = {Digitized Brush Trajectories}, + school = {Stanford University}, + year = {1985}, + note = {Also {\it Stanford Report STAN-CS-85-1070}} +} + +@article{itsy, + title = "{Itsy: Stretching the Bounds of Mobile Computing}", + author = "William R. Hamburgen and Deborah A. Wallach and Marc A. Viredaz and Lawrence S. Brakmo and Carl A. Waldspurger and Joel F. Bartlett and Timothy Mann and Keith I. Farkas", + journal = "IEEE Computer", + year = 2001, + publisher = "Institute of Electrical and Electronics Engineers, Inc.", + volume = 34, + number = 4, + month = "April", + pages = "28-35", } + +@inproceedings{lbx:1993, + title = "{An Update on Low Bandwidth X (LBX): A Standard For X and Serial Lines}", + author = "Jim Fulton and Chris Kent Kantarjiev", + booktitle = "Proceedings of the Seventh Annual X Technical Conference", + month = "January", + year = 1993, + pages = "251-266", + address = "Boston, MA", + organization = "MIT X Consortium", +}, + +@inproceedings{lmbench:1996, + title = "{lmbench: Portable tools for performance analysis}", + author = "Larry McVoy and Carl Staelin", + booktitle = "Technical Conference Proceedings", + month = "January", + year = 1996, + pages = "279-284", + address = "San Diego, CA", + organization = "USENIX", } + +@Article{Nistnet00, + author = "NIST Internetworking Technology Group", + title = "{NISTNet} network emulation package", + journal = "\url{http://www.antd.nist.gov/itg/nistnet/}", + month = jun, + year = "2000", + bibdate = "Thursday, June 29, 2000 at 16:40:15 (MEST)", + submitter = "Katarina Asplund", +} + +@TechReport{AMD:2000:XTW, + author = "{AMD Corporation}", + title = "{x86-64$^{\mathrm{TM}}$ Technology White Paper}", + institution = "{AMD Corporation}", + address = "One AMD Place, Sunnyvale, CA 94088, USA", + pages = "12", + day = "17", + month = aug, + year = "2000", + bibdate = "Fri May 04 12:53:45 2001", + bibsource = "\url{http://www.amd.com/products/cpg/64bit/index.html}", + URL = "\url{http://www.amd.com/products/cpg/64bit/pdf/x86-64_wp.pdf}; + \url{http://www1.amd.com/products/cpg/x8664bit/faq}", + acknowledgement = ack-nhfb, + annote = "The x86-64 architecture is definitely not an IA-64 + implementation, but rather, an extension of IA-32 by + widening the integer registers to 64-bits.", +} + +@unpublished{pinzari, + author = "Gian Filippo Pinzari", + title = "The NX X Protocol Compressor", + note = "Electronic Communication", + month = "March", + year = "2003", + } + +@inproceedings{Gettys:2002, + title = "{The Future is Coming, Where the X Window System Should Go}", + author = "James Gettys", + booktitle = "FREENIX Track, 2002 Usenix Annual Technical Conference", + month = "June", + year = 2002, + organization = "USENIX", + address = "Monterey, CA", + url = "\url{http://www.usenix.org/publications/library/proceedings/usenix02/tech/freenix/full_papers/gettys/gettys_html/index.html}", +} + +@misc{ewing, + title = "Linux 2.0 Penguins", + author = "Larry Ewing", + note = "\url{http://www.isc.tamu.edu/~lewing/linux}", +} + +@misc{gimp, + title = "The {GIMP}: The {GNU} Image Manipulation Program", + author = "Peter Mattis and Spencer Kimball and the GIMP developers", + note = "\url{http://www.gimp.org}", +} + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/bibliography2.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/bibliography2.tex new file mode 100644 index 0000000..c838404 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/bibliography2.tex @@ -0,0 +1,41 @@ + +Here's another way of handling bibliographies; it does +not use a .bib file, but includes the items at the end +of the paper, before \end{document}. + +Each item has the format +\bibitem[printName]{citeName} details + +The "printName" will be printed at the point of your citation, +and again in the list of references. The "citeName" is what +you use in the source to create the citation. For example, +using the first entry below, I could \cite{menyhart} and +have the author's name print out properly in the appropriate +places. + +The bibliography below comes from Tony Luck's 2003 Linux +Symposium paper: + + +\begin{thebibliography}{99} +\raggedright +\bibitem[Menyh\'{a}rt]{menyhart} Z.\ Menyh\'{a}rt and D.\ Song, +{\em OS Machine Check Recovery on Itanium Architecture-base Platforms}, +Intel Developer Forum, Fall 2002 + +\bibitem[Ziegler]{ziegler} J.F.\ Ziegler, +{\em Terrestrial cosmic ray intensities}, +IBM Journal of Research and Development, Volume 42, Number 1, 1998 + +\bibitem[SDV]{SDV} Intel, +{\em Intel Itanium Architecture Software Developer's Manual, Volume 1--3} + +\bibitem[EHG]{EHG} Intel, +{\em Itanium Processor Family Error Handling Guide}, August 2001 + +\bibitem[SAL]{SAL} Intel, +{\em Itanium Processor Family System Abstraction Layer (SAL) Specification}, November 2002 + +\end{thebibliography} + + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Figures/example.c b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Figures/example.c new file mode 100644 index 0000000..34d1726 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Figures/example.c @@ -0,0 +1,18 @@ +typedef struct QuadTree { + double Data; + struct QuadTree *Children[4]; +} QT; + +void Sum3rdChildren(QT *T, + double *Result) { + double Ret; + if (T == 0) { Ret = 0; + } else { + QT *Child3 = + T[0].Children[3]; + double V; + Sum3rdChildren(Child3, &V); + Ret = V + T[0].Data; + } + *Result = Ret; +} diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Figures/example.ll b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Figures/example.ll new file mode 100644 index 0000000..f9ce373 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Figures/example.ll @@ -0,0 +1,22 @@ +%struct.QuadTree = type { double, [4 x %QT*] } +%QT = type %struct.QuadTree + +void %Sum3rdChildren(%QT* %T, double* %Result) { +entry: %V = alloca double ;; %V is type 'double*' + %tmp.0 = seteq %QT* %T, null ;; type 'bool' + br bool %tmp.0, label %endif, label %else + +else: ;;tmp.1 = &T[0].Children[3] 'Children' = Field #1 + %tmp.1 = getelementptr %QT* %T, long 0, ubyte 1, long 3 + %Child3 = load %QT** %tmp.1 + call void %Sum3rdChildren(%QT* %Child3, double* %V) + %tmp.2 = load double* %V + %tmp.3 = getelementptr %QT* %T, long 0, ubyte 0 + %tmp.4 = load double* %tmp.3 + %tmp.5 = add double %tmp.2, %tmp.4 + br label %endif + +endif: %Ret = phi double [ %tmp.5, %else ], [ 0.0, %entry ] + store double %Ret, double* %Result + ret void ;; Return with no value +} diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Makefile b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Makefile new file mode 100644 index 0000000..9777b58 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/Makefile @@ -0,0 +1,41 @@ + +.SUFFIXES: .tex .dvi .aux .eps .fig .dia .ps .pdf .bib .bbl + +TOP=complexFigure +TEXFILES=$(TOP).tex +FIGFILES:=$(wildcard *.fig) +EPSFILES:=$(wildcard *.eps) +EPSFILES+=$(FIGFILES:.fig=.eps) +PDFFILES=$(EPSFILES:.eps=.pdf) + +.fig.eps: + fig2dev -L eps $< >$@ + +.fig.pdf: + fig2dev -L pdf $< >$@ + +.eps.pdf: + epstopdf $< + +all: $(TOP).ps $(TOP).pdf + +$(TOP).ps: $(TOP).dvi + dvips -o $(TOP).ps $(TOP) + +$(TOP).dvi: $(TEXFILES) $(EPSFILES) + latex $(TOP) || true + bibtex $(TOP) || true + latex $(TOP) || true + latex $(TOP) + +$(TOP).pdf: $(TEXFILES) $(PDFFILES) + pdflatex $(TOP) || true + bibtex $(TOP) || true + pdflatex $(TOP) || true + pdflatex $(TOP) + +clean: + rm -f *.aux *.dvi *.log + rm -f $(TOP).ps $(TOP).pdf $(TOP).bbl $(TOP).blg + + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/complexFigure.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/complexFigure.tex new file mode 100644 index 0000000..6fe6c94 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/complexFigure.tex @@ -0,0 +1,88 @@ +\documentclass[twocolumn,12pt]{article} +\usepackage{ols} +\ifpdf +\usepackage[pdftex]{epsfig} +\else +\usepackage{epsfig} +\fi +\input{ols-fonts} + +% These packages are Proceedings-friendly. +\usepackage{cprog} +\usepackage[nolineno,norules]{lgrind} +\usepackage[hang,scriptsize]{subfigure} + +% These ones are only suitable for standalone +\usepackage{subfigure} +%%% both of these break the Proceedings and are thus evil +\usepackage{listings} +\input{llvm.lst} % Get listing support for llvm code +%%%% + + +\begin{document} + +\date{} + +%make title bold and 14 pt font (Latex default is non-bold, 16 pt) +\title{Architecture for a Next-Generation GCC} + +\author{ +Chris Lattner \hspace*{0.5in} Vikram Adve\\ +\emph{University of Illinois at Urbana, Champaign}\\ +\texttt{\em\normalsize \{lattner, vadve\}@cs.uiuc.edu}\\ +\emph{\normalsize \url{http://llvm.cs.uiuc.edu}}} + +\maketitle + +% You have to do this to suppress page numbers. Don't ask. +\thispagestyle{empty} + +Formatting team's note: The two figures here illustrate two ways of presenting +the same information, and are hopefully more complex +than you'll require. The first is set using Proceedings-friendly +packages; the second works only as a standalone paper. + +%%% Figure typeset in a Proceedings-friendly fashion +%%% (thanks to Diego Novillo for inspiration) +\begin{figure*}[t] +\scriptsize +%%% \centering +\subfigure[Example function]{% +\label{figure:example_c} +\parbox{0.65\columnwidth}{\input{example-c}} +}\hspace*{5pt}\vrule\hspace*{5pt} +\subfigure[Corresponding LLVM code] {% +\label{figure:example_llvm} +\parbox{1.35\columnwidth}{\input{example-ll}}} +%%% }% +\caption{C and LLVM code for a function} +\label{figure:example} +\end{figure*} + +%%===------------------------ +% Code example figure +% +\begin{figure*} [t] +\scriptsize +\centering +\subfigure[Example function] { +\label{figure2:example_c} +\lstset{language=c} +\lstinputlisting{Figures/example.c} +}\hspace*{5pt}\vrule\hspace*{5pt} +\subfigure[Corresponding LLVM code] { +\label{figure2:example_llvm} +\lstset{language=LLVM} +\lstinputlisting{Figures/example.ll} +}% +\caption{C and LLVM code for a function} +\label{figure2:example} +\end{figure*} +% +%%===------------------------ + + +\end{document} + + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/cprog.sty b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/cprog.sty new file mode 100644 index 0000000..a336397 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/cprog.sty @@ -0,0 +1,249 @@ +% This is CSTY.STY as received by email at december 1990 +% +% The cprog macros allow programs in C, C++, Pascal, and Modula-2 to be +% included directly into TeX documents. Program text is set in a Roman +% font, comments in slanted, and strings in typewriter. Operators such as +% <= are optionally combined into single symbols like $\le$. Keywords are +% *not* emphasised---I find this ugly and distracting. (By purest +% coincidence it would also be very hard to do.) +% +% These macros can be \input in plain TeX or used as a style file in LaTeX. +% They provide a convenient alternative to tgrind, particularly for program +% fragments embedded in documents. Full instructions for use appear in the +% macro package itself. +% +% +% \'Eamonn McManus <emcmanus@cs.tcd.ie> <emcmanus%cs.tcd.ie@cunyvm.cuny.edu> +% +% ASCII: !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~ +% + +% BEGIN: cprog.tex (or cprog.sty) - formatting of C programs +% By \'Eamonn McManus <emcmanus@cs.tcd.ie>. This file is not copyrighted. +% $Id: cprog.tex,v 1.4 90/09/12 23:21:26 emcmanus Exp $ + +% This allows C programs to be formatted directly by TeX. It can be +% invoked by \cprogfile{filename} or (in LaTeX) \begin{cprog} ... +% \end{cprog} or (in plain TeX) \cprog ... \end{cprog}. In LaTeX, the +% alternative form \begin{cprog*} is allowed, where spaces in C strings +% are printed using the `square u' character (like LaTeX {verbatim*}). +% In plain TeX, you have to use \csname cprog*\endcsname for this (sorry). +% If you are using \cprogfile, say \cprogttspacetrue beforehand if you +% want this effect. + +% The formatting is (necessarily) simple. C text is set in a normal Roman +% font, comments in a slanted font, and strings in a typewriter font, with +% spaces optionally made visible as the `square u' symbol. Tabs are +% expanded to four spaces (this does not look good when comments are +% aligned to the right of program text). Some pairs of input characters +% appear as single output characters: << <= >> >= != -> are respectively +% TeX's \ll \le \gg \ge \ne \rightarrow. Say \cprogpairsfalse to disable +% this. + +% You can escape to TeX within cprog text by defining an escape character. +% The character @ is suitable for C and Pascal. I have not tested other +% characters so they may interact badly with their existing definitions here. +% To define @ as the escape character, do \cprogescape@. Then within text +% you can do @ followed by TeX commands. These commands will be in a TeX +% group with the \catcodes of \{}% as normal. The commands are terminated +% by a newline, which is not considered part of the program text. + +% The fonts below can be changed to alter the setting of the various parts +% of the program. The \cprogbaselineskip parameter can be altered to +% change the line spacing. LaTeX's \baselinestretch is taken into account +% too. The indentation applied to the whole program is \cprogindent, +% initially 0. Before and after the program there are skips of +% \beforecprogskip and \aftercprogskip; the default values are \parskip +% and 0 respectively (since there will often be a \parskip after the +% program anyway). + +% If the source text is Pascal or Modula-2, say \pascaltrue or \modulatrue +% (respectively) before formatting it. This makes (* *) be recognised for +% comments instead of /* */. Braces {} are also recognised for Pascal. +% \pascalfalse or \modulafalse as appropriate restores the default of C. + +% This package works by making a large number of characters active. Since +% even spaces are active, it is possible to examine the next character in +% a macro by making it a parameter, rather than using \futurelet as one +% would normally do. This is more convenient, but the coding does mean +% that if the next character itself wants to examine a character it may +% look at a token from the macro rather than the input text. I think that +% all cases that occur in practice have been looked after. + +% The macros could still do with some work. For example, the big macro +% defined with [] taking the place of {} could be recoded to use {} and so +% be more legible. The internal macros etc should have @ in their names, +% and should be checked against LaTeX macros for clashes. + +% Allow multiple inclusion to go faster. + +\ifx\undefined\cprogsetup % The whole file. + +% Define the fonts used for program text, comments, and strings. +% Note that if \it is used for \ccommentfont, something will need to +% be done about $ signs, which come out as pounds sterling. +\let\ctextfont=\tt \let\ccommentfont=\sl \let\cstringfont=\tt + +% Parameters. Unfortunately \newdimen is \outer (\outerness is a mistake) +% so we need a subterfuge in case we are skipping the file. +\csname newdimen\endcsname\cprogbaselineskip \cprogbaselineskip=\baselineskip +\csname newdimen\endcsname\cprogindent \cprogindent=0pt +\csname newdimen\endcsname\cprogwidth % Gets default=\hsize when cprog invoked. +\csname newskip\endcsname\beforecprogskip \beforecprogskip=\parskip +\csname newskip\endcsname\aftercprogskip \aftercprogskip=0pt +\csname newif\endcsname\ifcprogttspace +\csname newif\endcsname\ifcprogpairs \cprogpairstrue +\csname newif\endcsname\ifpascal +\csname newif\endcsname\ifmodula % Same as Pascal but no {comments}. +{\def\junk{\fi\fi\fi\fi}} % If skipping. + +\let\cprogesc\relax +\begingroup \catcode`~=\active +\gdef\cprogescape#1{% + {\catcode`~=\active \uccode`~=`#1 \aftergroup\cprogescont + \uppercase{\aftergroup~}}} +\gdef\cprogescont#1{% + \def\cprogesc{% + \makeactive#1\def#1{% + \begingroup \catcode`\\0 \catcode`{1 \catcode`}2 \catcode`\%14 + \catcode` 10 \clinegroup{}}}} +\endgroup + +\def\makeactive#1{\catcode`#1=\active} \def\makeother#1{\catcode`#1=12} +{\obeyspaces\gdef\activespace{ } \obeylines\gdef\activecr{^^M}} +{\catcode`|=\catcode`\\ \makeactive\\ |gdef|activebackslash{\}} +{\catcode9=\active \gdef\activetab{^^I}} + +% The following group makes many characters active, so that their catcodes +% in the \cprogchars macro are active, allowing them to be defined. We +% could alternatively define more stuff like \activebackslash and use +% \expandafter or (carefully) \edef to expand these in the macro. +\begingroup +\catcode`[=\catcode`{ \catcode`]=\catcode`} +\makeactive! \makeactive" \makeactive' \makeactive( \makeactive* \makeactive- +\makeactive/ \makeactive< \makeactive> \makeactive? \makeactive^ \makeactive_ +\makeactive\{ \makeactive| \makeactive\} +\gdef\activestar[*] +\gdef\cprogchars[% + \makeother##\makeother$\makeother&\makeother\%\makeother^% + \makeactive"\makeactive'\makeactive*\makeactive?\makeactive{\makeactive}% + \makeactive}\makeactive\\\makeactive_\expandafter\makeactive\activetab% + \makeactive!\makeactive<\makeactive>\makeactive-\makeactive|% + \ifcprogpairs + \def!##1[\ifx=##1$\ne$\else\string!\null##1\fi]% + \def-##1[\ifx>##1$\rightarrow$\else$\string-$##1\fi]% + % We use \aftergroup in < and > to deal with the fact that #1 might + % itself examine the following character. + \def<##1[[$\ifx<##1\ll$\else\ifx=##1\le$\else + \ifx>##1\ifpascal\ne$\else\string<$\aftergroup>\fi + \else \string<$\aftergroup##1\fi\fi\fi]]% + \def>##1[[$\ifx>##1\gg$\else\ifx=##1\ge$\else + \string>$\aftergroup##1\fi\fi]]% + \else \def![\string!\null]% Avoid !` ligature. + \def-[$\string-$]\def<[$\string<$]\def>[$\string>$]% + \fi + \def?[\string?\null]% Avoid ?` ligature. + \def"[\cquote"[\tt\string"]]\def'[\cquote'[\tt\ttquote]]\def*[$\string*$]% + \ifmodula \pascaltrue \fi % Except that {...} is used for sets. + \ifpascal + \ifmodula \dulllbrace \else + \def{[\begingroup \dulllbrace{\ccommentsetup\def}[\/\endgroup }]]% + \fi \makeactive(\let(=\pascalcomment \makeactive^\def^[$\uparrow$]% + \else \dulllbrace\makeactive/\let/=\ccomment + \fi + \def}[$\}$]\def|[$\string|$]\def~[$\sim$]\let_\_% + \expandafter\def\activebackslash[$\backslash$]% + \obeyspaces \expandafter\def\activespace[\leavevmode\space]% + \expandafter\def\activetab[\ \ \ \ ]% + \obeylines \expandafter\def\activecr[\strut\par]] +\gdef\cprogarg[\expandafter\def\activebackslash##1[\ifx##1e\let\next\cprogend + \else$\backslash$\let\next##1\fi\next]\eatcr] +\gdef\cprogend nd#1{cprog#2}[\endcprogarg] % #1 can be space, #2 *. +\gdef\dulllbrace[\def{[$\{$]] +\endgroup + +\chardef\ttquote=13 % Undirected single quote. +\begingroup \makeactive" \makeactive' \makeactive! +\gdef\cquote#1#2{% #1 is the quote, " or ', #2 how to set it. + \begingroup #2\cstringfont \makeactive\\% + \ifpascal \makeother\\\makeother^% + \else \expandafter\let\activebackslash\quotebackslash + \fi + \expandafter\edef\activespace{\ifcprogttspace\char`\ \else\ \fi}% + \expandafter\let\activecr=\unclosedstring + \def!{\string!\null}% No !` ligature. + \makeother*\makeother-\makeother/\makeother<\makeother>% + \makeother_\makeother\{\makeother\}\makeother|\makeother~% + \ifx"#1\let'\ttquote \else \makeother"\fi + \def#1{#2\endgroup}} +\endgroup +\csname newhelp\endcsname\cprogunclosedstr{% +A string or character constant earlier in the line was unclosed.^^JSo +I'm closing it now.} +\def\unclosedstring{% + \escapechar-1% + \errhelp\cprogunclosedstr + \errmessage{Unclosed string}% + \endgroup} +\newlinechar=`^^J +\def\quotebackslash#1{\char`\\% + \expandafter\ifx\activecr#1\strut\par + \else\if'\noexpand#1\ttquote\else\string#1\fi\fi} + +% In a comment, we shrink the width of the opening / to that of a space so +% that the stars in multiline comments will line up. We also shrink the +% closing * for symmetry, but not in Pascal where it looks nasty. +% Note that \end{cprog} is not recognised in strings or comments. +\def\spacebox#1{\leavevmode \hbox to \spaceskip{#1\hss}} + +\begingroup \makeactive* \makeactive! \makeother/ +\gdef\ccommentsetup{\ccommentfont \makeother-\makeother'\makeother"\makeother/% + \def!{\string!\null}\expandafter\def\activebackslash{$\backslash$}} +\gdef\ccomment#1{% + \let\next\relax + \ifx#1*\bgroup \ccommentsetup + \spacebox{\ctextfont\string/}*% + \makeactive*\def*{\commentstar/}% + \else\if\noexpand#1/\begingroup //\ccommentsetup \clinegroup\activecr + \else \string/\let\next#1% + \fi\fi\next} +\gdef\pascalcomment#1{% + \ifx#1*\bgroup \ccommentsetup \let\next\dulllbrace \makeother(% + \spacebox{\ctextfont\string(}*\makeactive*\def*{\commentstar)}% + \else (\let\next#1\fi \next} +\obeylines \long\gdef\clinegroup#1#2^^M{#2\endgroup#1}% +\endgroup +\def\commentstar#1#2{% + {\if#1\noexpand#2\egroup \ifpascal\else\aftergroup\spacebox\fi\fi}{$*$}#2} + +% We usually have an active ^^M after \cprog or \begin{cprog}. +\def\eatcr#1{{\expandafter\ifx\activecr#1\else\aftergroup#1\fi}} + +% Expand to stretch and shrink (plus and minus) of parameter #1. +\def\stretchshrink#1{\expandafter\eatdimenpart\the#1 \end} +\def\eatdimenpart#1 #2\end{#2} + +\ifx\undefined\baselinestretch \def\baselinestretch{1}\fi + +\def\cprogsetup{\ctextfont \cprogchars \parskip=0pt\stretchshrink\parskip + \ifdim \cprogwidth=0pt \else \hsize\cprogwidth \fi + \cprogesc \spaceskip\fontdimen2\font \xspaceskip\spaceskip + \baselineskip=\baselinestretch\cprogbaselineskip \parindent=\cprogindent + \vskip\beforecprogskip} +\def\endcprog{\endgroup \vskip\aftercprogskip} +\def\cprogfile#1{\begingroup \cprogsetup \input#1\endcprog} +\def\cprog{\begingroup \cprogttspacefalse \cprogsetup \cprogarg} +% Like {verbatim*}, {cprog*} uses `square u' for spaces in quoted strings. +\expandafter\def\csname cprog*\endcsname{% + \begingroup \cprogttspacetrue \cprogsetup \cprogarg} +\expandafter\let\csname endcprog*\endcsname=\endcprog +% In LaTeX we need to call \end{cprog} properly to close the environment, +% whereas in plain TeX this will end the job. The test for LaTeX is not +% bulletproof, but most plain TeX documents don't refer to the LaTeX logo. +\ifx\undefined\LaTeX \let\endcprogarg=\endcprog +\else \def\endcprogarg{\ifcprogttspace\end{cprog*}\else\end{cprog}\fi} +\fi + +\fi % \ifx\undefined\cprogsetup + +\endinput diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/example-c.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/example-c.tex new file mode 100644 index 0000000..2f8bf0d --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/example-c.tex @@ -0,0 +1,22 @@ +\begin{cprog} +typedef struct QuadTree { + double Data; + struct QuadTree + *Children[4]; +} QT; + +void Sum3rdChildren(QT *T, + double *Result) { + double Ret; + if (T == 0) { Ret = 0; + } else { + QT *Child3 = + T[0].Children[3]; + double V; + Sum3rdChildren(Child3, + &V); + Ret = V + T[0].Data; + } + *Result = Ret; +} +\end{cprog} diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/example-ll.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/example-ll.tex new file mode 100644 index 0000000..681b759 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/example-ll.tex @@ -0,0 +1,24 @@ +\begin{verbatim} +%struct.QuadTree = type { double, [4 x %QT*] } +%QT = type %struct.QuadTree + +void %Sum3rdChildren(%QT* %T, double* %Result) { +entry: %V = alloca double ;; %V is type 'double*' + %tmp.0 = seteq %QT* %T, null ;; type 'bool' + br bool %tmp.0, label %endif, label %else + +else: ;;tmp.1 = &T[0].Children[3] 'Children' = Field #1 + %tmp.1 = getelementptr %QT* %T, long 0, ubyte 1, long 3 + %Child3 = load %QT** %tmp.1 + call void %Sum3rdChildren(%QT* %Child3, double* %V) + %tmp.2 = load double* %V + %tmp.3 = getelementptr %QT* %T, long 0, ubyte 0 + %tmp.4 = load double* %tmp.3 + %tmp.5 = add double %tmp.2, %tmp.4 + br label %endif + +endif: %Ret = phi double [ %tmp.5, %else ], [ 0.0, %entry ] + store double %Ret, double* %Result + ret void ;; Return with no value +} +\end{verbatim} diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/lgrind.sty b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/lgrind.sty new file mode 100644 index 0000000..2d04753 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/lgrind.sty @@ -0,0 +1,228 @@ +%% +%% This is file `lgrind.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lgrind.dtx (with options: `package') +%% +%% LGrind is used to format source code of different programming +%% languages for LaTeX. +%% +%% LGrind is a minor adaptation of Jerry Leichter's tgrind for LaTeX, +%% which was a notable improvement upon Van Jacobsen's tgrind for +%% plain TeX, which was adapted from vgrind, a troff prettyprinter. +%% +%% Based on Van Jacobson's ``tgrindmac'', a macro package for TeX. +%% Modified, 1987 by Jerry Leichter. Put '@' in all internal names. +%% Modified, 1991 by George Reilly. Changed name from tgrind to lgrind. +%% Modified, 1995 by Michael Piefel. Made it work with \LaTeXe. +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\ProvidesPackage{lgrind} + [1997/01/30 v3.4 LGrind environment and supporting stuff] +\newcount\lc@unt +\newcount\ln@xt +\newcount\LGnuminterval +\LGnuminterval=10 +\DeclareOption{nolineno}{\LGnuminterval=50000} +\DeclareOption{lineno5}{\LGnuminterval=5} +\newif\ifLGleftnum +\DeclareOption{leftnum}{\LGleftnumtrue} +\newskip\LGindent +\LGindent=1.6667\parindent +\DeclareOption{noindent}{\LGindent=0pt} +\newif\ifLGnorules +\DeclareOption{norules}{\LGnorulestrue} +\newlength{\LGsloppy} +\setlength{\LGsloppy}{7.2pt} +\DeclareOption{fussy}{\LGsloppy=0pt} +\newcommand{\DefaultProc}{\@gobble} +\newcommand{\DefaultProcCont}{\@gobble} +\DeclareOption{procnames}{ +\renewcommand{\DefaultProc}[1]{\renewcommand{\Procname}{#1}% +\global\setbox\procbox=\hbox{\PNsize #1}} +\renewcommand{\DefaultProcCont}[1]{\renewcommand\Procname{#1} +\global\setbox\procbox=\hbox{\PNsize\dots #1}}} +\newbox\procbox +\newcommand{\Procname}{} +\ProcessOptions +\def\BGfont{\sffamily} +\def\CMfont{\rmfamily\itshape} +\def\NOfont{\sffamily} +\def\KWfont{\rmfamily\bfseries} +\def\STfont{\ttfamily} +\def\VRfont{\rmfamily} +\def\PNsize{\BGfont\small} +\def\LGsize{\small} +\def\LGfsize{\footnotesize} +\newif\ifLGinline +\newif\ifLGd@fault +\def\LGbegin{\ifLGinline$\hbox\else$$\vbox\fi\bgroup\LGd@faulttrue} +\def\LGend{\ifLGd@fault\egroup\ifLGinline$\else$$\fi\LGd@faultfalse\fi} +\newif\ifc@mment +\newif\ifstr@ng +\newif\ifright@ +\newbox\ls@far +\newbox\tb@x +\newdimen\TBw@d +\newdimen\@ts +{\catcode`\_=\active \gdef\@setunder{\let_=\sp@ce}} +\newcommand{\lgrindheader}{} +\newcommand{\lgrindfilename}{}\newcommand{\lgrindfilesize}{} +\newcommand{\lgrindmodyear}{}\newcommand{\lgrindmodmonth}{} +\newcommand{\lgrindmodday}{}\newcommand{\lgrindmodtime}{} +\newenvironment{lgrind}[1][1]{% +\def\Line##1{\L{\LB{##1}}}% +\newcommand{\Head}[1]{\gdef\lgrindhead{##1}}% +\newcommand{\File}[6]{\gdef\lgrindfilename{##1}\message{(LGround: ##1)}% + \gdef\lgrindmodyear{##2}\gdef\lgrindmodmonth{##3}% + \gdef\lgrindmodday{##4}\gdef\lgrindmodtime{##5}% + \gdef\lgrindfilesize{##6}}% +\let\Proc=\DefaultProc% +\let\ProcCont=\DefaultProcCont% +\hfuzz=\LGsloppy +\def\NewPage{\filbreak\bigskip}% +\ifLGinline + \def\L##1{\setbox\ls@far\null{\CF\strut##1}\ignorespaces}% +\else + \let\r@ghtlno\relax\let\l@ftlno\relax + \ifnum\LGnuminterval>\z@ + \ifLGleftnum + \def\l@ftlno{\ifvoid\procbox\ifnum\lc@unt>\ln@xt + \global\advance\ln@xt by\LGnuminterval + \llap{{\normalfont\scriptsize\the\lc@unt\quad}}\fi + \else\llap{\box\procbox\quad}\fi}% + \else + \def\r@ghtlno{\ifvoid\procbox\ifnum\lc@unt>\ln@xt + \global\advance\ln@xt by\LGnuminterval + \rlap{{\normalfont\scriptsize\enspace\the\lc@unt}}\fi + \else\rlap{\enspace\box\procbox}\fi}% + \fi + \fi + \def\L##1{\@@par\setbox\ls@far=\null\strut + \global\advance\lc@unt by1% + \hbox to \hsize{\hskip\LGindent\l@ftlno ##1\egroup% + \hfil\r@ghtlno}% + \ignorespaces}% +\fi +\lc@unt=#1\advance\lc@unt by-1% +\ln@xt=\LGnuminterval\advance\ln@xt by-1% +\loop\ifnum\lc@unt>\ln@xt\advance\ln@xt by\LGnuminterval\repeat% +\def\LB{\hbox\bgroup\bgroup\box\ls@far\CF\let\next=}% +\def\Tab##1{\egroup\setbox\tb@x=\lastbox\TBw@d=\wd\tb@x% + \advance\TBw@d by 1\@ts\ifdim\TBw@d>##1\@ts + \setbox\ls@far=\hbox{\box\ls@far \box\tb@x \sp@ce}\else + \setbox\ls@far=\hbox to ##1\@ts{\box\ls@far \box\tb@x \hfil}\fi\LB}% +\ifLGinline\def\sp@ce{\hskip .3333em}% +\else \setbox\tb@x=\hbox{\texttt{0}}% + \@ts=0.8\wd\tb@x \def\sp@ce{\hskip 1\@ts}\fi +\catcode`\_=\active \@setunder +\def\CF{\ifc@mment\CMfont\else\ifstr@ng\STfont\fi\fi} +\def\N##1{{\NOfont ##1}\global\futurelet\next\ic@r}% +\def\K##1{{\KWfont ##1}\global\futurelet\next\ic@r}% +\def\V##1{{\VRfont ##1}\global\futurelet\next\ic@r}% +\def\ic@r{\let\@tempa\/\ifx.\next\let\@tempa\relax% + \else\ifx,\next\let\@tempa\relax\fi\fi\@tempa}% +\def\C{\egroup\bgroup\CMfont \global\c@mmenttrue \global\right@false}% +\def\CE{\egroup\bgroup \global\c@mmentfalse}% +\def\S{\egroup\bgroup\STfont \global\str@ngtrue}% +\def\SE{\egroup\bgroup \global\str@ngfalse}% +\def\,{\relax \ifmmode\mskip\thinmuskip \else\thinspace \fi}% +\def\!{\relax \ifmmode\mskip-\thinmuskip \else\negthinspace \fi}% +\def\CH##1##2##3{\relax\ifmmode ##1\relax +\else\ifstr@ng ##2\relax\else$##3$\fi\fi }% +\def\{{\CH\lbrace {\char'173}\lbrace }% +\def\}{\CH\rbrace {\char'175}\rbrace }% +\def\1{\CH///}% % / +\def\2{\CH\backslash {\char'134}\backslash }% % \ +\def\|{\CH|{\char'174}|}% +\def\<{\CH<<<}% +\def\>{\CH>>>}% +\def\*{\CH***}\relax %\relax for DOCSTY +\def\-{\CH---}% +\def\_{\ifstr@ng {\char'137}\else + \leavevmode \kern.06em \vbox{\hrule width.35em}% + \ifdim\fontdimen\@ne\font=\z@ \kern.06em \fi\fi }% +\def\&{\textsf{\char'046}}% +\def\#{{\STfont\char'043}}% +\def\%{{\char'045}}% +\def\~{{\char'176}}% +\def\3{\ifc@mment\ifright@ ''\global\right@false% + \else``\global\right@true \fi + \else{\texttt{\char'042}}\fi}% +\def\4{\ifc@mment'\else {\texttt{\char'015}}\fi}% +\def\5{{\texttt{\char'136}}}% +\def\${{\ifmmode\slshape\else\ifdim\fontdimen\@ne\font>\z@\slshape\fi\fi + \char'044}}% %No $ in \it, use \sl +\parindent\z@\parskip\z@ plus 1pt\hsize\linewidth% +\bgroup\BGfont +} +{\egroup\@@par} % end of environment lgrind +\def\lgrinde{\ifLGinline\else\LGsize\fi\begin{lgrind}} +\def\endlgrinde{\end{lgrind}} +\def\lagrind{\@ifstar{\@slagrind}{\@lagrind}} + +\def\@lagrind{\@ifnextchar[{\@@lagrind}{\@@lagrind[t]}} +\def\@slagrind{\@ifnextchar[{\@@slagrind}{\@@slagrind[t]}} +\def\@@lagrind[#1]#2#3#4{% + \begin{figure}[#1] +\ifLGnorules\else\hrule\fi +\vskip .5\baselineskip +\begin{minipage}\columnwidth\LGsize\LGindent\z@ + \begin{lgrind} +\input #2\relax + \end{lgrind} +\end{minipage} +\vskip .5\baselineskip plus .5\baselineskip +\ifLGnorules\else\hrule\fi\vskip .5\baselineskip +\begingroup + \setbox\z@=\hbox{#4}% + \ifdim\wd\z@>\z@ +\caption{#3}% +\label{#4}% + \else +\captcont{#3}% + \fi +\endgroup +\vskip 2pt + \end{figure} +} +\def\@@slagrind[#1]#2#3#4{% + \begin{figure*}[#1] +\ifLGnorules\else\hrule\fi +\vskip .5\baselineskip +\begin{minipage}\linewidth\LGsize\LGindent\z@ + \begin{lgrind} +\input #2\relax + \end{lgrind} +\end{minipage} +\vskip .5\baselineskip plus .5\baselineskip +\ifLGnorules\else\hrule\fi\vskip .5\baselineskip +\begingroup + \setbox\z@=\hbox{#4}% + \ifdim\wd\z@>\z@ +\caption{#3}% +\label{#4}% + \else +\captcont{#3}% + \fi +\endgroup +\vskip 2pt + \end{figure*} +} +\def\lgrindfile#1{% + \par\addvspace{0.1in} + \ifLGnorules\else\hrule\fi + \vskip .5\baselineskip + \begingroup\LGfsize\LGindent\z@ +\begin{lgrind} + \input #1\relax +\end{lgrind} + \endgroup + \vskip .5\baselineskip + \ifLGnorules\else\hrule\fi + \addvspace{0.1in} +} +\endinput +%% +%% End of file `lgrind.sty'. diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/llvm.lst b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/llvm.lst new file mode 100644 index 0000000..8adbb23 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/llvm.lst @@ -0,0 +1,15 @@ +\lstdefinelanguage{LLVM} + {morekeywords={ + begin,end,true,false,declare,global,constant,const,internal,implementation, + null,to,except,not, + void,bool,sbyte,ubyte,short,ushort,int,uint,long,ulong,float,double,type,label,opaque, + add,sub,mul,div,rem,and,or,xor,setne,seteq,setlt,setgt,setle,setge, + phi,call,cast,shl,shr, + ret,br,switch,invoke, + malloc,alloca,free,load,store,getelementptr + }, + sensitive=true, +% morecomment=[l]{;}, +% morestring=[b]", + } + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/ols-fonts.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/ols-fonts.tex new file mode 120000 index 0000000..adfec4b --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/ols-fonts.tex @@ -0,0 +1 @@ +../../TEMPLATES/ols-fonts.tex
\ No newline at end of file diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/ols.sty b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/ols.sty new file mode 120000 index 0000000..d8c7f0c --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/ols.sty @@ -0,0 +1 @@ +../../TEMPLATES/ols.sty
\ No newline at end of file diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/zrl.sty b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/zrl.sty new file mode 120000 index 0000000..d96dacf --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/complexCode/zrl.sty @@ -0,0 +1 @@ +../../TEMPLATES/zrl.sty
\ No newline at end of file diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/conditional.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/conditional.tex new file mode 100644 index 0000000..39dd102 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/conditional.tex @@ -0,0 +1,15 @@ + +Sometimes you have to do things differently depending on whether +you're building the entire Proceedings... here's an example... + +\ifols +\usepackage{cprog} +\usepackage[nolineno,norules]{lgrind} +\usepackage[hang,scriptsize]{subfigure} +\else +\usepackage{subfigure} +%%% both of these break the Proceedings and are thus evil +\usepackage{listings} +\input{llvm.lst} % Get listing support for llvm code +\fi + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/figures.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/figures.tex new file mode 100644 index 0000000..0f96dd6 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/figures.tex @@ -0,0 +1,40 @@ + +\begin{figure}[tb] + \begin{center} + \includegraphics[height=4cm]{ndp_table}\includegraphics[height=4cm]{ndp_table2} + \end{center} + \caption{NDP Table: Linux vs USAGI\label{ndp_table}} +\end{figure} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Need the whole page? Note the asterisk after 'figure'... + +\begin{figure*}[t] +\begin{center} +\includegraphics[width=0.65\textwidth]{chaos} \ \\ +(a) Chip \hspace{3cm} (b) CPU +\caption{A micrograph of an on-chip-multiprocessor M32R prototype chip} +\label{chaos} +\end{center} +\end{figure*} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{figure*} +\begin{center} +\begin{minipage}{16cm} +\begin{center} +\includegraphics[width=0.475\textwidth]{mappi} +\hspace{1cm} +\includegraphics[scale=0.7]{mappi_diagram} +\end{center} +\end{minipage} +\caption{Mappi: the M32R FPGA evaluation board; it has the M32R +softmacro on FPGA (CPU, MMU, Cache, SDI, SDRAMC, UART, Timer), FPGA +Xilinx XCV2000E $\times$2, SDRAM(64MB), FlashROM, 10BaseT Ethernet, +Serial 2ch, PC-card slot $\times$2, and Display I/F(VGA)} \label{mappi} +\end{center} +\end{figure*} + + + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/includegraphics.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/includegraphics.tex new file mode 100644 index 0000000..01ab098 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/includegraphics.tex @@ -0,0 +1,15 @@ + +Various options can be used for scaling and cropping. Note +that \textwidth and \columnwidth can be your friends for such +operations -- most often, \columnwidth. + +\includegraphics[clip,width=\columnwidth]{ols2003-ipsec-fig-input} +\includegraphics[scale=0.9]{scsi-ds} +\includegraphics[clip,height=3.0in]{relayarch} +\includegraphics[width=2cm]{tpch-host-based-component} +\includegraphics[width=\linewidth]{tpcw-component} +\includegraphics{efi-fig5} + +This one uses 90 percent of the column width: +\includegraphics[width=0.9\columnwidth]{rmap_shadow_pages} + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/legalese.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/legalese.tex new file mode 100644 index 0000000..8d6e10e --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/legalese.tex @@ -0,0 +1,19 @@ + +% Legalese should be avoided unless your lawyers insist. Even +% then, it is typeset in small print because, although it may +% need to be there, there isn't a programmer on the planet +% who actively wants to read such stuff :-) +\begin{small} +\copyright ~2003 Your Lawyers, Inc. +Permission to redistribute in accordance with Linux Symposium +submission guidelines is granted; all other rights reserved. +A Bunch Of Things, and the Bunch Of Things logo are +registered trademarks and +NameOne, NameTwo, and NameThree are trademarks of Your Lawyers, Inc., +in the United States and/or other countries worldwide. +Linux is a registered trademark of Linus Torvalds. +Intel and Itanium are registered trademarks +of Intel Corporation. +All other trademarks mentioned herein are the property of their +respective owners. +\end{small} diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/multipleAuthors.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/multipleAuthors.tex new file mode 100644 index 0000000..fd89e77 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/multipleAuthors.tex @@ -0,0 +1,68 @@ + +Sometimes there are more than two authors, or the authors wish to have +a slightly different layout of names. That's fine, and here are some +examples. Just keep the font sizes and families consistent. +Note that we use Name, Institution, and Email address; postal addresses +are generally omitted for this conference. (Examples below use +fictitional email addresses, although they are otherwise from +the 2003 Linux Symposium.) + + +\title{Linux Support for NUMA Hardware} + +\author{ +Matthew Dobson, Patricia Gaughen, Michael Hohnbaum \\ +{\em IBM LTC, Beaverton, Oregon, USA}\\ +{\tt\normalsize one@email.addr, two@email.addr, three@email.addr} \\ +% +\smallskip +Erich Focht \\ +{\em NEC HPCE, Stuttgart, Germany}\\ +{\tt\normalsize four@other.email.addr} +} % end author + +\maketitle + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\title{Linux\textregistered ~Scalability for Large NUMA Systems} + +\author{ +Ray Bryant and John Hawkes \\ +{\em Silicon Graphics, Inc.}\\ +{\tt\normalsize one@email.addr ~~~~~~~ two@email.addr}\\ +} % end author + +\maketitle + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +The 'and' construct may be used for more than two authors: + +\title{Linux IPv6 Networking \\ +{\normalsize Past, Present, and Future}} + +\author{ +Hideaki Yoshifuji \\ +{\em The University of Tokyo}\\ +{\tt\normalsize one@email.addr} \\ +\and +Kazunori Miyazawa \\ +{\em Yokogawa Electric Corporation} \\ +{\tt\normalsize two@email.addr} \\ +\and +Yuji Sekiya \\ +{\em The University of Tokyo}\\ +{\tt\normalsize three@email.addr} \\ +\and +Hiroshi Esaki \\ +{\em The University of Tokyo}\\ +{\tt\normalsize four@another.email.addr} +\and +Jun Murai \\ +{\em Keio University}\\ +{\tt\normalsize five@a.different.email.addr} +} + +\maketitle + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/myPaper.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/myPaper.tex new file mode 100644 index 0000000..9b74ae5 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/myPaper.tex @@ -0,0 +1,539 @@ +\documentclass[final]{ols} +\usepackage{url} +\usepackage{zrl} + +\begin{document} + +% Required: Do not print the date. +\date{} + +\title{Formatting Tips and Tricks} +\subtitle{Some potentially helpful examples} + +\author{ +John W.\ Lockhart \\ +{\em Red Hat, Inc.}\\ +{\tt\normalsize lockhart@\{oco.net,redhat.com\}}\\ +\and +Optional Second Author\\ +{\em Second Institution}\\ +{\tt\normalsize another@address.for.email.com}\\ +} % end author section +\shortauthor{J.W.\ Lockhart} + +\maketitle + +% Required: Suppress page numbers on title page +\thispagestyle{empty} + +\section*{Abstract} +This example paper contains tips and tricks to ensure that what you +write is what appears in the \textit{Proceedings} with as little +editing as possible. The most important parts are at the end; please +read them. (Okay, okay: Section~\ref{lockhart-subrules} and +Figure~\ref{lockhart-fig1}.) + +If you are new to {\LaTeX}, please read this paper in its entirety, +and check out its source and any other \texttt{.tex} files in the +\texttt{\small EXAMPLE} directory. + +If you have a paper from the Linux Symposium or GCC Summit +(2002--2004), and would like to crib from its final formatting, please +drop me a note and I'll be happy to send along the edited source. +Likewise, if you would like a copy of the final edited form of this +year's source, just let me know. + +The tree was created based on the information on the conference +website. If you don't have a subdirectory, create one along the same +lines. Blank materials are in the \texttt{\small TEMPLATES} +directory; \texttt{ProtoMake} and \texttt{Blank.tex} are probably the +most interesting files. Likewise, if your Abstract was available when +I looked, it has been included. Feel free to edit it; it's just there +to get you started and to provide an example of how to properly +include files should you need to. + +Many thanks go to Zack Weinberg for studying prior years' templates +and proceeding to write the \texttt{ols.cls} class and other crucial +bits of infrastructure. The new system should provide for a lot more +flexibility than the old. + +\section{Simple Formatting Tricks} + +\LaTeX\ is just a fancy markup language\ldots \textit{most} of the +time. + +Some of the more common font and layout conventions follow: +\begin{itemize} +\item \texttt{texttt} produces \texttt{typewriter} style. +\item \texttt{textit} produces \textit{italics}. +\item \texttt{textbf} produces \textbf{boldface}. +\item \texttt{textsc} produces \textsc{small caps}. +\item \texttt{\textit{Font}} \textbf{\textsc{styles}} can be + \textit{\textbf{combined}}\footnote{Often eye-breakingly. Restraint is Good.} +\end{itemize} + +Paragraphs + can be awfully messy +in the source, and even +% what, a comment? +have comments interspersed. Be careful with % unintentional +percent signs---75\% of the time you'll accidentally comment out the +rest of the text on the line. + +Unescaped dollar signs will put you into math mode, so be likewise +careful. Of course, that's sometimes exactly where you \textit{want} +to be. + +Tildes do not produce tildes in \LaTeX ---think instead of +\textsc{html}'s \texttt{\ } and you'll get the picture. Instead, +you can use \texttt{{\textbackslash}{\~{}}\{\}} or +\texttt{{\textbackslash}textasciitilde} to produce a tilde. +Table~\ref{lockhart-tab1} provides a list of characters that require +special handling. Note that tables may ``float''---that is, {\LaTeX} +might move your table to a place where it all fits on a single page, +rather than putting it exactly where you have included it in your +source. Be aware that it's easier to include references to tables and +figures than it is to force each into a particular position and adjust +the surrounding typesetting. +% +% that's +% \~{} +% or +% \textasciitilde +% for a tilde (without all the extra typesetting). +% Escape anything but a backslash by using a backslash. Backslash +% itself is \textbackslash (as seen above). + +\begin{table}[!th] +\centering +\begin{small} +\begin{tabular}[b]{c|c|p{2.3cm}} +Char & Command & Otherwise \\ +\hline +% # +\# & \texttt{{\textbackslash}\#} & argument number \tabularnewline +\hline +% $ +\$ & \texttt{{\textbackslash}\$} & toggle math mode \tabularnewline +\hline +% % +\% & \texttt{{\textbackslash}\%} & comment: ignore rest of line \tabularnewline +\hline +% & +\& & \texttt{{\textbackslash}\&} & tabstop \tabularnewline +\hline +% _ +\_ & \texttt{{\textbackslash}{\_}} & subscript in math mode \tabularnewline +\hline +% { +\{ & \texttt{{\textbackslash}\{} & open environment \tabularnewline +\hline +% } +\} & \texttt{{\textbackslash}\}} & close environment \tabularnewline +\hline +% ~ +{\~{}} & \texttt{{\textbackslash}{\~{}}\{\}} & non-breaking space \tabularnewline +{\textasciitilde} & \texttt{{\textbackslash}textasciitilde} & non-breaking space \tabularnewline +\hline +% \ +{\textbackslash} & \texttt{{\textbackslash}textbackslash} & begin command \tabularnewline +\end{tabular} +\end{small} +\caption{{\LaTeX} characters that require special handling} +\label{lockhart-tab1} +\end{table} + +\subsection{New Macros}\label{lockhart-newmacros} + +A number of macros based on the \texttt{url} package are available +for this year. They are: +\begin{itemize} +\item \ident{ident} -- intended for identifiers, + \texttt{{\textbackslash}ident\{some\_text\}} sets the text in + \texttt{tt} and may break the line at any punctuation. Spaces are deleted. +\item \ident{lident} -- intended for long identifiers, this works the + same as \ident{ident}, but sets the text in a smaller font. +\item \ident{code} -- intended for short excerpts of code, this works + like \ident{ident}, except that spaces are preserved. Lines are not + broken on spaces. +\item \ident{lcode} -- intended for longer excerpts of code, this works + like \ident{code}, except that text is set in a smaller font. This + probably does not work correctly for multi-line code fragments; + consider using the \texttt{cprog} package for that. +\item \ident{brcode} -- intended for excerpts of source code, this works + like \ident{code}, except that line breaks may occur at spaces. +\item \ident{lbrcode} -- intended for excerpts of source code, this works + like \ident{brcode}, except that text is set in a smaller font. +\end{itemize} + +Examples are shown in Table~\ref{lockhart-macro-examples}. + +\begin{table*}[tb] +\begin{itemize} +\item \verb|\ident{a_long_identifier}| --- this example in turn yields \ident{a_long_identifier} + +\item \texttt{{\textbackslash}lident|an\_even\_lon ger\_identifier|} --- this + in turn + yields \lident|an_even_lon ger_identifier| + +\item \verb|\lcode{int un_useful(int *a) { return *a; }}| --- this + yields + \lcode{int un_useful(int *a) { return *a; }} + +\item \verb|\lbrcode{int un_useful(int *a) { return *a; }}| --- this + yields + \lbrcode{int un_useful(int *a) { return *a; }} + +\end{itemize} +\caption{Examples of New Macros} +\label{lockhart-macro-examples} +\end{table*} + +\section{Typesetting conventions} + +You shouldn't have to worry too much here, but I'll illustrate a few +things. + +Quotation marks, both `single' and ``double,'' look good in body text, +while other \texttt{"styles"} might look better for other uses. Note +that when you're typesetting for a compiler, punctuation goes outside +the \texttt{"quotation marks",} but punctuation is placed +\textit{inside} the quotation marks for ``narrative.'' + +There are multiple flavors of dashes---the em dash, the en--dash, the +oft-used hyphen, and the minus sign (math mode: $2x - 3$). Note that +the preceding sentence contains them all. + +\subsection{Choices for uniformity} + +For source code, we have chosen the common style of not beginning a +line with a comma. The compiler doesn't care, but keeping the printed +page consistent between papers is useful. + +Identifiers may need to be split between lines, so we use a typewriter font +and mark up the string appropriately: +\texttt{sys\_\linebreak[0]sched\_\linebreak[0]yield()} or +\texttt{\small A\_\linebreak[0]REALLY\_\linebreak[0]LONG\_\linebreak[0]IDENTIFIER\_\linebreak[0]THAT\_\linebreak[0]NEEDS\_\linebreak[0]TO\_\linebreak[0]BE\_\linebreak[0]THIS\_\linebreak[0]LONG} +would be good examples\footnote{Alternatively, see the macros in +Section~\ref{lockhart-newmacros}.}. To tell {\LaTeX} that an unhyphenated line +break is okay if required, just use \texttt{{\textbackslash}linebreak[0]}. + +\subsection{Points of English} + +A few nitpicks: +\begin{enumerate} +\item \textit{it's} is a macro which expands to \textit{it is}. It + has no other meaning. +\item \textit{its} is possessive. +\item Items in a series are: \textit{a}, \textit{b}, and \textit{c}. + Never \textit{a}, \textit{b} and \textit{c}. This rule makes it + much simpler when you must use complex values of (for example) + \textit{b}. For truly long constructs, you may use a semicolon + as a delimiter rather than a comma. +\item Some phrases should be hyphenated---for instance, when you're + using an adjective to modify another adjective, or a noun that + appears before another. A high-performance system; a win-win + situation; a high-level loop transformation; a slow-moving train, + but a slowly moving car; that sort of thing. Most of the time, + people will still be able to parse the results easily if the sentence isn't + perfect. +\item Be happy, know your homonyms. There, they're, their. To, two, + too. Your, you're. And so forth. Spelling checkers show their + limitations on this\ldots +\end{enumerate} + +Of course, proofreading is a wonderful thing, and every bit of it you +(or any guinea pigs you can persuade) do is a Good Thing. I'll +correct what I notice, but I have only two eyes and there's a lot of +margin-crunching formatting to be done. There are certain +times, often with non-native speakers, where I'm not clear on the +meaning. If I catch something like that in time, I'll ask; if not, +chances are that I'll keep my hands off of the section in question so +as not to insert a woefully incorrect meaning. + +\section{Tools} + +It helps to have the following installed on your system: +\begin{itemize} +\item \textbf{\tt tetex}. The most common \TeX\ package for Linux. +\item \textbf{\tt dviutils}. Required for building the 2005 + Proceedings. Can combine DVI files as well as other useful tasks. +\item \textbf{\tt transfig}. Graphics in \texttt{.fig} format, + useful for figures. +\item \textbf{\tt dia}. Also useful for figures. +\item \textbf{\tt ImageMagick}. Great for photographs and graphics + manipulation \& conversion. +\item \textbf{\tt xpdf} or \textbf{\tt acroread} for viewing PDF + files. Other viewers can also do a nice job. +\item Utilites often found in {\tt tetex}, but which your distribution + may have packaged separately: \texttt{xdvi}, \texttt{dvips}, + \texttt{pdflatex}. +\item \textbf{\tt ghostscript} for handling Postscript. +\end{itemize} + +\section{Examples} + +Some examples from previous conferences have been included +in this package; hopefully they'll be useful in handling code +examples. Reducing everything to \texttt{footnotesize} or setting it +\texttt{verbatim} won't magically make it fit on the page, alas. Have +a look in the \texttt{EXAMPLE} directory to find these items: +\begin{itemize} +\item {\raggedright \texttt{\small bibli\-og\-raphy.tex}, \texttt{\small bibli\-og\-ra\-phy2.tex}, and + \texttt{\small ref\-er\-ences.tex}. Different ways of citing any relevant + works external to your paper.} +\item \texttt{conditional.tex}. If you have {\LaTeX} code that works + only by itself and need to do conditional processing, here's an example. +\item \texttt{\small complexCode/complexFigure.tex}. An example of a complex + figure containing side-by-side C code. +\item \texttt{figures.tex}. Different ways of doing figures. +\item \texttt{includegraphics.tex}. Different ways to include graphics. +\item \texttt{legalese.tex}. Legal disclaimers. +\item \texttt{multipleAuthors.tex}. Formatting examples for multiple authors. +\item \texttt{tables.tex}. Different ways to do tables. +\end{itemize} + +\subsection{Bad Examples} + +A prior year's paper gave the example of setting \texttt{verbatim} +sections in \texttt{tt}. Repetitiously and redundantly enough, that's +the default. So, please, no instances of +\begin{verbatim} + {\tt + \begin{verbatim} + ... +\end{verbatim} + +\begin{small} +\centering +\textbf{Corrected.} You might, however, wish to do something like this instead: +\begin{verbatim} + \begin{small} + \centering + \textbf{Corrected.} You ... + \begin{verbatim} + ... +\end{verbatim} +\end{small} +Of course, check the source of this document +(\lident{EXAMPLE/myPaper.tex}) for more ideas. Valid font sizes, for +instance, include \texttt{normalsize}, \texttt{small}, +\texttt{footnotesize}, \texttt{scriptsize}, and \texttt{tiny}. Please +don't use anything larger than \texttt{normalsize}. + + +Another extant bad example is the practice of ending paragraphs with a +double backslash (\texttt{\textbackslash\textbackslash}) \textit{and} +a blank line. This creates unwanted, superfluous whitespace between +paragraphs. \LaTeX\ is, believe it or not, supposed to be easy. Just +leave one or more blank lines between paragraphs and you'll be fine. + + +\section{Style packages} + +For 2005, we are no longer using the \texttt{combine} package. You +will find some additional useful packages in the \texttt{Texmf} +directory, however. The empty papers are set up to use the +\texttt{url}, \texttt{zrl}, and \texttt{graphicx} packages by default, +in hopes that this will be useful for most papers. + +You may also find it helpful to set the \texttt{TEXINPUTS} environment +variable as follows: +\begin{center} +{\footnotesize \texttt{export TEXINPUTS='.//:\$\{LOCALTEX\}//:'}} +\end{center} +% +% or for those of you who'd like to cut'n'paste from the source: +% export TEXINPUTS='.//:${LOCALTEX}//:' +% +Adding the above to your \texttt{\textasciitilde/.bashrc} can +save you the trouble of typing it for future runs. + +% well, since 'combine' is gone, so should this problem be... +%% The most common cause of build problems is including style packages +%% that aren't compatible with \texttt{combine}. Unfortunately, this +%% includes\footnote{At least using last year's versions, that was the case.} +%% things like \texttt{hyperref} and \texttt{html}---two +%% otherwise-wonderful packages for handling URLs and such. + +To build your paper, you should be able to \texttt{cd} to the toplevel +directory (the one that contains your individual directory) +and type the following at a shell prompt: + +\begin{small} +\begin{verbatim} + DIRS=yourname make +\end{verbatim} +\end{small} + +Ambitious authors are encouraged to install the \texttt{dviutils} +and \texttt{pdftk} packages and type \texttt{make} from the top-level directory. +If all goes well, you'll get something that looks quite like the finished \textit{Proceedings}. + +\section{Graphics and Symbols} + +For importing graphics, don't forget to omit any file extensions. +That's because \texttt{latex} and \texttt{pdflatex} look for +different formats. The output formats we generate are PDF, PS, and +DVI; you will thus want to generate both EPS and PDF copies of any +figures that use structured graphics. + +The easiest ways to get special symbols such as +Registered\textregistered\ and Trademark\texttrademark\ +is to use the \LaTeX2e\ \texttt{{\textbackslash}text} constructs: +thus, \texttt{{\textbackslash}textregistered} and +\texttt{{\textbackslash}texttrademark}. + +\section{\TeX\ References} + +If you aren't familiar with {\LaTeX}, there are many sources of +information available. Your distribution might have additional +documentation in \brcode{/usr/share/texmf}, or you might find manuals +for a package (such as \texttt{cprog}) out at {\small\url{http://www.ctan.org}}. + +If you are completely new to {\TeX} and {\LaTeX}, you will probably +find it highly useful to visit \texttt{\small http://www.tug.org/} and +especially \texttt{\small http://www.tug.org/begin.html} for online +and paper references. + +For a free and extremely useful document, try: +\texttt{\small http://www.tug.org\linebreak[0]/tex-archive\linebreak[0]/info\linebreak[0]/lshort\linebreak[0]/english\linebreak[0]/lshort.pdf}. +Note that translations\footnote{French, for instance: +\url{http://www.tug.org/tex-archive/info/lshort/french/flshort-3.20.pdf}; +note also that this section of the Example paper shows different ways +of handling URLs.} +are available, for those more comfortable in something other than +English: +\texttt{\small http://www.tug.org\linebreak[0]/tex-archive\linebreak[0]/info\linebreak[0]/lshort/} + +%%% Cut'n'paste versions of those URLs: +% http://www.tug.org/tex-archive/info/lshort/english/lshort.pdf +% http://www.tug.org/tex-archive/info/lshort/french/flshort-3.20.pdf +% http://www.tug.org/tex-archive/info/lshort/ + +I tend to use \textit{A Guide to \LaTeX} (Kopka \& Daly, ISBN 0-201-39825-7) and the +\textit{\LaTeX\ Graphics Companion} (Goossens, Rahtz, \& Mittelbach) +the most these days. + +You are also welcome to send questions to me at +\texttt{{lockhart}{@}{redhat.com}} (work) or +\texttt{{lockhart}{@}{oco.net}} (home). +% +% {}'s begin a new environment in TeX, as in C. +% A few extra {}'s might let an email address escape notice +% by spammers' collecting 'bots, should the .tex file wind +% up on a website somewhere at some point. +% + +As usual, please refrain from submitting anything remotely resembling +a Microsoft Word \texttt{.doc} file\ldots \texttt{<grimace>}. It's a +\textit{lot} easier for me to fix up plain ASCII text and +convert/insert accompanying graphics, if you find yourself terminally +confused or in a dire emergency. + +\begin{figure}[!ht] +\begin{center} +\hrule +\vspace*{2mm} +\textbf{\textsc{Submitting a Paper}} +\begin{footnotesize} +\begin{verbatim} + cd OLS2005 + make clean + tar zcf yourLastName.tar.gz \ + yourLastName +\end{verbatim} + +E-mail the resulting tarball to +\texttt{papers{@}linuxsymposium{.}org}. +\end{footnotesize} +\vspace*{2mm} +\hrule + +\caption{Submitting a paper} +\label{lockhart-fig1} + +\end{center} +\end{figure} + +\section{Simple rules to keep your formatting team happy} +\label{lockhart-subrules} +\begin{enumerate} +\item To submit your paper, just \texttt{make clean} in your + directory, \texttt{tar} it up, and send the resulting gzipped tarball to + \texttt{papers@linuxsymposium.org} or \texttt{papers@gccsummit.org}, + as appropriate. See Figure~\ref{lockhart-fig1} for an example. +\item Updates. If you need to change something, please send both + a patch and an updated tarball. The most convenient form depends on + how many changes have been made since you submitted your paper. + However, if your change is trivial---a line or two, for instance---a + simple email will do. +\item Use the existing directory structure, please. The directory + names are intended to be the last name of the presenter (lowercase, + punctuation omitted); the main paper should be + \texttt{lastname.tex} and any additional files should be + \texttt{lastname-file.extension}. This is basically to keep + the file owners straight, and to allow us the option to + instruct {\LaTeX} to search the entire (sub)directory hierarchy for + input files. You don't want someone else's file by mistake, right? + Putting your name on it helps to keep things straight. The same + goes for \verb|\label{}| and \verb|\ref{}| commands. +\item Omit file extensions and pathnames in your {\LaTeX} source, + please. By omitting the path and just saying + \texttt{{\textbackslash}input\{lockhart-abstract\}}, + a paper can be built from both its directory and from its + parent directory. For graphics, omitting the extension lets + \texttt{latex} or + \texttt{pdflatex} pick its preferred input format for the best + possible results. +\item No proprietary document/graphics formats, please. This + especially means MS + Office, Visio, or other such tools. \LaTeX\ can, however, import + EPS and PDF, if you can save in those formats. +\item Originals, please. For example, if you have photographs, send + along the full-resolution JPG (crop out any undesired elements if + necessary, but use the maximum resolution). For diagrams, please + send the XFig or Dia files. + This ensures the best possible print quality. Printing will be in + black and white, but the online PDF's will be in full color. Your + screen is probably about 72dpi, but the typesetter is probably using + something that's at least 1200dpi. The more resolution, the better. + (If, however, your originals are outrageously huge, feel free to ask!) + Since hardcopy will be printed in Ottawa, the papersize will be + North American ``letter.'' Please keep that in mind if you are + concerned about page breaks and such. +\item Do \textbf{\textit{not}} use sans-serif fonts, or go changing + global font sizes. We're using 12-point Times Roman for body text. + Likewise, please don't go haywire with italics. I once received a + huge collection of tables, each of which set the font size and face + on an item-by-item basis. \textit{Incorrectly}. +\item Those of you who like to begin lines of code with commas: as + previously mentioned, we're + typesetting the code with the comma attached to the preceding + identifier (as most publishers do). Feel free to post your + preferred version to the web and to refer to it in the paper. +\item If possible, please avoid trivial new macros. Should you need + to add something, though, please use + \texttt{{\textbackslash}providecommand} rather than + \texttt{{\textbackslash}newcommand}, and try for a relatively + unique name (papers tend to blur together during long editing sessions). +\item Trivia note: generally speaking, it takes longer to edit a + submission from a {\TeX}spert than plain, unmarked ASCII. If you + consider yourself a {\LaTeX} expert and love to write fancy new + commands, please consider contributing clean-ups or well-tested + new features for the infrastructure rather than customizing the + daylights out of your submission. Thanks! +\end{enumerate} + +This paper builds correctly using the tetex-2.0.2-14FC2.2 package on +Fedora Core 2, and the Fedora Core 3 tetex package. Please note that +if you are using FC3, you may wish to update your \texttt{urw-fonts} +package to 2.2-8 or better before viewing PDF files. + +Other distributions haven't been tested, but should work. If you run +into problems, please let me know. + +And remember, it's only typesetting, not rocket science. Or hacking +compilers or kernels. \texttt{:-)} Have some fun along the way\ldots + +\end{document} diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/references.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/references.tex new file mode 100644 index 0000000..9359956 --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/references.tex @@ -0,0 +1,29 @@ + +For those who don't want to use BiBTeX, a simple References section +can do the trick. The following is from Rik van Riel's 2003 +Linux Symposium paper: + +\section{References} +\raggedright +Draves, Richard P. \textit{Page Replacement and Reference Bit +Emulation in Mach.} In Proceedings of the USENIX Mach Symposium, +Monterey, CA, November 1991. + +Y.\ Smaragdakis, S.\ Kaplan, and P.\ Wilson, \textit{EELRU: Simple and +Effective Adaptive Page Replacement} in Proceeding of the 1999 ACM +SIGMETRICS Conference, 1999. + +Gideon Glass and Pei Cao. \textit{Adaptive Page Replacement Based on +Memory Reference Behavior.} In Proceedings of ACM SIGMETRICS 1997, +June, 1997. + +D.\ Lee, J.\ Choi, J.-H.\ Kim, S.H.\ Noh, S.L.\ Min, Y.\ Cho, and +C.S.\ Kim, \textit{LRFU: A spectrum of policies that subsumes the +least recently used and least frequently used policies} IEEE +Trans.\ Computers, vol.\ 50, no.\ 12, pp. 1352--1360, 2001. + +S.\ Jiang and X.\ Zhuang. \textit{LIRS: An efficient low inter-reference +recency set replacement policy to improve buffer cache performance.} +In Proc.\ of SIGMETRICS 2002. + + diff --git a/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/tables.tex b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/tables.tex new file mode 100644 index 0000000..e2cfb6c --- /dev/null +++ b/2005/flow-accounting-ols2005/OLS2005/EXAMPLE/tables.tex @@ -0,0 +1,79 @@ + +A simple table.... + +\begin{table}[tbph] +\begin{center} +\caption{Summary of TAHI Conformance Test (usagi24-s20020401, \%)\label{tahi-usagi24}} +\begin{tabular}{|c|c|c|c|} +\hline +Test Series & Pass & Warn & Fail \\ +\hline +\hline +Spec. & 100 & 0 & 0 \\ +ICMPv6 & 100 & 0 & 0 \\ +Neighbor Discovery & 79 & 5 & 15 \\ +Autoconf & 98 & 2 & 0 \\ +PMTU & 50 & 0 & 50 \\ +IPv6/IPv4 Tunnel & 100 & 0 & 0 \\ +Robustness & 100 & 0 & 0 \\ +\hline +\end{tabular} +\end{center} +\end{table} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +A full-page, far more complex table.... + +\begin{table*}[t] +\begin{center} +\footnotesize +\begin{tabular}{|l|l||r|r|r|r|r|r|r|r|r||r|} + \hline + \multicolumn{2}{|c||}{} & & \multicolumn{2}{|c|}{ANSI.os} + & & \multicolumn{2}{|c|}{POSIX.os} & \multicolumn{2}{|c|}{LSB.os} + & & RedHat7.3 \\ + \cline{4-5} \cline{7-10} + \multicolumn{2}{|c||}{\raisebox{1.3ex}[0pt]{Section}} + & \multicolumn{1}{|c|}{\raisebox{1.3ex}[0pt]{ANSI.hdr}} + & \multicolumn{1}{|c|}{F} & \multicolumn{1}{|c|}{M} + & \multicolumn{1}{|c|}{\raisebox{1.3ex}[0pt]{POSIX.hdr}} + & \multicolumn{1}{|c|}{F} & \multicolumn{1}{|c|}{M} + & \multicolumn{1}{|c|}{F} & \multicolumn{1}{|c|}{M} + & \multicolumn{1}{|c||}{\raisebox{1.3ex}[0pt]{Total}} & Total \\ + \hline + \hline + & Expect + & 386 & 1244 & 1244 & 394 & 1600 & 1600 & 908 & 908 & 8284 & 8284 \\ + \cline{2-12} + \multicolumn{1}{|c|}{\raisebox{1.3ex}[0pt]{Total}} + & Actual + & 386 & 1244 & 1244 & 394 & 1600 & 1600 & 908 & 908 & 8284 & 8284 \\ + \hline + \multicolumn{2}{|l||}{Succeeded} + & 176 & 1112 & 86 & 207 & 1333 & 0 & 695 & 0 & 3609 & 3583 \\ + \multicolumn{2}{|l||}{Failed} + & 4 & 0 & 0 & 5 & 2 & 0 & 49 & 0 & 60 & 45 \\ + \multicolumn{2}{|l||}{Warnings} + & 0 & 12 & 0 & 0 & 5 & 0 & 2 & 0 & 19 & 18 \\ + \multicolumn{2}{|l||}{FIP} + & 2 & 0 & 0 & 2 & 2 & 0 & 1 & 0 & 7 & 7 \\ + \multicolumn{2}{|l||}{Unresolved} + & 0 & 0 & 0 & 0 & 0 & 0 & 5 & 0 & 5 & 4 \\ + \multicolumn{2}{|l||}{Uninitiated} + & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ + \multicolumn{2}{|l||}{Unsupported} + & 203 & 0 & 0 & 179 & 72 & 0 & 59 & 0 & 513 & 513 \\ + \multicolumn{2}{|l||}{Untested} + & 0 & 4 & 0 & 0 & 7 & 0 & 39 & 0 & 50 & 43 \\ + \multicolumn{2}{|l||}{NotInUse} + & 1 & 116 & 1158 & 1 & 179 & 1600 & 58 & 908 & 4021 & 4021 \\ + \hline +\end{tabular} +Key: F:function, M:macro;\ FIP: Further Information Provided +\end{center} +\hspace{5mm} +\caption{LSB 1.2 testsuites result} +\label{lsb_result} +\end{table*} + |