summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-06 22:06:13 +0000
committerKarl Berry <karl@freefriends.org>2019-05-06 22:06:13 +0000
commit8a185390c6e2c38df4c6fef045bd079b218353e1 (patch)
treece50f56a94b9e1a8feb0b42c27876b655fd60123
parent926e35dfc63afa701f76cdefd4d6a3aad4883df7 (diff)
texdraw (6may19)
git-svn-id: svn://tug.org/texlive/trunk@51030 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/info/texdraw.info107
-rw-r--r--Master/texmf-dist/doc/support/texdraw/ChangeLog17
-rw-r--r--Master/texmf-dist/doc/support/texdraw/Makefile (renamed from Master/texmf-dist/doc/support/texdraw/Makefile.manual)9
-rw-r--r--Master/texmf-dist/doc/support/texdraw/README75
-rw-r--r--Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex (renamed from Master/texmf-dist/tex/generic/texdraw/txdexamp.latex)6
-rw-r--r--Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex (renamed from Master/texmf-dist/tex/generic/texdraw/txdexamp.tex)6
-rw-r--r--Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex204
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw.pdfbin237380 -> 237149 bytes
-rw-r--r--Master/texmf-dist/doc/support/texdraw/texdraw.texi42
-rw-r--r--Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex10
-rw-r--r--Master/texmf-dist/tex/generic/texdraw/texdraw.sty10
-rw-r--r--Master/texmf-dist/tex/generic/texdraw/texdraw.tex263
-rw-r--r--Master/texmf-dist/tex/generic/texdraw/txdps.tex10
-rw-r--r--Master/texmf-dist/tex/generic/texdraw/txdtools.tex10
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds7
15 files changed, 485 insertions, 291 deletions
diff --git a/Master/texmf-dist/doc/info/texdraw.info b/Master/texmf-dist/doc/info/texdraw.info
index 68f6e64096e..1bdcf3fb163 100644
--- a/Master/texmf-dist/doc/info/texdraw.info
+++ b/Master/texmf-dist/doc/info/texdraw.info
@@ -1,7 +1,7 @@
This is texdraw.info, produced by makeinfo version 6.6 from
texdraw.texi.
-This manual (edition 2.0a) documents TeXdraw, a system for producing
+This manual (edition 2.3) documents TeXdraw, a system for producing
PostScript drawings from TeX.
Copyright (C) 1993-2019 Peter Kabal
@@ -24,9 +24,7 @@ TeXdraw
TeXdraw is a collection of macros that allow drawings to be created from
_within_ TeX.
- This is edition 2.0a of the TeXdraw documentation. The only
-substantive change from edition 2.0 is the license, which is now CC-BY
-(any version).
+ This is edition 2.3 of the TeXdraw documentation.
* Menu:
@@ -208,7 +206,7 @@ the file 'texdraw.tex'.
For use with LaTeX version 2.09, the user reads in the TeXdraw macros
from the file 'texdraw.tex' and optionally defines the '\begin{texdraw}'
/ '\end{texdraw}' environment.
- \documentstyle[11pt]{article} % Article style with 11pt size option
+ \documentstyle[11pt]{article} % Article style at 11pt size
...
\input texdraw % Read in the TeXdraw macros
\newenvironment{texdraw}{\leavevmode\btexdraw}{\etexdraw}
@@ -224,7 +222,7 @@ from the file 'texdraw.tex' and optionally defines the '\begin{texdraw}'
'\end{texdraw}' environment, brings in the standard 'graphics' package
and reads in the file 'texdraw.tex' containing the definitions of the
TeXdraw macros.
- \documentclass[11pt]{article} % Article class with the 11pt size option
+ \documentclass[11pt]{article} % Article class at 11pt size
\usepackage{texdraw} % TeXdraw commands
\begin{document}
@@ -1699,7 +1697,8 @@ shared between the commands used to draw these blocks.
\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
\def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
- \move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for text size
+ \move (0 +0.63) \move (0 -0.60) % compensate for the text size
+ \move (0 0)
% Input to the first stage
\bsegment
@@ -2105,12 +2104,6 @@ Appendix D Alphabetic listing of commands
factor is the product of the unit scale factor and the segment
scale factor.
-'\texdrawbox { ... }'
- Create a TeXdraw box. The argument contains TeXdraw commands.
- This macro returns a TeX box with height equal to the height of the
- drawing and width equal to the width of the drawing. The depth of
- the box is zero.
-
'\textref h:H-REF v:V-REF'
Set the text reference point for subsequent text commands. The
horizontal reference point H-REF is one of 'L', 'C' or 'R' (left,
@@ -2382,49 +2375,49 @@ Concept Index

Tag Table:
-Node: Top587
-Node: Introduction2093
-Node: Distribution4097
-Node: TeXdraw Commands4353
-Node: Accessing TeXdraw4969
-Ref: Accessing TeXdraw-Footnote-19721
-Node: Command syntax9885
-Node: TeXdraw coordinates11086
-Node: Coordinate specification12461
-Node: Line vectors13665
-Node: TeX text19436
-Node: Circles and arcs23769
-Node: Bezier curves27778
-Node: Fill commands29767
-Node: Drawing Segments and Scaling32308
-Node: Drawing segments32742
-Node: Drawing paths33842
-Node: Saving positions35472
-Node: Scaling coordinates38380
-Node: Drawing size41369
-Node: Initial current position43189
-Node: Using TeXdraw with LaTeX43987
-Node: PostScript printer drivers45465
-Node: More Details46601
-Node: Errors while using TeXdraw47103
-Node: Extending TeXdraw49427
-Node: Scaling50999
-Node: Resolution51945
-Node: Text placement53651
-Node: Intermediate PostScript file54727
-Node: How TeXdraw merges graphics and text56488
-Ref: How TeXdraw merges graphics and text-Footnote-157871
-Node: PostScript Commands57929
-Node: TeXdraw Toolbox62920
-Node: Coordinate parsing63486
-Node: Real arithmetic65649
-Node: Arrow curve66457
-Node: Examples70510
-Node: Block diagram70782
-Node: Filter response graph77535
-Node: Geometric construction79220
-Node: Command Listing81496
-Node: Command Index92966
-Node: Concept Index98002
+Node: Top586
+Node: Introduction1995
+Node: Distribution3999
+Node: TeXdraw Commands4255
+Node: Accessing TeXdraw4871
+Ref: Accessing TeXdraw-Footnote-19601
+Node: Command syntax9765
+Node: TeXdraw coordinates10966
+Node: Coordinate specification12341
+Node: Line vectors13545
+Node: TeX text19316
+Node: Circles and arcs23649
+Node: Bezier curves27658
+Node: Fill commands29647
+Node: Drawing Segments and Scaling32188
+Node: Drawing segments32622
+Node: Drawing paths33722
+Node: Saving positions35352
+Node: Scaling coordinates38260
+Node: Drawing size41249
+Node: Initial current position43069
+Node: Using TeXdraw with LaTeX43867
+Node: PostScript printer drivers45345
+Node: More Details46481
+Node: Errors while using TeXdraw46983
+Node: Extending TeXdraw49307
+Node: Scaling50879
+Node: Resolution51825
+Node: Text placement53531
+Node: Intermediate PostScript file54607
+Node: How TeXdraw merges graphics and text56368
+Ref: How TeXdraw merges graphics and text-Footnote-157751
+Node: PostScript Commands57809
+Node: TeXdraw Toolbox62800
+Node: Coordinate parsing63366
+Node: Real arithmetic65529
+Node: Arrow curve66337
+Node: Examples70390
+Node: Block diagram70662
+Node: Filter response graph77424
+Node: Geometric construction79109
+Node: Command Listing81385
+Node: Command Index92597
+Node: Concept Index97633

End Tag Table
diff --git a/Master/texmf-dist/doc/support/texdraw/ChangeLog b/Master/texmf-dist/doc/support/texdraw/ChangeLog
index d4339f49e7b..21bfad19bd1 100644
--- a/Master/texmf-dist/doc/support/texdraw/ChangeLog
+++ b/Master/texmf-dist/doc/support/texdraw/ChangeLog
@@ -1,7 +1,18 @@
-$Id: ChangeLog,v 2.0a 2019/03/28 texdraw-V2R0a $
+$Id: ChangeLog 2.4 2019/04/18 TeXdraw-v2r3 $
-V2R0a 2019/03/28
- - Change license to CC-BY (any version).
+v2r3 2019-04-18
+ - Repackaged with Creative Commons license
+
+v2r2 2000/05/04
+ - Internal modifications for compatibility with eplain, no changes to the
+ user interface
+
+v2r1 1999/11/15
+ - Internal modifications for better compatibility with amsmath, no changes
+ to the user interface
+
+v2r0a 1998/12/11
+ - Changed packaging - no changes to the TeX files
V2R0 1995/12/17
- Interface to standard LaTeX2e graphics package
diff --git a/Master/texmf-dist/doc/support/texdraw/Makefile.manual b/Master/texmf-dist/doc/support/texdraw/Makefile
index 49edf40c3f2..589b302bf32 100644
--- a/Master/texmf-dist/doc/support/texdraw/Makefile.manual
+++ b/Master/texmf-dist/doc/support/texdraw/Makefile
@@ -1,4 +1,6 @@
-# This trivial Makefile is public domain.
+# Makefile for texdraw.texi
+
+# $Id: Makefile 2.2 2019/04/18 TeXdraw-v2r3 $
doc = texdraw
@@ -11,5 +13,10 @@ ps $(doc).ps: $(doc).texi Makefile
info $(doc).info: $(doc).texi
makeinfo $(doc).texi
+mostlyclean:
+ rm -f $(doc).ps? $(doc).p1?
+ rm -f $(doc).cp $(doc).cps $(doc).fn $(doc).fns
+ rm -f $(doc).aux $(doc).log $(doc).toc $(doc).dvi
+
clean:
rm -f $(doc).?? $(doc).???
diff --git a/Master/texmf-dist/doc/support/texdraw/README b/Master/texmf-dist/doc/support/texdraw/README
index 370b91dea05..67403b05bbf 100644
--- a/Master/texmf-dist/doc/support/texdraw/README
+++ b/Master/texmf-dist/doc/support/texdraw/README
@@ -1,6 +1,6 @@
-This file describes the contents of the distribution for TeXdraw.
+TeXdraw distribution
-$Id: README,v 2.0a 2019/03/28 texdraw-V2R0a $
+$Id: README 2.8 2019/04/18 TeXdraw-v2r3 $
The TeXdraw package consists of a set of macro definitions for the TeX
typesetting program. These macros allow the user to produce PostScript
@@ -11,7 +11,7 @@ from <within> TeX, using TeX fonts for labelling the drawing.
Basic drawing features include:
(1) moves, lines and arrow vectors
- - selectable gray level, line width pattern, arrowhead size and type
+ - selectable gray level, line width, pattern, arrowhead size and type
(2) circles, ellipses, arcs, and Bezier curves
(3) general fill command to fill a region defined by lines and Bezier
curves (selectable gray level)
@@ -30,25 +30,18 @@ The extensibility features include,
(2) local segment scaling
(3) saving and restoring positions using symbolic positions
-Version 2.0a was rleased in March 2019; the only substantive
-modification was to change the license to CC-BY (any version).
-Also, an Info direntry is created by texdraw.texi, and
-minor changes were made to this README and other documentation files.
-For the distribution:
-- A PDF version of the manual was added.
-- the Texinfo source files (texindex.c, texi2dvi, etc.) were removed, as
-they are readily available elsewhere and cannot be kept up to date here.
+The distribution as a compressed tar file is available from:
+ http://www-mmsp.ECE.McGill.CA/MMSP/Documents/Software
=====
-Peter Kabal peter dot kabal at mcgill dot ca
-Department of Electrical Engineering
+Peter Kabal peter.kabal@McGill.CA
+Department of Electrical & Computer Engineering
McGill University
Montreal, Quebec
-
=====
The distribution consists of the TeXdraw macros themselves, files with
-auxiliary macros, and the TeXdraw manual (Texinfo format).
+auxiliary macros, and the TeXdraw manual (PosScript/PDF).
Distribution Contents:
----------------------
@@ -63,64 +56,26 @@ TeXdraw macros (main directory):
txdtools.tex - TeXdraw toolbox for extending TeXdraw
txdps.tex - TeXdraw macros for accessing PostScript macros
blockdiagram.tex - Block diagram macros for TeXdraw
+
+TeXdraw examples (directory examples/):
txdexamp.tex - plain TeX code for the examples in the manual
txdexamp.latex - LaTeX2e code for the examples in the manual
TeXdraw documentation (directory manual/):
- texdraw.pdf - PDF version of the manual
texdraw.ps - PostScript version of the manual
+ texdraw.pdf - PDF version of the manual
texdraw.texi - Texinfo source file for the TeXdraw manual
===============================================
-The following notes on setup are for Unix systems.
-
Initial Tests:
-(1) Print the PostScript version of the manual ("texdraw.ps") to see the
- capabilities of TeXdraw. (Or PDF.)
+(1) View the PostScript or pdf version of the manual ("texdraw.ps" or
+ "texdraw.pdf") to see the capabilities of TeXdraw.
(2) Try TeX'ing the examples file. Assuming plain TeX is invoked with the
command "tex" and LaTeX2e is invoked with the command "latex"
% tex txdexamp
... or ...
% latex texdexamp.latex
-(3) Printing the examples using the appropriate printer driver program (only
- dvips can be used with the plain TeX version of the examples),
+(3) Printing the examples using the appropriate printer driver program
+ (only dvips can be used with the plain TeX version of the examples),
% dvips txdexamp
-
-=====
-Permanent Setup:
-
-(1) Private copy of TeXdraw.
- Move the TeXdraw sources files ("texdraw.sty", texdraw.tex",
- "txdtools.tex" and "txdps.tex") to an appropriate directory. If you are
- keeping private versions of the files, consider using the directory
- ~mylogin/tex . With many versions of TeX, including this directory in
- the TeX input path variable (the environment variable TEXINPUTS) allows
- you to refer to the files in TeX without specifying the full pathname.
- With the C shell, a line in the ".login" file sets the environment
- variable TEXINPUTS
- % setenv TEXINPUTS ".:$HOME/tex:".
- The last part of the path string should terminate with a colon to have
- the default directory of TeX files available.
-(2) Public copy of TeXdraw.
- Move the TeXdraw source files ("texdraw.sty", "texdraw.tex",
- "txdtools.tex" and "txdps.tex") to a directory that TeX searches by
- default. If installed from a distribution, this should be
- handled by the package manager.
-
-=====
-Creating a TeXdraw manual from the sources:
-(1) Make sure "texdraw.tex", "txdtools.tex" and "texinfo.tex" will be found
- by TeX.
-(2) To create the manual, you have to TeX the manual twice - the second
- time to access the sorted indices and the cross-references. The
- program "texindex" sorts the indices. (The distribution includes pre-
- sorted indices that can be used). Or the three steps can be replaced by
- an invocation of the script "texi2dvi".
- % tex texdraw.texinfo
- % texindex texdraw
- % tex texdraw.texinfo
-(3) If you have the printer driver program dvips, a PostScript version of the
- manual is created as follows.
- % dvips texdraw -o texdraw.ps
-(4) The targets in manual/Makefile handle this.
diff --git a/Master/texmf-dist/tex/generic/texdraw/txdexamp.latex b/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex
index 434f82fe9be..c6477e617c6 100644
--- a/Master/texmf-dist/tex/generic/texdraw/txdexamp.latex
+++ b/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex
@@ -1,17 +1,17 @@
% TeXdraw examples for latex
-% $Id: txdexamp.latex,v 2.1 2019/03/28 texdraw-V2R0a $
+% $Id: txdexamp.latex 2.1 1999/11/15 TeXdraw-v2r3 $
% These examples are taken from the TeXdraw manual.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
% 3480 University
% Montreal, Quebec
% Canada H3A 2A7
-% peter dot kabal at mcgill dot ca
+% kabal@ECE.McGill.CA
\documentclass [11pt]{article}
\usepackage {texdraw}
diff --git a/Master/texmf-dist/tex/generic/texdraw/txdexamp.tex b/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex
index 3ae3aee66dd..19d2eba14be 100644
--- a/Master/texmf-dist/tex/generic/texdraw/txdexamp.tex
+++ b/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex
@@ -1,19 +1,19 @@
% TeXdraw examples
-% $Id: txdexamp.tex,v 2.1 2019/03/28 texdraw-V2R0a $
+% $Id: txdexamp.tex 2.1 1999/11/15 TeXdraw-v2r3 $
% These examples are taken from the TeXdraw manual. Note that the fonts
% for text will be different from those in the manual -- here we use the
% plain TeX defaults.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
% 3480 University
% Montreal, Quebec
% Canada H3A 2A7
-% peter dot kabal at mcgill dot ca
+% kabal@ECE.McGill.CA
\input texdraw
\input txdtools
diff --git a/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex b/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex
new file mode 100644
index 00000000000..0d48972952c
--- /dev/null
+++ b/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex
@@ -0,0 +1,204 @@
+\documentclass{article}
+\usepackage{texdraw}
+\usepacakge{amsmath}
+
+\begin{document}
+
+% Test TeXdraw macros - unusual cases
+
+% $Id: ttexdraw.tex 1.8 1999/11/15 TeXdraw-v2r3 $
+
+% check for extraneous characters in texdraw.tex
+\setbox0=\vbox{\input texdraw }
+\message {texdraw.tex box size:
+ height: \the\ht0, width: \the\wd0, depth: \the\dp0}
+
+\bigskip
+\bigskip
+
+% check for a zero sized box for a zero sized TeXdraw
+\setbox0=\hbox{\begin{texdraw}
+ \lvec (0 0)
+ \end{texdraw}}
+\message {TeXdraw box size:
+ height: \the\ht0, width: \the\wd0, depth: \the\dp0}
+
+\bigskip
+\bigskip
+
+\begin{texdraw}
+% text only, should be no PostScript file
+ \rtext td:-45 (2 2){Test Text}
+\end{texdraw}
+
+\bigskip
+\bigskip
+
+\let\et=\etexdraw
+\def\etexdraw{\drawbb\et}
+
+\begin{texdraw}
+% blank lines OK?
+% box should be 2in by 2in
+% arc should go from inside to outside the box
+
+% \larc if no initial point defined
+\larc r:1 sd:45 ed:135
+
+% \ifill if path is empty
+\move (2 2)
+\ifill f:0.5
+
+\lvec (1 1)
+
+\end{texdraw}
+
+\bigskip
+\bigskip
+
+% Testing restoration of position after segments
+\begin{texdraw}
+ \lvec (1 1)
+ \bsegment
+ \linewd 0.03
+ \lvec (1 0)
+ \esegment
+ \bsegment
+ \lvec (0 -1)
+ \esegment
+\end{texdraw}
+
+\bigskip
+\bigskip
+
+% Check t:W arrows, should wipe out the line under the rightmost arrow head
+\begin{texdraw}
+ \arrowheadtype t:W
+ \arrowheadsize l:0.9 w:0.6
+ \linewd 0.05
+ \bsegment
+ \move (0 1)
+ \lvec (3 3)
+ \bsegment
+ \move (-3 -3)
+ \avec (0 0)
+ \esegment
+ \lvec (3 2)
+ \esegment
+ \move (3 0)
+ \bsegment
+ \move (0 1)
+ \lvec (3 3)
+ \rmove (0 0)
+ \bsegment
+ \move (-3 -3)
+ \avec (0 0)
+ \esegment
+ \lvec (3 2)
+ \esegment
+\end{texdraw}
+
+\bigskip
+\bigskip
+
+% Check that paths continue under filled circles
+\begin{texdraw}
+ \bsegment
+ \lvec (1 1)
+ \bsegment
+ \move (-0.25 -0.25)
+ \fcir f:0.8 r:0.5
+ \esegment
+ \lvec (1 0)
+ \esegment
+ \move (3 0)
+ \bsegment
+ \lvec (1 1)
+ \rmove (0 0)
+ \bsegment
+ \move (-0.25 -0.25)
+ \fcir f:0.8 r:0.5
+ \esegment
+ \lvec (1 0)
+ \esegment
+\end{texdraw}
+
+\bigskip
+\bigskip
+
+% Check that positions are restored correctly when the move pending and path
+% in progress flags are set
+
+\begin{texdraw}
+ \linewd 0.045
+ \lvec (1 0)
+ \bsegment
+ \move (0 -1)
+ \bsegment
+ \esegment
+ \lvec (0 0)
+ \esegment
+ \lvec (2 0)
+\end{texdraw}
+
+\bigskip
+\bigskip
+
+% Check \everytexdraw and \fellip
+\everytexdraw={\fellip f:0.8 rx:2.5 ry:1.0 }
+\begin{texdraw}
+ \lvec (0 0.75)
+\end{texdraw}
+\everytexdraw={}
+
+\bigskip
+\bigskip
+
+\def\ptext#1{\writeps{ gsave /Times-Roman findfont 41.6667
+scalefont setfont (#1) dup stringwidth exch neg 2 div exch neg 2 div rmoveto
+show grestore }}
+
+\begin{texdraw}
+ \move( 0 0)
+ \move(-1 -1) \rlvec( 2 0) \rlvec( 0 2) \rlvec( -2 0) \rlvec( 0 -2)
+ \lfill f:.8
+ \move( 0 .2)
+ \textref h:C v:C
+ \htext{This is a very long sentence to illustrate my point}
+ \move( 0 -.2)
+ \ptext{This is a very long sentence to illustrate my point}
+ \move( 0 0)
+ \move(-.5 -.5) \rlvec( 1 0) \rlvec( 0 1) \rlvec( -1 0) \rlvec( 0 -1)
+ \lfill f:.9
+\etexdraw
+
+\bigskip
+\bigskip
+
+% This example, with texdraw invoked from \text from within an equation,
+% ends up invoking texdraw 8 times (\gather together with \mathchoice).
+% A hook was built in to texdraw to detect half of these cases. Now only
+% 4 identical copies of the PS file are generated.
+% Note: To avoid generating the extra PS files, use a \savebox to create the
+% drawing and then place the box where desired.
+\begin{equation}
+\text{
+ \begin{texdraw}
+ \move(0 0)\lcir r:0.1
+ \end{texdraw}
+ }
+\end{equation}
+
+\bigskip
+\bigskip
+
+% extraneous data: generate an error message
+\message{ <<<<< Expect an error message: type return >>>>>}
+\btexdraw
+ \move (2 2)
+ \move (3 3)
+% Put in a spurious character
+a
+\end{texdraw}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw.pdf b/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
index bf6fce7b513..8d038256c0c 100644
--- a/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
+++ b/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/texdraw/texdraw.texi b/Master/texmf-dist/doc/support/texdraw/texdraw.texi
index 800fa6ee26b..9cacbc73500 100644
--- a/Master/texmf-dist/doc/support/texdraw/texdraw.texi
+++ b/Master/texmf-dist/doc/support/texdraw/texdraw.texi
@@ -1,9 +1,9 @@
% -*-texinfo-*-
-% $Id: texdraw.texi,v 2.6 2019/03/28 texdraw-V2R0a $
+% $Id: texdraw.texi 2.11 2019/04/18 TeXdraw-v2r3 $
% To produce a TeX version of this manual, you must have the following
-% files accessible by TeX.
+% files accessible to TeX.
% texdraw.texi - this file, the TeXdraw manual, part of the TeXdraw
% distribution
% texdraw.tex - the TeXdraw macros, part of the TeXdraw distribution
@@ -15,7 +15,7 @@
% texinfo.tex is available by anonymous ftp as
% pub/gnu/texinfo-3.6.tar.Z on prep.ai.mit.edu.
%
-\input texdraw % bring in TeXdraw before texinfo changes escape from \ to @
+\input texdraw % bring in TeXdraw before texinfo changes "\" to "@"
\input txdtools
\input texinfo @c -*-texinfo-*-
@@ -25,7 +25,7 @@
@comment %**end of header
@copying
-This manual (edition 2.0a) documents @TeX{}draw, a system for
+This manual (edition 2.3) documents @TeX{}draw, a system for
producing PostScript drawings from @TeX{}.
Copyright @copyright{} 1993--2019 Peter Kabal
@@ -45,8 +45,8 @@ Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
@titlepage
@title @TeX{}draw
@subtitle PostScript Drawings from @TeX{}
-@subtitle Edition 2.0a
-@subtitle March 2019
+@subtitle Edition 2.3
+@subtitle April 2019
@author Peter Kabal
@page
@@ -54,12 +54,11 @@ Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
@insertcopying
Peter Kabal @*
-Department of Electrical Engineering @*
+Department of Electrical @& Computer Engineering @*
McGill University @*
-3480 University @*
-Montreal, Quebec @*
-Canada @w{} H3A@dmn{}2A7 @*
-@code{peter dot kabal at mcgill dot ca}
+
+@code{peter dot kabal at mcgill dot ca} @*
+@code{http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/}
@end titlepage
@contents
@@ -71,10 +70,7 @@ Canada @w{} H3A@dmn{}2A7 @*
@TeX{}draw is a collection of macros that allow drawings to be created
from @emph{within} @TeX{}.
-This is edition 2.0a of the @TeX{}draw documentation. The only
-substantive change from edition 2.0 is the license, which is now
-CC-BY (any version).
-
+This is edition 2.3 of the @TeX{}draw documentation.
@end ifnottex
@menu
@@ -265,7 +261,7 @@ macros from the file @file{texdraw.tex} and optionally defines the
@code{\begin@{texdraw@}} / @code{\end@{texdraw@}} environment.
@example
@group
-\documentstyle[11pt]@{article@} % Article style with 11pt size option
+\documentstyle[11pt]@{article@} % Article style at 11pt size
...
\input texdraw % Read in the TeXdraw macros
\newenvironment@{texdraw@}@{\leavevmode\btexdraw@}@{\etexdraw@}
@@ -287,7 +283,7 @@ the standard @code{graphics} package and reads in the file
@file{texdraw.tex} containing the definitions of the @TeX{}draw macros.
@example
@group
-\documentclass[11pt]@{article@} % Article class with the 11pt size option
+\documentclass[11pt]@{article@} % Article class at 11pt size
\usepackage@{texdraw@} % TeXdraw commands
\begin@{document@}
@@ -2213,7 +2209,8 @@ commands built from the basic @TeX{}draw commands.
\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
\def\pl {$\scriptscriptstyle +$} \def\mn {$\scriptscriptstyle -$}
-\move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for text size
+\move (0 +0.63) \move (0 -0.60) % compensate for the text size
+\move (0 0)
% Input to the first stage
\bsegment
@@ -2371,7 +2368,8 @@ shared between the commands used to draw these blocks.
\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
\def\pl @{$\scriptscriptstyle +$@} \def\mn @{$\scriptscriptstyle -$@}
-\move (0 +0.63) \move (0 -0.60) \move (0 0) % compensate for text size
+\move (0 +0.63) \move (0 -0.60) % compensate for the text size
+\move (0 0)
% Input to the first stage
\bsegment
@@ -2890,12 +2888,6 @@ number which is used to scale coordinate values. The overall scaling
factor is the product of the unit scale factor and the segment scale
factor.
-@item \texdrawbox @{ ... @}
-Create a @TeX{}draw box. The argument contains @TeX{}draw commands.
-This macro returns a @TeX{} box with height equal to the height of the
-drawing and width equal to the width of the drawing. The depth of the
-box is zero.
-
@item \textref h:@var{h-ref} v:@var{v-ref}
Set the text reference point for subsequent text commands. The
horizontal reference point @var{h-ref} is one of @code{L}, @code{C} or
diff --git a/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex b/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex
index eb944f0db8b..d800513c15a 100644
--- a/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex
+++ b/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex
@@ -1,6 +1,6 @@
% Block diagrams in TeXdraw
-% $Id: blockdiagram.tex,v 1.12 2019/03/28 texdraw-V2R0a $
+% $Id: blockdiagram.tex 1.15 2019/04/18 TeXdraw-v2r3 $
% Copyright (C) 1993-2019 Peter Kabal
@@ -10,14 +10,12 @@
% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
% peter dot kabal at mcgill dot ca
-
+% http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/
+
% ===============================================================
\input txdtools
diff --git a/Master/texmf-dist/tex/generic/texdraw/texdraw.sty b/Master/texmf-dist/tex/generic/texdraw/texdraw.sty
index 2452991e81d..c91c6b5af08 100644
--- a/Master/texmf-dist/tex/generic/texdraw/texdraw.sty
+++ b/Master/texmf-dist/tex/generic/texdraw/texdraw.sty
@@ -1,6 +1,6 @@
% TeXdraw macros
-% $Id: texdraw.sty,v 2.4 2019/03/28 texdraw-V2R0a $
+% $Id: texdraw.sty 2.6 2019/04/18 TeXdraw-v2r3 $
% Copyright (C) 1991-2019 Peter Kabal
@@ -10,14 +10,12 @@
% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
% peter dot kabal at mcgill dot ca
-
+% http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/
+
% ===============================================================
\NeedsTeXFormat{LaTeX2e}
diff --git a/Master/texmf-dist/tex/generic/texdraw/texdraw.tex b/Master/texmf-dist/tex/generic/texdraw/texdraw.tex
index e55c754bc52..a326538bd6a 100644
--- a/Master/texmf-dist/tex/generic/texdraw/texdraw.tex
+++ b/Master/texmf-dist/tex/generic/texdraw/texdraw.tex
@@ -1,6 +1,6 @@
% TeXdraw macros
-% $Id: texdraw.tex,v 2.4 2019/03/28 texdraw-V2R0a $
+% $Id: texdraw.tex 2.7 2019/04/18 TeXdraw-v2r3 $
% Copyright (C) 1991-2019 Peter Kabal
@@ -10,16 +10,14 @@
% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
% peter dot kabal at mcgill dot ca
-
+% http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/
+
\def\setRevDate $#1 #2 #3${#2}
-\def\TeXdrawId{\setRevDate $Date: 2019/03/28 16:40:42 $ TeXdraw V2R0a}
+\def\TeXdrawId{\setRevDate $Date: 2019/04/18 14:10:45 $ TeXdraw V2R3}
% ===============================================================
@@ -29,7 +27,7 @@
% superimposed on the figure.
% (2) TeXdraw implements a \bsegment-\esegment environment which allows
% parameter changes and coordinate changes to be kept local. In
-% effect, these segments are self-contained relocatable procedures.
+% effect these segments are self-contained relocatable procedures.
% (3) TeX's macro facility can be used to modularize drawing units and
% produce more complex entities from simple elements.
% (4) The drawing can be positioned on the page like any other TeX box.
@@ -78,12 +76,12 @@
\def\btexdraw {\x@pix=0 \y@pix=0
\x@segoffpix=\x@pix \y@segoffpix=\y@pix
+ \let\p@sfile=\p@sundef
% Set the default values (define outside of the group so that \etexdraw can
% see the scaling parameters)
\t@exdrawdef
\setbox\t@xdbox=\vbox\bgroup\offinterlineskip
\global\d@bs=0 % pending segments
- \global\t@extonlytrue % no PS commands yet
\global\p@osinitfalse
\s@avemove \x@pix \y@pix % capture the initial position
\m@pendingfalse
@@ -93,34 +91,40 @@
% ====== End TeXdraw
% Write out a trailer, close the file, bring in the PostScript code as
-% a \special include file. The \special is offset to position on the page
-% to be (llx,ury) in PostScript coordinates.
+% a \special include file. The \special is offset on the page to be at
+% (llx,ury) in PostScript coordinates.
% The drawing is placed in a \vbox of appropriate size (zero depth). The
% temporary PostScript file is superimposed with offsets such that the
% lower lefthand corner of the drawing is aligned with the lower lefthand of
-% the box. Then, the position is temporarily offset to that corresponding
-% to (0 0) to place the TeX text. Note that TeX text goes on top of the
-% PostScript drawing.
-\def\etexdraw {\ift@extonly \else
- \t@drclose % close the PostScript file
- \fi
+% the box.
+\def\etexdraw {\p@sclose % close the PostScript file
\egroup % ends the \vbox \bgroup
- \ifdim \wd\t@xdbox>0pt
- \t@xderror {TeXdraw box non-zero size,
- possible extraneous text}%
- \fi
\vbox {\offinterlineskip
\pixtobp \xminpix \l@lxbp \pixtobp \yminpix \l@lybp
\pixtobp \xmaxpix \u@rxbp \pixtobp \ymaxpix \u@rybp
- \hbox{\t@xdinclude
- [{\l@lxbp},{\l@lybp}][{\u@rxbp},{\u@rybp}]{\p@sfile}}%
- \pixtodim \xminpix \t@xpos \pixtodim \yminpix \t@ypos
- \kern \t@ypos
- \hbox {\kern -\t@xpos
- \box\t@xdbox % TeX text
- \kern \t@xpos}%
- \kern -\t@ypos\relax}}
+ \ifx\p@sfile\p@sundef
+ \hbox{\t@xdempty
+ [{\l@lxbp},{\l@lybp}][{\u@rxbp},{\u@rybp}]}%
+ \else
+ \hbox{\t@xdinclude
+ [{\l@lxbp},{\l@lybp}][{\u@rxbp},{\u@rybp}]{\p@sfile}}%
+ \fi
+ \t@xdtext}%
+}
+% Superimpose TeX text. The position is temporarily offset to a position
+% corresponding to (0 0) to place the TeX text.
+\def\t@xdtext {
+ \ifdim \wd\t@xdbox>0pt
+ \t@xderror {TeXdraw box non-zero size, possible extraneous text}%
+ \fi
+ \pixtodim \xminpix \t@xpos \pixtodim \yminpix \t@ypos
+ \kern \t@ypos
+ \hbox {\kern -\t@xpos
+ \box\t@xdbox % TeX text
+ \kern \t@xpos}%
+ \kern -\t@ypos\relax
+}
% ===== Drawing scaling
% The units in any segment may be scaled arbitrarily. A unit scale is
@@ -161,10 +165,10 @@
\f@lushmove
\fi
\begingroup
- \x@segoffpix=\x@pix
- \y@segoffpix=\y@pix
- \setsegscale 1
- \global\advance \d@bs by 1\relax}
+ \x@segoffpix=\x@pix
+ \y@segoffpix=\y@pix
+ \setsegscale 1
+ \global\advance \d@bs by 1\relax}
\def\esegment {\endgroup
\ifnum \d@bs=0
\writetx {es}%
@@ -290,20 +294,20 @@
% Check if the argument starts with a left parenthesis
\def\htext #1{\def\testit {#1}%
\ifx \testit\l@paren
- \let\next=\h@move
+ \let\t@cmd=\h@move
\else
- \let\next=\h@text
+ \let\t@cmd=\h@text
\fi
- \next {#1}}
+ \t@cmd {#1}}
% Rotated text
\def\rtext td:#1 #2{\def\testit {#2}%
\ifx \testit\l@paren
- \let\next=\r@move
+ \let\t@cmd=\r@move
\else
- \let\next=\r@text
+ \let\t@cmd=\r@text
\fi
- \next td:#1 {#2}}
+ \t@cmd td:#1 {#2}}
% Vertical text
\def\vtext {\rtext td:90 }
@@ -626,7 +630,7 @@
% Need to be able to insert "%", "{" and "}" characters into the
% PostScript file.
% Define macros which have these characters with category "other".
-% We will assume, that these characters have the standard meanings --
+% We will assume that these characters have the standard meanings -
% after all, we use comments and braces in this code.
\catcode`\%=12
\def\p@b {%!} \def\p@p {%%}
@@ -693,8 +697,8 @@
\g@etargxy #2 #3 #4 \\#5#6% leading blank
\else
\def #6{#2}%
- \def\next {#3}%
- \ifx \next\empty \else
+ \def\a@rg {#3}%
+ \ifx \a@rg\empty \else
\t@xderror {TeXdraw: invalid coordinate}%
\fi
\fi}
@@ -725,8 +729,8 @@
% ===== Low level list decoding macros
% Pick off the first item -> #3, rest of string -> #4
\def\g@etitem #1 #2\\#3#4{\edef #4{#2}\edef #3{#1}}
-\def\a@pppix #1#2{\edef\next {#1}%
- \ifx \next\empty \else
+\def\a@pppix #1#2{\edef\a@rg {#1}%
+ \ifx \a@rg\empty \else
\coordtopix {#1}\t@pixa
\ifx #2\empty
\edef #2{\the\t@pixa}%
@@ -778,7 +782,7 @@
% Two flags are used. Both flags are local to a segment.
% - move pending: Set when a move has been invoked but the move command
-% has not been written out to the PostScript file
+% has not been written out to the PostScript file.
% - path in progress: Set when a PostScript path has been started but the
% path has not been terminated and stroked.
% (1) Moves are kept back. Using TeX's groups, a local flag and local
@@ -862,7 +866,7 @@
% \ifp@osinit indicates whether the next move should be captured as the
% initial values for \xminpix, \yminpix, \xmaxpix, and \ymaxpix. However,
% if a \f@lushmove is invoked, then we assume that the appropriate initial
-% values has already been set. The "mv" command in PostScript is defined
+% values have already been set. The "mv" command in PostScript is defined
% to stroke the current path (if any) and move to the pixel coordinates
% specified.
@@ -987,13 +991,26 @@
\advance \t@ypos by -#2 bp%
\t@xpos=#3 bp%
\advance \t@xpos by -#1 bp%
- \dp0=0pt \ht0=\t@ypos \wd0=\t@xpos
+ \dp0=0pt \ht0=\t@ypos \wd0=\t@xpos
\box0%
\endgroup}
\else
\let\t@xdinclude=\includegraphics
\fi
+% Leave space without including a PS file
+\def\t@xdempty [#1,#2][#3,#4]{%
+ \begingroup
+ \leavevmode
+ \setbox0=\hbox{}%
+ \t@ypos=#4 bp%
+ \advance \t@ypos by -#2 bp%
+ \t@xpos=#3 bp%
+ \advance \t@xpos by -#1 bp%
+ \dp0=0pt \ht0=\t@ypos \wd0=\t@xpos
+ \box0%
+ \endgroup}
+
% ===== Write to the PostScript file
% Macro to write PostScript commands to the temporary PostScript file
% To decrease the size of the PostScript file, moves are kept back to
@@ -1008,76 +1025,94 @@
% only for those commands which just change line parameters
% without drawing. This routine opens the file and writes the
% PS file header the first time it is called.
-% \w@rps : lowest level direct write to the PostScript file
+% \p@swr : lowest level direct write to the PostScript file
\def\writeps #1{\f@lushbs
\f@lushmove
\p@athtrue
\writetx {#1}}
-\def\writetx #1{\ift@extonly
- \global\t@extonlyfalse
- \t@xdpsfn \p@sfile
- \t@dropen \p@sfile
- \fi
- \w@rps {#1}}
-\def\w@rps #1{\immediate\write\drawfile {#1}}
-
-% ===== Open a PostScript file
+\def\writetx #1{\p@sopen
+ \ifx\p@sfile\p@sundef \else
+ \p@swr {#1}%
+ \fi}
+\def\p@swr #1{\immediate\write\drawfile {#1}}
+
+% ===== Open/Close a PostScript file
% Open a PostScript file, write the definitions used by TeXdraw.
-\def\t@xdpsfn #1{%
- \global\advance \t@xdnum by 1
- \ifnum \t@xdnum<10
- \xdef #1{\jobname.ps\the\t@xdnum}
- \else
- \xdef #1{\jobname.p\the\t@xdnum}
+\xdef\p@sundef{UnDeFiNeD}
+\def\p@sopen {%
+ \ifx\p@sfile\p@sundef
+ \p@sopenI
+ \fi
+}
+% The code has a hook to avoid generating the PS file under certain
+% circumstances. The amsmath package sometimes sets an expression twice,
+% once to measure it and again to actually typeset it. In the first case,
+% \ifmeasuring@ is set to true. For that setting, the PS file is not
+% generated.
+\def\p@sopenI {%
+ \ifx\ifmeasuring@\iftrue \else % \ifmeasuring@ undefined or false
+ \global\advance \t@xdnum by 1
+ \ifnum \t@xdnum<10
+ \xdef \p@sfile{\jobname.ps\the\t@xdnum}%
+ \else
+ \xdef \p@sfile{\jobname.p\the\t@xdnum}%
+ \fi
+ \t@xdopen \p@sfile
+ \fi
+}
+
+\def\p@sclose {
+ \ifx\p@sfile\p@sundef \else
+ \t@xdclose
\fi
}
-\def\t@dropen #1{%
+\def\t@xdopen #1{%
\immediate\openout\drawfile=#1%
- \w@rps {\p@b PS-Adobe-3.0 EPSF-3.0}%
- \w@rps {\p@p BoundingBox: (atend)}%
- \w@rps {\p@p Title: TeXdraw drawing: #1}%
- \w@rps {\p@p Pages: 1}%
- \w@rps {\p@p Creator: \TeXdrawId}%
- \w@rps {\p@p CreationDate: \the\year/\the\month/\the\day}%
- \w@rps {50 dict begin}%
- \w@rps {/mv {stroke moveto} def}%
- \w@rps {/lv {lineto} def}%
- \w@rps {/st {currentpoint stroke moveto} def}%
- \w@rps {/sl {st setlinewidth} def}%
- \w@rps {/sd {st 0 setdash} def}%
- \w@rps {/sg {st setgray} def}%
- \w@rps {/bs {gsave} def /es {stroke grestore} def}%
- \w@rps {/fl \l@br gsave setgray fill grestore}%
- \w@rps { currentpoint newpath moveto\r@br\space def}%
- \w@rps {/fp {gsave setgray fill grestore st} def}%
- \w@rps {/cv {curveto} def}%
- \w@rps {/cr \l@br gsave currentpoint newpath 3 -1 roll 0 360 arc}%
- \w@rps { stroke grestore\r@br\space def}%
- \w@rps {/fc \l@br gsave setgray currentpoint newpath}%
- \w@rps { 3 -1 roll 0 360 arc fill grestore\r@br\space def}%
- \w@rps {/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def}%
- \w@rps {/el \l@br gsave /svm matrix currentmatrix def}%
- \w@rps { currentpoint translate scale newpath 0 0 1 0 360 arc}%
- \w@rps { svm setmatrix stroke grestore\r@br\space def}%
- \w@rps {/fe \l@br gsave setgray currentpoint translate scale newpath}%
- \w@rps { 0 0 1 0 360 arc fill grestore\r@br\space def}%
- \w@rps {/av \l@br /hhwid exch 2 div def /hlen exch def}%
- \w@rps { /ah exch def /tipy exch def /tipx exch def}%
- \w@rps { currentpoint /taily exch def /tailx exch def}%
- \w@rps { /dx tipx tailx sub def /dy tipy taily sub def}%
- \w@rps { /alen dx dx mul dy dy mul add sqrt def}%
- \w@rps { /blen alen hlen sub def}%
- \w@rps { gsave tailx taily translate dy dx atan rotate}%
- \w@rps { (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse}%
- \w@rps { stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto}%
- \w@rps { (T) ah eq {closepath} if}%
- \w@rps { (W) ah eq {gsave 1 setgray fill grestore closepath} if}%
- \w@rps { (F) ah eq {fill} {stroke} ifelse}%
- \w@rps { grestore tipx tipy moveto\r@br\space def}%
- \w@rps {\p@sfactor\space \p@sfactor\space scale}%
- \w@rps {1 setlinecap 1 setlinejoin}%
- \w@rps {3 setlinewidth [] 0 setdash}%
- \w@rps {0 0 moveto}%
+ \p@swr {\p@b PS-Adobe-3.0 EPSF-3.0}%
+ \p@swr {\p@p BoundingBox: (atend)}%
+ \p@swr {\p@p Title: TeXdraw drawing: #1}%
+ \p@swr {\p@p Pages: 1}%
+ \p@swr {\p@p Creator: \TeXdrawId}%
+ \p@swr {\p@p CreationDate: \the\year/\the\month/\the\day}%
+ \p@swr {50 dict begin}%
+ \p@swr {/mv {stroke moveto} def}%
+ \p@swr {/lv {lineto} def}%
+ \p@swr {/st {currentpoint stroke moveto} def}%
+ \p@swr {/sl {st setlinewidth} def}%
+ \p@swr {/sd {st 0 setdash} def}%
+ \p@swr {/sg {st setgray} def}%
+ \p@swr {/bs {gsave} def /es {stroke grestore} def}%
+ \p@swr {/fl \l@br gsave setgray fill grestore}%
+ \p@swr { currentpoint newpath moveto\r@br\space def}%
+ \p@swr {/fp {gsave setgray fill grestore st} def}%
+ \p@swr {/cv {curveto} def}%
+ \p@swr {/cr \l@br gsave currentpoint newpath 3 -1 roll 0 360 arc}%
+ \p@swr { stroke grestore\r@br\space def}%
+ \p@swr {/fc \l@br gsave setgray currentpoint newpath}%
+ \p@swr { 3 -1 roll 0 360 arc fill grestore\r@br\space def}%
+ \p@swr {/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def}%
+ \p@swr {/el \l@br gsave /svm matrix currentmatrix def}%
+ \p@swr { currentpoint translate scale newpath 0 0 1 0 360 arc}%
+ \p@swr { svm setmatrix stroke grestore\r@br\space def}%
+ \p@swr {/fe \l@br gsave setgray currentpoint translate scale newpath}%
+ \p@swr { 0 0 1 0 360 arc fill grestore\r@br\space def}%
+ \p@swr {/av \l@br /hhwid exch 2 div def /hlen exch def}%
+ \p@swr { /ah exch def /tipy exch def /tipx exch def}%
+ \p@swr { currentpoint /taily exch def /tailx exch def}%
+ \p@swr { /dx tipx tailx sub def /dy tipy taily sub def}%
+ \p@swr { /alen dx dx mul dy dy mul add sqrt def}%
+ \p@swr { /blen alen hlen sub def}%
+ \p@swr { gsave tailx taily translate dy dx atan rotate}%
+ \p@swr { (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse}%
+ \p@swr { stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto}%
+ \p@swr { (T) ah eq {closepath} if}%
+ \p@swr { (W) ah eq {gsave 1 setgray fill grestore closepath} if}%
+ \p@swr { (F) ah eq {fill} {stroke} ifelse}%
+ \p@swr { grestore tipx tipy moveto\r@br\space def}%
+ \p@swr {\p@sfactor\space \p@sfactor\space scale}%
+ \p@swr {1 setlinecap 1 setlinejoin}%
+ \p@swr {3 setlinewidth [] 0 setdash}%
+ \p@swr {0 0 moveto}%
}
% Notes:
@@ -1116,15 +1151,15 @@
% indicate. This is due to the fact that multiple move commands in
% a row are collapsed into a single move. The BoundingBox information
% includes the effect of the moves which were expunged.
-\def\t@drclose {%
+\def\t@xdclose {%
\bgroup
- \w@rps {stroke end showpage}%
- \w@rps {\p@p Trailer:}%
+ \p@swr {stroke end showpage}%
+ \p@swr {\p@p Trailer:}%
\pixtobp \xminpix \l@lxbp \pixtobp \yminpix \l@lybp
\pixtobp \xmaxpix \u@rxbp \pixtobp \ymaxpix \u@rybp
- \w@rps {\p@p BoundingBox: \l@lxbp\space \l@lybp\space
+ \p@swr {\p@p BoundingBox: \l@lxbp\space \l@lybp\space
\u@rxbp\space \u@rybp}%
- \w@rps {\p@p EOF}%
+ \p@swr {\p@p EOF}%
\egroup
\immediate\closeout\drawfile
}
diff --git a/Master/texmf-dist/tex/generic/texdraw/txdps.tex b/Master/texmf-dist/tex/generic/texdraw/txdps.tex
index 4779145231a..482e3faf408 100644
--- a/Master/texmf-dist/tex/generic/texdraw/txdps.tex
+++ b/Master/texmf-dist/tex/generic/texdraw/txdps.tex
@@ -1,6 +1,6 @@
% TeXdraw macros to access PostScript builtins
-% $Id: txdps.tex,v 1.8 2019/03/28 texdraw-V2R0a $
+% $Id: txdps.tex 1.10 2019/04/18 TeXdraw-v2r3 $
% Copyright (C) 1991-2019 Peter Kabal
@@ -10,14 +10,12 @@
% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
% peter dot kabal at mcgill dot ca
-
+% http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/
+
% ===============================================================
\chardef\catamp=\the\catcode`\@
diff --git a/Master/texmf-dist/tex/generic/texdraw/txdtools.tex b/Master/texmf-dist/tex/generic/texdraw/txdtools.tex
index a7fe26dc363..eea68fbd0c8 100644
--- a/Master/texmf-dist/tex/generic/texdraw/txdtools.tex
+++ b/Master/texmf-dist/tex/generic/texdraw/txdtools.tex
@@ -1,6 +1,6 @@
% TeXdraw toolbox macros, useful for extended TeXdraw commands
-% $Id: txdtools.tex,v 1.9 2019/03/28 texdraw-V2R0a $
+% $Id: txdtools.tex 1.11 2019/04/18 TeXdraw-v2r3 $
% Copyright (C) 1991-2019 Peter Kabal
@@ -10,14 +10,12 @@
% Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
% Peter Kabal
-% Department of Electrical Engineering
+% Department of Electrical & Computer Engineering
% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
% peter dot kabal at mcgill dot ca
-
+% http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/
+
% ===============================================================
% These macros use temporary count registers defined by TeXdraw
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 0556a4f747c..b916a5cafa7 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1157,7 +1157,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'tex_it', "die 'skipping, old support'",
'texdoc', "&MAKEflatten",
'texdoctk', "die 'skipping, moribund, only in tl'",
- 'texdraw', "&MAKEflatten",
'texemplar', "die 'skipping, await request, 199x'",
'texlipse', "die 'skipping, plugin for Eclipse'",
'texlive-dummy', "die 'skipping, suse placeholder'",
@@ -1374,6 +1373,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'skb' => '&PREHOOK_flatten1',
'suftesi' => '&PREHOOK_suftesi',
'stix' => '&PREHOOK_stix',
+ 'texdraw' => '&PREHOOK_texdraw',
'texfot' => '&PREHOOK_texfot',
'tlcockpit' => '&PREHOOK_tlcockpit',
'tudscr' => '&PREHOOK_tudscr',
@@ -5554,6 +5554,11 @@ sub PREHOOK_stix {
&SYSTEM ("cd latex && tex stix.fdd");
}
+sub PREHOOK_texdraw {
+ print "PREHOOK_$package - mv manual/* files\n";
+ &SYSTEM ("$MV manual/* .");
+}
+
sub PREHOOK_texfot {
print "PREHOOK_$package - make .1 with pod2man\n";
&prehook_pod2man ("Karl Berry", "$package.pl");