summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/grid
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/grid
Initial commit
Diffstat (limited to 'macros/latex/contrib/grid')
-rw-r--r--macros/latex/contrib/grid/Makefile44
-rw-r--r--macros/latex/contrib/grid/README31
-rw-r--r--macros/latex/contrib/grid/grid.pdfbin0 -> 147126 bytes
-rw-r--r--macros/latex/contrib/grid/grid.sty309
-rw-r--r--macros/latex/contrib/grid/grid.tex380
-rw-r--r--macros/latex/contrib/grid/manifest.txt44
-rw-r--r--macros/latex/contrib/grid/rvdtx.sty467
7 files changed, 1275 insertions, 0 deletions
diff --git a/macros/latex/contrib/grid/Makefile b/macros/latex/contrib/grid/Makefile
new file mode 100644
index 0000000000..aeeb1daa59
--- /dev/null
+++ b/macros/latex/contrib/grid/Makefile
@@ -0,0 +1,44 @@
+##
+## Makefile
+##
+## This file is in public domain.
+## River Valley Technologies
+## http://www.river-valley.com
+##
+##
+
+file=grid
+
+
+all: pdf out
+ make pdf
+
+out:
+ if [ -f $(file).out ] ; then cp $(file).out tmp.out; fi ;
+ sed 's/BOOKMARK/dtxmark/g;' tmp.out > x.out; mv x.out tmp.out ;
+
+pdf:
+ pdflatex $(file).tex
+
+index:
+ makeindex -s gind.ist -o $(file).ind $(file).idx
+
+changes:
+ makeindex -s gglo.ist -o $(file).gls $(file).glo
+
+xview:
+# xpdf -z 200 $(file).pdf &>/dev/null
+ open -a 'Skim.app' $(file).pdf
+
+view:
+ open -a 'Adobe Reader.app' $(file).pdf
+
+ins:
+ latex $(file).ins
+
+diff:
+ diff $(file).sty ../$(file).sty |less
+
+copy:
+ cp $(file).sty ../
+
diff --git a/macros/latex/contrib/grid/README b/macros/latex/contrib/grid/README
new file mode 100644
index 0000000000..e4ce9660f6
--- /dev/null
+++ b/macros/latex/contrib/grid/README
@@ -0,0 +1,31 @@
+%%
+%% README
+%% $Id: README 12 2009-06-16 06:57:06Z cvr $
+%% $URL: http://lenova.river-valley.com/svn/grid/trunk/README $
+%%
+
+
+grid packages helps to enable grid typesetting (ie, vertically
+aligning lines of text in adjacent columns) in double column
+documents in LaTeX.
+
+The manifest.txt provides the list of files in grid package.
+
+A small uer manual and examples are provided in grid.tex which can be
+tyeset with pdfLaTeX. A Makefile is provided for GNU/Linux users who
+can accomplish the job by invoking the following command at the
+prompt:
+
+ make
+
+or
+
+ make pdf
+ make out
+ make pdf
+
+This will create grid.pdf with all bells and whistles.
+
+%%
+%% End
+%%
diff --git a/macros/latex/contrib/grid/grid.pdf b/macros/latex/contrib/grid/grid.pdf
new file mode 100644
index 0000000000..0add0672a4
--- /dev/null
+++ b/macros/latex/contrib/grid/grid.pdf
Binary files differ
diff --git a/macros/latex/contrib/grid/grid.sty b/macros/latex/contrib/grid/grid.sty
new file mode 100644
index 0000000000..97d8426ca5
--- /dev/null
+++ b/macros/latex/contrib/grid/grid.sty
@@ -0,0 +1,309 @@
+%%
+%% This is file 'grid.sty',
+%%
+%%
+%% grid.sty Copyright (C) 2009 River Valley Technologies
+%% URL: http://www.river-valley.com
+%% Email: <latex.support@river-valley.com>
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% $Id: grid.sty 14 2009-06-16 07:00:25Z cvr $
+%% $URL: http://lenova.river-valley.com/svn/grid/trunk/grid.sty $
+%%
+%%
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesPackage{grid}[2009/06/16 v1.0 Grid Layout]
+
+\RequirePackage{keyval}
+
+%%%
+%% Process Keyvalue Options
+%
+\def\ProcessOptionsKV{\@ifnextchar[%]
+ {\@ProcessOptionsKV}{\@ProcessOptionsKV[]}}%
+\def\@ProcessOptionsKV[#1]#2{%
+ \let\@tempa\@empty
+ \@tempcnta\z@
+ \if#1p\@tempcnta\@ne\else\if#1c\@tempcnta\tw@\fi\fi
+ \ifodd\@tempcnta
+ \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
+ \else
+ \@for\CurrentOption:=\@classoptionslist\do{%
+ \@ifundefined{KV@#2@\CurrentOption}%
+ {}{\edef\@tempa{\@tempa,\CurrentOption,}}}%
+ \ifnum\@tempcnta=\z@
+ \edef\@tempa{\@tempa,\@ptionlist{\@currname.\@currext}}%
+ \fi
+ \fi
+ \edef\@tempa{\noexpand\setkeys{#2}{\@tempa}}%
+ \@tempa
+ \AtEndOfPackage{\let\@unprocessedoptions\relax}}%
+
+\def\Grid@baseline{10\p@}
+\def\Grid@fontsize{12\p@}
+\def\Grid@lines{40}
+\def\Grid@textheight{%
+ \@tempdima=\Grid@baseline%
+ \multiply\@tempdima by \Grid@lines%
+ \textheight=\the\@tempdima%
+}
+
+\define@key{Grid}{baseline}{\edef\Grid@baseline{#1}}
+\define@key{Grid}{fontsize}{\edef\Grid@fontsize{#1}}
+\define@key{Grid}{lines}{\edef\Grid@lines{#1}}
+
+\def\Grid@setkeys{\setkeys{Grid}}%
+\ProcessOptionsKV{Grid}
+
+\Grid@textheight
+
+\renewcommand\normalsize{%
+ \baselineskip=\Grid@baseline%
+ \@setfontsize\normalsize{\Grid@fontsize}{\Grid@baseline}%
+ \lineskip=0pt
+ \lineskiplimit=-\Grid@fontsize%
+ \abovedisplayskip \baselineskip%
+ \abovedisplayshortskip .5\baselineskip%
+ \belowdisplayskip \abovedisplayskip
+ \belowdisplayshortskip \abovedisplayshortskip
+ \let\@listi\@listI}
+\normalsize
+\parskip 0pt
+
+\newdimen\floatunit
+\newskip\allfloats
+\setlength\floatunit{\the\baselineskip}
+
+\setlength\allfloats{\floatunit}
+
+\setlength\floatsep{\allfloats}
+\setlength\textfloatsep{\allfloats}
+\setlength\intextsep{\allfloats}
+\setlength\dblfloatsep{\allfloats}
+\setlength\dbltextfloatsep{\allfloats}
+
+\setlength\@fptop{\z@}
+\setlength\@fpsep{\z@}
+\setlength\@fpbot{\z@}
+\setlength\@dblfptop{\z@}
+\setlength\@dblfpsep{\z@}
+\setlength\@dblfpbot{\z@}
+
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{
+ \def\x{\def\rem@decimal##1.##2PT{##1}}}
+ \expandafter\endgroup\x
+\def\strip@decimal{\expandafter\rem@decimal\the}
+
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{
+ \def\y{\def\rem@dot##1.##2PT{##1##2}}}
+ \expandafter\endgroup\y
+\def\strip@dot{\expandafter\rem@dot\the}
+
+\newdimen\halfbaselineskip
+\halfbaselineskip=\floatunit
+\divide\halfbaselineskip by 2
+
+\newdimen\figboxht
+
+\long\def\roundoff{\figboxht=\fight%
+ \advance\figboxht by \baselineskip%
+ \multiply\figboxht by 10%
+ \xdef\xbaselineskip{\strip@dot\baselineskip}%
+ \divide\figboxht by \xbaselineskip%
+ \xdef\mylines{\strip@decimal\figboxht}%
+ \figboxht=\baselineskip%
+ \multiply\figboxht by\mylines%
+ \advance\figboxht -\fight%
+ \ifdim\the\figboxht>\the\halfbaselineskip%
+ \advance\figboxht by -\floatunit%
+ \else\fi%
+ }
+
+%%%
+%% Sections
+%
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {-.999\baselineskip}%
+ {0.001\baselineskip}%
+ {\bfseries\mathversion{bold}}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {\baselineskip}%
+ {-.35\baselineskip}%
+ {\bfseries\unskip}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {\baselineskip}%
+ {-.35\baselineskip}%
+ {\itshape\unskip}}
+
+%%%
+%% Floats
+%
+\let\oldfigure\figure
+\let\oldendfigure\endfigure
+\expandafter\let\csname oldfigurest\expandafter%
+ \endcsname\csname figure*\endcsname
+\expandafter\let\csname oldendfigurest\expandafter%
+ \endcsname\csname endfigure*\endcsname
+
+\let\oldtable\table
+\let\oldendtable\endtable
+\expandafter\let\csname oldtablest\expandafter%
+ \endcsname\csname table*\endcsname
+\expandafter\let\csname oldendtablest\expandafter%
+ \endcsname\csname endtable*\endcsname
+
+\renewenvironment{figure}
+ {\oldfigure\begin{gridfltenv}}
+ {\end{gridfltenv}\oldendfigure}
+\renewenvironment{figure*}
+ {\oldfigurest\begin{gridfltenv}}
+ {\end{gridfltenv}\oldendfigurest}
+
+\renewenvironment{table}
+ {\oldtable\begin{gridfltenv}}
+ {\end{gridfltenv}\oldendtable}
+\renewenvironment{table*}
+ {\oldtablest\begin{gridfltenv}}
+ {\end{gridfltenv}\oldendtablest}
+
+\newenvironment{gridfltenv}
+ {\global\setbox0=\vbox\bgroup}
+ {\egroup%
+ \xdef\fight{\the\ht0}%
+ \roundoff%
+ \leavevmode\vadjust{\box0\vskip\figboxht}\hfil\break%
+ }
+
+%%%
+%% Equations
+%
+\newenvironment{gridenv}
+ {\global\setbox0=\vbox\bgroup}
+ {\egroup%
+ \xdef\fight{\the\ht0}%
+ \roundoff%
+ \leavevmode%
+ \vadjust{\vskip0.5\figboxht%
+ \box0%
+ \vskip0.5\figboxht%
+ }\hfil\break%%
+ }
+
+\jot=\baselineskip
+
+%%%
+%% Extra vertical skip removed from the environments
+% like verse, quotation, quote and description
+\renewenvironment{verse}
+ {\let\\\@centercr
+ \list{}{\itemsep \z@
+ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin \leftmargin
+ \advance\leftmargin 1.5em}%
+ \topsep\z@\partopsep\z@\parskip\z@%
+ \itemsep\z@\@outerparskip\z@\parsep\z@%
+ \@topsep\z@\@topsepadd\z@%
+ \item\relax}
+ {\endlist}
+
+\renewenvironment{quotation}
+ {\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \topsep\z@\partopsep\z@\parskip\z@%
+ \itemsep\z@\@outerparskip\z@\parsep\z@%
+ \@topsep\z@\@topsepadd\z@%
+ \item\relax}
+ {\endlist}
+
+\renewenvironment{quote}
+ {\list{}{\rightmargin\leftmargin}%
+ \topsep\z@\partopsep\z@\parskip\z@%
+ \itemsep\z@\@outerparskip\z@\parsep\z@%
+ \@topsep\z@\@topsepadd\z@%
+ \item\relax}
+ {\endlist}
+
+\renewenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \topsep\z@\partopsep\z@\parskip\z@%
+ \itemsep\z@\@outerparskip\z@\parsep\z@%
+ \@topsep\z@\@topsepadd\z@%
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+
+%%%
+%% Lists
+%
+\def\enumerate{%
+ \ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \expandafter
+ \list
+ \csname label\@enumctr\endcsname
+ {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
+ \topsep\z@\partopsep\z@\parskip\z@\itemsep\z@%
+ \@outerparskip\z@\parsep\z@\@topsep\z@\@topsepadd\z@}%
+ \fi}
+
+\def\itemize{%
+ \ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter
+ \list
+ \csname\@itemitem\endcsname
+ {\def\makelabel##1{\hss\llap{##1}}%
+ \topsep\z@\partopsep\z@\parskip\z@\itemsep\z@%
+ \@outerparskip\z@\parsep\z@\@topsep\z@\@topsepadd\z@}%
+ \fi}
+
+%%%
+%% References
+%
+\renewenvironment{thebibliography}[1]
+ {\section*{\refname}%
+ \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \topsep\z@\partopsep\z@\parskip\z@\itemsep\z@%
+ \@outerparskip\z@\parsep\z@\@topsep\z@\@topsepadd\z@%
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+\endinput
+
+%% Enunciations (theorem, lemma etc) were not done
+%% Square bracket option not currently supported for floats! \begin{figure}[!tbp]
+%% Footnotes are not aligned correctly.
+%%
+%% End of file 'grid.sty'
+%%
diff --git a/macros/latex/contrib/grid/grid.tex b/macros/latex/contrib/grid/grid.tex
new file mode 100644
index 0000000000..11bc766f5a
--- /dev/null
+++ b/macros/latex/contrib/grid/grid.tex
@@ -0,0 +1,380 @@
+%%
+%% This is file 'grid.tex',
+%%
+%%
+%% grid.sty Copyright (C) 2009 River Valley Technologies
+%% URL: http://www.river-valley.com
+%% Email: <latex.support@river-valley.com>
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% $Id: grid.tex 16 2009-06-16 07:04:50Z cvr $
+%% $URL: http://lenova.river-valley.com/svn/grid/trunk/grid.tex $
+%%
+
+
+\documentclass[twocolumn]{article}
+
+% \IfFileExists{txfonts.sty}
+% {\usepackage{txfonts}}
+% {\usepackage{times}}
+\usepackage{lipsum}
+
+\usepackage[xcolor]{rvdtx}
+
+%\usepackage[fontsize=8pt,baseline=9.6pt,lines=50]{grid}
+%\usepackage[fontsize=9pt,baseline=10.8pt]{grid}
+\usepackage[fontsize=10pt,baseline=12pt,lines=53]{grid}
+%\usepackage[fontsize=11pt,baseline=13.2pt]{grid}
+%\usepackage[fontsize=12pt,baseline=14.4pt]{grid}
+%\usepackage[fontsize=20pt,baseline=24pt,lines=20]{grid}
+
+\newcommand{\ip}[2]{(#1, #2)}
+\columnsep=20pt
+\begin{document}
+
+\title{grid.sty --- Manual and Examples}
+\author{River Valley Technologies}
+\contact{latex.support@river-valley.com}
+\version{1.0}
+\date{2009/06/16}
+%\keywords{\LaTeX, grid typesetting}
+
+
+\maketitle
+
+\section{About this package}
+
+\texttt{grid.sty} is a \LaTeX\ package which helps to enable grid
+typesetting in double column documents. Grid typesetting is a
+difficult task in \LaTeX, this is only a humble attempt to help users
+to achieve it in a limited way. This document has been typeset making
+use of \verb+grid.sty+. The package needs a lot of improvements, this
+is only a beginning.
+
+\subsection{Package options}
+Three options were added in the package:
+\begin{description}
+\item[fontsize] sets the font size of the file. Default value is
+ \textit{10pt}.
+\item[baseline] sets the baseline skip of the document. Default value
+ is \textit{12pt}.
+\item[lines] sets the textheight of the document, which is calulated
+ by multiplying number of lines and baselineskip. The default value
+ is \textit{40}.
+\end{description}
+
+\subsection{Package specific coding:}
+Equations should be put inside \verb+\begin{gridenv}+ ...
+ \verb+\end{gridenv}+ environment. For example:
+\begin{gridenv}
+{\footnotesize
+\begin{verbatim}
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}
+\end{equation}
+\end{gridenv}
+\end{verbatim}
+}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq1}
+\end{equation}
+\end{gridenv}
+
+\subsection{Limitations of the package}
+\begin{itemize}
+\item Enunciations (theorem, lemma etc) were not added in the package.
+\item Optional argument of floats (poisitioning of floats) are not
+ currently supported.
+\item Footnotes are not aligned correctly.
+\end{itemize}
+
+These are some of the limitations of the package. The user manual ends here.
+
+The following text is taken from an example of \LaTeX. This can be
+considered as an example input file for our purpose. Playing with this
+file by changing the options and looking at the the generated output,
+you can get a grip of how to produce a simple document of your own.
+
+\section{Ordinary Text}
+
+The ends of words and sentences are marked by spaces. It doesn't
+matter how many spaces you type; one is as good as 100. The end of a
+line counts as a space.
+
+One or more blank lines denote the end of a paragraph.
+\begin{figure}
+\vbox{\centering\fcolorbox{orange}{orange!20}{%
+ \hbox to 9.3pc{\vbox to 5pc{\hsize=9.3pc%
+ \vfill\centering \Huge
+ \color{orange!70}Grid and \LaTeX\par\vfill}}}}
+\caption{Test figure.}
+\end{figure}
+
+Since any number of consecutive spaces are treated like a single one,
+the formatting of the input file makes no difference to \LaTeX, but it
+makes a difference to you. When you use \LaTeX, making your input file
+as easy to read as possible will be a great help as you write your
+document and when you change it. This sample file shows how you can
+add comments to your own input file.
+
+Because printing is different from typewriting, there are a number of
+things that you have to do differently when preparing an input file
+than if you were just typing the document directly. Quotation marks
+like ``this'' have to be handled specially, as do quotes within
+quotes: ``\,`this' is what I just wrote, not `that'\,''.
+
+Dashes come in three sizes: an intra-word dash, a medium dash for
+number ranges like 1--2, and a punctuation dash---like this.
+\begin{table}%[!b]
+\centering
+\begin{tabular}{l|c|r}
+\hline
+First & Second & Third \\
+\hline
+Left & Center & Right \\
+Start & Middle& End\\
+\hline
+\end{tabular}
+\caption{Test table.}
+\end{table}
+\begin{table*}%[!b]
+\tabcolsep=20pt
+\centering
+\begin{tabular}{l|c|r}
+\hline
+First & Second & Third \\
+\hline
+Left & Center & Right \\
+Start & Middle& End\\
+\hline
+\end{tabular}
+\caption{Test table.}
+\end{table*}
+
+A sentence-ending space should be larger than the space between words
+within a sentence. You sometimes have to type special commands in
+conjunction with punctuation characters to get this right, as in the
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq1}
+\end{equation}
+\end{gridenv}
+following sentence. Gnats, gnus, etc.\ all begin with G\@. You should
+check the spaces after periods when reading your output to make sure
+you haven't forgotten any special cases. Generating an ellipsis
+\ldots\ with the right spacing around the periods requires a special
+command.
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}%\\
+%\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+%\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}
+\end{eqnarray}
+\end{gridenv}
+\LaTeX\ interprets some common characters as commands, so you must
+type special commands to generate them. These characters include the
+following: \$ \& \% \# \{ and \}.
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq5}
+\end{equation}
+\end{gridenv}
+
+In printing, text is usually emphasized with an \emph{italic} type
+style.
+
+\begin{em}
+ A long segment of text can also be emphasized in this way. Text
+ within such a segment can be given \emph{additional} emphasis.
+\end{em}
+
+It is sometimes necessary to prevent \LaTeX\ from breaking a line
+where it might otherwise do so. This may be at a space, as between the
+``Mr.'' and ``Jones'' in ``Mr.~Jones'', or within a word---especially
+when the word is a symbol like \mbox{\emph{itemnum}} that makes little
+sense when hyphenated across lines.
+\begin{figure}
+\vbox{\centering\fcolorbox{brown!90}{brown!10}{\hbox to 14.3pc{%
+ \vbox to 15pc{%
+ \hsize=14.3pc%
+ \vfill\centering \fontsize{30}{40}\selectfont
+ \color{brown!50}Grid and \LaTeX\par\vfill}}}}
+\caption{Test figure.}
+\end{figure}
+
+\LaTeX\ is good at typesetting mathematical formulas like
+ \( x-3y + z = 7 \)
+or
+ \( a_{1} > x^{2n} + y^{2n} > x' \)
+or
+ \( \ip{A}{B} = \sum_{i} a_{i} b_{i} \).
+The spaces you type in a formula are ignored. Remember that a letter
+like $x$ is a formula when it denotes a mathematical symbol, and it
+should be typed as one.
+
+\section{Displayed Text}
+
+Text is displayed by indenting it from the left margin. Quotations are
+commonly displayed. There are short quotations
+\begin{quote}
+ This is a short a quotation. It consists of a single paragraph of
+ text. See how it is formatted.
+\end{quote}
+and longer ones.
+\begin{quotation}
+ This is a longer quotation. It consists of two paragraphs of text,
+ neither of which are particularly interesting.
+
+ This is the second paragraph of the quotation. It is just as dull as
+ the first paragraph.
+\end{quotation}
+Another frequently-displayed structure is a list. The following is an
+example of an \emph{itemized} list.
+\begin{itemize}
+\item This is the first item of an itemized list. Each item in the
+ list is marked with a ``tick''. You don't have to worry about what
+ kind of tick mark is used.
+
+\item This is the second item of the list. It contains another list
+ nested inside it. The inner list is an \emph{enumerated} list.
+ \begin{enumerate}
+ \item This is the first item of an enumerated list that is nested
+ within the itemized list.
+
+ \item This is the second item of the inner list. \LaTeX\ allows you
+ to nest lists deeper than you really should.
+ \end{enumerate}
+ This is the rest of the second item of the outer list. It is no more
+ interesting than any other part of the item.
+
+\item This is the third item of the list.
+\end{itemize}
+You can even display poetry.
+\begin{verse}
+ There is an environment for verse \\
+ Whose features some poets will curse.
+
+ For instead of making\\
+ Them do \emph{all} line breaking, \\
+ It allows them to put too many words on a line when they'd rather be
+ forced to be terse.
+\end{verse}
+
+Mathematical formulas may also be displayed. A displayed formula is
+one-line long; multiline formulas require special formatting
+instructions.
+\[ \ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\]
+Don't start a paragraph with a displayed equation, nor make one a
+paragraph by itself.
+
+\section{Some bizarre text}
+
+\lipsum[1]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}\\
+\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}
+\end{eqnarray}
+\end{gridenv}
+\lipsum[2]
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq1}
+\end{equation}
+\end{gridenv}
+\lipsum[3]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}\\
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}
+\end{eqnarray}
+\end{gridenv}
+\lipsum[4]
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq1}
+\end{equation}
+\end{gridenv}
+\lipsum[5]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}
+%\\
+%\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+%\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}\\
+%\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+%\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}
+\end{eqnarray}
+\end{gridenv}
+\lipsum[10]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}\\
+\end{eqnarray}
+\end{gridenv}
+\lipsum[11]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}\\
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}\\
+\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq4}
+\end{eqnarray}
+\end{gridenv}
+\lipsum[3]
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq1}
+\end{equation}
+\end{gridenv}
+
+\begin{figure*}
+\vbox{\centering\fcolorbox{brown!90}{brown!10}{\hbox to .9\textwidth{%
+ \vbox to 10pc{%
+ \hsize=.9\textwidth%
+ \vfill\centering \fontsize{30}{40}\selectfont
+ \color{brown!50}Grid and \LaTeX\par\vfill}}}}
+\caption{Test figure.}
+\end{figure*}
+\lipsum[8]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}\\
+\frac{\int^\sum}{\int_prod'} = x'' + y^{2} + z_{i}^{n}\label{eq3}\\
+\end{eqnarray}
+\end{gridenv}
+\lipsum[7]
+\begin{gridenv}
+\begin{eqnarray}
+\frac{\sum^X_Y}{\prod'_C} = x'' + y^{2} + z_{i}^{n}\label{eq2}\\
+\end{eqnarray}
+\end{gridenv}
+\begin{figure}
+\vbox{\centering\fcolorbox{brown!90}{brown!10}{\hbox to 14.3pc{%
+ \vbox to 15pc{%
+ \hsize=14.3pc%
+ \vfill\centering \fontsize{30}{40}\selectfont
+ \color{brown!50}Grid and \LaTeX\par\vfill}}}}
+\caption{Test figure.}
+\end{figure}
+\lipsum[3]
+\begin{gridenv}
+\begin{equation}
+\ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\label{eq1}
+\end{equation}
+\end{gridenv}
+\lipsum[1-3]
+
+\end{document}
+
+% End of document.
diff --git a/macros/latex/contrib/grid/manifest.txt b/macros/latex/contrib/grid/manifest.txt
new file mode 100644
index 0000000000..ce5e492719
--- /dev/null
+++ b/macros/latex/contrib/grid/manifest.txt
@@ -0,0 +1,44 @@
+%
+%
+% Copyright 2009, River Valley Technologies <http://www.river-valley.com>
+%
+% $Id: manifest.txt 13 2009-06-16 06:58:29Z cvr $
+% $URL: http://lenova.river-valley.com/svn/grid/trunk/manifest.txt $
+%
+% This file is part of the 'grid' package.
+% -----------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% The list of all files belonging to the LaTeX 'grid' package is
+% given in this file `manifest.txt'.
+%
+%
+% CONTENTS OF THE GRID PACKAGE
+% ======================
+
+grid.sty
+ Main package
+
+grid.tex
+ User instructions and examples
+
+rvdtx.sty
+ Auxiliary package needed to typeset grid.tex
+
+Makefile
+ Makefile to process grid.tex, will work in GNU/Linux or Mac
+ OSX
+
+manifest.txt
+ This file
+
+README
+ A readme which tells about the basic features of grid package
+
diff --git a/macros/latex/contrib/grid/rvdtx.sty b/macros/latex/contrib/grid/rvdtx.sty
new file mode 100644
index 0000000000..cb69425997
--- /dev/null
+++ b/macros/latex/contrib/grid/rvdtx.sty
@@ -0,0 +1,467 @@
+%
+%
+% File: rvdtx.sty
+%
+% Auxiliary package to format *.dtx documents.
+%
+% Copyright (c) 2008, CV Radhakrishnan <cvr@river-valley.org>,
+%
+% This file may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.2 of this
+% license or (at your option) any later version. The latest version
+% of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+%
+\newcounter{colorscheme}
+
+\newif\if@xcolor \@xcolorfalse
+\newif\if@mylogo \@mylogofalse
+
+\DeclareOption{mylogo}{\global\@mylogotrue}
+\DeclareOption{green}{\setcounter{colorscheme}{1}}
+\DeclareOption{orange}{\setcounter{colorscheme}{0}}
+\DeclareOption{xcolor}{\global\@xcolortrue}
+\ProcessOptions
+\def\loadXcolor{\if@xcolor\RequirePackage[dvipsnames,svgnames]{xcolor}\fi}
+
+\loadXcolor
+\ifcase\thecolorscheme
+%
+% Orange color spec (default)
+%
+ \colorlet{itemcolor}{brown}
+ \colorlet{verbcolor}{Sepia}
+ \colorlet{botrulecolor}{orange!25}
+ \colorlet{botbgcolor}{orange!15}
+ \colorlet{botcolor}{orange!80}
+ \colorlet{pgrulecolor}{orange}
+ \colorlet{pgbgcolor}{white}
+
+ \colorlet{quicklinkrulecolor}{orange!40}
+ \colorlet{quicklinkcolor}{brown}
+ \colorlet{topverticalrule}{brown}
+ \colorlet{titlecolor}{brown}
+ \colorlet{hlinkcolor}{brown}
+ \colorlet{hlinktricolor}{orange!70}
+ \colorlet{linkcolor}{brown}
+ \colorlet{urlcolor}{brown}
+
+ \colorlet{arrayrulecolor}{olive!30}
+ \colorlet{seccolor}{brown}
+
+ \colorlet{toprulecolor}{orange!30}
+ \colorlet{topbgcolor}{orange!10}
+ \colorlet{topcolor}{brown!80}
+%
+%
+\or% Green color specs
+%
+%
+ \colorlet{itemcolor}{OliveGreen}
+ \colorlet{verbcolor}{OliveGreen}
+ \colorlet{botrulecolor}{GreenYellow!25}
+ \colorlet{botbgcolor}{GreenYellow!30}
+ \colorlet{botcolor}{Green!80}
+ \colorlet{pgrulecolor}{GreenYellow}
+ \colorlet{pgbgcolor}{white}
+
+ \colorlet{quicklinkrulecolor}{Green!40}
+ \colorlet{quicklinkcolor}{Green}
+ \colorlet{topverticalrule}{Green}
+ \colorlet{titlecolor}{DarkOliveGreen}
+ \colorlet{hlinkcolor}{DarkOliveGreen}
+ \colorlet{hlinktricolor}{Green!70}
+ \colorlet{linkcolor}{OliveGreen}
+ \colorlet{urlcolor}{OliveGreen}
+
+ \colorlet{arrayrulecolor}{olive!30}
+ \colorlet{seccolor}{OliveGreen}
+
+ \colorlet{toprulecolor}{GreenYellow!50}
+ \colorlet{topbgcolor}{GreenYellow!20}
+ \colorlet{topcolor}{GreenYellow!80}
+\fi
+
+\def\floatpagefraction{.99}
+\usepackage{geometry}
+\geometry{top=2in,
+ bottom=1in,
+ left=1in,
+ right=1in,
+ a4paper}
+
+\DeclareRobustCommand{\LaTeX}{L\kern-.25em%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{%
+ \hbox{%
+ \check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern-.10em%
+ \TeX}
+
+\IfFileExists{pdfwidgets.sty}{\RequirePackage{pdfwidgets}}{}
+
+\RequirePackage{comment,xspace}
+\def\xml{\textsc{xml}\xspace}
+\def\latex{\LaTeX\xspace}
+\def\pdf{\textsc{pdf}\xspace}
+\def\pdfa{\textsc{pdf/a-1}b\xspace}
+\def\pdfx{\textsc{pdf/x-1}a\xspace}
+\def\xmp{\textsc{xmp}\xspace}
+\def\pdftex{\textsc{pdf\TeX}\xspace}
+\def\defmacro#1{\texttt{\@bsl#1}}
+\def\thanh{H\`an Th\^e Th\`anh\xspace}
+\def\gnulinux{\textsc{gnu/linux}\xspace}
+
+\let\@DRAFTout@Hook\@empty
+\newcommand{\DRAFTout}{\g@addto@macro\@DRAFTout@Hook}
+\newcommand{\@DRAFTout@Out}{%
+ \afterassignment\@DRAFTout@Test
+ \global\setbox\@cclv= %
+ }
+\newcommand{\@DRAFTout@Test}{%
+ \ifvoid\@cclv\relax
+ \aftergroup\@DRAFTout@Output
+ \else
+ \@DRAFTout@Output
+ \fi%
+ }
+\newcommand{\@DRAFTout@Output}{%
+ \@DRAFTout@Hook%
+ \@DRAFTout@Org@Out\box\@cclv%
+ }
+\newcommand{\@DRAFTout@Org@Out}{}
+\newcommand*{\@DRAFTout@Init}{%
+ \let\@DRAFTout@Org@Out\shipout
+ \let\shipout\@DRAFTout@Out
+ }
+\newdimen\OHeight
+\setlength\OHeight{\textheight}
+\addtolength\OHeight{\headheight}
+\addtolength\OHeight{\headsep}
+\addtolength\OHeight{\footskip}
+
+\newif\ifoverlay\overlayfalse
+
+\AtBeginDocument{\@DRAFTout@Init}
+\newcommand{\@DraftOverlay@Hook}{}
+\newcommand{\AddToDraftOverlay}{\g@addto@macro\@DraftOverlay@Hook}
+\newcommand{\ClearDraftOverlay}{\let\@DraftOverlay@Hook\@empty}
+\newcommand{\@DraftOverlay}{%
+ \ifx\@DraftOverlay@Hook\@empty
+ \else
+ \bgroup
+ \@tempdima=1in
+ \@tempcnta=\@tempdima
+ \@tempcntb=-\@tempdima
+ \advance\@tempcntb\paperheight
+ \ifoverlay
+ \global\setbox\@cclv\vbox{%
+ \box\@cclv
+ \vbox{\let\protect\relax%
+ \unitlength=1pt%
+ \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
+ \@DraftOverlay@Hook%
+ \endpicture}}%
+ \else
+ \global\setbox\@cclv\vbox{%
+ \vbox{\let\protect\relax%
+ \unitlength=1sp%
+ \pictur@(0,0)(\@tempcnta,\@tempcntb)%
+ \@DraftOverlay@Hook%
+ \endpicture}%
+ \box\@cclv}%
+ \fi
+ \egroup
+ \fi
+}
+
+\definecolor{gray30}{gray}{.7}
+\definecolor{gray20}{gray}{.8}
+\definecolor{gray10}{gray}{.9}
+
+\DRAFTout{\@DraftOverlay}
+\long\def\puttext(#1)#2{\AddToDraftOverlay{%
+ \setlength{\unitlength}{1pt}\thinlines%
+ \put(#1){#2}}}
+
+\RequirePackage{shortvrb}
+%\MakeShortVerb{\|}
+\RequirePackage{amsfonts,amssymb}
+\IfFileExists{pxfonts.sty}{\RequirePackage{pxfonts}}{}
+\IfFileExists{charter.sty}{\RequirePackage{charter}}{}
+\IfFileExists{lfr.sty}{\RequirePackage[scaled=.85]{lfr}}{}
+\IfFileExists{prima.sty}{\RequirePackage[scaled=.8]{prima}}{}
+
+\def\theCodelineNo{\reset@font\tiny\arabic{CodelineNo}}
+
+\def\@seccntformat#1{\llap{\csname the#1\endcsname.\hspace*{6pt}}}
+\def\@seccntformat#1{{\csname the#1\endcsname.\hspace*{6pt}}}
+\def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\large\bfseries\color{seccolor}}}
+\def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-2.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{seccolor}}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-1.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{seccolor}}}
+
+%\RequirePackage[draft]{pdfdraftcopy}
+% \draftstring{}
+ \puttext(0,36){\botstring}%
+ \puttext(0,840){\copy\topbox}
+\if@mylogo
+ \puttext(531,829){\cvrlogo}
+\fi
+
+\RequirePackage{colortbl}
+\arrayrulecolor{arrayrulecolor}
+\let\shline\hline
+\def\hline{\noalign{\vskip3pt}\shline\noalign{\vskip4pt}}
+
+\RequirePackage[pdftex,colorlinks]{hyperref}
+\def\Hlink#1#2{\hyperlink{#2}{\color{hlinktricolor}%
+ $\blacktriangleright$~\color{hlinkcolor}#1}}
+ \def\@linkcolor{linkcolor}
+ \def\@urlcolor{urlcolor}
+
+\pagestyle{empty}
+\def\version#1{\gdef\@version{#1}}
+\def\@version{1.0}
+\def\contact#1{\gdef\@contact{#1}}
+\def\author#1{\gdef\@author{#1}}
+\def\@author{River Valley Technologies}
+\def\@contact{\texttt{support@river-valley.com}}
+\def\keywords#1{\gdef\@keywords{#1}}
+\def\@keywords{\LaTeX, \xml}
+
+\long\def\Hrule{\\[-4pt]\hspace*{-3em}%
+ {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\}
+
+\long\def\dtxmark[#1][#2]#3#4#5{\def\next{#1}%
+ \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi}
+
+\newcounter{dtx}
+
+\long\def\ddtxmark[#1][#2]#3#4#5{\def\next{#1}%
+ \stepcounter{dtx}\parbox{.45\linewidth}%
+ {\ifcase\next\or\Hlink{#4}{#3}\fi}%
+ \ifodd\thedtx\relax\else\Hrule\fi}
+
+%\global\let\dtxmark\ddtxmark
+
+\newbox\topbox
+\long\def\maketitle{\global\setbox\topbox=\vbox{\hsize=\paperwidth
+ \parindent=0pt
+ \fcolorbox{toprulecolor}{topbgcolor}%
+ {\parbox[t][1.5in][c]{\paperwidth}%
+ {\hspace*{15mm}%
+ \parbox[c]{.35\paperwidth}{\fontsize{18pt}{20pt}%
+ \raggedright\normalfont\sffamily \selectfont
+ \color{titlecolor} \@title\\[6pt]
+ {\normalsize\rmfamily\scshape\@author}}%
+% {\footnotesize\textsc{keywords:} \@keywords}}%
+ \hfill
+ \parbox[c][1.5in][c]{1mm}{\color{topverticalrule}%
+ \rule{.1pt}{1.5in}}%
+ \hfill
+ \parbox[c][1.5in][c]{.35\paperwidth}%
+ {\normalfont\footnotesize\sffamily\color{quicklinkcolor}%
+ \vspace*{6pt} QUICK LINKS\Hrule
+ \IfFileExists{tmp.out}{\input tmp.out}{}%
+ }\hspace*{5mm}%
+ }%
+ }%
+ }%
+}
+\gdef\botstring{\fcolorbox{botrulecolor}{botbgcolor}%
+ {\parbox[t][.5in][t]{\paperwidth}%
+ {\normalfont\sffamily\footnotesize%
+ \color{botcolor}%
+ \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}%
+ {\raggedright River Valley Technologies,
+ \href{http://www.river-valley.com}{%
+ http://www.river-valley.com}\\
+ \textsc{sjp} Building, Cotton Hills, Trivandrum
+ 695014, India\\ 9, Browns Court, Kennford,
+ Exeter, United Kingdom
+ }\hfill%
+ \parbox[c][.5in][c]{1cm}
+ {\centering\sffamily\mdseries
+ \fcolorbox{pgrulecolor}{pgbgcolor}{\thepage}%
+ }\hfill
+ \parbox[c][.5in][c]{.45\paperwidth}
+ {\raggedleft\tabcolsep=3pt\begin{tabular}{rl}%
+ Version:&\@version\\[1pt]
+ Date:&\@date\\[1pt]
+ Contact:&\@contact
+ \end{tabular}\hspace*{5mm}%
+ }%
+ }%
+ }%
+ }
+
+%\RequirePackage{enumitem}
+%\setitemize[1]{label={\small\color{itemcolor}$\blacktriangleright$},itemsep=0pt}
+%\setitemize[2]{label={\small\color{itemcolor}$\triangleright$},itemsep=0pt}
+%\setenumerate[1]{label={\small\color{itemcolor}\arabic*.},itemsep=0pt}
+
+\def\MacroFont{\fontencoding\encodingdefault
+ \fontfamily\ttdefault
+ \fontseries\mddefault
+ \fontshape\updefault
+ \color{verbcolor}\small}%
+
+\def\verbatim@font{\normalfont\color{verbcolor}\ttfamily}
+
+\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+ \bgroup
+ \verb@eol@error \let\do\@makeother \dospecials
+ \verbatim@font\@noligs
+ \@ifstar\@sverb\@verb}
+
+
+\def\@lbr{\expandafter\@gobble\string\{}
+\def\@rbr{\expandafter\@gobble\string\}}
+\def\@bsl{\expandafter\@gobble\string\\}
+\def\@Bsl#1{\texttt{\@bsl#1}\xspace}
+\def\trics#1{\protect\@Bsl{#1}}
+\def\onecs#1{\protect\@Bsl{#1}}
+%\let\trics\onecs
+\@ifundefined{c@Glossary}{}{\c@GlossaryColumns=1
+ \c@IndexColumns=2}
+
+\def\index@prologue{\section{Index}%
+ \markboth{Index}{Index}%
+% Numbers written in italic refer to the page
+% where the corresponding entry is described;
+% numbers underlined refer to the
+% \ifcodeline@index
+% code line of the
+% \fi
+% definition; numbers in roman refer to the
+% \ifcodeline@index
+% code lines
+% \else
+% pages
+% \fi
+% where the entry is used.
+ }
+
+\@ifundefined{theglossary}{}{%
+\renewenvironment{theglossary}{%
+ \glossary@prologue%][\GlossaryMin]%
+ \GlossaryParms \let\item\@idxitem \ignorespaces}%
+ {}}
+
+\newenvironment{decl}[1][]%
+ {\par\small\addvspace{1.5ex plus 1ex}%
+ \vskip -\parskip
+ \ifx\relax#1\relax
+ \def\@decl@date{}%
+ \else
+ \def\@decl@date{\NEWfeature{#1}}%
+ \fi
+ \noindent%\hspace{-\leftmargini}%
+ \begin{tabular}{l}\hline\ignorespaces}%
+ {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
+ \vspace{0.75ex}\vskip -\parskip\ignorespacesafterend\noindent}
+
+\newif\ifhave@multicol
+\newif\ifcodeline@index
+
+\IfFileExists{multicol.sty}{\have@multicoltrue
+ \RequirePackage{multicol}%
+ }{}
+
+\newdimen\IndexMin \IndexMin = 80pt
+\newcount\c@IndexColumns \c@IndexColumns = 2
+\ifhave@multicol
+ \renewenvironment{theindex}
+ {\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%
+ \IndexParms \let\item\@idxitem \ignorespaces}%
+ {\end{multicols}}
+\else
+ \typeout{Can't find multicol.sty -- will use normal index layout if
+ necessary.}
+ \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule \z@ \columnsep 35\p@
+ \twocolumn[\index@prologue]%
+ \IndexParms \let\item\@idxitem \ignorespaces}
+ \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+\fi
+\long\def\IndexPrologue#1{\@bsphack\def\index@prologue{#1}\@esphack}
+\@ifundefined{index@prologue}
+ {\def\index@prologue{\section{Index}%
+ \markboth{Index}{Index}%
+% Numbers written in italic refer to the page
+% where the corresponding entry is described;
+% numbers underlined refer to the
+% \ifcodeline@index
+% code line of the
+% \fi
+% definition; numbers in roman refer to the
+% \ifcodeline@index
+% code lines
+% \else
+% pages
+% \fi
+% where the entry is used.
+ }}{}
+\@ifundefined{IndexParms}
+ {\def\IndexParms{%
+ \parindent \z@
+ \columnsep 15pt
+ \parskip 0pt plus 1pt
+ \rightskip 15pt
+ \mathsurround \z@
+ \parfillskip=-15pt
+ \footnotesize
+ \def\@idxitem{\par\hangindent 30pt}%
+ \def\subitem{\@idxitem\hspace*{15pt}}%
+ \def\subsubitem{\@idxitem\hspace*{25pt}}%
+ \def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
+ }}{}
+\def\efill{\hfill\nopagebreak}%
+\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill}%
+\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}%
+\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
+ \dotfil~\ignorespaces}%
+
+\let\scan@allowedfalse\relax
+
+\def\tlformat#1{\begingroup\Large
+ \parbox[c][1.25em][c]{1.25em}{\centering\fontfamily{phv}
+ \fontseries{m}%
+ \selectfont\color{white}\huge#1}%
+ \endgroup}
+\def\tlFormat#1{\begingroup\Large
+ \parbox[c][1.25em][c]{1.25em}{\centering\fontfamily{phv}
+ \fontseries{m}%
+ \selectfont\color{black}\huge#1}%
+ \endgroup}
+\def\cvrlogo{\begingroup\fboxsep=2pt
+ \colorbox{olive}{\tlformat{c}}%
+ \colorbox{blue}{\tlformat{v}}%
+ \colorbox{red}{\tlformat{r}}
+ \endgroup}
+
+
+\endinput
+
+%%
+%% End of file 'rvdtx.sty'
+%%