Use longtable for protocol BNF.
[doldaconnect.git] / doc / protocol / protocol.tex
index fa7a601..3d3f9be 100644 (file)
@@ -2,9 +2,11 @@
 
 \usepackage[T1]{fontenc}
 \usepackage[utf8x]{inputenc}
+\usepackage[ps2pdf]{hyperref}
 \usepackage{reqlist}
+\usepackage{longtable}
 
-\newcommand{\url}[1]{\texttt{<#1>}}
+\newcommand{\urlink}[1]{\texttt{<#1>}}
 \newcommand{\unix}{\textsc{Unix}}
 
 \title{Dolda Connect protocol}
@@ -14,6 +16,8 @@
 
 \maketitle
 
+\tableofcontents
+
 \section{Introduction}
 Dolda Connect consists partly of a daemon (a.k.a. server) that runs in
 the background and carries out all the actual work, and a number of
@@ -33,7 +37,7 @@ project's Scheme interpreter) and for Python. The former is
 distributed with the main Dolda Connect source tree, while the latter
 is distributed separately (for technical reasons). To get a copy,
 please refer to Dolda Connect's homepage at
-\url{http://www.dolda2000.com}.
+\urlink{http://www.dolda2000.com}.
 
 \section{Transport format}
 Note: Everything covered in this section is handled by the
@@ -118,7 +122,7 @@ when talking directly to the daemon with a program such as
 Formally, the syntax of the protocol may be defined with the following
 BNF rules. Note that they all operate on Unicode characters, not bytes.
 
-\begin{tabular}{lcl}
+\begin{longtable}{lcl}
 <session> & ::= & <SYN> <response> \\
  & & | <session> <transaction> \\
  & & | <session> <notification> \\
@@ -152,7 +156,7 @@ BNF rules. Note that they all operate on Unicode characters, not bytes.
 & & | ``\texttt{5}'' | ``\texttt{6}'' |
 ``\texttt{7}'' | ``\texttt{8}'' |
 ``\texttt{9}''
-\end{tabular}
+\end{longtable}
 
 As for the terminal symbols, <SPACE> is U+0020, <TAB> is U+0009,
 <CRLF> is the sequence of U+000D and U+000A, <DASH> is U+002D, <CHAR>
@@ -306,4 +310,6 @@ nonetheless.
     programs}.
 \end{responses}
 
+\input{commands}
+
 \end{document}