summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/prerex/README79
-rw-r--r--Master/texmf-dist/doc/latex/prerex/intro.pdfbin284232 -> 284350 bytes
-rw-r--r--Master/texmf-dist/doc/latex/prerex/intro.tex11
-rw-r--r--Master/texmf-dist/doc/latex/prerex/prerex.pdfbin144291 -> 144411 bytes
-rw-r--r--Master/texmf-dist/doc/latex/prerex/prerex.sty.76
-rw-r--r--Master/texmf-dist/doc/latex/prerex/prerex.tex21
-rw-r--r--Master/texmf-dist/tex/latex/prerex/prerex.sty555
7 files changed, 334 insertions, 338 deletions
diff --git a/Master/texmf-dist/doc/latex/prerex/README b/Master/texmf-dist/doc/latex/prerex/README
index daaa393ac4b..fce4dc5536b 100644
--- a/Master/texmf-dist/doc/latex/prerex/README
+++ b/Master/texmf-dist/doc/latex/prerex/README
@@ -1,5 +1,5 @@
-prerex, version 2014-02-27.
-Macros for prerequisite charts, with associated editor and viewer applications.
+prerex, version 2014-03-02. Macros for prerequisite charts, with
+associated editor and viewer applications.
This package consists of
@@ -14,8 +14,8 @@ This package consists of
vprerex ("visual prerex") a GUI and previewer for prerex.
The implementation of prerex.sty is built on pgf, so that it may be
-used equally happily with latex or pdflatex; prerex is written in C and
-vprerex is written in C++ using the Qt-4 and poppler libraries.
+used equally happily with latex or pdflatex; prerex is written in C
+and vprerex is written in C++ using the Qt-4 and poppler libraries.
See chart.{pdf,html} for a small example of a prerequisite chart and
real-life examples at
@@ -25,28 +25,30 @@ http://www.cs.queensu.ca/students/undergraduate/prerequisites/
Prerequisite charts are useful to students selecting courses and
planning their programs, and to faculty and staff advising students
and managing curriculum development. Conventional sources of course,
-program and timetable information are rarely in a user-friendly format.
-Faculty and staff advisors, being already fairly familiar with their
-courses and programs, often do not appreciate how inconvenient it is
-for students to access all the information they need to make course
-choices.
+program and timetable information are rarely in a user-friendly
+format. Faculty and staff advisors, being already fairly familiar
+with their courses and programs, often do not appreciate how
+inconvenient it is for students to access all the information they
+need to make course choices.
-The crucial tool in the prerex suite is "prerex.sty", a macro package
-that defines a "chart" environment and commands to specify construction
-of course boxes and directed arrows between them.
+The crucial tool in the prerex suite is "prerex.sty", a macro
+package that defines a "chart" environment and commands to specify
+construction of course boxes and directed arrows between them.
prerex.sty depends on
- pgf (and add-on tikz), version 1.18 or higher
+ pgf (and add-on tikz), version 3.0 or higher
multido
relsize
calc
- ifthen
zref-savepos
hyperref
-The use of pgf means that Postscript processing is not required;
-either pdflatex or latex -> dvips [ -> ps2pdf ] may be used.
+The use of pgf means that Postscript processing is not required.
+Either pdflatex or latex -> dvips [ -> ps2pdf ] or latex -> dvipdfmx
+(with suitable driver options) will generate charts, but pdflatex
+processing is necessary to produce correct pixel coordinates in the
+generated map and shell files.
Installation of prerex.sty:
@@ -62,12 +64,13 @@ Installation of prerex.sty:
See doc/prerex.pdf for detailed documentation.
-The prerex editor allows interactive editing of the chart environments
-of LaTeX source files. It supports add, remove, cut-and-paste, and edit
-operations on course boxes and arrows, and vertical or horizontal shifts
-of the whole diagram or selected sets of course boxes. When a course box
-is moved, the arrows into and out of it automatically follow. To install
-on most Unix-like platforms, including OS-X and Cygwin on Windows:
+The prerex editor allows interactive editing of the chart
+environments of LaTeX source files. It supports add, remove,
+cut-and-paste, and edit operations on course boxes and arrows, and
+vertical or horizontal shifts of the whole diagram or selected sets
+of course boxes. When a course box is moved, the arrows into and out
+of it automatically follow. To install on most Unix-like platforms,
+including OS-X and Cygwin on Windows:
tar zxvf prerex-6.5.2.tar.gz
cd prerex-6.5.2
@@ -75,24 +78,26 @@ on most Unix-like platforms, including OS-X and Cygwin on Windows:
make
make install (as root if necessary)
-The prerex editor will also build on the MinGW platform on Windows if
-the readline package in the gnuwin32.sourceforge.net repository has been
-installed.
+The prerex editor will also build on the MinGW platform on Windows
+if the readline package in the gnuwin32.sourceforge.net repository
+has been installed.
-The effects of editing operations may be observed in any PDF viewer.
-The vprerex (visual prerex) application included in the prerex suite
-is a GUI and viewer for the prerex editor. It may be used just as a
-minimalist viewer of arbitrary PDF files but supports editing of
-charts generated using prerex.sty by allowing coordinates of course
-boxes, arrows, and background points to be conveyed back to the prerex
-editor command-line using the clipboard. See the INSTALL in the tarball
-for installation instructions.
+The effects of editing operations may be observed in any PDF viewer
+that re-loads dynamically. The vprerex (visual prerex) application
+included in the prerex suite is a GUI and viewer for the prerex
+editor. It may be used just as a minimalist viewer of arbitrary PDF
+files but supports editing of charts generated using prerex.sty
+by allowing coordinates of course boxes, arrows, and background
+points to be conveyed back to the prerex editor command-line using
+the clipboard. See the INSTALL in the tarball for installation
+instructions.
See the file doc/intro.pdf for an overview of the prerex system.
prerex.sty, README, prerex.1, prerex.5, prerex.sty.7, prerex.tex and
-chart.tex may be modified and distributed according to the terms of the
-LaTeX Project Public License.
+chart.tex may be modified and distributed according to the terms of
+the LaTeX Project Public License.
-The source files for prerex and vprerex may be modified and distributed
-according to the terms of the GNU General Public Licence (version 2).
+The source files for prerex and vprerex may be modified and
+distributed according to the terms of the GNU General Public Licence
+(version 2).
diff --git a/Master/texmf-dist/doc/latex/prerex/intro.pdf b/Master/texmf-dist/doc/latex/prerex/intro.pdf
index c834389373d..ba6cb15c8e5 100644
--- a/Master/texmf-dist/doc/latex/prerex/intro.pdf
+++ b/Master/texmf-dist/doc/latex/prerex/intro.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/prerex/intro.tex b/Master/texmf-dist/doc/latex/prerex/intro.tex
index 3fc4bb88e58..e03d426e2fd 100644
--- a/Master/texmf-dist/doc/latex/prerex/intro.tex
+++ b/Master/texmf-dist/doc/latex/prerex/intro.tex
@@ -335,7 +335,7 @@ to process the description of a prerex-formatted prerequisite chart until some n
To process descriptions of prerex-formatted charts, some additional packages
are needed.
-The file \texttt{prerex.sty} fromthe \texttt{prerex} package is essential;
+The file \texttt{prerex.sty} from the \texttt{prerex} package is essential;
it should be stored
in the same folder as the \texttt{.tex} file to be processed
(or in the
@@ -344,6 +344,7 @@ Other add-ons that may be necessary are as follows:
\texttt{pgf},
\texttt{tikz},
\texttt{multido},
+\texttt{ifpdf},
\texttt{textcomp}, and
\texttt{xcolor}.
If you are using \MikTeX\ or \texttt{texlive}, these can be installed using the
@@ -426,7 +427,7 @@ The Open Sans family\footnote{%
of fonts, designed by Steve Matteson of
Ascender, is supported for use in \LaTeX\ by the \texttt{opensans} package,
available from CTAN\footnote{%
-\myurl{http://www.ctan.org/tex-archive/fonts/opensans}}
+\myurl{http://mirror.ctan.org/fonts/opensans}}
and in most distributions.
The Cabin\footnote{%
\myurl{http://www.google.com/webfonts/specimen/Cabin}}
@@ -449,7 +450,7 @@ Artifex\footnote{%
\myurl{http://www.artifex.com/downloads/}}.
The four Classico font files, renamed for use in \LaTeX, with the necessary support files and installation instructions are available
from CTAN\footnote{%
-\myurl{ftp://tug.ctan.org/pub/tex-archive/nonfree/fonts/urw/classico.zip}}.
+\myurl{http://mirror.ctan.org/fonts/urw/classico/}}.
Note that the font files cannot be distributed commercially without a commercial license; please read the license in the archive
before re-distributing them. This restriction does not prevent you from distributing documents
that \emph{use} the fonts.
@@ -470,7 +471,7 @@ package may be used as follows:
The density parameter specifies the number of pixels per inch; if this is too small, the
image is of poor quality, and if it is too large, the image file is too big.
The quality parameter ensures maximal (loss-free) compression.
-From version 5.0, \verb|prerex.sty| generates an auxiliary file
+From version 5.0, \verb|prerex.sty| (if processed by \verb\pdflatex\) generates an auxiliary file
containing image-map data for the hyperlinked nodes in the chart; consult a
reference on the HTML language for an explanation of (client-side) image maps.
@@ -544,7 +545,7 @@ coordinates of the centre points of its source and target boxes/minis/text-lines
\section{Chart Editing}
\label{editor}
The source code of \texttt{prerex}, an interactive (command-line) prerequisite-chart editor, is available at
-CTAN repositories.\footnote{\myurl{http://www.ctan.org/tex-archive/graphics/prerex/}}
+CTAN repositories.\footnote{\myurl{http://mirror.ctan.org/graphics/prerex/}}
It should build on any \textsc{Unix}-like system with
suitable tools and libraries installed; for example, it can be compiled
on GNU/Linux, Solaris, the Cygwin\footnote{\myurl{http://www.cygwin.com/}}
diff --git a/Master/texmf-dist/doc/latex/prerex/prerex.pdf b/Master/texmf-dist/doc/latex/prerex/prerex.pdf
index 8805aff98c7..4ba8a28f61e 100644
--- a/Master/texmf-dist/doc/latex/prerex/prerex.pdf
+++ b/Master/texmf-dist/doc/latex/prerex/prerex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/prerex/prerex.sty.7 b/Master/texmf-dist/doc/latex/prerex/prerex.sty.7
index 21da7194fb5..d71cf77aeee 100644
--- a/Master/texmf-dist/doc/latex/prerex/prerex.sty.7
+++ b/Master/texmf-dist/doc/latex/prerex/prerex.sty.7
@@ -1,4 +1,4 @@
-.TH PREREX.STY 7 2012-03-21 "prerex.sty-6.3" ""
+.TH PREREX.STY 7 2014-02-28 "prerex.sty-6.4" ""
.SH NAME
prerex.sty \- a LaTeX document style for prerequisite charts
.SH DESCRIPTION
@@ -251,7 +251,7 @@ When the grid is on, the mid-point of every arrow is highlighted by a
The
.B prerex
package at
-.B http://www.ctan.org/tex-archive/graphics/prerex/
+.B http://mirror.ctan.org/graphics/prerex/
has a patch for
.BR kpdf / okular (1)
to make it display URIs in tooltips and also capture coordinates of course boxes, arrows and
@@ -357,7 +357,7 @@ with add-on package
The following additional packages are used:
.B relsize,
.B calc,
-.B ifthen,
+.B ifpdf,
.B multido,
.B textcomp,
.B zref-savepos
diff --git a/Master/texmf-dist/doc/latex/prerex/prerex.tex b/Master/texmf-dist/doc/latex/prerex/prerex.tex
index 454364665da..1146461bb67 100644
--- a/Master/texmf-dist/doc/latex/prerex/prerex.tex
+++ b/Master/texmf-dist/doc/latex/prerex/prerex.tex
@@ -6,7 +6,7 @@
%\def\LaTeX{\mbox{LaTeX}}
\begin{document}
-\title{\textsf{prerex.sty}: Prerequisite Charts in \LaTeX\\{\large Version 6.3}}
+\title{\textsf{prerex.sty}: Prerequisite Charts in \LaTeX\\{\large Version 6.4}}
\author{R. D. Tennent\\\texttt{rdt@cs.queensu.ca}}
\date{\today}
\maketitle
@@ -291,7 +291,7 @@ a ``bullet''.
The
\texttt{prerex}
package at
-\url{http://www.ctan.org/tex-archive/graphics/prerex/}
+\url{http://mirror.ctan.org/graphics/prerex/}
contains source code for a graphical frontend
\texttt{vprerex} to the \texttt{prerex}
editor. It incorporates a minimalistic prerex-enabled PDF viewer
@@ -362,18 +362,19 @@ environment, such as in the explanatory notes for a chart:
\end{center}
\section{Dependencies}
+\sloppypar
This implementation of
\verb|prerex.sty|
uses
\verb|pgf|
-(version~1.18 or later)
+(version~3.0.0 or later)
with add-on package
\verb|tikz|.
The following additional packages are used:
\verb|multido|,
\verb|relsize|,
\verb|calc|,
-\verb|ifthen|,
+\verb|ifpdf|,
\verb|textcomp|,
\verb|zref-savepos|,
and
@@ -381,8 +382,10 @@ and
\emph{Either} \verb\pdflatex\
\emph{or}
\verb\latex\ (followed by \verb\dvips\ and, possibly, \verb\ps2pdf\)
-may be used; however, the page coordinates in the generated shell script and
-image-map may not be accurate unless \verb\pdflatex\
+\emph{or}
+\verb\latex\ (with suitable driver options, followed by \verb\dvipdfmx\)
+may be used; however, cropping shell scripts and
+image maps are only generated if \verb\pdflatex\
is used.
\section{Conversion to Portable Network Graphic (PNG) Format}
@@ -403,7 +406,7 @@ By default, the shell script generated by \texttt{prerex.sty} crops the image at
It is possible to use a PNG compression application such as
\texttt{optipng} to reduce the file-size of the cropped image (without loss of quality).
-An auxiliary file
+If \verb\pdflatex\ is used, an auxiliary file
containing image-map data for the hyperlinked nodes in the chart is also generated;
consult a reference on the HTML language for an explanation of (client-side) image maps.
@@ -518,8 +521,6 @@ improve the appearance
of crossing arrows; the background also
ensures visibility of the
arrow when the coordinate grid is on.
-A thin white arrow (with a visible
-arrowhead) is drawn beneath the visible arrow to obtain a thin arrowhead.
\subsection{Coordinate Grid and Associated Changes}
When the coordinate grid is drawn, the \texttt{CourseURL} command
@@ -534,7 +535,7 @@ PDF viewers to compute chart coordinates.
To support HTML versions of charts,
\texttt{prerex.sty}
-generates a script to crop a chart image at the southeast corner, allowing
+(if processed by \verb\pdflatex\) generates a script to crop a chart image at the southeast corner, allowing
descriptive notes below the chart to be treated as ordinary text. Also,
it generates image-map data for use with an HTML image map. To
obtain absolute page coordinates, the \texttt{zsavepos}, \texttt{zposx}
diff --git a/Master/texmf-dist/tex/latex/prerex/prerex.sty b/Master/texmf-dist/tex/latex/prerex/prerex.sty
index 3afe6755c5a..429c8171ecd 100644
--- a/Master/texmf-dist/tex/latex/prerex/prerex.sty
+++ b/Master/texmf-dist/tex/latex/prerex/prerex.sty
@@ -11,6 +11,11 @@
%% version 2003/12/01 or later.
%%
%% This work has the LPPL maintenance status "author-maintained".
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{prerex}[2014/03/02 v6.4.1 LaTeX style for prerequisite charts, pgf version]
+%
+% Changelog is at the end of the file.
%
% Instructions supported inside \begin{chart} ... \end{chart}:
%
@@ -22,7 +27,7 @@
% dotted arrow: \coreq x0,y0,x1,y1: \coreqc x0,y0,x1,y1;curvature:
% dashed arrow: \recomm x0,y0,x1,y1: \recommc x0,y0,x1,y1;curvature:
%
-% \text x,y: {line of text}
+% \text x,y: {lines of text}
%
% \grid coordinate grid background
%
@@ -36,198 +41,7 @@
% \boldbox in-line bold course box
% \dottedbox in-line dotted course box
%
-% The following defaults are defined in prerex.sty (but may be re-defined by the user):
-%
-% \newcommand{\DefaultCurvature}{20}
-%
-% where the argument should be in the range 0-100; 0 means no curvature.
-%
-% \newcommand{\CourseURL}[3]{file:#3.html}
-%
-% where the arguments supplied at the call are the x and y coordinates
-% and the course code.
-%
-% \newcommand{\background}{yellow!15}
-%
-% \setlength{\unit}{5.7816pt} length of a coordinate unit; gives 10 pixels per unit at 125dpi
-% \newcommand{\dpi}{125}
-% \newcommand\PixelsPerUnit{10}
-% \setcounter{diagheight}{75} but reduced to 65 in landscape mode
-% \newcommand{\solidwidth}{0.5pt}
-% \newcommand{\dottedwidth}{0.8pt}
-% \newcommand{\dashedwidth}{0.5pt}
-% \newcommand{\boldwidth}{1.0pt}
-% \newcommand{\smallersize}{\relsize{-2}}
-% \newcommand{\baselineAdj}{-0.5ex}
-%
-% The nominal diagram width is 10 + (\textwidth divided by \unit).
-%
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{prerex}[2014/02/27 v6.4.0 LaTeX style for prerequisite charts, pgf version]
-
-% Changelog:
-%
-% Version 6.4.0
-%
-% Revise arrows for tikz version 3.0.0
-%
-% Version 6.3.6
-%
-% Allow line breaks in \text boxes.
-%
-% Version 6.3.5
-%
-% Fix font usage to work with mweights.sty.
-%
-% Version 6.3.4
-%
-% Timetable and course code in bold for required boxes.
-%
-% Version 6.3.3
-%
-% Remove background colour from standalone boxes.
-% \smallersize increased to \relsize{-2}.
-%
-% Version 6.3.2
-%
-% Use pgf layers to keep grid below arrows below boxes (thanks to Ryan Kavanagh).
-% Add struts to stand-alone \...box commands.
-%
-% Version 6.3
-%
-% Allow "opt" course boxes (with dotted outlines).
-%
-% Version 6.2
-%
-% Allow for multi-line "timetable" arguments by using nested tabular environments.
-%
-% Version 6.1.0
-%
-% Added commands to specify background color of non-mini course boxes.
-%
-% Version 6.0.6
-%
-% Provide \textbullet at mid-point of edges when grid is on.
-%
-% Version 6.0.5
-%
-% Changed TARGET attribute in AREA outputs to "new".
-% New configuration command \baselineAdj.
-%
-% Version 6.0.4
-%
-% Added missing initializations of @dy to curved... macros.
-%
-% Version 6.0.3
-%
-% Added required ALT tag to AREA outputs.
-%
-% Version 6.0
-% Version 5.7
-%
-% added implementation details to documentation
-% generated script now only crops the chart image
-%
-% Version 5.6
-% Version 5.5
-%
-% version increased to keep pace with previewer/vprerex
-%
-% Version 5.4
-%
-% code clean-up
-%
-% Version 5.3
-%
-% produces an image-generating script in \jobname.sh
-%
-% Version 5.2
-%
-% use \grid and \foreach (tikz) instead of \multido
-% half-course boxes now have a minimum height (5 units) to improve uniformity
-%
-% Version 5.1
-%
-% generates image-map data in \jobname_n.html for nth chart when n>1
-%
-% Version 5.0
-%
-% also generates \jobname.html with image-map data for all node URLs
-% new configuration commands \dpi and \PixelsPerUnit
-% default \unit length adjusted to give 10 pixels per coordinate unit at 125 dpi
-%
-% Version 4.4
-%
-% increase ysep parameter to 1.8pt to separate course-code or text and arrow tails for minis
-% and text boxes
-%
-% Version 4.3
-%
-% introduce \smallersize configuration command
-%
-% Version 4.2
-%
-% using tinting with xcolor package to ease background-color changes
-%
-% Version 4.1
-%
-% Version 4.0
-%
-% Implement the \text command to place a line of text (centered at the coordinates) in a chart
-%
-% Version 3.8.1:
-%
-% adjust arraystretch factors to work with long-ascender fonts such as Futura
-% adjust inner sep parameters to work with oblique/italic fonts
-% remove workaround for pgf-1.10 bug described at
-% http://sourceforge.net/forum/forum.php?thread_id=1621660&forum_id=477363
-% require version 1.18 (or later) of pgf
-%
-% Version 3.8:
-%
-% require version 1.10 (or later) of pgf
-%
-% Version 3.7:
-%
-% anchor nodes must be non-null for latex/dvips
-%
-% Version 3.6:
-%
-% first pgf-based version
-%
-% Version 3.5:
-% Version 3.4:
-%
-% introduce arrow borders to improve the appearance of crossing arrows
-% change default widths to artifacts created when arrow borders
-% occlude box boundaries
-%
-% Version 3.3:
-%
-% arrows (as well as course boxes and minis) are hyperlinked with coordinate URIs
-%
-% Version 3.2:
-%
-% Version 3.1:
-%
-% Version 3.0:
-%
-% "anchor" hyperlinks are added to coordinate grid to allow computation of
-% chart coordinates at mouse clicks
-%
-% Version 2.0:
-%
-% CourseURL now takes 3 arguments
-% box/mini coordinates displayed in (some) PDF viewers when grid on
-%
-% Version 1.0.2:
-%
-% using \relsize{-3} rather than \scriptsize
-% using \textsf in \lightbox and \boldbox
-%
-% Version 1.0.1:
-%
-% using \RequirePackage rather than \usepackage (suggested by Herbert Voss)
+% The nominal diagram width is (\textwidth divided by \unit) + 10
%
\newlength{\unit}
@@ -240,11 +54,11 @@
\RequirePackage{calc}
\RequirePackage{pgf}[2013/12/18]
\RequirePackage{tikz}\usetikzlibrary{arrows.meta}
-\RequirePackage{ifthen}
\RequirePackage{textcomp}
\RequirePackage{zref-savepos}
\PassOptionsToPackage{urlcolor=black,colorlinks,raiselinks}{hyperref}
\RequirePackage{hyperref}
+\RequirePackage{ifpdf}
\RequirePackage{xcolor}
\definecolor{light}{gray}{0.5}
@@ -252,9 +66,13 @@
\definecolor{verylight}{gray}{0.85}
\definecolor{white}{rgb}{1.0,1.0,1.0} % not transparent, hides grid
+\newcommand{\DefaultCurvature}{20}
+% where the argument should be in the range 0-100; 0 means no curvature.
-\newcommand{\DefaultCurvature}{20} % 0 for no curvature
\newcommand{\CourseURL}[3]{file:#3.html}
+% where the arguments supplied at the call are the x and y coordinates
+% and the course code.
+
\newcommand{\background}{yellow!15}
\newcommand{\solidwidth}{0.5pt}
@@ -296,35 +114,38 @@
% #4 horizontal delta
% #5 vertical delta
%
-\setcounter{xNW}{\dpi * \ratio{\zposx{gridOrigin_\thechart}sp}{1in}}% # of pixels from left edge to origin
-\addtocounter{xNW}{(#1-#4)*\PixelsPerUnit}% add # pixels from origin to node (-#4 units)
-\setcounter{xSE}{\dpi * \ratio{\zposx{gridOrigin_\thechart}sp}{1in}}%
-\addtocounter{xSE}{(#1+#4)*\PixelsPerUnit}% add # pixels from origin to node (+#4 units)
+\ifpdf
+ \setcounter{xNW}{\dpi * \ratio{\zposx{gridOrigin_\thechart}sp}{1in}}% # of pixels from left edge to origin
+ \addtocounter{xNW}{(#1-#4)*\PixelsPerUnit}% add # pixels from origin to node (-#4 units)
+ \setcounter{xSE}{\dpi * \ratio{\zposx{gridOrigin_\thechart}sp}{1in}}%
+ \addtocounter{xSE}{(#1+#4)*\PixelsPerUnit}% add # pixels from origin to node (+#4 units)
-\setcounter{yNW}{ \dpi * \ratio{\paperheight}{1in}} % # of pixels for the whole page
-\addtocounter{yNW}{ 0 - \dpi * \ratio{\zposy{gridOrigin_\thechart}sp}{1in}} % subtract # pixels from bottom edge to origin
-\addtocounter{yNW}{0 - (#2 - #5) * \PixelsPerUnit } % subtract # of pixels from origin to node (-#5)
-\setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}}
-\addtocounter{ySE}{0 - \dpi * \ratio{\zposy{gridOrigin_\thechart}sp}{1in}}
-\addtocounter{ySE}{0 - (#2 + #5) * \PixelsPerUnit } % subtract # of pixels from origin to node (+#5)
+ \setcounter{yNW}{ \dpi * \ratio{\paperheight}{1in}} % # of pixels for the whole page
+ \addtocounter{yNW}{ 0 - \dpi * \ratio{\zposy{gridOrigin_\thechart}sp}{1in}} % subtract # pixels from bottom edge to origin
+ \addtocounter{yNW}{0 - (#2 - #5) * \PixelsPerUnit } % subtract # of pixels from origin to node (-#5)
+ \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}}
+ \addtocounter{ySE}{0 - \dpi * \ratio{\zposy{gridOrigin_\thechart}sp}{1in}}
+ \addtocounter{ySE}{0 - (#2 + #5) * \PixelsPerUnit } % subtract # of pixels from origin to node (+#5)
-\immediate\write\@imapfile{<area shape=rect coords="\thexNW,\theyNW,\thexSE,\theySE" href="\CourseURL{#1}{#2}{#3}" target="new" alt="#3">}%
+ \immediate\write\@imapfile{<area shape=rect coords="\thexNW,\theyNW,\thexSE,\theySE" href="\CourseURL{#1}{#2}{#3}" target="new" alt="#3">}%
+\fi
}
\pgfsetlayers{}
+
\def\solidarrow{%
\tikz[x=\unit,y=\unit,baseline=\baselineAdj]
-\draw[-Latex,line width =\solidwidth] (0,0) -- (4,0);
+\draw[-{Latex[length=4pt]},line width =\solidwidth] (0,0) -- (4,0);
}
\def\dottedarrow{%
\tikz[x=\unit,y=\unit,baseline=\baselineAdj]
-\draw[-Latex,loosely dotted,line width=\dottedwidth] (0,0) -- (4,0);
+\draw[-{Latex[length=4pt]},loosely dotted,line width=\dottedwidth] (0,0) -- (4,0);
}
\def\dashedarrow{%
\tikz[x=\unit,y=\unit,baseline=\baselineAdj]
-\draw[-Latex,dashed,line width=\dashedwidth] (0,0) -- (4,0);
+\draw[-{Latex[length=4pt]},dashed,line width=\dashedwidth] (0,0) -- (4,0);
}
\def\lightbox{%
@@ -350,7 +171,7 @@
\def\@halfcourse#1,#2:#3#4#5{%
\begin{pgfonlayer}{courses}%
-\node[draw,thin,fill=\background,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
+\node[draw,thin,fill=\background,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{0.8}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -366,7 +187,7 @@
\def\@halfcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,thin,fill=#6,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
+\node[draw,thin,fill=#6,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{0.8}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -382,7 +203,7 @@
\def\@reqhalfcourse#1,#2:#3#4#5{%
\begin{pgfonlayer}{courses}%
-\node[draw,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
+\node[draw,line width=\boldwidth,fill=\background,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{0.8}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -398,7 +219,7 @@
\def\@reqhalfcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
+\node[draw,line width=\boldwidth,fill=#6,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{0.8}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -415,7 +236,7 @@
\def\@opthalfcourse#1,#2:#3#4#5{%
\begin{pgfonlayer}{courses}%
-\node[draw,dotted,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
+\node[draw,dotted,line width=\boldwidth,fill=\background,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{0.8}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -431,7 +252,7 @@
\def\@opthalfcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,dotted,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
+\node[draw,dotted,line width=\boldwidth,fill=#6,minimum height=\@unitmult](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{0.8}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -447,7 +268,7 @@
\def\@fullcourse#1,#2:#3#4#5{%
\begin{pgfonlayer}{courses}%
-\node[draw,thin,fill=\background,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,thin,fill=\background](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -463,7 +284,7 @@
\def\@fullcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,thin,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,thin,fill=#6](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -479,7 +300,7 @@
\def\@reqfullcourse#1,#2:#3#4#5{%
\begin{pgfonlayer}{courses}%
-\node[draw,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,line width=\boldwidth,fill=\background](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -495,7 +316,7 @@
\def\@reqfullcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,line width=\boldwidth,fill=#6](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -511,7 +332,7 @@
\def\@fullcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,thin,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,thin,fill=#6](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -527,7 +348,7 @@
\def\@optfullcourse#1,#2:#3#4#5{%
\begin{pgfonlayer}{courses}%
-\node[draw,dotted,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,dotted,line width=\boldwidth,fill=\background](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -544,7 +365,7 @@
\def\@optfullcoursec#1,#2:#3#4#5#6{%
\begin{pgfonlayer}{courses}%
-\node[draw,dotted,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)%
+\node[draw,dotted,line width=\boldwidth,fill=#6](x#1y#2) at (#1,#2)%
{
\renewcommand{\arraystretch}{1.7}%
\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}%
@@ -561,12 +382,12 @@
\def\@mini#1,#2:#3{%
\begin{pgfonlayer}{courses}%
\ifgridon
- \node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2)%
+ \node[fill=white,draw=white](x#1y#2) at (#1,#2)%
{
\href{\CourseURL{#1}{#2}{#3}}{%
{\smallersize\mdseries#3}}};%
\else
- \node[fill=none,draw=none,inner ysep=1.8pt](x#1y#2) at (#1,#2)%
+ \node[fill=none,draw=none](x#1y#2) at (#1,#2)%
{
\href{\CourseURL{#1}{#2}{#3}}{%
{\smallersize\mdseries#3}}};%
@@ -579,10 +400,10 @@
% include coordinates if grid on, but don't hyperlink if grid off
\begin{pgfonlayer}{courses}%
\ifgridon
- \node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2)%
+ \node[fill=white,draw=white](x#1y#2) at (#1,#2)%
{\href{coord: #1,#2}{\sffamily\mdseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[b]{@{}c@{}}#3\\[-0.4ex]\end{tabular}}};%
\else
- \node[fill=none,draw=none,inner ysep=1.8pt](x#1y#2) at (#1,#2){\sffamily\mdseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[b]{@{}c@{}}#3\\[-0.4ex]\end{tabular}};%
+ \node[fill=none,draw=none](x#1y#2) at (#1,#2){\sffamily\mdseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[b]{@{}c@{}}#3\\[-0.4ex]\end{tabular}};%
\fi
\end{pgfonlayer}%
}
@@ -655,11 +476,10 @@
\def\@straight#1,#2,#3,#4:{%
\begin{pgfonlayer}{arrows}
\draw[draw=white,line width=1.5pt](x#1y#2) -- (x#3y#4) ;
- \draw[-{Latex[fill=black]},draw=white,very thin](x#1y#2) -- (x#3y#4) ;
\ifgridon
- \draw[line width=\solidwidth](x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4);
+ \draw[->,line width=\solidwidth](x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4);
\else
- \draw[line width=\solidwidth](x#1y#2) -- (x#3y#4) ;
+ \draw[->,line width=\solidwidth](x#1y#2) -- (x#3y#4) ;
\fi
\end{pgfonlayer}
}
@@ -678,11 +498,10 @@
\setcounter{@inangle}{180 - \the@myangle}
\begin{pgfonlayer}{arrows}
\draw[draw=white,line width=1.5pt](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
- \draw[-{Latex[fill=black]},draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
\ifgridon
- \draw[line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
+ \draw[->,line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
\else
- \draw[line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
+ \draw[->,line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
\fi
\end{pgfonlayer}
}
@@ -690,11 +509,10 @@
\def\@straightDashed#1,#2,#3,#4:{%
\begin{pgfonlayer}{arrows}
\draw[draw=white,line width=1.5pt] (x#1y#2) -- (x#3y#4);
-\draw[-{Latex[fill=black]},draw=white,very thin] (x#1y#2) -- (x#3y#4);
\ifgridon
- \draw[dashed,line width=\dashedwidth] (x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
+ \draw[->,dashed,line width=\dashedwidth] (x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
\else
- \draw[dashed,line width=\dashedwidth] (x#1y#2) -- (x#3y#4);
+ \draw[->,dashed,line width=\dashedwidth] (x#1y#2) -- (x#3y#4);
\fi
\end{pgfonlayer}
}
@@ -712,11 +530,10 @@
\setcounter{@inangle}{180 - \the@myangle}
\begin{pgfonlayer}{arrows}
\draw[draw=white,line width=1.5pt](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
- \draw[-{Latex[fill=black]},draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
\ifgridon
- \draw[dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4);
+ \draw[->,dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4);
\else
- \draw[dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4);
+ \draw[->,dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4);
\fi
\end{pgfonlayer}
}
@@ -724,11 +541,10 @@
\def\@straightDotted#1,#2,#3,#4:{%
\begin{pgfonlayer}{arrows}
\draw[draw=white,line width=1.5pt] (x#1y#2) -- (x#3y#4);
- \draw[-{Latex[fill=black]},draw=white,very thin] (x#1y#2) -- (x#3y#4);
\ifgridon
- \draw[loosely dotted,line width=\dottedwidth] (x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
+ \draw[->,loosely dotted,line width=\dottedwidth] (x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
\else
- \draw[loosely dotted,line width=\dottedwidth] (x#1y#2) -- (x#3y#4);
+ \draw[->,loosely dotted,line width=\dottedwidth] (x#1y#2) -- (x#3y#4);
\fi
\end{pgfonlayer}
}
@@ -746,11 +562,10 @@
\setcounter{@inangle}{180 - \the@myangle}
\begin{pgfonlayer}{arrows}
\draw[draw=white,line width=1.5pt](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
- \draw[-{Latex[fill=black]},draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
\ifgridon
- \draw[loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
+ \draw[->,loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ;
\else
- \draw[loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
+ \draw[->,loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ;
\fi
\end{pgfonlayer}
}
@@ -794,15 +609,17 @@
\newenvironment{chart}
{ \setcounter{@diagwidth}{10 + 1 * \ratio{\textwidth}{\unit}}
- \newwrite\@imapfile % image-map data
- \newwrite\@scriptfile % shell script to generate image file
- \ifthenelse{\value{chart} = 0}
- { \immediate\openout\@imapfile=\jobname.map
- \immediate\write\@imapfile{<map name="\jobname">}
- }
- { \immediate\openout\@imapfile=\jobname_\thechart.map
- \immediate\write\@imapfile{<map name="\jobname_\thechart">}
- }
+ \ifpdf
+ \newwrite\@imapfile % image-map data
+ \newwrite\@scriptfile % shell script to generate image file
+ \ifnum\value{chart}=0
+ \immediate\openout\@imapfile=\jobname.map
+ \immediate\write\@imapfile{<map name="\jobname">}
+ \else
+ \immediate\openout\@imapfile=\jobname_\thechart.map
+ \immediate\write\@imapfile{<map name="\jobname_\thechart">}
+ \fi
+ \fi
\let\halfcourse=\@halfcourse
\let\halfcoursec=\@halfcoursec
@@ -825,8 +642,8 @@
\let\recomm=\@recomm
\let\recommc=\@recommc
\let\grid=\@grid
- \begin{tikzpicture}[x=\unit,y=\unit]
- \tikzstyle{every rectangle node}=[inner xsep=1.8pt]
+ \begin{tikzpicture}[x=\unit,y=\unit,>={Latex[length=4pt,fill=black]}]
+ \tikzstyle{every rectangle node}=[inner xsep=1.8pt,rounded corners=2pt,inner ysep=0.5pt]
\setcounter{@gridwidth}{(\the@diagwidth-5) / 10}
\setcounter{@gridright}{10 * \value{@gridwidth}}
\setcounter{@gridheight}{\thediagheight / 10}
@@ -837,34 +654,206 @@
}
{
\end{tikzpicture}
- \write\@imapfile{</map>}
- \closeout\@imapfile
- \zsavepos{EndOfChart_\thechart} % determine cropping coordinates
- \ifdim\paperwidth<\paperheight
- % portrait mode
- \setcounter{xSE}{\dpi * \ratio{\zposx{EndOfChart_\thechart}sp}{1in}}%
- \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}}
- \addtocounter{ySE}{0 - \dpi * \ratio{\zposy{EndOfChart_\thechart}sp}{1in}}
- \addtocounter{ySE}{0 + 2 * \PixelsPerUnit } % bottom margin
- \else
- % landscape mode
- \setcounter{xSE}{ \dpi * \ratio{\paperwidth}{1in}}
- \addtocounter{xSE}{0 - \dpi * \ratio{\zposx{EndOfChart_\thechart}sp}{1in}}%
- \addtocounter{xSE}{0 + 2 * \PixelsPerUnit } % bottom margin
- \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}}
- \addtocounter{ySE}{ 0 - \dpi * \ratio{\zposy{EndOfChart_\thechart}sp}{1in}}
+ \ifpdf
+ \write\@imapfile{</map>}
+ \closeout\@imapfile
+ \zsavepos{EndOfChart_\thechart} % determine cropping coordinates
+ \ifdim\paperwidth<\paperheight
+ % portrait mode
+ \setcounter{xSE}{\dpi * \ratio{\zposx{EndOfChart_\thechart}sp}{1in}}%
+ \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}}
+ \addtocounter{ySE}{0 - \dpi * \ratio{\zposy{EndOfChart_\thechart}sp}{1in}}
+ \addtocounter{ySE}{0 + 2 * \PixelsPerUnit } % bottom margin
+ \else
+ % landscape mode
+ \setcounter{xSE}{ \dpi * \ratio{\paperwidth}{1in}}
+ \addtocounter{xSE}{0 - \dpi * \ratio{\zposx{EndOfChart_\thechart}sp}{1in}}%
+ \addtocounter{xSE}{0 + 2 * \PixelsPerUnit } % bottom margin
+ \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}}
+ \addtocounter{ySE}{ 0 - \dpi * \ratio{\zposy{EndOfChart_\thechart}sp}{1in}}
+ \fi
+ \edef\HasH{\expandafter\@gobble\string\#}
+ \ifnum\value{chart}=0
+ % generate a script to crop a chart image
+ \immediate\openout\@scriptfile=\jobname.sh
+ \immediate\write\@scriptfile{\HasH!/bin/sh}
+ % defer remaining output till cropping coordinates are available
+ \write\@scriptfile{mogrify -crop \thexSE x\theySE +0+0 \jobname.png}
+ \write\@scriptfile{exit 0}
+ \closeout\@scriptfile
+ \fi % more than one chart? unlikely a cropping script would be usable
\fi
- \edef\HasH{\expandafter\@gobble\string\#}
- \ifthenelse{\value{chart} = 0}
- { % generate a script to crop a chart image
- \immediate\openout\@scriptfile=\jobname.sh
- \immediate\write\@scriptfile{\HasH!/bin/sh}
- % defer remaining output till cropping coordinates are available
- \write\@scriptfile{mogrify -crop \thexSE x\theySE +0+0 \jobname.png}
- \write\@scriptfile{exit 0}
- \closeout\@scriptfile
- }
- { % more than one chart; unlikely a script would be usable
- }
\stepcounter{chart}
}
+%
+% Changelog:
+%
+% Version 6.4.1
+%
+% Set length=4pt for arrow tips in tikzpicture options.
+% Remove dependence on the ifthen package.
+% Generate map and cropping script only for pdf output.
+%
+% Version 6.4.0
+%
+% Revise arrows for tikz version 3.0.0
+%
+% Version 6.3.6
+%
+% Allow line breaks in \text boxes.
+%
+% Version 6.3.5
+%
+% Fix font usage to work with mweights.sty.
+%
+% Version 6.3.4
+%
+% Timetable and course code in bold for required boxes.
+%
+% Version 6.3.3
+%
+% Remove background colour from standalone boxes.
+% \smallersize increased to \relsize{-2}.
+%
+% Version 6.3.2
+%
+% Use pgf layers to keep grid below arrows below boxes (thanks to Ryan Kavanagh).
+% Add struts to stand-alone \...box commands.
+%
+% Version 6.3
+%
+% Allow "opt" course boxes (with dotted outlines).
+%
+% Version 6.2
+%
+% Allow for multi-line "timetable" arguments by using nested tabular environments.
+%
+% Version 6.1.0
+%
+% Added commands to specify background color of non-mini course boxes.
+%
+% Version 6.0.6
+%
+% Provide \textbullet at mid-point of edges when grid is on.
+%
+% Version 6.0.5
+%
+% Changed TARGET attribute in AREA outputs to "new".
+% New configuration command \baselineAdj.
+%
+% Version 6.0.4
+%
+% Added missing initializations of @dy to curved... macros.
+%
+% Version 6.0.3
+%
+% Added required ALT tag to AREA outputs.
+%
+% Version 6.0
+% Version 5.7
+%
+% added implementation details to documentation
+% generated script now only crops the chart image
+%
+% Version 5.6
+% Version 5.5
+%
+% version increased to keep pace with previewer/vprerex
+%
+% Version 5.4
+%
+% code clean-up
+%
+% Version 5.3
+%
+% produces an image-generating script in \jobname.sh
+%
+% Version 5.2
+%
+% use \grid and \foreach (tikz) instead of \multido
+% half-course boxes now have a minimum height (5 units) to improve uniformity
+%
+% Version 5.1
+%
+% generates image-map data in \jobname_n.html for nth chart when n>1
+%
+% Version 5.0
+%
+% also generates \jobname.html with image-map data for all node URLs
+% new configuration commands \dpi and \PixelsPerUnit
+% default \unit length adjusted to give 10 pixels per coordinate unit at 125 dpi
+%
+% Version 4.4
+%
+% increase ysep parameter to 1.8pt to separate course-code or text and arrow tails for minis
+% and text boxes
+%
+% Version 4.3
+%
+% introduce \smallersize configuration command
+%
+% Version 4.2
+%
+% using tinting with xcolor package to ease background-color changes
+%
+% Version 4.1
+%
+% Version 4.0
+%
+% Implement the \text command to place a line of text (centered at the coordinates) in a chart
+%
+% Version 3.8.1:
+%
+% adjust arraystretch factors to work with long-ascender fonts such as Futura
+% adjust inner sep parameters to work with oblique/italic fonts
+% remove workaround for pgf-1.10 bug described at
+% http://sourceforge.net/forum/forum.php?thread_id=1621660&forum_id=477363
+% require version 1.18 (or later) of pgf
+%
+% Version 3.8:
+%
+% require version 1.10 (or later) of pgf
+%
+% Version 3.7:
+%
+% anchor nodes must be non-null for latex/dvips
+%
+% Version 3.6:
+%
+% first pgf-based version
+%
+% Version 3.5:
+% Version 3.4:
+%
+% introduce arrow borders to improve the appearance of crossing arrows
+% change default widths to artifacts created when arrow borders
+% occlude box boundaries
+%
+% Version 3.3:
+%
+% arrows (as well as course boxes and minis) are hyperlinked with coordinate URIs
+%
+% Version 3.2:
+%
+% Version 3.1:
+%
+% Version 3.0:
+%
+% "anchor" hyperlinks are added to coordinate grid to allow computation of
+% chart coordinates at mouse clicks
+%
+% Version 2.0:
+%
+% CourseURL now takes 3 arguments
+% box/mini coordinates displayed in (some) PDF viewers when grid on
+%
+% Version 1.0.2:
+%
+% using \relsize{-3} rather than \scriptsize
+% using \textsf in \lightbox and \boldbox
+%
+% Version 1.0.1:
+%
+% using \RequirePackage rather than \usepackage (suggested by Herbert Voss)
+%
+