bird/doc/tex/birddoc.sty
2000-06-08 11:05:19 +00:00

124 lines
3.8 KiB
TeX

%% This is a LaTeX style file for typesetting BIRD documentation.
%% Hacked up by Martin Mares <mj@ucw.cz>
%%
%% This is a modified version of linuxdoc-qwertz.sty, for use with SGML-generated LaTeX
%% by Matt Welsh (mdw@sunsite.unc.edu)
%%
%% Based on linuxdoc.sty by Michael K. Johnson, and latex.tex by
%% Leslie Lamport.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{birddoc}
%%% GLOBAL LAYOUT THINGS
\marginparwidth 0.0 in
\parindent=0 in
\parskip=0.5ex
%\parindent=0.5in
%\parskip=0pt
\topmargin -0.5 in
\setlength{\textheight}{\paperheight}
\addtolength{\textheight}{-2 in}
%\advance\headsep 2 ex
\advance\textheight -2 ex
%\renewcommand{\baselinestretch}{1.14}
\setcounter{tocdepth}{1}
\oddsidemargin 0.5 in
\evensidemargin 0 in
\textwidth 6.5in
\def\ps@headings{\let\@mkboth\markboth
\def\@oddfoot{}\def\@evenfoot{}% No feet.
\def\@evenhead{\protect\rule[-4pt]{\textwidth}{.5pt}\kern-\textwidth
\rm \thepage\hfil \bf \leftmark} % Left heading.
\def\@oddhead{\protect\rule[-4pt]{\textwidth}{.5pt}\kern-\textwidth
{\bf \rightmark}\hfil \rm\thepage} % Right heading.
\def\chaptermark##1{\markboth {{\ifnum \c@secnumdepth >\m@ne
\@chapapp\ \thechapter. \ \fi ##1}}{}}%
\def\sectionmark##1{\markright {{\ifnum \c@secnumdepth >\z@
\thesection. \ \fi ##1}}}}
\def\@makechapterhead#1{%
{\parindent \z@ \raggedright \normalfont
\huge \bfseries \@chapapp\space\thechapter: #1\par\nobreak
\vskip 20\p@
}}
\def\@makeschapterhead#1{%
{\parindent \z@ \raggedright \normalfont
\huge \bfseries #1\par\nobreak
\vskip 20\p@
}}
%% Titlepage stuff
\gdef\@title{}
\gdef\title#1{\gdef\@title{#1}}
\gdef\@date{}
\gdef\date#1{\gdef\@date{#1}}
\gdef\@author{}
\gdef\author#1{\gdef\@author{#1}}
\gdef\@abstract{}
\gdef\abstract#1{\gdef\@abstract{#1}}
\def\maketitle{\thispagestyle{empty}\let\footnotesize\small%
\let\footnoterule\relax
%\setcounter{page}{0}%
%\null
%\vskip 3 in
\noindent
{\huge\sf \@title}\\
\rule{\textwidth}{1mm}\\
\mbox{}\@author\ \hfill \@date\ \\
\vskip 1 ex
\noindent{\sf \@abstract}
\setcounter{footnote}{0}%
\gdef\@author{}\gdef\@title{}\gdef\@years{}\gdef\@abstract{}
\let\maketitle\relax}
\def\birdnarrow{\advance\@totalleftmargin by 0.5in}
%% Needs to be here for the previous ps@headings defs to work.
\pagestyle{headings}
\def\progdoc{
\raggedbottom
}
%%% USEFUL MACROS
\newcommand{\linux}{Linux} % Always use this when
% refering to the \linux\
% operating system, like that.
\newcommand{\key}[1]{{\fbox{\small\tt #1}}} % Use this to mark keys, like
% \key{del} for the delete key.
\newcommand{\ret}{\fbox{\sf return}} % Special case for the return key.
\newcommand{\st}{\small\tt} % Small typewriter -- comes in handy.
%\newcommand{\lb}{{\tt\char '173}} % Left Brace '{'
%\newcommand{\rb}{{\tt\char '175}} % Right Brace '}'
\newcommand{\lbr}{$\langle$} % Left Bracket '<'
\newcommand{\rbr}{$\rangle$} % Right Bracket '>'
\newcommand{\bs}{{\tt\char '134}} % BackSlash '\'
\newcommand{\tm}{${}^{\mbox{\tiny\sf TM}}$}
\newcommand{\TM}{\tm} % TM trademark symbol in
% either case
\newcommand{\cparam}[1]{{\rm \lbr{\sl #1}\rbr}}
% Metavariables.
%% Define NAMEURL macro to handle the optional name argument
%% This calls on the \url macro from the url.sty package so the
%% URL will be hyphenated correctly.
\def\nameurl#1#2{{\em #2} {\tt <\url{#1}>}}
\def\onlynameurl#1{{\em #1}}
%% the tscreen environment automatically goes into typewriter type,
%% but is otherwise like the screen environment
\newenvironment{tscreen}%
{\begin{quote}\bgroup\small\tt}%
{\egroup\end{quote}}
%% Typesetting of function descriptions
\def\function{\bigbreak\hrule\nobreak\bigskip\nobreak\leftline{\bf Function}\nobreak\smallskip\nobreak\parskip=0pt\relax}
\def\funcsect#1{\medbreak\leftline{\bf #1}\nobreak}