diff options
author | Norbert Preining <preining@logic.at> | 2014-03-03 01:38:45 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2014-03-03 01:38:45 +0000 |
commit | 39cb23d10578b9db523f4f499d3dea3630787af0 (patch) | |
tree | f55976b1244f9e20f660d165f740a62b6abb067f /Master | |
parent | 3ed297e7d00115c2a2be5d8a32058869f33f0567 (diff) |
prerex (3Mar)
git-svn-id: svn://tug.org/texlive/trunk@33078 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/README | 79 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/intro.pdf | bin | 284232 -> 284350 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/intro.tex | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/prerex.pdf | bin | 144291 -> 144411 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/prerex.sty.7 | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/prerex.tex | 21 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/prerex/prerex.sty | 555 |
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 Binary files differindex c834389373d..ba6cb15c8e5 100644 --- a/Master/texmf-dist/doc/latex/prerex/intro.pdf +++ b/Master/texmf-dist/doc/latex/prerex/intro.pdf 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 Binary files differindex 8805aff98c7..4ba8a28f61e 100644 --- a/Master/texmf-dist/doc/latex/prerex/prerex.pdf +++ b/Master/texmf-dist/doc/latex/prerex/prerex.pdf 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) +% + |