[Commit] papers/xserver_ols2004 keithp.bib, NONE, 1.1 ols-fonts.tex, NONE, 1.1 ols.sty, NONE, 1.1 zrl.sty, NONE, 1.1

Keith Packard commit at keithp.com
Thu Jun 10 00:19:37 PDT 2004


Committed by: keithp

Update of /local/src/CVS/papers/xserver_ols2004
In directory home.keithp.com:/tmp/cvs-serv30429

Added Files:
	keithp.bib ols-fonts.tex ols.sty zrl.sty 
Log Message:
Add build files to project

--- NEW FILE: keithp.bib ---
% Keiths BiBTeX database

@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},	},

@book{awk,
 title		= "The AWK programming language",
 author		= "A. V. Aho and P. J. Weinberger and B. W. Kerninghan",
 publisher	= "Addison-Wesley",
 year		= 1988,			},

@manual{bc,
 title		= "BC - An Arbitrary Precision Desk-Calculator Language",
 author		= "Robert Morris and Lorinda Cherry",
 organization	= "AT\&T Bell Laboratories",
 note		= "Unix Programmer's Manual Volume 2, 7th Edition",
 year		= 1978,			},

@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",	}

@book{bsd:1989,
 title		= "{The Design and Implementation of the 4.3BSD UNIX Operating System}",
 author		= "Samual J. Leffler and Marshall Kirk McKusick and Machael
 J. Karels and John S. Quarterman",
 publisher	= "Addison Wesley",
 year		= 1989,			}
 
@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,			},

@book{DuBois-imake,
   author    = {Paul DuBois},
   title     = {{Software Portability with imake}},
   year      = {1993},
   month     = jul,
   publisher = {O'Reilly \& Associates Inc},
   series    = {Nutshell Handbook Series},
   category  = {Practical Sofware Engineering},
   note      = {ISBN 1-56592-055-4}
}

@book{emacs,
 title		= "GNU Emacs Manual",
 author		= "Richard M. Stallman",
 publisher	= "Free Software Foundation",
 edition	= "fourteenth",
 version	= "20.7",
 month		= "June",
 year		= "2000"	}

@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",	}

@book{gl:1.2.1,
 title		= "The OpenGL Graphics System: A Specification",
 author		= "Mark Segal and Kurt Akeley and Jon Leach (ed)",
 version	= "1.2.1",
 publisher	= "SGI",
 year		= 1999			},
 
@phdthesis{Hobby85,
 author = {John D. Hobby},
 title = {Digitized Brush Trajectories},
 school = {Stanford University},
 year = {1985},
 note = {Also {\it Stanford Report STAN-CS-85-1070}}
}

@inproceedings{ http:1997,
  author = "Henrik Frystyk Nielsen and James Gettys and Anselm Baird-Smith
  and Eric Prud'hommeaux and Hakon Wium Lie and Chris Lilley",
  title = "Network Performance Effects of HTTP/1.1, CSS1, and PNG",
  booktitle	= "ACM SIGCOMM '97 Conference Proceedings",
  month		= "September",
  year		= 1997,
  organization	= "Association for Computing Machinery",
  url = "\url{http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html}"
},

@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",              }
  
@book{java,
 title		= "Java",
 author		= "Juan Valdez",
 publisher	= "Not so hot books",
 year		= 1929,			},

@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{lbx:1994,
 title = "{Design and Implementation of LBX: An Experiment Based Standard}",
 author		= "Keith Packard",
 booktitle	= "Proceedings of the Eighth Annual X Technical Conference",
 month		= "January",
 year		= 1994,
 pages		= "121-133",
 address	= "Boston, MA",
 organization	= "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",		}
 
@book{ml,
 title		= "ML - disaster of a language",
 author		= "mephistopholes",
 publisher	= "hot books",
 year		= 1666,			},

@book{mod3,
 title		= "Systems Programming with Modula-3",
 author		= "Greg Nelson",
 publisher	= "Prentice Hall",
 year		= 1991,			}

@book{moscow,
 title		= "Moscow ML",
 author		= "John Stallin'",
 publisher	= "Gulag press",
 year		= 1906,			},

@article{mtx:1992,
 title		= {{The Multi-Threaded X Server}},
 author		= "John Smith",
 journal	= "The X Resource",
 publisher	= "O'Reilly \& Associates, Inc.",
 year		= 1992,
 volume		= 1,
 pages		= "73-89",
 month		= "Winter",		}

@article{nelson:1996,
 title		= "Twelve Characteristics of Correct Antialiased Lines",
 author		= "Scott R. Nelson",
 journal	= "Journal of Graphics Tools",
 year		= 1996,
 volume		= 1,
 number		= 4,
 pages		= "1-20",		},

@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",
}

@book{perl,
 title		= "Programming Perl",
 author		= "L. Wall and T. Christiansen and R. L. Schwartz",
 publisher	= "O'Reilly \& Associates, Inc.",
 year		= 1996,
 edition	= "Second",		},

@manual{pike:draw,
 title		= "draw - screen graphics",
 author		= "Rob Pike",
 organization	= "Bell Laboratories",
 year		= 2000,
 note		= "Plan 9 Manual Page Entry",	}

@article{pitt:1967,
 title		= "Algorithm for drawing ellipses or hyperbolae with a digital plotter",
 author		= "M. L. V. Pitteway",
 journal	= "The Computer Journal",
 year		= 1967,
 volume		= 10,
 number		= 3,
 pages		= "282-289",
 month		= "November",		}

@article{porterduff:1984,
 title		= "{Compositing Digital Images}",
 author		= "Thomas Porter and Tom Duff",
 journal	= "Computer Graphics",
 year		= 1984,
 volume		= 18,
 number		= 3,
 pages		= "253-259",
 month		= "July",		}
 
@book{ps,
 title		= "PostScript Language Reference Manual",
 author		= {{Adobe Systems Incorporated}},
 publisher	= "Addison Wesley",
 year		= 1985,			}

@book{python,
 title		= "Programming Python",
 author		= "Mark Lutz",
 publisher	= "O'Reilly \& Associates, Inc.",
 year		= 2001,
 edition	= "Second",		}

@book{qt,
 title		= "Programming with Qt",
 author		= "Matthias Kalle Dalheimer",
 publisher	= "O'Reilly \& Associates, Inc.",
 year		= 2001,
 month		= "May",
 edition	= "second",		}

@inproceedings{render:2000,
 title		= "{A New Rendering Model for X}",
 author		= "Keith Packard",
 booktitle	= "FREENIX Track, 2000 Usenix Annual Technical Conference",
 month		= "June",
 year		= 2000,
 pages		= "279-284",
 address	= "San Diego, CA",
 organization	= "USENIX",		}

@inproceedings{render:2001,
 title		= "{Design and Implementation of the X Rendering Extension}",
 author		= "Keith Packard",
 booktitle	= "FREENIX Track, 2001 Usenix Annual Technical Conference",
 month		= "June",
 year		= 2001,
 address	= "Boston, MA",
 organization	= "USENIX",		}
 
@book{scheme,
 title		= "Scheme - lisp sortof",
 author		= "Guy Wire",
 publisher	= "parenthetical statements",
 year		= 1969,			},

@manual{sed,
 title		= "SED - A Non-interactive Text Editor",
 author		= "Lee E. McMahon",
 organization	= "AT\&T Bell Laboratories",
 note		= "Unix Programmer's Manual Volume 2, 7th Edition",
 year		= 1978,			},

@techreport{shape,
 title		= "X Nonrectangular Window Shape Extension Protocol",
 author		= "Keith Packard",
 institution	= "MIT X Consortium",
 type		= "X Consortium Standard",
 year		= 1989,			}

@article{sharedx:1994,
 title		= "{HP SharedX: A Tool for Real-Time Collaboration}",
 author		= "Daniel Garfinkel and Bruce C. Welti and Thomas W. Yip",
 journal	= "HP Journal",
 year		= 1994,
 month		= "April",		}
 
@mastersthesis{xplot,
 title		= "TCP Packet Trace Analysis",
 author		= "Timothy J. Shepard",
 school		= "Massachusetts Institute of Technology",
 year		= "1990",
 note		= {Also {\it MIT LCS Tech Report 494}}
}

@inproceedings{simics:1998,
 title 		= "{SimICS/sun4m: A Virtual Workstation}",
 author		= "Peter S. Magnusson and Fredrik Dahlgren and {H\aa kan} Grahn,
 Magnus Karlsson and Fredrik Larsson and Fredrik Lundholm and Andreas Moestedt and Jim
 Nilsson and Per {Stenstr\"{o}m} and Bengt Werner",
 booktitle      = "Technical Conference Proceedings",
 month          = "June",
 year           = 1998,
 address        = "New Orleans, LA",
 organization   = "USENIX",             }
      
@techreport{sync:1991,
 title		= {{X Synchronization Extension Protocol, Version 3.0}},
 author		= "Tim Glauert and Dave Carver and Jim Gettys and David P. Wiggins",
 institution 	= "X Version 11 Release 6",
 type		= "X Consortium Standard",
 year		= 1991,			}
 
@manual{tinyx,
 title		= "Xkdrive - Tiny X server",
 author		= "Juliusz Chroboczek and Keith Packard",
 organization	= "The XFree86 Project, Inc.",
 note		= "XFree86 Release 4.0.3",
 year		= 2001,			}

@techreport{trestle:1991,
 title		= "{Trestle Reference Manual}",
 author		= "Mark Manasse and Greg Nelson",
 institution	= "Digital Equipment Corporation Systems Research Center",
 type		= "Research Report",
 number		= 68,
 month		= "December",
 year		= 1991			}

@article{unix:1977,
 title		= "UNIX Implementation",
 author		= "K. Thompson",
 journal	= "The Bell System Technical Journal",
 year		= 1978,
 volume		= 57,
 number		= 6,
 pages		= "1931-1946",
 month		= "July-August",	}

@book{x,
 title		= "X Window System",
 author		= "Robert W. Scheifler and James Gettys",
 publisher	= "Digital Press",
 year		= 1992,
 edition	= "Third",		}

@book{xt,
 title		= "X Window System Toolkit",
 author		= "Paul J. Asente and Ralph R. Swick",
 publisher	= "Digital Press",
 year		= 1990,			}

@techreport{x11perf:1994,
 title		= "{X11perf - X11 server performance test program}",
 author		= "Joel McCormack and Phil Karlton and Susan Angebranndt and
Chris Kent and Keith Packard and Graeme Gill",
 institution	= "X11 Version 11 Release 6.4",
 type		= "Manual Page",
 year		= 1994,			}

@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.",
}


@techreport{xaa,
 title		= "{XAA.HOWTO}",
 author		= "Mark Vojkovich and Marc Aurele La France",
 institution	= "The XFree86 Project, Inc.",
 year		= 2000,			}


@techreport{xfs,
 title		= "The X Font Service Protocol",
 author		= "Jim Fulton",
 institution	= "Network Computing Devices, Inc.",
 type		= "X Consortium Standard",
 year		= 1994,			}
 
@techreport{xrender,
 title		= "{The X Rendering Extension}",
 author		= "Keith Packard",
 institution	= "The XFree86 Project, Inc.",
 type		= "XFree86 Draft Standard",
 year		= 2000,			}
 
@book{pdf14,
 title		= "PDF Reference: Version 1.4",
 edition	= "3rd",
 editor		= "Adobe Systems Incorporated",
 publisher	= "Addison-Wesley",
 year		= 2001,
 }

@book{knuth:d,
 title		= "METAFONT: The Program",
 author		= "Donald E. Knuth",
 publisher	= "Addison Wesley",
 year		= 1986,
 series		= "Computers & Typesetting",
 volume		= "D",
 }
 
@book{gtk1,
 title		= "Developing Linux Applications with GTK+ and GDK",
 author		= "Eric Harlow",
 publisher	= "MacMillan Publishing Company",
 year		= 1999,
 }

@book{xul,
 title		= "Creating Applications with Mozilla",
 author		= "David Boswell and Brian King and Ian Oeschger and Pete Collins and Eric Murphy",
 publisher	= "O'Reilly \& Associates, Inc.",
 year		= 2002,
 }
 
@book{ssh,
 title		= "SSH, The Secure Shell: The Definitive Guide",
 author		= "Daniel J. Barrett and Richard Silverman",
 publisher	= "O'Reilly \& Associates, Inc.",
 year		= 2001,
 }

@book{gzip,
 title		= "Gzip: The Data Compression Program",
 author		= "Jean-Loup Gailly",
 publisher	= "iUniverse.com",
 edition	= "1.2.4",
 year		= "1993",
 }

@inproceedings{xrandr:2001,
 title		= "{The X Resize and Rotate Extension - RandR}",
 author		= "Jim Gettys and Keith Packard",
 booktitle	= "FREENIX Track, 2001 Usenix Annual Technical Conference",
 month		= "June",
 year		= 2001,
 organization	= "USENIX",
 address	= "Boston, MA",
 url = "\url{http://www.usenix.org/publications/library/proceedings/usenix01/freenix01/gettys.html}",
}

@inproceedings{xcb:2001,
 title		= "{XCB}: An {X} Protocol C Binding",
 author		= "Bart Massey and Jamey Sharp",
 booktitle	= "XFree86 Technical Conference",
 month		= "November",
 year		= 2001,
 address	= "Oakland, CA",
 organization	= "USENIX",
 }

@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}",
}

@inproceedings{ramshaw83,
 author = {Leo Guibas and Lyle Ramshaw and Jorge Stolfi},
 title = {A kinetic framework for computational geometry},
 booktitle = {Proceedings of the IEEE 1983 24th Annual Symposium on the Foundations of Computer Science},
 year = {1983},
 pages = {100--111},
 publisher = {IEEE Computer Society Press},
}

@misc{ewing,
 title          = "Linux 2.0 Penguins",
 author         = "Larry Ewing",
 note           = "\url{http://www.isc.tamu.edu/~lewing/linux}",
}

@misc{budig,
 title          = "The Linux-Pinguin again",
 author         = "Simon Budig",
 note           = "\url{http://www.home.unix-ag.org/simon/penguin}",
}

@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}",
}

@inproceedings{fontconfig,
  title = "{Font Configuration and Customization for Open Source Systems}",
  author = "Keith Packard",
  booktitle = "2002 Gnome User's and Developers European Conference",
  month = "April",
  year = 2002,
  organization = "Gnome",
  address = "Seville, Spain",
  url = "\url{http://keithp.com/~keithp/talks/guadec2002/}",
}

@misc{watanabe,
 title          = "3-D Shape and Outline",
 author         = "Isao Watanabe",
 note           = "\url{http://www.let.kumamoto-u.ac.jp/watanabe/Watanabe-E/Illus-E/3D-E/index.html}",
}

@book{seckel,
  author = 	 {Al Seckel},
  title = 	 {The Great Book of Optical Illusions},
  publisher = 	 {Firefly Books Ltd.},
  year = 	 {2002},
}

@inproceedings{xperf:2003,
 title		= "{X Window System Network Performance}",
 author		= "Keith Packard and James Gettys",
 booktitle	= "FREENIX Track, 2003 Usenix Annual Technical Conference",
 month		= "June",
 year		= 2003,
 address	= "San Antonio, TX",
 organization	= "USENIX",		}
 
@inproceedings{cairo:2003,
 title		= "{Xr: Cross-device Rendering for Vector Graphics}",
 author		= "Carl Worth and Keith Packard",
 booktitle	= "Proceedings of the Ottawa Linux Symposium",
 month		= "July",
 year		= 2003,
 address	= "Ottawa, ON",
 organization	= "OLS",		}
 
@inproceedings{anholt:2004,
 title		= "{High Performance X Servers in the Kdrive Architecture}",
 author		= "Eric Anholt",
 booktitle	= "FREENIX Track, 2004 Usenix Annual Technical Conference",
 month		= "July",
 year		= 2004,
 address	= "Boston, MA",
 organization	= "USENIX",		}

@inproceedings{glitz:2004,
 title		= "{Glitz: Hardware Accelerated Image Compositing using OpenGL}",
 author		= "Peter Nilsson and David Reveman",
 booktitle	= "FREENIX Track, 2004 Usenix Annual Technical Conference",
 month		= "July",
 year		= 2004,
 address	= "Boston, MA",
 organization	= "USENIX",		}

@misc{hal,
 title 		= "{HAL Specification 0.2}",
 author		= "David Zeuthen",
 note = "\url{http://freedesktop.org/~david/hal-0.2/spec/hal-spec.html}",
}

--- NEW FILE: ols-fonts.tex ---

\usepackage{alltt}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{isolatin1}
\usepackage{latexsym}
\usepackage{textcomp}
\usepackage{times}
\usepackage{url}
\usepackage[T1,obeyspaces]{zrl}

% "verbatim" with line breaks, obeying spaces
\providecommand\code{\begingroup \xrlstyle{tt}\Xrl}
% as above, but okay to break lines at spaces
\providecommand\brcode{\begingroup \zrlstyle{tt}\Zrl}

% Same as the pair above, but 'l' for long == small type
\providecommand\lcode{\begingroup \small\xrlstyle{tt}\Xrl}
\providecommand\lbrcode{\begingroup \small\zrlstyle{tt}\Zrl}

% For identifiers - "verbatim" with line breaks at punctuation
\providecommand\ident{\begingroup \urlstyle{tt}\Url}
\providecommand\lident{\begingroup \small\urlstyle{tt}\Url}


--- NEW FILE: ols.sty ---

% TEMPLATE for Usenix papers, specifically to meet requirements of
%  TCL97 committee.
% originally a template for producing IEEE-format articles using LaTeX.
%   written by Matthew Ward, CS Department, Worcester Polytechnic Institute.
% adapted by David Beazley for his excellent SWIG paper in Proceedings,
%   Tcl 96
% turned into a smartass generic template by De Clarke, with thanks to
%   both the above pioneers
% use at your own risk.  Complaints to /dev/null.
% make it two column with no page numbering, default is 10 point

% adapted for Ottawa Linux Symposium

% include following in document.
%\documentclass[twocolumn]{article}
%\usepackage{usits,epsfig}
\pagestyle{empty}

%set dimensions of columns, gap between columns, and space between paragraphs
%\setlength{\textheight}{8.75in}
\setlength{\textheight}{9.0in}
\setlength{\columnsep}{0.25in}
\setlength{\textwidth}{6.45in}
\setlength{\footskip}{0.0in}
\setlength{\topmargin}{0.0in}
\setlength{\headheight}{0.0in}
\setlength{\headsep}{0.0in}
\setlength{\oddsidemargin}{0in}
%\setlength{\oddsidemargin}{-.065in}
%\setlength{\oddsidemargin}{-.17in}
\setlength{\parindent}{0pc}
% \setlength{\parskip}{\baselineskip}
\setlength{\parskip}{12pt plus3pt minus3pt}

% started out with art10.sty and modified params to conform to IEEE format
% further mods to conform to Usenix standard

\makeatletter
%as Latex considers descenders in its calculation of interline spacing,
%to get 12 point spacing for normalsize text, must set it to 10 points
\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
\abovedisplayskip 10pt plus2pt minus5pt\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus3pt\belowdisplayshortskip 6pt plus3pt
minus3pt\let\@listi\@listI} 

%need a 12 pt font size for subsection and abstract headings
\def\subsize{\@setsize\subsize{12pt}\xipt\@xipt}

%make section titles bold and 12 point, 2 blank lines before, 1 after
\def\section{\@startsection {section}{1}{\z@}{24pt plus 2pt minus 2pt}
{12pt plus 2pt minus 2pt}{\large\bf}}

%make subsection titles bold and 11 point, 1 blank line before, 1 after
\def\subsection{\@startsection {subsection}{2}{\z@}{12pt plus 2pt minus 2pt}
{12pt plus 2pt minus 2pt}{\subsize\bf}}
\makeatother

% \let\fx=\footnoterule
% \usepackage{ftnright}
% \def\footnoterule{\fx}


% set up an if so writers can tell if the whole proceedings are
% being processed together
\newif\ifols
\ifx\olsmaster\undefined
\olsfalse
\else
\olsmaster=1
\olstrue
\fi

% set up an if so writers (and the proceedings) can tell if
% latex or pdflatex is being used, and include the proper
% packages as a result...
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi


--- NEW FILE: zrl.sty ---

%%%%% This file is a kludge until such time as I learn to do it elegantly.  Sorry.
%% url - external.  Intended for items which do not contain spaces, and
%%       containing global options for obeying & breaking at spaces.  But
%%       we need to do change those things on the fly, so we're making a copy
%%       of url.sty and defining two extra groups, zrl and xrl, that 
%%       permit handling these options on the fly.  

%% Thus you can mix url without obeyspaces and/or spaces with the following:
%% zrl - url with obeyspaces,spaces turned on
%% xrl - url with obeyspaces        turned on

% zrl.sty  ver 1.4    02-Mar-1999   Donald Arseneau   asnd at triumf.ca
% Copyright 1996-1999 Donald Arseneau,  Vancouver, Canada.
% This program can be used, distributed, and modified under the terms
% of the LaTeX Project Public License.
%
% A form of \verb that allows linebreaks at certain characters or
% combinations of characters, accepts reconfiguration, and can usually
% be used in the argument to another command.  It is intended for email
% addresses, hypertext links, directories/paths, etc., which normally
% have no spaces.  The font may be selected using the \zrlstyle command,
% and new zrl-like commands can be defined using \zrldef.
%
% Usage:    Conditions:
% \zrl{ }   If the argument contains any "%", "#", or "^^", or ends with
%           "\", it can't be used in the argument to another command.
%           The argument must not contain unbalanced braces.
% \zrl|  |  ...where "|" is any character not used in the argument and not
%           "{" or a space.  The same restrictions as above except that the
%           argument may contain unbalanced braces.
% \xyz      for "\xyz" a defined-zrl;  this can be used anywhere, no matter
%           what characters it contains.
%
% See further instructions after "\endinput"
%
\def\Zrl at ttdo{% style assignments for tt fonts or T1 encoding
\def\ZrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]%
 \do\)\do\,\do\?\do\'\do\+\do\=}%
\def\ZrlBigBreaks{\do\:\do at zrl@hyp}%
\def\ZrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary)
\def\ZrlSpecials{\do\ {\ }}%
\def\ZrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually
}

\def\Xrl at ttdo{% style assignments for tt fonts or T1 encoding
\def\XrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]%
 \do\)\do\,\do\?\do\'\do\+\do\=}%
\def\XrlBigBreaks{\do\:\do at xrl@hyp}%
\def\XrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary)
\def\XrlSpecials{\do\ {\ }}%
\def\XrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually
}

\def\Zrl at do{% style assignments for OT1 fonts except tt
\def\ZrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}%
\def\ZrlBigBreaks{\do\:\do at zrl@hyp}%
\def\ZrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character
\def\ZrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_%
 \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
 \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m at th$\scriptstyle\sim$}}\do
 \ {\ }}%
\def\ZrlOrds{\do\'\do\"\do\-}%
}
\def\Xrl at do{% style assignments for OT1 fonts except tt
\def\XrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}%
\def\XrlBigBreaks{\do\:\do at xrl@hyp}%
\def\XrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character
\def\XrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_%
 \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
 \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m at th$\scriptstyle\sim$}}\do
 \ {\ }}%
\def\XrlOrds{\do\'\do\"\do\-}%
}


\def\zrl at ttstyle{%
\@ifundefined{selectfont}{\def\ZrlFont{\tt}}{\def\ZrlFont{\ttfamily}}\Zrl at ttdo
}
\def\xrl at ttstyle{%
\@ifundefined{selectfont}{\def\XrlFont{\tt}}{\def\XrlFont{\ttfamily}}\Xrl at ttdo
}


\def\zrl at rmstyle{%
\@ifundefined{selectfont}{\def\ZrlFont{\rm}}{\def\ZrlFont{\rmfamily}}\Zrl at do
}
\def\xrl at rmstyle{%
\@ifundefined{selectfont}{\def\XrlFont{\rm}}{\def\XrlFont{\rmfamily}}\Xrl at do
}


\def\zrl at sfstyle{%
\@ifundefined{selectfont}{\def\ZrlFont{\sf}}{\def\ZrlFont{\sffamily}}\Zrl at do
}
\def\xrl at sfstyle{%
\@ifundefined{selectfont}{\def\XrlFont{\sf}}{\def\XrlFont{\sffamily}}\Xrl at do
}


\def\zrl at samestyle{\ifdim\fontdimen\thr@@\font=\z@ \zrl at ttstyle \else
  \zrl at rmstyle \fi \def\ZrlFont{}}
\def\xrl at samestyle{\ifdim\fontdimen\thr@@\font=\z@ \xrl at ttstyle \else
  \xrl at rmstyle \fi \def\XrlFont{}}

\@ifundefined{strip at prefix}{\def\strip at prefix#1>{}}{}
\@ifundefined{verbatim at nolig@list}{\def\verbatim at nolig@list{\do\`}}{}

\def\Zrl{%
 \begingroup \let\zrl at moving\relax\relax \endgroup
 \ifmmode\@nomatherr$\fi
 \ZrlFont $\fam\z@ \textfont\z@\font
 \let\do\@makeother \dospecials % verbatim catcodes
 \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces
 \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip
 \@tempcnta\fam\multiply\@tempcnta\@cclvi
 \let\do\set at mathcode \ZrlOrds % ordinary characters that were special
 \advance\@tempcnta 8192 \ZrlBreaks % bin
 \advance\@tempcnta 4096 \ZrlBigBreaks % rel
 \advance\@tempcnta 4096 \ZrlNoBreaks % open
 \let\do\set at mathact \ZrlSpecials % active
 \let\do\set at mathnolig \verbatim at nolig@list % prevent ligatures
 \@ifnextchar\bgroup\Zrl at z\Zrl at y}

\def\Zrl at y#1{\catcode`{11 \catcode`}11
  \def\@tempa##1#1{\Zrl at z{##1}}\@tempa}
\def\Zrl at z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Zrl at Hook
  \expandafter\strip at prefix\meaning\@tempa\ZrlRight\m at th$\endgroup}
\def\Zrl at Hook{\ZrlLeft}
\let\ZrlRight\@empty
\let\ZrlLeft\@empty

\def\Xrl{%
 \begingroup \let\xrl at moving\relax\relax \endgroup
 \ifmmode\@nomatherr$\fi
 \XrlFont $\fam\z@ \textfont\z@\font
 \let\do\@makeother \dospecials % verbatim catcodes
 \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces
 \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip
 \@tempcnta\fam\multiply\@tempcnta\@cclvi
 \let\do\set at mathcode \XrlOrds % ordinary characters that were special
 \advance\@tempcnta 8192 \XrlBreaks % bin
 \advance\@tempcnta 4096 \XrlBigBreaks % rel
 \advance\@tempcnta 4096 \XrlNoBreaks % open
 \let\do\set at mathact \XrlSpecials % active
 \let\do\set at mathnolig \verbatim at nolig@list % prevent ligatures
 \@ifnextchar\bgroup\Xrl at z\Xrl at y}

\def\Xrl at y#1{\catcode`{11 \catcode`}11
  \def\@tempa##1#1{\Xrl at z{##1}}\@tempa}
\def\Xrl at z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Xrl at Hook
  \expandafter\strip at prefix\meaning\@tempa\XrlRight\m at th$\endgroup}
\def\Xrl at Hook{\XrlLeft}
\let\XrlRight\@empty
\let\XrlLeft\@empty


\def\set at mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@}
\def\set at mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}}
\def\set at mathnolig#1{\ifnum\mathcode`#1<32768
   \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}%
   \mathcode`#132768 \fi}

\def\zrldef#1#2{\begingroup \setbox\z@\hbox\bgroup
  \def\Zrl at z{\Zrl at def{#1}{#2}}#2}
\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
  \def\Zrl at def#1#2#3{\m at th$\endgroup\egroup\endgroup
    \def#1{#2{#3}}}
\else
  \def\Zrl at def#1#2#3{\m at th$\endgroup\egroup\endgroup
    \DeclareRobustCommand{#1}{#2{#3}}}
\fi

\def\xrldef#1#2{\begingroup \setbox\z@\hbox\bgroup
  \def\Xrl at z{\Xrl at def{#1}{#2}}#2}
\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
  \def\Xrl at def#1#2#3{\m at th$\endgroup\egroup\endgroup
    \def#1{#2{#3}}}
\else
  \def\Xrl at def#1#2#3{\m at th$\endgroup\egroup\endgroup
    \DeclareRobustCommand{#1}{#2{#3}}}
\fi

\def\zrlstyle#1{\csname zrl@#1style\endcsname}
\def\xrlstyle#1{\csname xrl@#1style\endcsname}

% Sample (and default) configuration:
%
\newcommand\zrl{\begingroup \Zrl}
\newcommand\xrl{\begingroup \Xrl}
%
% picTeX defines \path, so declare it optionally:
\@ifundefined{path}{\newcommand\path{\begingroup \zrlstyle{tt}\Zrl}}{}
\@ifundefined{path}{\newcommand\path{\begingroup \xrlstyle{tt}\Xrl}}{}
%
% too many styles define \email like \address, so I will not define it.
% \newcommand\email{\begingroup \zrlstyle{rm}\Zrl}

% Process LaTeX \package options
%
\zrlstyle{tt}
%\let\Zrl at sppen\@M
\def\do at zrl@hyp{}% by default, no breaks after hyphens
%%%%%
\let\Zrl at sppen\relpenalty
\let\Zrl at Hook\relax
\xrlstyle{tt}
\let\Xrl at sppen\@M
\def\do at xrl@hyp{}% by default, no breaks after hyphens
\let\Xrl at Hook\relax
%%%%%
\@ifundefined{ProvidesPackage}{}{
  \ProvidesPackage{zrl}[1999/03/02 \space ver 1.4 \space
       Verb mode for zrls, email addresses, and file names]
  \DeclareOption{hyphens}{\def\do at zrl@hyp{\do\-}\def\do at xrl@hyp{\do\-}}% allow breaks after hyphens
  \DeclareOption{obeyspaces}{\let\Zrl at Hook\relax\let\Xrl at Hook\relax}% a flag for later
  \DeclareOption{spaces}{\let\Zrl at sppen\relpenalty}
  \DeclareOption{T1}{\let\Zrl at do\Zrl at ttdo\let\Xrl at do\Xrl at ttdo}
  \ProcessOptions
\ifx\Zrl at Hook\relax % [obeyspaces] was declared
  \def\Zrl at Hook#1\ZrlRight\m at th{\edef\@tempa{\noexpand\ZrlLeft
    \Zrl at retain#1\Zrl at nosp\, }\@tempa\ZrlRight\m at th}
  \def\Zrl at retain#1 {#1\penalty\Zrl at sppen\ \Zrl at retain}
  \def\Zrl at nosp\,#1\Zrl at retain{}
\fi
\ifx\Xrl at Hook\relax % [obeyspaces] was declared
  \def\Xrl at Hook#1\XrlRight\m at th{\edef\@tempa{\noexpand\XrlLeft
    \Xrl at retain#1\Xrl at nosp\, }\@tempa\XrlRight\m at th}
  \def\Xrl at retain#1 {#1\penalty\Xrl at sppen\ \Xrl at retain}
  \def\Xrl at nosp\,#1\Xrl at retain{}
\fi
}

\edef\zrl at moving{\csname Zrl Error\endcsname}
\expandafter\edef\zrl at moving
 {\csname zrl used in a moving argument.\endcsname}
\expandafter\expandafter\expandafter \let \zrl at moving\undefined 

\edef\xrl at moving{\csname Xrl Error\endcsname}
\expandafter\edef\xrl at moving
 {\csname xrl used in a moving argument.\endcsname}
\expandafter\expandafter\expandafter \let \xrl at moving\undefined 

\endinput
%
% zrl.sty  ver 1.4   02-Mar-1999   Donald Arseneau   asnd at reg.triumf.ca
%
% This package defines "\zrl", a form of "\verb" that allows linebreaks,
% and can often be used in the argument to another command.  It can be
% configured to print in different formats, and is particularly useful for
% hypertext links, email addresses, directories/paths, etc.  The font may
% be selected using the "\zrlstyle" command and pre-defined text can be
% stored with the "\zrldef" command. New zrl-like commands can be defined,
% and a "\path" command is provided this way.
%
% Usage:    Conditions:
% \zrl{ }   If the argument contains any "%", "#", or "^^", or ends with
%           "\", it can't be used in the argument to another command.
%           The argument must not contain unbalanced braces.
% \zrl|  |  ...where "|" is any character not used in the argument and not
%           "{" or a space.  The same restrictions as above except that the
%           argument may contain unbalanced braces.
% \xyz      for "\xyz" a defined-zrl;  this can be used anywhere, no matter
%           what characters it contains.
%
% The "\zrl" command is fragile, and its argument is likely to be very
% fragile, but a defined-zrl is robust.
%
% Package Option:  obeyspaces
% Ordinarily, all spaces are ignored in the zrl-text.  The "[obeyspaces]"
% option allows spaces, but may introduce spurious spaces when a zrl
% containing "\" characters is given in the argument to another command.
% So if you need to obey spaces you can say "\usepackage[obeyspaces]{zrl}",
% and if you need both spaces and backslashes, use a `defined-zrl' for
% anything with "\".
%
% Package Option:  hyphens
% Ordinarily, breaks are not allowed after "-" characters because this
% leads to confusion. (Is the "-" part of the address or just a hyphen?)
% The package option "[hyphens]" allows breaks after explicit hyphen
% characters.  The "\zrl" command will *never ever* hyphenate words.
%
% Package Option:  spaces
% Likewise, breaks are not usually allowed after spaces under the
% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]"
% will allow breaks at those spaces.
%
% Package Option:  T1
% This signifies that you will be using T1-encoded fonts which contain
% some characters missing from most older (OT1) encoded TeX fonts.  This
% changes the default definition for "\zrlstyle{rm}".
%
% Defining a defined-zrl:
% Take for example the email address "myself%node at gateway.net" which could
% not be given (using "\zrl" or "\verb") in a caption or parbox due to the
% percent sign.  This address can be predefined with
%    \zrldef{\myself}\zrl{myself%node at gateway.net}   or
%    \zrldef{\myself}\zrl|myself%node at gateway.net|
% and then you may use "\myself" instead of "\zrl{myself%node at gateway.net}"
% in an argument, and even in a moving argument like a caption because a
% defined-zrl is robust.
%
% Style:
% You can switch the style of printing using "\zrlstyle{tt}", where "tt"
% can be any defined style.  The pre-defined styles are "tt", "rm", "sf",
% and "same" which all allow the same linebreaks but different fonts --
% the first three select a specific font and the "same" style uses the
% current text font.  You can define your own styles with different fonts
% and/or line-breaking by following the explanations below.  The "\zrl"
% command follows whatever the currently-set style dictates.
%
% Alternate commands:
% It may be desireable to have different things treated differently, each
% in a predefined style; e.g., if you want directory paths to always be
% in tt and email addresses to be rm, then you would define new zrl-like
% commands as follows:
%
%    \newcommand\email{\begingroup \zrlstyle{rm}\Zrl}
%    \newcommand\directory{\begingroup \zrlstyle{tt}\Zrl}
%
% You must follow this format closely, and NOTE that the final command is
% "\Zrl", not "\zrl".  In fact, the "\directory" example is exactly the
% "\path" definition which is pre-defined in the package.  If you look
% above, you will see that "\zrl" is defined with
%    \newcommand\zrl{\begingroup \Zrl}
% I.e., using whatever zrl-style has been selected.
%
% You can make a defined-zrl for these other styles, using the usual
% "\zrldef" command as in this example:
%
%    \zrldef{\myself}{\email}{myself%node.domain at gateway.net}
%
% which makes "\myself" act like "\email{myself%node.domain at gateway.net}",
% if the "\email" command is defined as above.  The "\myself" command
% would then be robust.
%
% Defining styles:
% Before describing how to customize the printing style, it is best to
% mention something about the unusual implementation of "\zrl".  Although
% the material is textual in nature, and the font specification required
% is a text-font command, the text is actually typeset in *math* mode.
% This allows the context-sensitive linebreaking, but also accounts for
% the default behavior of ignoring spaces.  Now on to defining styles.
%
% To change the font or the list of characters that allow linebreaks, you
% could redefine the commands "\ZrlFont", "\ZrlBreaks", "\ZrlSpecials" etc.
% directly in the document, but it is better to define a new `zrl-style'
% (following the example of "\zrl at ttstyle" and "\zrl at rmstyle") which defines
% all of "\ZrlBigbreaks", "\ZrlNoBreaks", "\ZrlBreaks", "\ZrlSpecials", and
% "\ZrlFont".
%
% Changing font:
% The "\ZrlFont" command selects the font.  The definition of "\ZrlFont"
% done by the pre-defined styles varies to cope with a variety of LaTeX
% font selection schemes, but it could be as simple as "\def\ZrlFont{\tt}".
% Depending on the font selected, some characters may need to be defined
% in the "\ZrlSpecials" list because many fonts don't contain all the
% standard input characters.
%
% Changing linebreaks:
% The list of characters that allow line-breaks is given by "\ZrlBreaks"
% and "\ZrlBigBreaks", which have the format "\do\c" for character "c".
% The differences are that `BigBreaks' have a lower penalty and have
% different breakpoints when in sequence (as in "http://"): `BigBreaks'
% are treated as mathrels while `Breaks' are mathbins (see The TeXbook,
% p.170). In particular, a series of `BigBreak' characters will break at
% the end and only at the end; a series of `Break' characters will break
% after the first and after every following *pair*; there will be no
% break after a `Break' character if a `BigBreak' follows.  In the case
% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' --
% the breaks are the same in either case; but for DECnet nodes with "::"
% it is important to prevent breaks *between* the colons, and that is why
% colons are `BigBreaks'.
%
% It is possible for characters to prevent breaks after the next following
% character (I use this for parentheses).  Specify these in "\ZrlNoBreaks".
%
% You can do arbitrarily complex things with characters by making them
% active in math mode (mathcode hex-8000) and specifying the definition(s)
% in "\ZrlSpecials".  This is used in the rm and sf styles for OT1 font
% encoding to handle several characters that are not present in those
% computer-modern style fonts.  See the definition of "\Zrl at do", which
% is used by both "\zrl at rmstyle" and "\zrl at sfstyle"; it handles missing
% characters via "\ZrlSpecials".  The nominal format for setting each
% special character "c" is: "\do\c{<definition>}", but you can include
% other definitions too.
%
%
% If all this sounds confusing ... well, it is!  But I hope you won't need
% to redefine breakpoints -- the default assignments seem to work well for
% a wide variety of applications.  If you do need to make changes, you can
% test for breakpoints using regular math mode and the characters "+=(a".
%
% Yet more flexibility:
% You can also customize the verbatim text by defining "\ZrlRight" and/or
% "\ZrlLeft", e.g., for ISO formatting of zrls surrounded by "<  >", define
%
%    \renewcommand\zrl{\begingroup \def\ZrlLeft{<zrl: }\def\ZrlRight{>}%
%        \zrlstyle{tt}\Zrl}
%
% The meanings of "\ZrlLeft" and "\ZrlRight" are *not* reproduced verbatim.
% This lets you use formatting commands there, but you must be careful not
% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly.
% You can also define "\ZrlLeft" to reprocess the verbatim text, but the
% format of the definition is special:
%
%    \def\ZrlLeft#1\ZrlRight{ ... do things with #1 ... }
%
% Yes, that is "#1" followed by "\ZrlRight" then the definition.  For
% example, to put a hyperTeX hypertext link in the DVI file:
%
%    \def\ZrlLeft#1\ZrlRight{\special{html:<a href="#1">}#1\special{html:</a>}}
%
% Using this technique, zrl.sty can provide a convenient interface for
% performing various operations on verbatim text.  You don't even need
% to print out the argument!  For greatest efficiency in such obscure
% applications, you can define a null zrl-style where all the lists like
% "\ZrlBreaks" are empty.
%
% Revision History:
% ver 1.1 6-Feb-1996: 
% Fix hyphens that wouldn't break and ligatures that weren't suppressed.
% ver 1.2 19-Oct-1996:
% Package option for T1 encoding; Hooks: "\ZrlLeft" and "\ZrlRight".
% ver 1.3 21-Jul-1997:
% Prohibit spaces as delimiter characters; change ascii tilde in OT1.
% ver 1.4 02-Mar-1999
% LaTeX license; moving-argument-error
% The End

Test file integrity:  ASCII 32-57, 58-126:  !"#$%&'()*+,-./0123456789
:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~




More information about the Commit mailing list