From 6bbc0368fbb759c8756fcc398c83214da45cc23d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 15 Apr 2013 16:17:13 +0000 Subject: vdmlisting (14apr13) git-svn-id: svn://tug.org/texlive/trunk@29944 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/vdmlisting/README | 9 ++ .../texmf-dist/doc/latex/vdmlisting/vdmlisting.pdf | Bin 0 -> 75045 bytes .../texmf-dist/doc/latex/vdmlisting/vdmlisting.tex | 142 +++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/vdmlisting/README create mode 100644 Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.pdf create mode 100644 Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.tex (limited to 'Master/texmf-dist/doc/latex/vdmlisting') diff --git a/Master/texmf-dist/doc/latex/vdmlisting/README b/Master/texmf-dist/doc/latex/vdmlisting/README new file mode 100644 index 00000000000..66383edd176 --- /dev/null +++ b/Master/texmf-dist/doc/latex/vdmlisting/README @@ -0,0 +1,9 @@ +VdmListing package +Copyright 2012--2013 Kenneth Lausdahl (the package) +Released under the LaTeX Project Public License 1.3 or later + +The `vdmlisting' package is an extension for the 'listings' +package that provides a source code printer for LaTeX. +This package defines new language definitions and listing +environments for the three language dialects of the +Vienna Development Method: VDM-SL, VDM-PP and VDM-RT. \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.pdf b/Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.pdf new file mode 100644 index 00000000000..136708dbd58 Binary files /dev/null and b/Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.pdf differ diff --git a/Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.tex b/Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.tex new file mode 100644 index 00000000000..673b61a6aa2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/vdmlisting/vdmlisting.tex @@ -0,0 +1,142 @@ + + +\documentclass[times]{article} + +\usepackage{vdmlisting} +\usepackage{hyperref} +\usepackage{vdm} +\def\vdmlisting{\texttt{vdmlisting}} +\def\envvdmsl{\texttt{vdmsl}} +\def\envvdmpp{\texttt{vdmpp}} +\def\envvdmrt{\texttt{vdmrt}} + +\title{The \textbf{\vdmlisting} Package} +\author{Kenneth Lausdahl\\ +Dept. of Engineering\\ +Aarhus University\\ +Denmark.\\ +\texttt{lausdahl@cs.au.dk}} +\date{10 April 2013 \\ +Version 1.0} + + + + +\begin{document} + + +\maketitle +\begin{abstract} +The \vdmlisting package is a Vienna Development Method (VDM) source code printer for \LaTeX . The package uses the listings package and provides a number of new listing environments for the three VDM dialects: VDM-SL,VDM-PP and VDM-RT. If one wants to typeset VDM with a mathematical syntax instead of the ASCII syntax used here then use the \texttt{vdm} package instead. +\end{abstract} + +\tableofcontents + +\section{Getting started} + +Before using the \vdmlisting package, you should be familiar with the \LaTeX typesetting system and the listings package which this packages depends upon. + +\subsection{A minimal example} +Here is a minimal file for \vdmlisting showing a VDM function: + + +\begin{verbatim} + \documentstyle{article} + \usepackage{vdmlisting} + + \begin{document} + \begin{vdmsl} + add : int * int -> + add(a,b) == a+b; + \end{vdmsl} + \end{document} +\end{verbatim} + + + +\subsection{Typesetting VDM with listings} +This package defined three listing environments that can be used to typeset VDM. The environments are defined as: + +\begin{verbatim} +\begin{listing-name}[options] + VDM specification +\end{listing-name} +\end{verbatim} + +\noindent The \texttt{options} are parsed directly to the \texttt{lstlisting} environment and could be used to e.g. set the label or caption like \texttt{label=lst:mymodel,caption=My special specification}. The \texttt{listing-name} may be any of the following: + +\begin{description} +\item[\envvdmsl] The \envvdmsl environment configures the listing environment to use the VDM-SL language definition: + +\begin{verbatim} +\begin{vdmsl}[label=lst:mymodule,caption=My module] + module MyModule + end MyModule +\end{vdmsl} +\end{verbatim} + it typesets as follows: + +\begin{vdmsl}[label=lst:mymodule,caption=My module] + module MyModule + end MyModule +\end{vdmsl} + +\item[\envvdmpp] The \envvdmpp environment configures the listing environment to use the VDM-PP language definition: + +\begin{verbatim} +\begin{vdmpp}[label=lst:myclass,caption=My Class] + class MyClass + end MyClass +\end{vdmpp} +\end{verbatim} + it typesets as follows: + +\begin{vdmpp}[label=lst:myclass,caption=My Class] + class MyClass + end MyClass +\end{vdmpp} + +\item[\envvdmrt] The \envvdmrt environment configures the listing environment to use the VDM-RT language definition: + +\begin{verbatim} +\begin{vdmrt}[label=lst:myclass,caption=My System] + system MySystem + end MySystem +\end{vdmrt} +\end{verbatim} + it typesets as follows: + +\begin{vdmrt}[label=lst:myclass,caption=My System] + system MySystem + end MySystem +\end{vdmrt} + + +\end{description} + +Furthermore, the environments are configured with \texttt{escapeinside=\{(*@\}\{@*)\}} enabling the command \texttt{\textbackslash vdmnotcovered\{ VDM specification\}} to be used to mark execution coverage for the VDM specification displayed. + +\section{Package loading} +As usual in \LaTeX, the package is loaded by \texttt{\textbackslash usepackage[optionsi]\{vdmlisting\}}, +where [optionsi] is optional and gives a comma separated list of options: + +\begin{description} + +\item[color] This loads the \texttt{color} package and defines the \texttt{vdmnotcovered} command to use a red color. + +\item[notimes] This package loads the \texttt{times} package, by default, so if you do not want that to happen use this option to skip the load of \texttt{times}. + +\end{description} + + + +\section{Installing the \vdmlisting \ files} + +Place the file {\tt vdmlisting.sty} in your standard directory for \LaTeX\ +style files (your system administrator will know where this is). + + +\section{The License} +The vdmlisting.sty and vdmlisting.tex file is copyright 2012--2013 Kenneth Lausdahl and is released under the LaTeX Project Public License 1.3 or later. + +\end{document} -- cgit v1.2.3