1
0
Fork 0
lvspec/lvspec.tex

259 lines
6.9 KiB
TeX
Raw Normal View History

% LoVullo Specification Specification
%
% Yep.
\documentclass[draft]{lvspec}
2013-08-21 13:30:30 -04:00
\usepackage{multicol}
\usepackage[final]{graphicx}
\makeatletter
\def\@lvspec@titlecmd{%
\includegraphics[scale=0.5]{images/dilbert-time.png}
\vfill
}%
\makeatother
\begin{document}
\title{LoVullo Specification Specifications}
\author{Mike Gerwitz}
\abstract{%
\setlength\columnsep{-5ex}%
\begin{multicols}{2}
\begin{quote}
\sl\small\raggedright
\def\ind{}%
%
In the beginning was the plan,\\
\ind and then the specification;\\
And the plan was without form,\\
\ind and the specification was void.
2013-08-21 13:30:30 -04:00
And darkness\\
\ind was on the faces of the implementors thereof;\\
And they spake unto their leader, saying:\\
``It is a crock of shit,\\
\ind and smells as of a sewer.''
2013-08-21 13:30:30 -04:00
And the leader took pity on them,\\
\ind and spoke to the project leader:\\
``It is a crock of excrement,\\
\ind and none may abide the odor thereof.''
2013-08-21 13:30:30 -04:00
And the project leader\\
\ind spake unto his section head, saying:\\
``It is a container of excrement,\\
\ind and it is very strong, such that none may abide it.''
2013-08-21 13:30:30 -04:00
The section head then hurried to his department manager,\\
\ind and informed him thus:\\
``It is a vessel of fertilizer,\\
\ind and none may abide its strength.''
\goodbreak
2013-08-21 13:30:30 -04:00
The department manager carried these words\\
\ind to his general manager,\\
and spoke unto him\\
\ind saying:\\
``It containeth that which aideth the growth of plants,\\
\ind and it is very strong.''
2013-08-21 13:30:30 -04:00
And so it was that the general manager rejoiced\\
\ind and delivered the good news unto the Vice President.\\
``It promoteth growth,\\
\ind and it is very powerful.''
2013-08-21 13:30:30 -04:00
The Vice President rushed to the President's side,\\
\ind and joyously exclaimed:\\
``This powerful new software product\\
\ind will promote the growth of the company!''
And the President looked upon the product,\\
\ind and saw that it was very good.
\hfill---The Jargon File
\end{quote}
\end{multicols}
\bigskip
}
\maketitle
2013-08-21 13:30:30 -04:00
2013-08-22 09:00:50 -04:00
\begindeptgroup{it}
\chapter{Oh, Hello}
\incomplete
\todo{There's no specification yet; in due time.}
\bigskip
\begin{center}
\includegraphics[scale=0.5]{images/spec-design.png}
\end{center}
2013-08-22 09:14:33 -04:00
\appendix
2013-08-22 09:00:50 -04:00
\chapter{Creating Specifications with \LaTeX}
2013-08-22 09:14:33 -04:00
This appendix is an example of an implementation of the specifications and is
2013-08-22 09:00:50 -04:00
useful as an API reference, but \shallnot be used in place of formal
specifications with regards to implementation.
2013-08-22 09:16:03 -04:00
Using the {\tt lvspec} document class with enable paragraph numbering; {\tt
2013-08-22 09:00:50 -04:00
draft} mode will enable signature lines, as shown to the right.
\begin{ex}
\begin{verbatim}
% omit "[draft]" to disable unapproved signature lines
\documentclass[draft]{lvspec}
% as is the case with all LaTeX documents, begin and end with document
% environment
\begin{document}
% ...content here...
\end{document}
\end{verbatim}
\end{ex}
Example environments, as shown above, can be created with the {\tt ex}
environment. All examples end with `$\square$'.
\begin{ex}
\begin{verbatim}
\begin{ex}
% ...example here...
\end{ex}
\end{verbatim}
\end{ex}
\section{Paragraph Numbering}
Paragraph numbering can be temporarily disabled using \verb|\pnumoff| and
re-enabled using \verb|pnumon|\ldots
\pnumoff
\ldots as shown here.
\pnumon
Numbers will continue where they previously left off before being suppressed.
Disabling paragraph numbering also disables the signature line
\begin{ex}
\begin{verbatim}
Paragraph numbering can be temporarily disabled using \verb|\pnumoff| and
re-enabled using \verb|pnumon|\ldots
\pnumoff
\ldots as shown here.
\pnumon
Numbers will continue where they previously left off before being suppressed.
\end{verbatim}
\end{ex}
\section{Signature Lines}
The department for the entire section can be set using the
\verb|\sectiondept| command; the command takes effect until the next section
or chapter.
\begin{ex}
\begin{verbatim}
\section{Signature Lines}
\sectiondept{it}
The department for the entire section can be set using the
\verb|\sectiondept| command; the command takes effect until the next section
or chapter.
\end{verbatim}
\end{ex}
\dept{pm}
The department can be set per-paragraph using the \verb|\dept| command, as
demonstrated in this paragraph; the command will override any
\verb|\sectiondept| command temporarily and will undo itself after the paragraph
ends.
\begin{ex}
\begin{verbatim}
\dept{pm}
The department can be set per-paragraph using the \verb|\dept| command, as
demonstrated in this paragraph; the command will override any
\verb|\sectiondept| command temporarily and will undo itself after the paragraph
ends.
\end{verbatim}
\end{ex}
\dept{it}
An arbitrary group of paragraphs may have their section set using
\verb|\begindeptgroup| and \verb|\enddeptgroup|; they are \emph{not} reset by
sections. They may be nested.
\begin{ex}
\begin{verbatim}
\begindeptgroup{it}
% group: it
\begindeptgroup{pm}
% group: pm
\enddeptgroup
% group: it
\enddeptgroup
\end{verbatim}
\end{ex}
Clicking on the department in the signature line will take you to the
^[authorization parties] section of the definitions (in this document,
\sref{authorize}).
\subsection{Incomplete}
\incomplete
If a paragraph is incomplete and not yet ready for authorization, use
\verb|\incomplete|.
\begin{ex}
\begin{verbatim}
\incomplete
If a paragraph is incomplete and not yet ready for authorization, use
\verb|\incomplete|.
\end{verbatim}
\end{ex}
\incompletei
If a paragraph is incomplete because more information is needed, then use the
command \verb|\incompletei|, which also includes the name of the department.
\begin{ex}
\begin{verbatim}
\incompletei
If a paragraph is incomplete because more information is needed, then use the
command \verb|\incompletei|, which also includes the name of the department.
\end{verbatim}
\end{ex}
\enddeptgroup
2013-08-22 09:14:33 -04:00
\pnumoff
\chapter{\LaTeX\ Tips}
This appendix is by no means comprehensive.
\section{Generating PDF}
A PDF can be generated from the~\TeX\ source files by issuing the command
\cmd{pdflatex}; indexes are generated using the command \cmd{makeidx}; and
bibliographies are generated using \cmd{bibtex}. First, \cmd{pdftex} must be run
to determine the page numbers and gather all the references. Then, after each of
the latter two commands are run, \cmd{pdftex} must be re-run in order to update
the document. Since the act of updating the document may alter the references,
it is recommended to run \cmd{pdftex} multiple times at the end:\footnote{See
\path{lvspec.git/Makefile} for an example.}
\begin{ex}
\begin{verbatim}
$ pdftex src.tex \
> && bibtex src.tex \
> && makeindex src \
> && pdftex src.tex \
> && pdftex src.tex
\end{verbatim}
\end{ex}
\noindent You may decide to omit \cmd{bibtex} if you are not using a
bibliography (but you probably should cite your information and rationale).
\end{document}