summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/unswthesis
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/unswthesis
Initial commit
Diffstat (limited to 'macros/latex/contrib/unswthesis')
-rw-r--r--macros/latex/contrib/unswthesis/README29
-rw-r--r--macros/latex/contrib/unswthesis/mythesis.sty95
-rw-r--r--macros/latex/contrib/unswthesis/testunsw.tex100
-rw-r--r--macros/latex/contrib/unswthesis/thesis.tex339
-rw-r--r--macros/latex/contrib/unswthesis/unswthesis.cls286
5 files changed, 849 insertions, 0 deletions
diff --git a/macros/latex/contrib/unswthesis/README b/macros/latex/contrib/unswthesis/README
new file mode 100644
index 0000000000..1f98ab2cb0
--- /dev/null
+++ b/macros/latex/contrib/unswthesis/README
@@ -0,0 +1,29 @@
+This directory contains the UNSW Thesis class. The following files are
+supplied:
+
+unswthesis.cls - The actual thesis class. Some comments on its use
+ appear in the file itself.
+fancyheadings.sty - Required package by "unswthesis.cls".
+
+testunsw.tex - Test out some of the UNSW Thesis class. Requires
+ the above two files.
+thesis.tex - A severly trimmed-down version of my thesis, to
+ show how *I* used the class. Learning is often
+ best done by example...
+mythesis.sty - Required by "thesis.tex". Shows how some useful
+ things may be defined in LaTeX-2e.
+fancybox.sty - Required by "thesis.tex" for fancy boxes.
+
+Note that these files are supplied AS IS, without any guarantee as to their
+suitability or even complience with university regulations. Also, I cannot
+guarantee that I will support these files, nor provide any help for you to
+use them.
+
+I am interested in receiving feedback about these files; please contact me on
+John Zaitseff <J.Zaitseff@unsw.edu.au>.
+
+For anyone thinking of using LaTeX-2e seriously for their thesis, etc, I
+highly recommend the two books "LaTeX: A document preparation system",
+by Leslie Lamport, original author of LaTeX (2nd ed, published by
+Addison Wesley), and "The LaTeX Companion", by Goossens, Mittelbach
+and Samarin, (Addison Wesley).
diff --git a/macros/latex/contrib/unswthesis/mythesis.sty b/macros/latex/contrib/unswthesis/mythesis.sty
new file mode 100644
index 0000000000..6e453ae256
--- /dev/null
+++ b/macros/latex/contrib/unswthesis/mythesis.sty
@@ -0,0 +1,95 @@
+\usepackage{xspace}
+\usepackage{fancybox}
+\usepackage[dvips]{graphics}
+%\usepackage{float}
+
+%%%% Keywords
+\newcommand{\Elan}{\'Elan\xspace}
+\newcommand{\EPC}{\protect{\Elan Portable Computer}\xspace}
+\newcommand{\AmSC}{\mbox{Am386SC300}\xspace}
+\newcommand{\SCATsx}{\mbox{SCATsx}\xspace}
+\newcommand{\High}{\mbox{\textsc{High}}\xspace}
+\newcommand{\Low}{\mbox{\textsc{Low}}\xspace}
+\newcommand{\PCMCIA}{\mbox{PCMCIA}\xspace}
+\newcommand{\JEIDA}{\mbox{JEIDA}\xspace}
+
+%%%% Thesis details
+\thesistitle{The \Elan \AmSC \\ Portable Computer}
+\thesisauthor{John Zaitseff (2120715)}
+\thesisdegree{Bachelor of Engineering (Computer Engineering)}
+\thesisdate{October 1995}
+\thesissupervisor{A/Prof.\ Branko Celler}
+\thesisassessor{Dr.\ Tim Hesketh}
+
+%%%% Hyphenation exceptions
+\hyphenation{elec-tro-car-dio-gram elec-tro-car-dio-grams}
+
+%%%% Style definitions
+\newcommand{\pn}[1]{\mbox{\textsf{#1}}} % Pin name
+\newcommand{\pnob}[1]{\ensuremath{\overline{\pn{#1}}}} % Pin name, overline
+\newcommand{\pnm}[3]{\mbox{\pn{#1[#2:#3]}}} % Pin name (multiple)
+\newcommand{\pnmob}[3]{\pnob{\pnm{#1}{#2}{#3}}} % PN, mult, overline
+\newcommand{\pnt}[2]{\mbox{\pn{#1/}\pnob{#2}}} % Pin name (two)
+\newcommand{\vp}[1]{\normalfont\textit{#1}} % variable param.
+\newcommand{\sub}[2]{\mbox{#1\ensuremath% % subscripts
+ {{}_\mathrm{#2}}}}
+\newcommand{\addr}[1]{\mbox{#1h}} % Hex address
+\newcommand{\book}[1]{\textit{#1}} % Ref. to book
+\newcommand{\cdes}[1]{\mbox{#1}} % Comp. designator
+
+\DeclareTextFontCommand{\emph}{\em} % Emphasis
+\DeclareTextFontCommand{\so}{\bfseries} % Stand-out
+\DeclareTextFontCommand{\exemph}{\bfseries\em} % Extra emphasis
+
+%%%% Custom environments
+\newenvironment{pindescr}% % Pin description env.
+ {\begin{description}}%
+ {\end{description}}
+\newcommand{\iopin}[3]% % I/O Pin (item)
+ {\item [{#1}] \textbf{#2} (#3)\nopagebreak\par\nopagebreak}
+\newcommand{\pin}[2]%
+ {\item [{#1}] \textbf{#2}\nopagebreak\par\nopagebreak}
+\newcommand{\iopind}[6]% % Dual-definition I/O pin
+ {\item [{#1}] \textbf{#2} (#3)\nopagebreak%
+ \hspace{-\parsep}\hspace{-\itemsep}%
+ \item [{#4}] \textbf{#5} (#6)\nopagebreak\par\nopagebreak}
+
+
+\newenvironment{ctabular}[1]% % Centered tabular
+ {\par\begin{sspacing}\begin{center}\begin{tabular}{#1}}%
+ {\end{tabular}\end{center}\end{sspacing}}
+
+\newenvironment{indented}% % Indented on both margins
+ {\begin{list}{}{%
+ \setlength{\rightmargin}{\leftmargin}}%
+ \item[]\ignorespaces}%
+ {\unskip\end{list}}
+
+\newenvironment{boxedminipage}% % Boxed minipage
+ {\begin{Sbox}\begin{minipage}}%
+ {\end{minipage}\end{Sbox}\fbox{\TheSbox}}
+
+\newenvironment{ourfigure}%
+ {\begin{figure}[!htbp]\begin{center}}%
+ {\end{center}\end{figure}}
+
+\newenvironment{ourtable}%
+ {\begin{table}[!htpb]\begin{minipage}{\linewidth}\begin{center}}%
+ {\end{center}\end{minipage}\end{table}}
+
+%%%% Shortcuts
+\newcommand{\num}[2]{\mbox{#1\,#2}} % num with units
+\newcommand{\res}[2]{\mbox{#1\,#2\ensuremath{\Omega}}} % #1 #2 ohms resistance
+\newcommand{\bit}[1]{\mbox{#1-bit}} % #1-bit
+\newcommand{\threevolt}{\num{3.3}{V}\xspace} % 3.3 V
+\newcommand{\fivevolt}{\num{5}{V}\xspace} % 5 V
+\newcommand{\pll}[1]{\mbox{#1-PLL}} % xxx-PLL
+\newcommand{\vpx}{\_\vp{x}} % _x
+
+%%%% Symbols
+\newcommand{\yes}{\ensuremath{\surd}\xspace} % Tick mark
+\newcommand{\no}{\ensuremath{\times}\xspace} % Cross mark
+\newcommand{\by}{\ensuremath{\times}\xspace} % XXX x XXX
+\newcommand{\bAND}{\ensuremath{\wedge}\xspace} % Bool. /\
+\newcommand{\bOR}{\ensuremath{\vee}\xspace} % Bool. \/
+\newcommand{\becomes}{\ensuremath{\rightarrow}\xspace} % -->
diff --git a/macros/latex/contrib/unswthesis/testunsw.tex b/macros/latex/contrib/unswthesis/testunsw.tex
new file mode 100644
index 0000000000..f3a45a8880
--- /dev/null
+++ b/macros/latex/contrib/unswthesis/testunsw.tex
@@ -0,0 +1,100 @@
+% This is a sample thesis, showing how to use the "unswthesis" class.
+% (C) John Zaitseff, 1995. <J.Zaitseff@unsw.edu.au>
+
+\documentclass{unswthesis}
+%\documentclass[singlespacing]{unswthesis}
+
+\thesisuni{The University of New South Wales}
+\thesisschool{School of Electrical Engineering and\\
+ Computer Engineering}
+
+\thesistitle{Building the \'Elan Am386SC300 Microcomputer}
+\thesisauthor{John Zaitseff (2120715)}
+\thesisdegree{Bachelor of Engineering (Computer Engineering)}
+\thesisdate{October 1995}
+
+\thesissupervisor{A/Prof.\ Branko Celler}
+\thesisassessor{Dr.\ Tim Hesketh}
+
+\begin{document}
+
+% Apart from the abstract, none of the front matter is double-spaced.
+
+\frontmatter
+\maketitle
+
+\begin{abstract}
+The abstract document appears before any front matter. As can be seen, it
+is doubled-spaced in the final document. Theses \emph{shouldn't} have to be
+doubled-spaced, should they? As you can see, it makes them awful!
+
+A second paragraph for the abstract --- not a very useful one. Again shows
+the double-spacing of the environment.
+\end{abstract}
+
+\tableofcontents
+\listoffigures
+\listoftables
+
+% Apart from footnotes, tables and figures, all of the main matter is
+% double-spaced (unless the "singlespace" option was passed to
+% \documentclass).
+
+\mainmatter
+
+\chapter{Introduction}
+
+The main matter is double-spaced, as can be seen. A few lines of ``junk''
+will confirm this:
+
+The quick brown fox jumped over the lazy dog. The quick brown fox jumped
+over the lazy dog. The quick brown fox jumped over the lazy dog. The quick
+brown fox jumped over the lazy dog%
+%
+\footnote{A famous line; the quick brown fox really \emph{did} jump over the
+lazy dog. You can see that footnotes are \emph{not} double-spaced.}%
+%
+.
+The quick brown fox jumped over the lazy dog. The quick brown fox jumped
+over the lazy dog. The quick brown fox jumped over the lazy dog.
+%
+\begin{itemize}
+ \item The quick brown fox jumped over the lazy dog. The quick brown fox
+ jumped over the lazy dog. The quick brown fox jumped over the
+ lazy dog.
+ \item The quick brown fox jumped over the lazy dog. The quick brown fox
+ jumped over the lazy dog. The quick brown fox jumped over the
+ lazy dog.
+ \item The quick brown fox jumped over the lazy dog. The quick brown fox
+ jumped over the lazy dog. The quick brown fox jumped over the
+ lazy dog.
+\end{itemize}
+
+The quick brown fox jumped over the lazy dog. The quick brown fox jumped
+over the lazy dog. The quick brown fox jumped over the lazy dog.
+
+Tables and figures are \emph{not} double-spaced. See, for example,
+Figure~\ref{fg:sample}.
+%
+\begin{figure}
+%
+The quick brown fox jumped over the lazy dog. The quick brown fox jumped
+over the lazy dog. The quick brown fox jumped over the lazy dog. The quick
+brown fox jumped over the lazy dog. The quick brown fox jumped over the
+lazy dog. The quick brown fox jumped over the lazy dog. The quick brown fox
+jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
+The quick brown fox jumped over the lazy dog.
+%
+\caption{A sample figure}\label{fg:sample}
+\end{figure}
+
+The quick brown fox jumped over the lazy dog. The quick brown fox jumped
+over the lazy dog. The quick brown fox jumped over the lazy dog. The quick
+brown fox jumped over the lazy dog. The quick brown fox jumped over the
+lazy dog. The quick brown fox jumped over the lazy dog. The quick brown
+fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.
+The quick brown fox jumped over the lazy dog. The quick brown fox jumped
+over the lazy dog. The quick brown fox jumped over the lazy dog. The quick
+brown fox jumped over the lazy dog.
+
+\end{document}
diff --git a/macros/latex/contrib/unswthesis/thesis.tex b/macros/latex/contrib/unswthesis/thesis.tex
new file mode 100644
index 0000000000..a7cd80c10c
--- /dev/null
+++ b/macros/latex/contrib/unswthesis/thesis.tex
@@ -0,0 +1,339 @@
+%%% [ This file is provided for the purpose of being an example of using
+%%% the "unswthesis" class. As such, any information relating to the
+%%% thesis itself has been removed. ]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% University of New South Wales %
+% School of Computer Science and Engineering %
+% Thesis %
+% %
+% (C) John Zaitseff, 1995. %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Author: John Zaitseff <J.Zaitseff@unsw.edu.au>
+% Date: October, 1995. [ Stripped 28/8/96 ]
+% Format: LaTeX-2e
+
+% This document contains the Undergraduate Thesis for John Zaitseff,
+% completed at the University of New South Wales in Session 2, 1995.
+
+%@@@ introduces places where something needs to be done.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass[final]{unswthesis}
+\usepackage{mythesis}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+\frontmatter
+
+\maketitle
+\tableofcontents
+\listoffigures
+\listoftables
+
+\mainmatter
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\chapter{Introduction}\label{ch:intro}
+
+One of the fastest growing areas of computing today is the area of
+portable, often hand-held, devices. These highly-integrated computers
+are used in increasingly many areas, especially as Personal Digital
+Assistants, including hand-held data loggers, bar code scanners and meter
+readers.
+
+This thesis describes the design of one such portable system, based on
+the \Elan microprocessor. This system features the use of the current
+state-of-the-art technology, including high-density surface-mounted
+components, low battery power consumption, and directly integrated
+support for the new \PCMCIA standard.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Acknowledgements}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\chapter{Applications}\label{ch:apps}
+
+\section{Biomedical applications}
+
+Such a set-up would look something like Figure~\ref{fg:aging}.
+%
+\begin{ourfigure}
+%\includegraphics{homemon.ps}
+includegraphics...
+\caption{Remote monitoring of health status in the home}\label{fg:aging}
+\end{ourfigure}
+
+The r\^ole of the \EPC, the system this thesis describes, in such
+biomedical systems would be to actually take the place of the hand-held
+device taking data readings, or as part of the instrumentation modules
+placed around the house. The requirements of the \EPC in such systems
+are described in the next chapter.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\chapter{Alternatives}\label{ch:alt}
+
+In Chapter~\ref{ch:apps}, we saw a number of applications in which a
+portable computer may be used.
+
+...
+
+The \Elan CPU chooses the configuration mode at reset time, on the rising
+edge of \pnob{RESIN}, by sampling the state of three pins: \pnob{DTR},
+\pnob{RTS} and \pn{SOUT}. These pins are usually used for serial port
+output, except for their special function at reset. To select one of the
+modes, we place \res{10}{k} pull-up or pull-down resistors on these pins,
+as per Table~\ref{tb:elmode}. In this table, a ``1'' indicates pull-up,
+``0'' indicates pull-down, and ``X'' indicates that no resistor is
+required.
+%
+\begin{ourtable}
+\begin{tabular}{|c|c|c|l|}
+\hline
+\multicolumn{3}{|c|}{Pin state at reset} & \\
+\cline{1-3}
+\rule[1.3ex]{0mm}{1.3ex}\pnob{DTR} & \pnob{RTS} & \pn{SOUT} &
+ \multicolumn{1}{|c|}{\raisebox{1.5ex}[0cm][0cm]{Mode Selected}} \\
+\hline
+0 & 0 & X & Internal CGA \\
+1 & 0 & 0 & Local bus, 1 \by clock \\
+1 & 0 & 1 & Local bus, 2 \by clock \\
+X & 1 & X & Maximum ISA \\
+\hline
+\end{tabular}\par
+\begin{tabular}{c@{\,}c@{\,}l}
+0 &=& pull-down resistor (to \pn{GND}) \\
+1 &=& pull-up resistor (to \pn{VCC5}) \\
+X &=& no resistor \\
+\end{tabular}
+\caption{Selection of the \Elan operating mode}\label{tb:elmode}
+\end{ourtable}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Level 1 ISA Bus Support}\label{sc:el:isa1}
+
+Table~\ref{tb:elisa1} shows the meaning of the
+pins used in this mode.
+%
+\begin{ourtable}
+\renewcommand{\thefootnote}{\textit{\alph{footnote}}}
+\begin{tabular}{|l|c|l|}
+\hline
+Pin Name & Type%
+%
+\footnote{I~=~Input, O~=~Output, I/O~=~Bidirectional. These are with
+ respect to the \Elan device itself.}
+%
+ & Function \\
+\hline
+\pn{AEN} & O & DMA address enable (DMA cycle)\\
+\pn{TC} & O & DMA terminal count\\
+\pn{SYSCLK} & O & System clock%
+ \footnote{ISA bus timing is \emph{not}
+ derived from this signal: it is meant to
+ be used for the keyboard controller
+ only.}\\
+\pn{PIRQ1} & I & Programmable interrupt request~1\\
+\pn{DRQ2} & I & DMA channel 2 request\\
+\pn{X1OUT} / \pn{BAUDOUT}
+ & O & Video clock or serial port clock\\
+
+\pnob{MCS16} & I & Memory device is \bit{16}%
+\footnote{Note that \pnob{MCS16}, \pnob{IOCS16}, \pnob{SBHE} and
+ \pn{IRQ14} are \emph{not} available in dual-scan LCD mode.} \\
+\pnob{IOCS16} & I & I/O device is \bit{16}\footnotemark[3]\\
+\pnob{SBHE} & O & Byte high enable\footnotemark[3]\\
+\pn{IRQ14} & I & Interrupt request~14\footnotemark[3]\\
+\hline
+\end{tabular}
+\renewcommand{\thefootnote}{\textrm{\arabic{footnote}}}
+\caption{ISA bus support, common subset}\label{tb:elisa1}
+\end{ourtable}
+
+Before we continue, a few points to note about the notation:
+%
+\begin{itemize}
+ \item A pin name like \pn{PIN} indicates either an
+ \emph{active-high} pin (i.e., where the pin is asserted when
+ it is at a \High level, generally either \threevolt or
+ \fivevolt), or a \emph{rising-edge} pin (i.e., where the pin
+ is asserted on the rising edge, from \Low to \High, of a
+ pulse).
+ \item A name like \pnob{PIN} is the opposite: it indicates an
+ \emph{active-low} pin, or one that is asserted on the
+ \emph{falling-edge} (\High to \Low) of a signal.
+ \item A name like \pnm{PIN}{3}{0} is \emph{shorthand} for pins
+ individually named \pn{PIN0}, \pn{PIN1}, \pn{PIN2} and
+ \pn{PIN3}.
+ \item All pins are with reference to the microprocessor, i.e.,
+ ``Output'' means output \emph{from} the processor to external
+ peripherals.
+\end{itemize}
+
+The following is a description of the pins listed in
+Table~\ref{tb:elisa1}. Much of this information is from pages 39 to~49
+of the \book{Data Book}~\cite{ci:data}, although some critical
+information is not listed in \emph{any} part of the supplied
+documentation:
+%
+\begin{pindescr}
+ \iopin {\pnm{SA}{23}{0}}%
+ {System address bus}%
+ {output, active high}
+
+ The system address bus outputs the physical memory or I/O
+ address. It is used by all external devices, except
+ system DRAM\@. In local bus mode, this represents the CPU
+ local address, except that \pn{SA0} is not used. Note
+ that pins \pnm{SA}{23}{13} are multiplexed with the
+ memory bus; see section~\ref{sc:el:mem} for more details.
+
+ \iopin {\pnm{D}{15}{0}}%
+ {System data bus}%
+ {bidirectional, active high}
+
+ The system data bus inputs data during memory or I/O read
+ cycles, and outputs data during memory and I/O write
+ cycles. In local bus mode, as well as in DRAM read/write
+ mode, this bus is used to represent the CPU data bus.
+\end{pindescr}
+
+...
+
+These modes are summarised in
+Table~\ref{tb:pmmodes}; see also pages~9--15 of the \book{Data
+Book}~\cite{ci:data}.
+%
+\begin{ourtable}
+\begin{tabular}{|p{0.15\linewidth}|p{0.6\linewidth}|}
+\hline
+Mode &Description\\
+\hline\hline
+Full speed &All clocks are at fastest speed and all peripherals are
+ powered up.\\\hline
+Low speed &CPU clock is reduced to a lower speed; all other clocks
+ are at full speed.\\\hline
+Doze &CPU, system and DMA clocks, as well as the high-speed
+ phase-locked loop, are stopped.\\\hline
+Sleep &Additional clocks and peripherals are stopped (depending
+ on the programmed settings), as is the serial port
+ controller (UART).\\\hline
+Suspend &A special BIOS routine is invoked to save the system
+ state, then virtually all of the system is powered down.
+ The phase-locked loops are turned off.\\\hline
+Off &A powered-down mode in which \pn{PGP2} and \pn{PGP3} are
+ set to a predefined state. Memory refresh is still
+ active. No activity can cause the processor to leave
+ this state, except for a power-on reset.\\
+\hline
+\end{tabular}
+\caption{Power Management Unit operating modes}\label{tb:pmmodes}
+\end{ourtable}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Other Remarks}
+
+One of the additional features of the internal video controller is that
+it may be programmed to appear in the I/O location for a CGA controller
+(\addr{3D4}--\addr{3DA}) or in the I/O location for a Hercules Graphics
+Adapter (\addr{3B4}--\addr{3BF}).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\chapter{Conclusions}\label{ch:concl}
+
+In conclusion, this project has been \emph{very} challenging, but very
+interesting as well. Although we were not able to proceed with the
+implementation, we are more than reasonably satisfied that the design is
+sound and thorough. If the project is continued in the next year, the
+\EPC will eventually emerge as a symbol of today's modern computing.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{thebibliography}{199}
+\ssp
+
+%%%%%%%%%%%%%%%%%%%%%
+\bibitem{ci:poqetpad}
+
+``\book{Development of a Range of \PCMCIA Type III Instrumentation Modules for
+Clinical Measurement, based on the PoqetPad Plus Pen-based Computer}'',
+Branko Celler, Biomedical Systems Laboratory, University of NSW,
+Australia, 23rd June 1993.
+
+%%%%%%%%%%%%%%%%%
+\bibitem{ci:data}
+
+``\book{\Elan \AmSC Microprocessor Data Sheet}'',
+Mobile Computing Products Division of Advanced Micro Devices, Inc.
+
+%%%%%%%%%%%%%%%%
+\bibitem{ci:prm}
+
+``\book{\Elan \AmSC Microprocessor Programmers' Reference Manual}'',
+Mobile Computing Products Division of Advanced Micro Devices, Inc.
+
+%%%%%%%%%%%%%%%%%%%%
+\bibitem{ci:intlist}
+
+``\book{PC Interrupt List}''
+Ralf Brown, Release~47, August 1995.
+Available as\linebreak\texttt{ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/inter47*.zip}
+
+
+%%%%%%%%%%%%%%%%%%%
+\bibitem{ci:pcspec}
+
+``\book{\PCMCIA Standards}'',
+``\book{PC Card Standard 2.1}'',
+``\book{Socket Services Specification 2.1}'',
+``\book{Card Services Specification 2.1}'',
+``\book{PC Card ATA Specification 1.02}'',
+``\book{AIMS Specification 1.01}'',
+``\book{Recommended Extensions 1.0}'',
+Personal Computer Memory Card International Association,
+July 1993.
+
+\end{thebibliography}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\appendix
+\ssp
+\chapter{\Elan Computer Schematics}\label{ch:schem}
+
+The following pages show the final \EPC schematics. The actual
+schematics are in the following order:
+%
+\begin{enumerate}
+ \item System Block Diagram
+ \item \Elan Microprocessor
+ \item Miscellaneous
+ \item System Memory
+ \item Display Interface
+ \item \PCMCIA Buffers
+ \item \PCMCIA Connectors
+ \item Parallel Port
+ \item Serial Port
+ \item Keyboard Connector
+ \item Expansion Connector
+ \item DC/DC Power
+ \item Power Switching
+\end{enumerate}
+%
+% Leave enough space (13 pages) for the schematics.
+\clearpage
+\addtocounter{page}{13}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\chapter{Component Data Sheets}\label{ch:datasheet}
+
+The following pages contain all of the data sheets for the components
+used in the \EPC design, except for the \Elan \AmSC itself (about
+300~pages, available seperately as~\cite{ci:data, ci:prm}, and simple
+components like resistors, capacitors and diodes.
+
+...
+
+\end{document}
diff --git a/macros/latex/contrib/unswthesis/unswthesis.cls b/macros/latex/contrib/unswthesis/unswthesis.cls
new file mode 100644
index 0000000000..3c8a256e0d
--- /dev/null
+++ b/macros/latex/contrib/unswthesis/unswthesis.cls
@@ -0,0 +1,286 @@
+%%% ====================================================================
+%%% @LaTeX-class-file{
+%%% filename = "unswthesis.cls",
+%%% version = "1.6a",
+%%% date = "23 October 1995",
+%%% writtenby = "John Zaitseff",
+%%% email = "J.Zaitseff@unsw.edu.au",
+%%% keywords = "LaTeX, thesis, unsw, unswthesis",
+%%% docstring = "This file provides a thesis class for the
+%%% University of New South Wales, Australia."
+%%% }
+%%% ====================================================================
+
+% This file provides a thesis class for the School of Computer Science
+% and Engineering, University of New South Wales. It is meant to be
+% used with LaTeX-2e, and exists because of the archaic standards
+% required by universities all over the world with regards to thesis
+% styles.
+%
+% As with all class files, this class is meant to be used as the exclusive
+% LaTeX-2e class for the entire document. It may be introduced in the
+% document via:
+%
+% \documentclass{unswthesis}
+%
+% As always, options may be placed before the {unswthesis}. In this case,
+% the following options are supported:
+%
+% singlespacing - Single-space the document (ie, do not apply the
+% thesis requirements).
+% doublespacing - Double-space the document (actually, space it
+% 1.21 times the baseline).
+% draft - Prints the word "DRAFT" across the front page,
+% as well as on each page (in the footer).
+% final - Opposite of draft: do not print "DRAFT".
+%
+% All of the options for the Book class are also supported, namely,
+% 10pt, 11pt, 12pt (11pt is used by default)
+% letterpaper, legalpaper,
+% executivepaper, a4paper,
+% a5paper, b5paper (a4paper used by default)
+% landscape (not used by default)
+% oneside, twoside (oneside used by default)
+% openright, openany (openany used by default)
+% onecolumn, twocolumn (onecolumn used by default)
+% openbib (not used by default)
+% leqn, fleqn (not used by default)
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{unswthesis}%
+ [1995/10/23 v1.6a University of NSW Thesis Class]
+\RequirePackage{fancyheadings}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Changeable Parameters %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Change these for customisation. To change them in a LaTeX document,
+% simply use \thesisuni{xxx} and \thesisschool{xxx}.
+
+\gdef\@thesisuni{The University of New South Wales}
+\gdef\@thesisschool{School of Electrical Engineering and\\%
+ Computer Science and Engineering}
+
+% Customise for foreign languages.
+
+\def\supervisorname{Supervisor:}
+\def\assessorname{Assessor:}
+\def\abstractname{Abstract}
+
+%%%%%%%%%%%%%%%%%%%%%
+% Class options %
+%%%%%%%%%%%%%%%%%%%%%
+
+\newif\if@dspacing{}
+\newif\if@thdraft{}
+\newcommand\droptnm{final}
+
+\DeclareOption{singlespacing}{\@dspacingfalse}
+\DeclareOption{doublespacing}{\@dspacingtrue}
+\DeclareOption{draft}{\@thdrafttrue\renewcommand\droptnm{draft}}
+\DeclareOption{final}{\@thdraftfalse\renewcommand\droptnm{final}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
+\ExecuteOptions{doublespacing,final}
+\ProcessOptions
+\LoadClass[a4paper,11pt,oneside,openany,\droptnm]{book}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Draft / final options %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\if@thdraft%
+ \RequirePackage[first,light]{draftcopy}%
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Double and single spacing %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\ssp}{%
+ \def\baselinestretch{1}%
+ \large\normalsize\selectfont}
+\newcommand{\dsp}{%
+ \def\baselinestretch{1.21}%
+ \large\normalsize\selectfont}
+
+% Define conditional:
+
+\if@dspacing%
+ \newcommand\s@dsp{\dsp}%
+\else%
+ \newcommand\s@dsp{\ssp}%
+\fi
+
+% Conditional Double-spacing environment
+
+\def\spacing{%
+ \begingroup%
+ \s@dsp}%
+\def\endspacing{%
+ \par \vskip \parskip \vskip \baselineskip%
+ \endgroup%
+ \vskip -\parskip%
+ \vskip -\baselineskip}
+
+% Always single-space
+
+\def\sspacing{%
+ \begingroup%
+ \ssp}%
+\def\endsspacing{%
+ \par \vskip \parskip \vskip \baselineskip%
+ \endgroup%
+ \vskip -\parskip%
+ \vskip -\baselineskip}
+
+% Execute the following ONLY if double-spacing was selected.
+
+\if@dspacing
+ % The following are from "book.cls":
+ \renewcommand{\mainmatter}{%
+ \cleardoublepage\@mainmattertrue\pagenumbering{arabic}\s@dsp}
+ \renewcommand{\backmatter}{%
+ \if@openright\cleardoublepage\else\clearpage\fi%
+ \@mainmatterfalse\ssp}
+ \renewenvironment{figure}[1][tbp]{\@float{figure}[#1]\ssp}{\end@float\s@dsp}
+ \renewenvironment{figure*}[1][tbp]{\@dblfloat{figure}[#1]\ssp}{\end@dblfloat\s@dsp}
+ \renewenvironment{table}[1][tbp]{\@float{table}[#1]\ssp}{\end@float\s@dsp}
+ \renewenvironment{table*}[1][tbp]{\@dblfloat{table}[#1]\ssp}{\end@dblfloat\s@dsp}
+
+ % The following are from "latex.ltx". BUG: This is NOT single-spaced.
+
+ \long\def\@footnotetext#1{\insert\footins{%
+ \ssp% % Should be single-spaced, but...
+ \reset@font\footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\columnwidth \@parboxrestore
+ \protected@edef\@currentlabel{%
+ \csname p@footnote\endcsname\@thefnmark
+ }%
+ \color@begingroup
+ \@makefntext{%
+ \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}
+ \color@endgroup}}
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Miscellaneous Commands %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareFontShape{OT1}{cmr}{bx}{sl}{<-> cmbxsl10}{}
+\newcommand{\HUGE}{%
+ \fontencoding{OT1}\fontfamily{cmr}%
+ \fontseries{bx}\fontshape{sl}%
+ \fontsize{36}{45}\selectfont}
+
+\newcommand{\thesisuni}[1]{\gdef\@thesisuni{#1}}
+\newcommand{\thesisschool}[1]{\gdef\@thesisschool{#1}}
+\newcommand{\thesistitle}[1]{\gdef\@thesistitle{#1}}
+\newcommand{\thesisauthor}[1]{\gdef\@thesisauthor{#1}}
+\newcommand{\thesisdegree}[1]{\gdef\@thesisdegree{#1}}
+\newcommand{\thesisdate}[1]{\gdef\@thesisdate{#1}}
+\newcommand{\thesissupervisor}[1]{\gdef\@thesissupervisor{#1}}
+\newcommand{\thesisassessor}[1]{\gdef\@thesisassessor{#1}}
+
+\newcommand{\@thesistitle}{\@latex@error{No \noexpand\thesistitle given}\@ehc}
+\newcommand{\@thesisauthor}{\@latex@error{No \noexpand\thesisauthor given}\@ehc}
+\newcommand{\@thesisdegree}{\@latex@error{No \noexpand\thesisdegree given}\@ehc}
+\newcommand{\@thesisdate}{\@latex@error{No \noexpand\thesisdate given}\@ehc}
+\newcommand{\@thesissupervisor}{\@latex@error{No \noexpand\thesissupervisor given}\@ehc}
+\newcommand{\@thesisassessor}{\@latex@error{No \noexpand\thesisassessor given}\@ehc}
+
+\renewcommand{\title}[1]{\@latex@warning{\noexpand\title is not used with this class}}
+\renewcommand{\author}[1]{\@latex@warning{\noexpand\author is not used with this class}}
+\renewcommand{\date}[1]{\@latex@warning{\noexpand\date is not used with this class}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Thesis front matter %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Title page
+
+\renewcommand{\maketitle}%
+ {\begin{titlepage}%
+ \null\vfil
+ \begin{center}%
+ {\huge \scshape \@thesisuni \par}%
+ \vskip 2em%
+ {\Large \scshape \@thesisschool \par}%
+ \vskip 7em%
+ {\HUGE \@thesistitle \par}%
+ \vskip 6em%
+ {\Large \bfseries \@thesisauthor \par}%
+ \vskip .7em%
+ {\large \@thesisdegree \par}%
+ \vskip .7em%
+ {\large \@thesisdate \par}%
+ \vskip 8em%
+ {\large \textsl{\supervisorname}\ \@thesissupervisor \par}%
+ {\large \textsl{\assessorname}\ \@thesisassessor \par}%
+ \end{center}\par
+ \vskip 30\p@
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \let\maketitle\relax}
+
+% Abstract environment (not defined by "book.cls")
+
+\newenvironment{abstract}{%
+ \titlepage
+ \null\vfil
+ \begin{center}%
+ {\Large \bfseries \abstractname}
+ \@endparpenalty\@M
+ \end{center}\spacing}%
+ {\endspacing\par\vfil\null\endtitlepage}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% General Page Parameters %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% The university requirements specify a 25mm border all around, except for
+% the bottom (20mm). We actually increase this to make it more
+% typographically correct. The page dimensions used were taken from "The
+% LaTeX Companion", p. 85, with appropriate modifications.
+
+%\setlength\oddsidemargin{15\p@}
+%\setlength\evensidemargin{15\p@}
+\setlength\oddsidemargin{30\p@}
+\setlength\evensidemargin{30\p@}
+\setlength\topmargin{15\p@}
+\setlength\headsep{20\p@}
+\setlength\headheight{20\p@}
+%\setlength\footskip{40\p@}
+\setlength\marginparwidth{15\p@}
+\setlength\marginparsep{\z@}
+\setlength\textwidth{\paperwidth %
+ \advance\textwidth -144\p@ %
+ \advance\textwidth -\oddsidemargin %
+ \advance\textwidth -\marginparwidth %
+ \advance\textwidth -\marginparsep}
+\setlength\textheight{\paperheight %
+ \advance\textheight -140\p@ %
+ \advance\textheight -\topmargin %
+ \advance\textheight -\headheight %
+ \advance\textheight -\headsep %
+ \advance\textheight -\footskip}
+
+% Page headings and footers.
+
+\pagestyle{fancyplain}
+\renewcommand{\chaptermark}[1]{\markboth{\thechapter. #1}{\thechapter. #1}}
+\renewcommand{\sectionmark}[1]{}
+\lhead[\fancyplain{}{\bfseries\thepage}]{\fancyplain{}{\bfseries\rightmark}}
+\rhead[\fancyplain{}{\bfseries\leftmark}]{\fancyplain{}{\bfseries\thepage}}
+\cfoot{\fancyplain{\textrm{\thepage}}{}}
+
+\if@thdraft
+ \rfoot[\textbf{Draft:}~\today]{}
+ \lfoot[]{\textbf{Draft:}~\today}
+\fi