diff options
author | Karl Berry <karl@freefriends.org> | 2012-03-31 22:27:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-03-31 22:27:14 +0000 |
commit | 9c01b63974296c5795e3a8b63460ff6a46bf3b4d (patch) | |
tree | 0cfc63d976ce7f9ba9276b710f8bf0b55dbc194b | |
parent | 277834d3584f8e4b77c4cffa285491e19f0a5871 (diff) |
prerex 6.3.2 (31mar12)
git-svn-id: svn://tug.org/texlive/trunk@25800 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/doc/intro.pdf | bin | 245045 -> 245523 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/doc/intro.tex | 25 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/doc/introFonts.png | bin | 15287 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/doc/prerex.pdf | bin | 140328 -> 140709 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/doc/prerex.sty.7 | 24 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/doc/prerex.tex | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/prerex-6.2.tar.gz | bin | 112032 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/prerex-6.3.2.tar.gz | bin | 0 -> 113434 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/vprerex-6.3.1.tar.gz | bin | 15819 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/prerex/vprerex-6.3.2.tar.gz | bin | 0 -> 15461 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/prerex/prerex.sty | 217 |
12 files changed, 233 insertions, 50 deletions
diff --git a/Master/texmf-dist/doc/latex/prerex/README b/Master/texmf-dist/doc/latex/prerex/README index ab65eeae9fb..7249e000697 100644 --- a/Master/texmf-dist/doc/latex/prerex/README +++ b/Master/texmf-dist/doc/latex/prerex/README @@ -1,4 +1,4 @@ -prerex, version 6.3: Macros for prerequisite charts, with associated +prerex, version 6.3.2: Macros for prerequisite charts, with associated editor and viewer applications. This package consists of diff --git a/Master/texmf-dist/doc/latex/prerex/doc/intro.pdf b/Master/texmf-dist/doc/latex/prerex/doc/intro.pdf Binary files differindex 9365ec1d354..36b5d2f2641 100644 --- a/Master/texmf-dist/doc/latex/prerex/doc/intro.pdf +++ b/Master/texmf-dist/doc/latex/prerex/doc/intro.pdf diff --git a/Master/texmf-dist/doc/latex/prerex/doc/intro.tex b/Master/texmf-dist/doc/latex/prerex/doc/intro.tex index 054ec301e86..e6d4a0580f3 100644 --- a/Master/texmf-dist/doc/latex/prerex/doc/intro.tex +++ b/Master/texmf-dist/doc/latex/prerex/doc/intro.tex @@ -594,6 +594,11 @@ and then ``pasted'' elsewhere, the target or source coordinates of arrows into o adjusted accordingly, and similarly if nodes are shifted or raised. To allow permutations of two or more chart elements, the editor maintains a ``stack'' of elements that have been cut but not yet pasted. +The notation +$x_0,y_0:x_1,y_1$ +denotes all the nodes (course boxes, minis, texts) in the rectangle whose northwest and southeast corners are at +coordinates +$x_0,y_0$ and $x_1,y_1$. \begin{table} \begin{center}\small \begin{tabular}{|l|l|} @@ -605,11 +610,11 @@ editor maintains a ``stack'' of elements that have been cut but not yet pasted. \verb\file> mini x,y \ & [create and] edit mini course at $x,y$\\ \verb\file> text x,y \ & [create and] edit text centered at $x,y$\\ \verb\file> arrow x0,y0,x1,y1\ & [create and] edit arrow from $x0,y0$ to $x1,y1$\\ -\verb\file> cut x,y \ & (temporarily) remove box, mini, or text at $x,y$\\ -\verb\file> paste [x,y] \ & re-insert removed box, mini, or text [at $x,y$]\\ -\verb\file> delete [x,y | x0,y0,x1,y1] ...\ & remove specified elements/arrows\\ -\verb\file> shift [-]x [xi,yi ...]\ & move [specified] elements $x$ units right [left]\\ -\verb\file> raise [-]y [xi,yi ...]\ & move [specified] elements $y$ units up [down]\\ +\verb\file> cut x,y ... \ & (temporarily) remove box, mini, or text at $x,y$\\ +\verb\file> paste x,y \ & re-insert removed box, mini, or text at $x,y$\\ +\verb\file> delete [x,y | x0,y0,x1,y1 | x0,y0:x1,y1] ...\ & remove specified elements/arrows\\ +\verb\file> shift [-]x x0,y0[:x1,y1] ...\ & move [specified] elements $x$ units right [left]\\ +\verb\file> raise [-]y x0,y0[:x1,y1] ...\ & move [specified] elements $y$ units up [down]\\ \verb\file> undo \ & undo the effect of the previous editing command\\ \verb\file> write | ! \ & save to \verb\file\ and process (with \verb\pdflatex)\\\ \verb\file> quit | exit | x | ^D\& turn off grid, save to \verb\file\, process, and exit\\ @@ -621,7 +626,7 @@ editor maintains a ``stack'' of elements that have been cut but not yet pasted. \hline \end{tabular} \end{center} -\caption{\texttt{prerex} Command Summary (version 6.2)} +\caption{\texttt{prerex} Command Summary (version 6.3)} \label{help} \end{table} @@ -711,11 +716,15 @@ the instructions defined by \texttt{prerex.sty}. \verb|\halfcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ \verb|\fullcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ \verb|\reqhalfcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ +\verb|\opthalfcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ \verb|\reqfullcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ +\verb|\optfullcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ \verb|\halfcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ \verb|\reqhalfcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ +\verb|\opthalfcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ \verb|\fullcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ \verb|\reqfullcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ +\verb|\optfullcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ \verb|\mini |$x,y:$\verb|{|\emph{course code}\verb|}| \\ \verb|\text |$x,y:$\verb|{|\emph{line of text}\verb|}| \\ \hline @@ -739,6 +748,7 @@ the instructions defined by \texttt{prerex.sty}. \verb|\dashedarrow| \\ \verb|\lightbox| \\ \verb|\boldbox| \\ +\verb|\dottedbox| \\ \hline \end{tabular} \renewcommand{\arraystretch}{1.0} @@ -776,7 +786,8 @@ in explanatory notes outside of the \verb\chart\ environment: \verb|\dottedarrow| & \dottedarrow \\ \verb|\dashedarrow| & \dashedarrow \\ \verb|\lightbox| & \lightbox \\ -\verb|\boldbox| & \boldbox +\verb|\boldbox| & \boldbox \\ +\verb|\dottedbox| & \dottedbox \end{tabular} \renewcommand{\arraystretch}{1.0} \end{list} diff --git a/Master/texmf-dist/doc/latex/prerex/doc/introFonts.png b/Master/texmf-dist/doc/latex/prerex/doc/introFonts.png Binary files differdeleted file mode 100644 index 13d49ce3c4f..00000000000 --- a/Master/texmf-dist/doc/latex/prerex/doc/introFonts.png +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/prerex/doc/prerex.pdf b/Master/texmf-dist/doc/latex/prerex/doc/prerex.pdf Binary files differindex d22fe030093..d32cfedb8fb 100644 --- a/Master/texmf-dist/doc/latex/prerex/doc/prerex.pdf +++ b/Master/texmf-dist/doc/latex/prerex/doc/prerex.pdf diff --git a/Master/texmf-dist/doc/latex/prerex/doc/prerex.sty.7 b/Master/texmf-dist/doc/latex/prerex/doc/prerex.sty.7 index 1a8bc41f65d..21da7194fb5 100644 --- a/Master/texmf-dist/doc/latex/prerex/doc/prerex.sty.7 +++ b/Master/texmf-dist/doc/latex/prerex/doc/prerex.sty.7 @@ -1,4 +1,4 @@ -.TH PREREX.STY 7 2011-08-18 "prerex.sty-6.1.0" "" +.TH PREREX.STY 7 2012-03-21 "prerex.sty-6.3" "" .SH NAME prerex.sty \- a LaTeX document style for prerequisite charts .SH DESCRIPTION @@ -30,7 +30,10 @@ Courses are either or .I full, and may be -.I required. +.I required +or +.I optional +(or neither). Each course box can contain a course .I code (upper left corner), @@ -97,9 +100,7 @@ to produce course boxes, minis, text-lines, and arrows. The order of commands is not significant except that the commands for the source and target boxes of an arrow should .I precede -the command for the arrow, and the -.B grid -command should precede all other commands. +the command for the arrow. .SH COURSE BOXES The commands producing course boxes have the following forms: .IP @@ -110,6 +111,10 @@ The commands producing course boxes have the following forms: .BI \ereqhalfcourse " x,y" :{ code }{ title }{ timetable } .IP .BI \ereqfullcourse " x,y" :{ code }{ title }{ timetable } +.IP +.BI \eopthalfcourse " x,y" :{ code }{ title }{ timetable } +.IP +.BI \eoptfullcourse " x,y" :{ code }{ title }{ timetable } .LP where .I x,y @@ -134,6 +139,10 @@ background color of the course box: .BI \ereqhalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } .IP .BI \ereqfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \eopthalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \eoptfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } .LP .SH MINI COURSE BOXES AND TEXT LINES A mini course "box" is produced by a command of the form @@ -210,8 +219,7 @@ useful for editing a diagram: .IP .B \egrid .LP -This is normally placed before all the other chart commands so that -grid lines are in the background, covered by course boxes, minis, and arrows. +The grid lines will be covered by course boxes and arrows. The .B \egrid command @@ -269,6 +277,8 @@ environment, such as in the explanatory notes for a chart: .B \elightbox .IP .B \eboldbox +.IP +.B \edashedbox .LP .SH CONFIGURATION The following are defined by the style file but may be re-defined by the diff --git a/Master/texmf-dist/doc/latex/prerex/doc/prerex.tex b/Master/texmf-dist/doc/latex/prerex/doc/prerex.tex index bab1356d499..12bd6aa8d27 100644 --- a/Master/texmf-dist/doc/latex/prerex/doc/prerex.tex +++ b/Master/texmf-dist/doc/latex/prerex/doc/prerex.tex @@ -6,7 +6,7 @@ %\def\LaTeX{\mbox{LaTeX}} \begin{document} -\title{\textsf{prerex.sty}: Prerequisite Charts in \LaTeX\\{\large Version 6.2}} +\title{\textsf{prerex.sty}: Prerequisite Charts in \LaTeX\\{\large Version 6.3}} \author{R. D. Tennent\\\texttt{rdt@cs.queensu.ca}} \date{\today} \maketitle @@ -97,8 +97,8 @@ Courses are either \emph{half} or \emph{full}, -and may be -\emph{required}. +and may be +\emph{required} or \emph{optional} (or neither). Each course box can contain a course \emph{code} (upper left corner), @@ -148,6 +148,8 @@ An is described by the coordinates of the centre points of its source and target boxes/minis/text-lines. + + \section{Usage} The command \verb|\usepackage{prerex}| @@ -169,8 +171,10 @@ The commands producing course boxes have the following forms: \begin{list}{}{} \item \verb|\halfcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \item \verb|\reqhalfcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| +\item \verb|\opthalfcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \item \verb|\fullcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \item \verb|\reqfullcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| +\item \verb|\optfullcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \end{list} where $x,y$ @@ -190,8 +194,10 @@ the (non-default) background color of the course box: \begin{list}{}{} \item \verb|\halfcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| \item \verb|\reqhalfcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| +\item \verb|\opthalfcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| \item \verb|\fullcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| \item \verb|\reqfullcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| +\item \verb|\optfullcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| \end{list} \subsection{Mini Course Boxes and Text-Lines} @@ -352,6 +358,7 @@ environment, such as in the explanatory notes for a chart: \verb|\dashedarrow| & \dashedarrow \\ \verb|\lightbox| & \lightbox \\ \verb|\boldbox| & \boldbox \\ +\verb|\dottedbox| & \dottedbox \\ \end{tabular} \end{center} @@ -522,6 +529,8 @@ PDF viewers to compute chart coordinates. \subsection{Chart Images} +\enlargethispage*{8ex} + To support HTML versions of charts, \texttt{prerex.sty} generates a script to crop a chart image at the southeast corner, allowing diff --git a/Master/texmf-dist/doc/latex/prerex/prerex-6.2.tar.gz b/Master/texmf-dist/doc/latex/prerex/prerex-6.2.tar.gz Binary files differdeleted file mode 100644 index 1e373438d06..00000000000 --- a/Master/texmf-dist/doc/latex/prerex/prerex-6.2.tar.gz +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/prerex/prerex-6.3.2.tar.gz b/Master/texmf-dist/doc/latex/prerex/prerex-6.3.2.tar.gz Binary files differnew file mode 100644 index 00000000000..cf21cc9189f --- /dev/null +++ b/Master/texmf-dist/doc/latex/prerex/prerex-6.3.2.tar.gz diff --git a/Master/texmf-dist/doc/latex/prerex/vprerex-6.3.1.tar.gz b/Master/texmf-dist/doc/latex/prerex/vprerex-6.3.1.tar.gz Binary files differdeleted file mode 100644 index df7bb3e1752..00000000000 --- a/Master/texmf-dist/doc/latex/prerex/vprerex-6.3.1.tar.gz +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/prerex/vprerex-6.3.2.tar.gz b/Master/texmf-dist/doc/latex/prerex/vprerex-6.3.2.tar.gz Binary files differnew file mode 100644 index 00000000000..c4dbf9fc212 --- /dev/null +++ b/Master/texmf-dist/doc/latex/prerex/vprerex-6.3.2.tar.gz diff --git a/Master/texmf-dist/tex/latex/prerex/prerex.sty b/Master/texmf-dist/tex/latex/prerex/prerex.sty index 4059f122835..f60a1c06484 100644 --- a/Master/texmf-dist/tex/latex/prerex/prerex.sty +++ b/Master/texmf-dist/tex/latex/prerex/prerex.sty @@ -1,6 +1,6 @@ %% This is file 'prerex.sty' %% -%% Copyright (C) 2006-11 R. D. Tennent, rdt@cs.queensu.ca +%% Copyright (C) 2006-12 R. D. Tennent, rdt@cs.queensu.ca %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -14,7 +14,7 @@ % % Instructions supported inside \begin{chart} ... \end{chart}: % -% \[req]{half|full}course[c] x,y: {course code}{course title}{timetable code}[{color}] +% \[req|opt]{half|full}course[c] x,y: {course code}{course title}{timetable code}[{color}] % % \mini x,y: {course code} % @@ -32,8 +32,9 @@ % \dottedarrow in-line dotted arrow % \dashedarrow in-line dashed arrow % -% \lightbox in-line light course box -% \boldbox in-line bold course box +% \lightbox in-line light course box +% \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): % @@ -62,10 +63,19 @@ % The nominal diagram width is 10 + (\textwidth divided by \unit). % \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{prerex}[2011/10/28 v6.2 LaTeX style for prerequisite charts, pgf version] +\ProvidesPackage{prerex}[2012/03/29 v6.3.2 LaTeX style for prerequisite charts, pgf version] % Changelog: % +% 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. @@ -221,6 +231,7 @@ \definecolor{verylight}{gray}{0.85} \definecolor{white}{rgb}{1.0,1.0,1.0} % not transparent, hides grid + \newcommand{\DefaultCurvature}{20} % 0 for no curvature \newcommand{\CourseURL}[3]{file:#3.html} \newcommand{\background}{yellow!15} @@ -279,7 +290,45 @@ \immediate\write\@imapfile{<area shape=rect coords="\thexNW,\theyNW,\thexSE,\theySE" href="\CourseURL{#1}{#2}{#3}" target="new" alt="#3">}% } +\pgfsetlayers{} +\def\solidarrow{% +\tikz[x=\unit,y=\unit,baseline=\baselineAdj] +\draw[-latex',line width =\solidwidth] (0,0) -- (4,0); +} + +\def\dottedarrow{% +\tikz[x=\unit,y=\unit,baseline=\baselineAdj] +\draw[loosely dotted,line width=\dottedwidth,-latex'] (0,0) -- (4,0); +} + +\def\dashedarrow{% +\tikz[x=\unit,y=\unit,baseline=\baselineAdj] +\draw[dashed,line width=\dashedwidth,-latex'] (0,0) -- (4,0); +} + +\def\lightbox{% +\tikz[thin,baseline=\baselineAdj]\node[draw,fill=\background,rounded corners=2pt,inner xsep=1.8pt] +{\rule[-2pt]{0pt}{4pt}\textsf{light}}; +} + +\def\boldbox{% +\tikz[baseline=\baselineAdj]\node[draw,line width=\boldwidth,fill=\background,rounded corners=2pt,inner xsep=1.8pt] +{\rule[-2pt]{0pt}{4pt}\textsf{\textbf{bold}}}; +} + + +\def\dottedbox{% +\tikz[baseline=\baselineAdj]\node[draw,dotted,line width=\boldwidth,fill=\background,rounded corners=2pt,inner xsep=1.8pt] +{\rule[-2pt]{0pt}{4pt}\textsf{\textsf{dotted}}}; +} + +\pgfdeclarelayer{arrows} +\pgfdeclarelayer{courses} +\pgfdeclarelayer{grid} +\pgfsetlayers{grid,arrows,courses,main} + \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)% {\textsf{% \renewcommand{\arraystretch}{0.8}% @@ -291,9 +340,11 @@ \end{tabular}}}% };% \@outputImapData#1,#2:{#3}{4}{2}% +\end{pgfonlayer}% } \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)% {\textsf{% \renewcommand{\arraystretch}{0.8}% @@ -305,9 +356,11 @@ \end{tabular}}}% };% \@outputImapData#1,#2:{#3}{4}{2}% +\end{pgfonlayer}% } \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)% {\textsf{\textbf{% \renewcommand{\arraystretch}{0.8}% @@ -319,9 +372,11 @@ \end{tabular}}}% }};% \@outputImapData#1,#2:{#3}{4}{2}% +\end{pgfonlayer}% } \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)% {\textsf{\textbf{% \renewcommand{\arraystretch}{0.8}% @@ -333,9 +388,44 @@ \end{tabular}}}% }};% \@outputImapData#1,#2:{#3}{4}{2}% +\end{pgfonlayer}% +} + + +\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)% +{\textsf{% +\renewcommand{\arraystretch}{0.8}% +\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% +\mbox{\smallersize#3}% +\,\hfill\,% +\mbox{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% +\\ #4% +\end{tabular}}}% +};% +\@outputImapData#1,#2:{#3}{4}{2}% +\end{pgfonlayer}% +} + +\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)% +{\textsf{% +\renewcommand{\arraystretch}{0.8}% +\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% +\mbox{\smallersize#3}% +\,\hfill\,% +\mbox{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% +\\ #4% +\end{tabular}}}% +};% +\@outputImapData#1,#2:{#3}{4}{2}% +\end{pgfonlayer}% } \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)% {\textsf{% \renewcommand{\arraystretch}{1.7}% @@ -347,9 +437,11 @@ \end{tabular}}}% };% \@outputImapData#1,#2:{#3}{4}{5}% +\end{pgfonlayer}% } \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)% {\textsf{% \renewcommand{\arraystretch}{1.7}% @@ -360,10 +452,12 @@ \\ #4% \end{tabular}}}% };% +\end{pgfonlayer}% \@outputImapData#1,#2:{#3}{4}{5}% } \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)% {\textsf{\textbf{% \renewcommand{\arraystretch}{1.7}% @@ -375,9 +469,11 @@ \end{tabular}}}}% };% \@outputImapData#1,#2:{#3}{4}{5}% +\end{pgfonlayer}% } \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)% {\textsf{\textbf{% \renewcommand{\arraystretch}{1.7}% @@ -389,24 +485,85 @@ \end{tabular}}}}% };% \@outputImapData#1,#2:{#3}{4}{5}% +\end{pgfonlayer}% } -\def\@mini#1,#2:#3{% -\node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2)% +\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)% {\textsf{% -\href{\CourseURL{#1}{#2}{#3}}{% -\mbox{\smallersize#3}}}};% +\renewcommand{\arraystretch}{1.7}% +\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% +\mbox{\smallersize#3}% +\,\hfill\,% +\mbox{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% +\\ #4% +\end{tabular}}}% +};% +\@outputImapData#1,#2:{#3}{4}{5}% +\end{pgfonlayer}% +} + +\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)% +{\textsf{% +\renewcommand{\arraystretch}{1.7}% +\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% +\mbox{\smallersize#3}% +\,\hfill\,% +\mbox{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% +\\ #4% +\end{tabular}}}% +};% +\@outputImapData#1,#2:{#3}{4}{5}% +\end{pgfonlayer}% +} + + +\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)% +{\textsf{% +\renewcommand{\arraystretch}{1.7}% +\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% +\mbox{\smallersize#3}% +\,\hfill\,% +\mbox{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% +\\ #4% +\end{tabular}}}% +};% +\@outputImapData#1,#2:{#3}{4}{5}% +\end{pgfonlayer}% +} + +\def\@mini#1,#2:#3{% +\begin{pgfonlayer}{courses}% +\ifgridon + \node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2)% + {\textsf{% + \href{\CourseURL{#1}{#2}{#3}}{% + \mbox{\smallersize#3}}}};% +\else + \node[fill=none,draw=none,inner ysep=1.8pt](x#1y#2) at (#1,#2)% + {\textsf{% + \href{\CourseURL{#1}{#2}{#3}}{% + \mbox{\smallersize#3}}}};% +\fi \@outputImapData#1,#2:{#3}{2}{1}% +\end{pgfonlayer}% } \def\@text#1,#2:#3{% % 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)% {\href{coord: #1,#2}{\mbox{#3}}};% \else - \node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2){\mbox{#3}};% + \node[fill=none,draw=none,inner ysep=1.8pt](x#1y#2) at (#1,#2){\mbox{#3}};% \fi +\end{pgfonlayer}% } \def\@prereq#1,#2,#3,#4:{% @@ -475,6 +632,7 @@ \def\@straight#1,#2,#3,#4:{% + \begin{pgfonlayer}{arrows} \draw[draw=white,line width=1.5pt](x#1y#2) -- (x#3y#4) ; \draw[-latex',draw=white,very thin](x#1y#2) -- (x#3y#4) ; \ifgridon @@ -482,6 +640,7 @@ \else \draw[line width=\solidwidth](x#1y#2) -- (x#3y#4) ; \fi + \end{pgfonlayer} } @@ -496,6 +655,7 @@ \fi \setcounter{@myangle}{\the@myangle / ((\the@dx + \the@dy) * (\the@dx + \the@dy))} \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',draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; \ifgridon @@ -503,9 +663,11 @@ \else \draw[line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; \fi + \end{pgfonlayer} } \def\@straightDashed#1,#2,#3,#4:{% +\begin{pgfonlayer}{arrows} \draw[draw=white,line width=1.5pt] (x#1y#2) -- (x#3y#4); \draw[-latex',draw=white,very thin] (x#1y#2) -- (x#3y#4); \ifgridon @@ -513,6 +675,7 @@ \else \draw[dashed,line width=\dashedwidth] (x#1y#2) -- (x#3y#4); \fi +\end{pgfonlayer} } \def\@curvedDashed#1,#2,#3,#4;#5:{ @@ -526,6 +689,7 @@ \fi \setcounter{@myangle}{\the@myangle / ((\the@dx + \the@dy) * (\the@dx + \the@dy))} \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',draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; \ifgridon @@ -533,9 +697,11 @@ \else \draw[dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4); \fi + \end{pgfonlayer} } \def\@straightDotted#1,#2,#3,#4:{% + \begin{pgfonlayer}{arrows} \draw[draw=white,line width=1.5pt] (x#1y#2) -- (x#3y#4); \draw[-latex',draw=white,very thin] (x#1y#2) -- (x#3y#4); \ifgridon @@ -543,6 +709,7 @@ \else \draw[loosely dotted,line width=\dottedwidth] (x#1y#2) -- (x#3y#4); \fi + \end{pgfonlayer} } \def\@curvedDotted#1,#2,#3,#4;#5:{ @@ -556,6 +723,7 @@ \fi \setcounter{@myangle}{\the@myangle / ((\the@dx + \the@dy) * (\the@dx + \the@dy))} \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',draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; \ifgridon @@ -563,35 +731,15 @@ \else \draw[loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; \fi + \end{pgfonlayer} } -\def\solidarrow{% -\tikz[x=\unit,y=\unit,baseline=\baselineAdj] -\draw[-latex',line width =\solidwidth] (0,0) -- (4,0); -} - -\def\dottedarrow{% -\tikz[x=\unit,y=\unit,baseline=\baselineAdj] -\draw[loosely dotted,line width=\dottedwidth,-latex'] (0,0) -- (4,0); -} - -\def\dashedarrow{% -\tikz[x=\unit,y=\unit,baseline=\baselineAdj] -\draw[dashed,line width=\dashedwidth,-latex'] (0,0) -- (4,0); -} - -\def\lightbox{% -\tikz[thin,baseline=\baselineAdj]\node[draw,fill=\background,rounded corners=2pt,inner sep=1.8pt] -{\textsf{light}};} - -\def\boldbox{% -\tikz[baseline=\baselineAdj]\node[draw,line width=\boldwidth,fill=\background,rounded corners=2pt,inner sep=1.8pt] -{\textsf{\textbf{bold}}};} \def\@grid{ \gridontrue \renewcommand{\CourseURL}[3]{coord: ##1,##2} % "coord:" makes it look like a URI + \begin{pgfonlayer}{grid} \draw[line width=0.3pt,draw=verylight] (0,0) grid [step=1] (\value{@gridright},\value{@gridtop}); \draw[line width=0.4pt,draw=somewhatlight] (0,0) grid [step=5] (\value{@gridright},\value{@gridtop}); @@ -613,6 +761,7 @@ \setcounter{@gridtop}{\value{@gridtop} + 4} \setcounter{@gridright}{\value{@gridright} + 5} \node at (\the@gridright,\the@gridtop) {\href{anchor: \the@gridright,\the@gridtop}{\kern1sp}}; + \end{pgfonlayer} } % @@ -638,10 +787,14 @@ \let\halfcoursec=\@halfcoursec \let\reqhalfcourse=\@reqhalfcourse \let\reqhalfcoursec=\@reqhalfcoursec + \let\opthalfcourse=\@opthalfcourse + \let\opthalfcoursec=\@opthalfcoursec \let\fullcourse=\@fullcourse \let\fullcoursec=\@fullcoursec \let\reqfullcourse=\@reqfullcourse \let\reqfullcoursec=\@reqfullcoursec + \let\optfullcourse=\@optfullcourse + \let\optfullcoursec=\@optfullcoursec \let\mini=\@mini \let\text=\@text \let\prereq=\@prereq |