texlive[51030] Master: texdraw (6may19)
commits+karl at tug.org
commits+karl at tug.org
Tue May 7 00:06:13 CEST 2019
Revision: 51030
http://tug.org/svn/texlive?view=revision&revision=51030
Author: karl
Date: 2019-05-07 00:06:13 +0200 (Tue, 07 May 2019)
Log Message:
-----------
texdraw (6may19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/info/texdraw.info
trunk/Master/texmf-dist/doc/support/texdraw/ChangeLog
trunk/Master/texmf-dist/doc/support/texdraw/README
trunk/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
trunk/Master/texmf-dist/doc/support/texdraw/texdraw.texi
trunk/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex
trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.sty
trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.tex
trunk/Master/texmf-dist/tex/generic/texdraw/txdps.tex
trunk/Master/texmf-dist/tex/generic/texdraw/txdtools.tex
trunk/Master/tlpkg/libexec/ctan2tds
Added Paths:
-----------
trunk/Master/texmf-dist/doc/support/texdraw/Makefile
trunk/Master/texmf-dist/doc/support/texdraw/examples/
trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex
trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex
trunk/Master/texmf-dist/doc/support/texdraw/test/
trunk/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/support/texdraw/Makefile.manual
trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.latex
trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.tex
Modified: trunk/Master/texmf-dist/doc/info/texdraw.info
===================================================================
--- trunk/Master/texmf-dist/doc/info/texdraw.info 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/doc/info/texdraw.info 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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 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 @@
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 @@
'\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 @@
\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 @@
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 @@
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
Modified: trunk/Master/texmf-dist/doc/support/texdraw/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/ChangeLog 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/doc/support/texdraw/ChangeLog 2019-05-06 22:06:13 UTC (rev 51030)
@@ -1,8 +1,19 @@
-$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
Added: trunk/Master/texmf-dist/doc/support/texdraw/Makefile
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/Makefile (rev 0)
+++ trunk/Master/texmf-dist/doc/support/texdraw/Makefile 2019-05-06 22:06:13 UTC (rev 51030)
@@ -0,0 +1,22 @@
+# Makefile for texdraw.texi
+
+# $Id: Makefile 2.2 2019/04/18 TeXdraw-v2r3 $
+
+doc = texdraw
+
+pdf $(doc).pdf: $(doc).ps
+ ps2pdf $(doc).ps $(doc).pdf
+
+ps $(doc).ps: $(doc).texi Makefile
+ env TEXINPUTS=..: texi2dvi --ps $(doc).texi
+
+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).???
Property changes on: trunk/Master/texmf-dist/doc/support/texdraw/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/support/texdraw/Makefile.manual
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/Makefile.manual 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/doc/support/texdraw/Makefile.manual 2019-05-06 22:06:13 UTC (rev 51030)
@@ -1,15 +0,0 @@
-# This trivial Makefile is public domain.
-
-doc = texdraw
-
-pdf $(doc).pdf: $(doc).ps
- ps2pdf $(doc).ps $(doc).pdf
-
-ps $(doc).ps: $(doc).texi Makefile
- env TEXINPUTS=..: texi2dvi --ps $(doc).texi
-
-info $(doc).info: $(doc).texi
- makeinfo $(doc).texi
-
-clean:
- rm -f $(doc).?? $(doc).???
Modified: trunk/Master/texmf-dist/doc/support/texdraw/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/README 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/doc/support/texdraw/README 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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 @@
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 @@
(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 at 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 @@
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.ps - PostScript version of the manual
texdraw.pdf - PDF version of the manual
- texdraw.ps - PostScript 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.
Added: trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex (rev 0)
+++ trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -0,0 +1,514 @@
+% TeXdraw examples for latex
+
+% $Id: txdexamp.latex 2.1 1999/11/15 TeXdraw-v2r3 $
+
+% These examples are taken from the TeXdraw manual.
+
+% Peter Kabal
+% Department of Electrical & Computer Engineering
+% McGill University
+% 3480 University
+% Montreal, Quebec
+% Canada H3A 2A7
+
+% kabal at ECE.McGill.CA
+
+\documentclass [11pt]{article}
+\usepackage {texdraw}
+
+\input txdtools
+\let\et=\etexdraw
+\def\etexdraw{\drawbb\et}
+
+\begin{document}
+
+\noindent
+TeXdraw examples using LaTeX.
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \avec (0 0.8) \textref h:C v:B \htext (0 0.9){\sl y}
+ \move (0 0) \avec (0.8 0) \textref h:L v:C \htext(0.9 0){\sl x}
+ \move (0 1.0)
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \drawdim{cm} \linewd 0.02
+ \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2)
+ \textref h:C v:C \htext(2 3){$\sum \rho_n$}
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \drawdim in
+ \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0.5 0.5)
+ \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(1.0 0.5)
+ \linewd 0.015 \lpatt(0.067 0.1) \lvec (1.5 0)
+ \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(2.0 0.5)
+ \arrowheadtype t:H \avec(2.5 0.5)
+ \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
+ \textref h:R v:T \htext (0.35 0.50){\tt t:F}
+ \textref h:R v:T \htext (1.0 0.43){\tt t:V}
+ \textref h:R v:T \htext (1.82 0.50){\tt t:T}
+ \textref h:R v:T \htext (2.5 0.43){\tt t:H}
+ \textref h:R v:B \htext (2.8 0){\tt t:W}
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \newcommand{\bdot}{\bsegment
+ \fcir f:0 r:0.02
+ \esegment}
+ \newcommand{\Ttext}[1]{\bsegment
+ \textref h:C v:B \htext (0 +0.06){#1}
+ \esegment}
+ \newcommand{\Btext}[1]{\bsegment
+ \textref h:C v:T \htext (0 -0.06){#1}
+ \esegment}
+ \newcommand{\Ltext}[1]{\bsegment
+ \textref h:R v:C \htext (-0.08 0){#1}
+ \esegment}
+ \newcommand{\Rtext}[1]{\bsegment
+ \textref h:L v:C \htext (+0.08 0){#1}
+ \esegment}
+ \move (-1.5 0)
+ \bsegment
+ \move (+1.55 +0.45) \move (-1.55 -0.45) \move (0 0)
+ \Ttext{Horizontal Text}
+ \bdot \Btext{\tt h:C v:C}
+ \move (-0.9 0) \bdot \Ltext{\tt h:L v:C}
+ \move (+0.9 0) \bdot \Rtext{\tt h:R v:C}
+ \move (0 +0.3) \bdot \Ttext{\tt h:C v:T}
+ \move (0 -0.3) \bdot \Btext{\tt h:C v:B}
+ \move (-0.9 -0.3) \bdot \Ltext{\tt h:L v:B}
+ \lvec (-0.9 +0.3) \bdot \Ltext{\tt h:L v:T}
+ \lvec (+0.9 +0.3) \bdot \Rtext{\tt h:R v:T}
+ \lvec (+0.9 -0.3) \bdot \Rtext{\tt h:R v:B}
+ \lvec (-0.9 -0.3)
+ \esegment
+ \newcommand{\atext}{\rtext td:45 }
+ \newcommand{\ATtext}[1]{\bsegment
+ \setsegscale 0.707
+ \textref h:C v:B \atext (-0.06 +0.06){#1}
+ \esegment}
+ \newcommand{\ABtext}[1]{\bsegment
+ \setsegscale 0.707
+ \textref h:C v:T \atext (+0.060 -0.06){#1}
+ \esegment}
+ \newcommand{\ALtext}[1]{\bsegment
+ \setsegscale 0.707
+ \textref h:R v:C \atext (-0.08 -0.08){#1}
+ \esegment}
+ \newcommand{\ARtext}[1]{\bsegment
+ \setsegscale 0.707
+ \textref h:L v:C \atext (+0.08 +0.08){#1}
+ \esegment}
+ \move (+1.5 0)
+ \bsegment
+ \move (+1.33 +1.33) \move (-1.33 -1.33) \move (0 0)
+ \setsegscale 0.707
+ \ATtext{Rotated Text}
+ \bdot \ABtext{\tt h:C v:C}
+ \move (-0.9 -0.9) \bdot \ALtext{\tt h:L v:C}
+ \move (+0.9 +0.9) \bdot \ARtext{\tt h:R v:C}
+ \move (-0.3 +0.3) \bdot \ATtext{\tt h:C v:T}
+ \move (+0.3 -0.3) \bdot \ABtext{\tt h:C v:B}
+ \move (-0.6 -1.2) \bdot \ALtext{\tt h:L v:B}
+ \lvec (-1.2 -0.6) \bdot \ALtext{\tt h:L v:T}
+ \lvec (+0.6 +1.2) \bdot \ARtext{\tt h:R v:T}
+ \lvec (+1.2 +0.6) \bdot \ARtext{\tt h:R v:B}
+ \lvec (-0.6 -1.2)
+ \esegment
+\end{texdraw}
+\end{center}
+
+\vfill
+\newpage
+
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \move(-0.75 -0.25) \lvec (-0.75 +0.5) \lvec (+0.75 +0.5)
+ \lvec(+0.75 -0.25) \ifill f:0.9 % fill the region
+ \move(0 0)
+ \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text}
+ \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text}
+ \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text}
+ \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text}
+ \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text}
+ \move (-1.15 -0.3) \move (+1.15 +0.92) % increase the size of the drawing
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \linewd 0.02
+ \fcir f:0.7 r:1
+ \larc r:1 sd:45 ed:135
+ \lvec ( 0.707 0.707) \move (0 0) \lvec (-0.707 +0.707)
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+ \newcommand{\Ltext}[1]{\bsegment
+ \textref h:R v:C \htext (-0.08 0){#1}
+ \esegment}
+ \newcommand{\Rtext}[1]{\bsegment
+ \textref h:L v:C \htext (+0.08 0){#1}
+ \esegment}
+ \newcommand{\bdot}{\fcir f:0 r:0.02 }
+ \newcommand{\Ldot}[1]{\bdot \Ltext{#1}}
+ \newcommand{\Rdot}[1]{\bdot \Rtext{#1}}
+ \move (-2 0)
+ \bsegment
+ \lpatt (0.033)
+ \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
+ \lvec (1 1) \Rdot{2} \lvec (1 0) \Rdot{3}
+ \lpatt ()
+ \move (0 0) \clvec (0 1)(1 1)(1 0)
+ \esegment
+ \move (0 0)
+ \bsegment
+ \lpatt (0.033)
+ \move (0 0) \Ldot{0} \lvec (0.5 0.8) \Ldot{1}
+ \lvec (1.5 0.8) \Rdot{2} \lvec (1 0) \Rdot{3}
+ \lpatt ()
+ \move (0 0) \clvec (0.5 1)(1.5 1)(1 0)
+ \esegment
+ \move ( 2 0)
+ \bsegment
+ \lpatt (0.033)
+ \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
+ \lvec (1 0) \Rdot{2} \lvec (1 1) \Rdot{3}
+ \lpatt ()
+ \move (0 0) \clvec (0 1)(1 0)(1 1)
+ \esegment
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+\move (0.5 0)
+\lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1)
+\lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0)
+\lfill f:0.8
+\end{texdraw}
+\end{center}
+
+\vfill
+\newpage
+
+
+\bigskip
+\newcommand{\tbox}[1]{\bsegment
+ \lvec (0 +0.25) \lvec (0.75 +0.25)
+ \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
+ \textref h:C v:C \htext (0.375 0){#1}
+ \savepos (0.75 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+\begin{center}
+\begin{texdraw}
+ \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
+\end{texdraw}
+\end{center}
+
+\bigskip
+\def\cavec (#1 #2)(#3 #4)(#5 #6){
+ \clvec (#1 #2)(#3 #4)(#5 #6)
+ \cossin (#3 #4)(#5 #6)\cosa\sina
+ \rmove (0 0) % stroke the Bezier curve
+ \bsegment
+ \drawdim in \setsegscale 0.05
+ \move ({-\cosa} -\sina) \avec (0 0)
+ \esegment}
+
+\def\caw (#1 #2){
+ \currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+
+% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
+% Find the rotated offset (dx dy) -> (du dv)
+ \rotatecoord (0.4 0.1)\cosa\sina \du\dv
+
+% calculate the length of the vector
+ \vectlen ({\xa} \ya)(#1 #2)\len
+
+% draw the curve in normalized units
+ \bsegment
+ \setsegscale {\len}
+ \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
+ \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
+ \esegment
+
+ \move (#1 #2)}
+
+% rotate a coordinate (x y)
+% arguments: (x y) cosa sina x' y'
+% x' = cosa * x - sina * y; y' = sina * x + cosa * y
+\def\rotatecoord (#1 #2)#3#4#5#6{
+ \getpos (#1 #2)\xarg\yarg
+ \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
+ \realadd \tmpa {-\tmpb} #5
+ \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
+ \realadd \tmpa \tmpb #6}
+
+\begin{center}
+\begin{texdraw}
+ \arrowheadtype t:W
+ \move (0 0)
+ \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
+ \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
+ \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
+ \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
+ \move (0 1.13) \move (0 -0.04)
+\end{texdraw}
+\end{center}
+
+\vfill
+\newpage
+
+
+\bigskip
+\def\delay {\bsegment
+ \setsegscale 0.3
+ \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
+ \lvec (0 -0.5) \lvec (0 0)
+ \textref h:C v:C \htext (0.5 0){$z^{-1}$}
+ \savepos (1 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+\def\bdot {\fcir f:0 r:0.02 }
+\def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.06){#1}
+ \esegment}
+\def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.06){#1}
+ \esegment}
+\def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.06 0){#1}
+ \esegment}
+\def\Rtext #1{\bsegment
+ \textref h:L v:C \htext (+0.06 0){#1}
+ \esegment}
+\def\cradius {0.08}
+\def\pluss {\bsegment
+ \setsegscale {\cradius}
+ \move (-0.5 0) \lvec (+0.5 0)
+ \move (0 -0.5) \lvec (0 +0.5)
+ \esegment}
+\def\pcir {\lcir r:{\cradius} \pluss}
+\def\puttext (#1 #2)#3{\bsegment
+ \setsegscale {\cradius}
+ \textref h:C v:C \htext (#1 #2){#3}
+ \esegment}
+\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
+\def\putwsw #1{\puttext (-1.7 -1.2){#1}}
+\def\putn #1{\puttext ( 0 +2 ){#1}}
+\def\puts #1{\puttext ( 0 -2 ){#1}}
+\def\avectoc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \savepos (#1 #2)(*tx *ty)
+ \bsegment
+ \move (*tx *ty)
+ \setsegscale {\cradius}
+ \rmove ({-\cosa} -\sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \avec (*ex *ey)
+ \move (#1 #2)}
+\def\avecfrc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \bsegment
+ \setsegscale {\cradius}
+ \move ({\cosa} \sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \move (*ex *ey)
+ \avec (#1 #2)}
+
+\begin{center}
+\begin{texdraw}
+\drawdim in
+\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 the text size
+
+% Input to the first stage
+\bsegment
+ \Ltext{$x(n)$}
+ \lvec (0.3 0) \bdot \lvec (0.3 +0.4)
+ \move (0.3 0) \lvec (0.3 -0.4)
+ \savepos (0.3 0)(*ex *ey)
+\esegment
+\move (*ex *ey)
+
+% first lattice stage
+\bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.1 +0.4)
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_0(n)$}
+ \move (2.0 +0.42) \Ttext {$f_1(n)$}
+ \move (0.1 -0.4) \Btext {$b_0(n)$}
+ \move (2.0 -0.4) \Btext {$b_1(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_1$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_1$}
+ \savepos (2.1 0)(*ex *ey)
+\esegment
+\move (*ex *ey)
+
+% center section
+\bsegment
+ \textref h:C v:C
+ \htext (0.3 +0.4){$\cdots$}
+ \htext (0.3 -0.4){$\cdots$}
+ \savepos (0.6 0)(*ex *ey)
+\esegment
+\move (*ex *ey)
+
+% last lattice stage
+\bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
+ \move (2.0 +0.42) \Ttext {$f_P(n)$}
+ \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
+ \move (2.0 -0.4) \Btext {$b_P(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_P$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_P$}
+\esegment
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
+\def\ds {\displaystyle}
+\def\ticklab (#1 #2)#3{\move(#1 #2)
+ \bsegment
+ \lvec (0 0.05)
+ \textref h:C v:T \htext (0 -0.05){#3}
+ \esegment}
+\def\Rtext #1{\bsegment
+ \textref h:L v:C \htext ( 0.08 0){#1}
+ \esegment}
+
+\move (2.4 -0.32) % move to set the size
+
+\move (0 0)
+% Axes
+\avec (0 1.4)
+\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
+\ticklab (0 0) {0}
+\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
+\ticklab (1.2 0) {$\omega_s$}
+\ticklab (1.6 0) {$\ds {\pi \over N} $}
+
+\linewd 0.025
+\move (0 1)
+\lvec (0.4 1)
+\lvec (0.44 0.998)
+\lvec (0.48 0.988)
+\lvec (0.52 0.973)
+\lvec (0.56 0.951)
+\lvec (0.60 0.923)
+\lvec (0.64 0.891)
+\lvec (0.68 0.852)
+\lvec (0.72 0.809)
+\lvec (0.76 0.760)
+\lvec (0.80 0.707)
+\lvec (0.84 0.649)
+\lvec (0.88 0.587)
+\lvec (0.92 0.522)
+\lvec (0.96 0.454)
+\lvec (1.00 0.382)
+\lvec (1.04 0.309)
+\lvec (1.08 0.233)
+\lvec (1.12 0.156)
+\lvec (1.16 0.078)
+\lvec (1.20 0)
+\lvec (1.9 0)
+\end{texdraw}
+\end{center}
+
+\bigskip
+\begin{center}
+\begin{texdraw}
+\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
+\linewd 0.01
+\setunitscale 1.5 % circle will have radius 1.5 inches
+
+\def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.04){#1}
+ \esegment}
+\def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 0.04){#1}
+ \esegment}
+\def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.04 0){#1}
+ \esegment}
+\def\bdot {\fcir f:0 r:0.0133 }
+\def\vtick {\bsegment
+ \move (0 -0.05) \lvec (0 0.05)
+ \esegment}
+\def\htick {\bsegment
+ \move (-0.05 0) \lvec ( 0.05 0)
+ \esegment}
+\def\Hlen #1#2{\bsegment
+ \vtick \avec ({#1} 0) \vtick \avec (0 0)
+ \relsegscale 0.5
+ \move ({#1} 0) \Ttext {#2}
+ \esegment}
+\def\Vlen #1#2{\bsegment
+ \htick \avec (0 {#1}) \htick \avec (0 0)
+ \relsegscale 0.5
+ \move (0 {#1}) \Ltext {#2}
+ \esegment}
+
+\lcir r:1 % circle
+\move (-1.05 0) \lvec ( 1.05 0) % axes
+\move (0 -1.05) \lvec (0 1.05)
+
+\move (0 0) \lvec (0.707 0.707) \bdot
+\rmove (0.02 0.02) \textref h:L v:B \htext {X}
+\move (0.707 -0.707) \bdot
+\textref h:R v:T \htext(-0.02 -0.02){O}
+
+\move (0.5 0) % center of ellipse
+\bsegment
+ \lellip rx:0.435 ry:0.804
+ \bdot \Btext {$\beta_2$}
+ \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
+ \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
+\esegment
+\end{texdraw}
+\end{center}
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.latex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -0,0 +1,485 @@
+% TeXdraw examples
+
+% $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 & Computer Engineering
+% McGill University
+% 3480 University
+% Montreal, Quebec
+% Canada H3A 2A7
+
+% kabal at ECE.McGill.CA
+
+\input texdraw
+\input txdtools
+\let\et=\etexdraw
+\def\etexdraw{\drawbb\et}
+
+\noindent
+TeXdraw examples using plain TeX.
+
+\bigskip
+\centertexdraw{
+ \avec (0 0.8) \textref h:C v:B \htext (0 0.9){\sl y}
+ \move (0 0) \avec (0.8 0) \textref h:L v:C \htext(0.9 0){\sl x}
+ \move (0 1.0)}
+
+\bigskip
+\centertexdraw{
+ \drawdim{cm} \linewd 0.02
+ \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2)
+ \textref h:C v:C \htext(2 3){$\sum \rho_n$}
+}
+
+\bigskip
+\centertexdraw{
+ \drawdim in
+ \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0.5 0.5)
+ \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(1.0 0.5)
+ \linewd 0.015 \lpatt(0.067 0.1) \lvec (1.5 0)
+ \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(2.0 0.5)
+ \arrowheadtype t:H \avec(2.5 0.5)
+ \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
+ \textref h:R v:T \htext (0.35 0.50){\tt t:F}
+ \textref h:R v:T \htext (1.0 0.43){\tt t:V}
+ \textref h:R v:T \htext (1.82 0.50){\tt t:T}
+ \textref h:R v:T \htext (2.5 0.43){\tt t:H}
+ \textref h:R v:B \htext (2.8 0){\tt t:W}
+}
+
+\bigskip
+\centertexdraw{
+ \def\bdot {\bsegment
+ \fcir f:0 r:0.02
+ \esegment}
+ \def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.06){#1}
+ \esegment}
+ \def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.06){#1}
+ \esegment}
+ \def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.08 0){#1}
+ \esegment}
+ \def\Rtext #1{\bsegment
+ \textref h:L v:C \htext (+0.08 0){#1}
+ \esegment}
+ \move (-1.5 0)
+ \bsegment
+ \move (+1.55 +0.45) \move (-1.55 -0.45) \move (0 0)
+ \Ttext{Horizontal Text}
+ \bdot \Btext{\tt h:C v:C}
+ \move (-0.9 0) \bdot \Ltext{\tt h:L v:C}
+ \move (+0.9 0) \bdot \Rtext{\tt h:R v:C}
+ \move (0 +0.3) \bdot \Ttext{\tt h:C v:T}
+ \move (0 -0.3) \bdot \Btext{\tt h:C v:B}
+ \move (-0.9 -0.3) \bdot \Ltext{\tt h:L v:B}
+ \lvec (-0.9 +0.3) \bdot \Ltext{\tt h:L v:T}
+ \lvec (+0.9 +0.3) \bdot \Rtext{\tt h:R v:T}
+ \lvec (+0.9 -0.3) \bdot \Rtext{\tt h:R v:B}
+ \lvec (-0.9 -0.3)
+ \esegment
+ \def\atext {\rtext td:45 }
+ \def\ATtext #1{\bsegment
+ \setsegscale 0.707
+ \textref h:C v:B \atext (-0.06 +0.06){#1}
+ \esegment}
+ \def\ABtext #1{\bsegment
+ \setsegscale 0.707
+ \textref h:C v:T \atext (+0.060 -0.06){#1}
+ \esegment}
+ \def\ALtext #1{\bsegment
+ \setsegscale 0.707
+ \textref h:R v:C \atext (-0.08 -0.08){#1}
+ \esegment}
+ \def\ARtext #1{\bsegment
+ \setsegscale 0.707
+ \textref h:L v:C \atext (+0.08 +0.08){#1}
+ \esegment}
+ \move (+1.5 0)
+ \bsegment
+ \move (+1.33 +1.33) \move (-1.33 -1.33) \move (0 0)
+ \setsegscale 0.707
+ \ATtext{Rotated Text}
+ \bdot \ABtext{\tt h:C v:C}
+ \move (-0.9 -0.9) \bdot \ALtext{\tt h:L v:C}
+ \move (+0.9 +0.9) \bdot \ARtext{\tt h:R v:C}
+ \move (-0.3 +0.3) \bdot \ATtext{\tt h:C v:T}
+ \move (+0.3 -0.3) \bdot \ABtext{\tt h:C v:B}
+ \move (-0.6 -1.2) \bdot \ALtext{\tt h:L v:B}
+ \lvec (-1.2 -0.6) \bdot \ALtext{\tt h:L v:T}
+ \lvec (+0.6 +1.2) \bdot \ARtext{\tt h:R v:T}
+ \lvec (+1.2 +0.6) \bdot \ARtext{\tt h:R v:B}
+ \lvec (-0.6 -1.2)
+ \esegment
+}
+
+\vfill
+\eject
+
+
+\bigskip
+\centertexdraw{
+ \move(-0.75 -0.25) \lvec (-0.75 +0.5) \lvec (+0.75 +0.5)
+ \lvec(+0.75 -0.25) \ifill f:0.9 % fill the region
+ \move(0 0)
+ \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text}
+ \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text}
+ \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text}
+ \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text}
+ \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text}
+ \move (-1.15 -0.3) \move (+1.15 +0.92) % increase the size of the drawing
+}
+
+\bigskip
+\centertexdraw{
+ \linewd 0.02
+ \fcir f:0.7 r:1
+ \larc r:1 sd:45 ed:135
+ \lvec ( 0.707 0.707) \move (0 0) \lvec (-0.707 +0.707)
+}
+
+\bigskip
+\centertexdraw{
+ \def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.08 0){#1}
+ \esegment}
+ \def\Rtext #1{\bsegment
+ \textref h:L v:C \htext (+0.08 0){#1}
+ \esegment}
+ \def\bdot {\fcir f:0 r:0.02 }
+ \def\Ldot #1{\bdot \Ltext{#1}}
+ \def\Rdot #1{\bdot \Rtext{#1}}
+ \move (-2 0)
+ \bsegment
+ \lpatt (0.033)
+ \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
+ \lvec (1 1) \Rdot{2} \lvec (1 0) \Rdot{3}
+ \lpatt ()
+ \move (0 0) \clvec (0 1)(1 1)(1 0)
+ \esegment
+ \move (0 0)
+ \bsegment
+ \lpatt (0.033)
+ \move (0 0) \Ldot{0} \lvec (0.5 0.8) \Ldot{1}
+ \lvec (1.5 0.8) \Rdot{2} \lvec (1 0) \Rdot{3}
+ \lpatt ()
+ \move (0 0) \clvec (0.5 1)(1.5 1)(1 0)
+ \esegment
+ \move ( 2 0)
+ \bsegment
+ \lpatt (0.033)
+ \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
+ \lvec (1 0) \Rdot{2} \lvec (1 1) \Rdot{3}
+ \lpatt ()
+ \move (0 0) \clvec (0 1)(1 0)(1 1)
+ \esegment
+}
+
+\bigskip
+\centertexdraw{
+\move (0.5 0)
+\lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1)
+\lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0)
+\lfill f:0.8
+}
+
+\vfill
+\eject
+
+
+\bigskip
+\def\tbox #1{\bsegment
+ \lvec (0 +0.25) \lvec (0.75 +0.25)
+ \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
+ \textref h:C v:C \htext (0.375 0){#1}
+ \savepos (0.75 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+\centertexdraw{
+ \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
+}
+
+\bigskip
+\def\cavec (#1 #2)(#3 #4)(#5 #6){
+ \clvec (#1 #2)(#3 #4)(#5 #6)
+ \cossin (#3 #4)(#5 #6)\cosa\sina
+ \rmove (0 0) % stroke the Bezier curve
+ \bsegment
+ \drawdim in \setsegscale 0.05
+ \move ({-\cosa} -\sina) \avec (0 0)
+ \esegment}
+
+\def\caw (#1 #2){
+ \currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+
+% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
+% Find the rotated offset (dx dy) -> (du dv)
+ \rotatecoord (0.4 0.1)\cosa\sina \du\dv
+
+% calculate the length of the vector
+ \vectlen ({\xa} \ya)(#1 #2)\len
+
+% draw the curve in normalized units
+ \bsegment
+ \setsegscale {\len}
+ \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
+ \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
+ \esegment
+
+ \move (#1 #2)}
+
+% rotate a coordinate (x y)
+% arguments: (x y) cosa sina x' y'
+% x' = cosa * x - sina * y; y' = sina * x + cosa * y
+\def\rotatecoord (#1 #2)#3#4#5#6{
+ \getpos (#1 #2)\xarg\yarg
+ \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
+ \realadd \tmpa {-\tmpb} #5
+ \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
+ \realadd \tmpa \tmpb #6}
+
+\centertexdraw{
+ \arrowheadtype t:W
+ \move (0 0)
+ \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
+ \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
+ \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
+ \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
+ \move (0 1.13) \move (0 -0.04)
+}
+
+\vfill
+\eject
+
+
+\bigskip
+\def\delay {\bsegment
+ \setsegscale 0.3
+ \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
+ \lvec (0 -0.5) \lvec (0 0)
+ \textref h:C v:C \htext (0.5 0){$z^{-1}$}
+ \savepos (1 0)(*ex *ey)
+ \esegment
+ \move (*ex *ey)}
+\def\bdot {\fcir f:0 r:0.02 }
+\def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 +0.06){#1}
+ \esegment}
+\def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.06){#1}
+ \esegment}
+\def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.06 0){#1}
+ \esegment}
+\def\Rtext #1{\bsegment
+ \textref h:L v:C \htext (+0.06 0){#1}
+ \esegment}
+\def\cradius {0.08}
+\def\pluss {\bsegment
+ \setsegscale {\cradius}
+ \move (-0.5 0) \lvec (+0.5 0)
+ \move (0 -0.5) \lvec (0 +0.5)
+ \esegment}
+\def\pcir {\lcir r:{\cradius} \pluss}
+\def\puttext (#1 #2)#3{\bsegment
+ \setsegscale {\cradius}
+ \textref h:C v:C \htext (#1 #2){#3}
+ \esegment}
+\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
+\def\putwsw #1{\puttext (-1.7 -1.2){#1}}
+\def\putn #1{\puttext ( 0 +2 ){#1}}
+\def\puts #1{\puttext ( 0 -2 ){#1}}
+\def\avectoc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \savepos (#1 #2)(*tx *ty)
+ \bsegment
+ \move (*tx *ty)
+ \setsegscale {\cradius}
+ \rmove ({-\cosa} -\sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \avec (*ex *ey)
+ \move (#1 #2)}
+\def\avecfrc (#1 #2){\currentpos \xa\ya
+ \cossin ({\xa} \ya)(#1 #2)\cosa\sina
+ \bsegment
+ \setsegscale {\cradius}
+ \move ({\cosa} \sina)
+ \savecurrpos (*ex *ey)
+ \esegment
+ \move (*ex *ey)
+ \avec (#1 #2)}
+
+\centertexdraw{
+\drawdim in
+\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 the text size
+
+% Input to the first stage
+\bsegment
+ \Ltext{$x(n)$}
+ \lvec (0.3 0) \bdot \lvec (0.3 +0.4)
+ \move (0.3 0) \lvec (0.3 -0.4)
+ \savepos (0.3 0)(*ex *ey)
+\esegment
+\move (*ex *ey)
+
+% first lattice stage
+\bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.1 +0.4)
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_0(n)$}
+ \move (2.0 +0.42) \Ttext {$f_1(n)$}
+ \move (0.1 -0.4) \Btext {$b_0(n)$}
+ \move (2.0 -0.4) \Btext {$b_1(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_1$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_1$}
+ \savepos (2.1 0)(*ex *ey)
+\esegment
+\move (*ex *ey)
+
+% center section
+\bsegment
+ \textref h:C v:C
+ \htext (0.3 +0.4){$\cdots$}
+ \htext (0.3 -0.4){$\cdots$}
+ \savepos (0.6 0)(*ex *ey)
+\esegment
+\move (*ex *ey)
+
+% last lattice stage
+\bsegment
+ \move (0 +0.4) \avectoc (1.7 +0.4)
+ \pcir \putwnw{\pl} \puts{\mn}
+ \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
+ \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
+ \pcir \putwsw{\pl} \putn{\mn}
+ \avecfrc (2.1 -0.4)
+ \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
+ \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
+ \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
+ \move (2.0 +0.42) \Ttext {$f_P(n)$}
+ \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
+ \move (2.0 -0.4) \Btext {$b_P(n)$}
+ \textref h:L v:B \htext (1.15 +0.2){$K_P$}
+ \textref h:L v:T \htext (1.15 -0.2){$K_P$}
+\esegment
+}
+
+\bigskip
+\centertexdraw{
+\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
+\def\ds {\displaystyle}
+\def\ticklab (#1 #2)#3{\move(#1 #2)
+ \bsegment
+ \lvec (0 0.05)
+ \textref h:C v:T \htext (0 -0.05){#3}
+ \esegment}
+\def\Rtext #1{\bsegment
+ \textref h:L v:C \htext ( 0.08 0){#1}
+ \esegment}
+
+\move (2.4 -0.32) % move to set the size
+
+\move (0 0)
+% Axes
+\avec (0 1.4)
+\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
+\ticklab (0 0) {0}
+\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
+\ticklab (1.2 0) {$\omega_s$}
+\ticklab (1.6 0) {$\ds {\pi \over N} $}
+
+\linewd 0.025
+\move (0 1)
+\lvec (0.4 1)
+\lvec (0.44 0.998)
+\lvec (0.48 0.988)
+\lvec (0.52 0.973)
+\lvec (0.56 0.951)
+\lvec (0.60 0.923)
+\lvec (0.64 0.891)
+\lvec (0.68 0.852)
+\lvec (0.72 0.809)
+\lvec (0.76 0.760)
+\lvec (0.80 0.707)
+\lvec (0.84 0.649)
+\lvec (0.88 0.587)
+\lvec (0.92 0.522)
+\lvec (0.96 0.454)
+\lvec (1.00 0.382)
+\lvec (1.04 0.309)
+\lvec (1.08 0.233)
+\lvec (1.12 0.156)
+\lvec (1.16 0.078)
+\lvec (1.20 0)
+\lvec (1.9 0)
+}
+
+\bigskip
+\centertexdraw{
+\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
+\linewd 0.01
+\setunitscale 1.5 % circle will have radius 1.5 inches
+
+\def\Btext #1{\bsegment
+ \textref h:C v:T \htext (0 -0.04){#1}
+ \esegment}
+\def\Ttext #1{\bsegment
+ \textref h:C v:B \htext (0 0.04){#1}
+ \esegment}
+\def\Ltext #1{\bsegment
+ \textref h:R v:C \htext (-0.04 0){#1}
+ \esegment}
+\def\bdot {\fcir f:0 r:0.0133 }
+\def\vtick {\bsegment
+ \move (0 -0.05) \lvec (0 0.05)
+ \esegment}
+\def\htick {\bsegment
+ \move (-0.05 0) \lvec ( 0.05 0)
+ \esegment}
+\def\Hlen #1#2{\bsegment
+ \vtick \avec ({#1} 0) \vtick \avec (0 0)
+ \relsegscale 0.5
+ \move ({#1} 0) \Ttext {#2}
+ \esegment}
+\def\Vlen #1#2{\bsegment
+ \htick \avec (0 {#1}) \htick \avec (0 0)
+ \relsegscale 0.5
+ \move (0 {#1}) \Ltext {#2}
+ \esegment}
+
+\lcir r:1 % circle
+\move (-1.05 0) \lvec ( 1.05 0) % axes
+\move (0 -1.05) \lvec (0 1.05)
+
+\move (0 0) \lvec (0.707 0.707) \bdot
+\rmove (0.02 0.02) \textref h:L v:B \htext {X}
+\move (0.707 -0.707) \bdot
+\textref h:R v:T \htext(-0.02 -0.02){O}
+
+\move (0.5 0) % center of ellipse
+\bsegment
+ \lellip rx:0.435 ry:0.804
+ \bdot \Btext {$\beta_2$}
+ \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
+ \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
+\esegment
+}
+
+\bye
Property changes on: trunk/Master/texmf-dist/doc/support/texdraw/examples/txdexamp.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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}
Property changes on: trunk/Master/texmf-dist/doc/support/texdraw/test/ttexdraw.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/support/texdraw/texdraw.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/support/texdraw/texdraw.texi
===================================================================
--- trunk/Master/texmf-dist/doc/support/texdraw/texdraw.texi 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/doc/support/texdraw/texdraw.texi 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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 @@
@titlepage
@title @TeX{}draw
@subtitle PostScript Drawings from @TeX{}
- at subtitle Edition 2.0a
- at subtitle March 2019
+ at subtitle Edition 2.3
+ at subtitle April 2019
@author Peter Kabal
@page
@@ -54,12 +54,11 @@
@insertcopying
Peter Kabal @*
-Department of Electrical Engineering @*
+Department of Electrical @& Computer Engineering @*
McGill University @*
-3480 University @*
-Montreal, Quebec @*
-Canada @w{} H3A at dmn{}2A7 @*
- at code{peter dot kabal at mcgill dot ca}
+
+ at code{peter dot kabal at mcgill dot ca} @*
+ at code{http://www-mmsp.ece.mcgill.ca/MMSP/Documents/Software/}
@end titlepage
@contents
@@ -71,10 +70,7 @@
@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 @@
@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 @@
@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 @@
\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 @@
\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 @@
factor is the product of the unit scale factor and the segment scale
factor.
- at 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
Modified: trunk/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/blockdiagram.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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
Modified: trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.sty 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.sty 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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}
Modified: trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.tex 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/texdraw.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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 at pix=0 \y at pix=0
\x at segoffpix=\x at pix \y at segoffpix=\y at pix
+ \let\p at sfile=\p at sundef
% Set the default values (define outside of the group so that \etexdraw can
% see the scaling parameters)
\t at exdrawdef
\setbox\t at xdbox=\vbox\bgroup\offinterlineskip
\global\d at bs=0 % pending segments
- \global\t at extonlytrue % no PS commands yet
\global\p at osinitfalse
\s at avemove \x at pix \y at pix % capture the initial position
\m at 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 at extonly \else
- \t at drclose % close the PostScript file
- \fi
+% the box.
+\def\etexdraw {\p at sclose % close the PostScript file
\egroup % ends the \vbox \bgroup
- \ifdim \wd\t at xdbox>0pt
- \t at xderror {TeXdraw box non-zero size,
- possible extraneous text}%
- \fi
\vbox {\offinterlineskip
\pixtobp \xminpix \l at lxbp \pixtobp \yminpix \l at lybp
\pixtobp \xmaxpix \u at rxbp \pixtobp \ymaxpix \u at rybp
- \hbox{\t at xdinclude
- [{\l at lxbp},{\l at lybp}][{\u at rxbp},{\u at rybp}]{\p at sfile}}%
- \pixtodim \xminpix \t at xpos \pixtodim \yminpix \t at ypos
- \kern \t at ypos
- \hbox {\kern -\t at xpos
- \box\t at xdbox % TeX text
- \kern \t at xpos}%
- \kern -\t at ypos\relax}}
+ \ifx\p at sfile\p at sundef
+ \hbox{\t at xdempty
+ [{\l at lxbp},{\l at lybp}][{\u at rxbp},{\u at rybp}]}%
+ \else
+ \hbox{\t at xdinclude
+ [{\l at lxbp},{\l at lybp}][{\u at rxbp},{\u at rybp}]{\p at sfile}}%
+ \fi
+ \t at xdtext}%
+}
+% Superimpose TeX text. The position is temporarily offset to a position
+% corresponding to (0 0) to place the TeX text.
+\def\t at xdtext {
+ \ifdim \wd\t at xdbox>0pt
+ \t at xderror {TeXdraw box non-zero size, possible extraneous text}%
+ \fi
+ \pixtodim \xminpix \t at xpos \pixtodim \yminpix \t at ypos
+ \kern \t at ypos
+ \hbox {\kern -\t at xpos
+ \box\t at xdbox % TeX text
+ \kern \t at xpos}%
+ \kern -\t at ypos\relax
+}
% ===== Drawing scaling
% The units in any segment may be scaled arbitrarily. A unit scale is
@@ -161,10 +165,10 @@
\f at lushmove
\fi
\begingroup
- \x at segoffpix=\x at pix
- \y at segoffpix=\y at pix
- \setsegscale 1
- \global\advance \d at bs by 1\relax}
+ \x at segoffpix=\x at pix
+ \y at segoffpix=\y at pix
+ \setsegscale 1
+ \global\advance \d at bs by 1\relax}
\def\esegment {\endgroup
\ifnum \d at 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 at paren
- \let\next=\h at move
+ \let\t at cmd=\h at move
\else
- \let\next=\h at text
+ \let\t at cmd=\h at text
\fi
- \next {#1}}
+ \t at cmd {#1}}
% Rotated text
\def\rtext td:#1 #2{\def\testit {#2}%
\ifx \testit\l at paren
- \let\next=\r at move
+ \let\t at cmd=\r at move
\else
- \let\next=\r at text
+ \let\t at cmd=\r at text
\fi
- \next td:#1 {#2}}
+ \t at 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 at b {%!} \def\p at p {%%}
@@ -693,8 +697,8 @@
\g at etargxy #2 #3 #4 \\#5#6% leading blank
\else
\def #6{#2}%
- \def\next {#3}%
- \ifx \next\empty \else
+ \def\a at rg {#3}%
+ \ifx \a at rg\empty \else
\t at 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 at etitem #1 #2\\#3#4{\edef #4{#2}\edef #3{#1}}
-\def\a at pppix #1#2{\edef\next {#1}%
- \ifx \next\empty \else
+\def\a at pppix #1#2{\edef\a at rg {#1}%
+ \ifx \a at rg\empty \else
\coordtopix {#1}\t at pixa
\ifx #2\empty
\edef #2{\the\t at 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 at osinit indicates whether the next move should be captured as the
% initial values for \xminpix, \yminpix, \xmaxpix, and \ymaxpix. However,
% if a \f at 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,7 +991,7 @@
\advance \t at ypos by -#2 bp%
\t at xpos=#3 bp%
\advance \t at xpos by -#1 bp%
- \dp0=0pt \ht0=\t at ypos \wd0=\t at xpos
+ \dp0=0pt \ht0=\t at ypos \wd0=\t at xpos
\box0%
\endgroup}
\else
@@ -994,6 +998,19 @@
\let\t at xdinclude=\includegraphics
\fi
+% Leave space without including a PS file
+\def\t at xdempty [#1,#2][#3,#4]{%
+ \begingroup
+ \leavevmode
+ \setbox0=\hbox{}%
+ \t at ypos=#4 bp%
+ \advance \t at ypos by -#2 bp%
+ \t at xpos=#3 bp%
+ \advance \t at xpos by -#1 bp%
+ \dp0=0pt \ht0=\t at ypos \wd0=\t at 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 at rps : lowest level direct write to the PostScript file
+% \p at swr : lowest level direct write to the PostScript file
\def\writeps #1{\f at lushbs
\f at lushmove
\p at athtrue
\writetx {#1}}
-\def\writetx #1{\ift at extonly
- \global\t at extonlyfalse
- \t at xdpsfn \p at sfile
- \t at dropen \p at sfile
- \fi
- \w at rps {#1}}
-\def\w at rps #1{\immediate\write\drawfile {#1}}
+\def\writetx #1{\p at sopen
+ \ifx\p at sfile\p at sundef \else
+ \p at swr {#1}%
+ \fi}
+\def\p at swr #1{\immediate\write\drawfile {#1}}
-% ===== Open a PostScript file
+% ===== Open/Close a PostScript file
% Open a PostScript file, write the definitions used by TeXdraw.
-\def\t at xdpsfn #1{%
- \global\advance \t at xdnum by 1
- \ifnum \t at xdnum<10
- \xdef #1{\jobname.ps\the\t at xdnum}
- \else
- \xdef #1{\jobname.p\the\t at xdnum}
+\xdef\p at sundef{UnDeFiNeD}
+\def\p at sopen {%
+ \ifx\p at sfile\p at sundef
+ \p at sopenI
\fi
}
-\def\t at dropen #1{%
+% 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 at sopenI {%
+ \ifx\ifmeasuring@\iftrue \else % \ifmeasuring@ undefined or false
+ \global\advance \t at xdnum by 1
+ \ifnum \t at xdnum<10
+ \xdef \p at sfile{\jobname.ps\the\t at xdnum}%
+ \else
+ \xdef \p at sfile{\jobname.p\the\t at xdnum}%
+ \fi
+ \t at xdopen \p at sfile
+ \fi
+}
+
+\def\p at sclose {
+ \ifx\p at sfile\p at sundef \else
+ \t at xdclose
+ \fi
+}
+\def\t at xdopen #1{%
\immediate\openout\drawfile=#1%
- \w at rps {\p at b PS-Adobe-3.0 EPSF-3.0}%
- \w at rps {\p at p BoundingBox: (atend)}%
- \w at rps {\p at p Title: TeXdraw drawing: #1}%
- \w at rps {\p at p Pages: 1}%
- \w at rps {\p at p Creator: \TeXdrawId}%
- \w at rps {\p at p CreationDate: \the\year/\the\month/\the\day}%
- \w at rps {50 dict begin}%
- \w at rps {/mv {stroke moveto} def}%
- \w at rps {/lv {lineto} def}%
- \w at rps {/st {currentpoint stroke moveto} def}%
- \w at rps {/sl {st setlinewidth} def}%
- \w at rps {/sd {st 0 setdash} def}%
- \w at rps {/sg {st setgray} def}%
- \w at rps {/bs {gsave} def /es {stroke grestore} def}%
- \w at rps {/fl \l at br gsave setgray fill grestore}%
- \w at rps { currentpoint newpath moveto\r at br\space def}%
- \w at rps {/fp {gsave setgray fill grestore st} def}%
- \w at rps {/cv {curveto} def}%
- \w at rps {/cr \l at br gsave currentpoint newpath 3 -1 roll 0 360 arc}%
- \w at rps { stroke grestore\r at br\space def}%
- \w at rps {/fc \l at br gsave setgray currentpoint newpath}%
- \w at rps { 3 -1 roll 0 360 arc fill grestore\r at br\space def}%
- \w at rps {/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def}%
- \w at rps {/el \l at br gsave /svm matrix currentmatrix def}%
- \w at rps { currentpoint translate scale newpath 0 0 1 0 360 arc}%
- \w at rps { svm setmatrix stroke grestore\r at br\space def}%
- \w at rps {/fe \l at br gsave setgray currentpoint translate scale newpath}%
- \w at rps { 0 0 1 0 360 arc fill grestore\r at br\space def}%
- \w at rps {/av \l at br /hhwid exch 2 div def /hlen exch def}%
- \w at rps { /ah exch def /tipy exch def /tipx exch def}%
- \w at rps { currentpoint /taily exch def /tailx exch def}%
- \w at rps { /dx tipx tailx sub def /dy tipy taily sub def}%
- \w at rps { /alen dx dx mul dy dy mul add sqrt def}%
- \w at rps { /blen alen hlen sub def}%
- \w at rps { gsave tailx taily translate dy dx atan rotate}%
- \w at rps { (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse}%
- \w at rps { stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto}%
- \w at rps { (T) ah eq {closepath} if}%
- \w at rps { (W) ah eq {gsave 1 setgray fill grestore closepath} if}%
- \w at rps { (F) ah eq {fill} {stroke} ifelse}%
- \w at rps { grestore tipx tipy moveto\r at br\space def}%
- \w at rps {\p at sfactor\space \p at sfactor\space scale}%
- \w at rps {1 setlinecap 1 setlinejoin}%
- \w at rps {3 setlinewidth [] 0 setdash}%
- \w at rps {0 0 moveto}%
+ \p at swr {\p at b PS-Adobe-3.0 EPSF-3.0}%
+ \p at swr {\p at p BoundingBox: (atend)}%
+ \p at swr {\p at p Title: TeXdraw drawing: #1}%
+ \p at swr {\p at p Pages: 1}%
+ \p at swr {\p at p Creator: \TeXdrawId}%
+ \p at swr {\p at p CreationDate: \the\year/\the\month/\the\day}%
+ \p at swr {50 dict begin}%
+ \p at swr {/mv {stroke moveto} def}%
+ \p at swr {/lv {lineto} def}%
+ \p at swr {/st {currentpoint stroke moveto} def}%
+ \p at swr {/sl {st setlinewidth} def}%
+ \p at swr {/sd {st 0 setdash} def}%
+ \p at swr {/sg {st setgray} def}%
+ \p at swr {/bs {gsave} def /es {stroke grestore} def}%
+ \p at swr {/fl \l at br gsave setgray fill grestore}%
+ \p at swr { currentpoint newpath moveto\r at br\space def}%
+ \p at swr {/fp {gsave setgray fill grestore st} def}%
+ \p at swr {/cv {curveto} def}%
+ \p at swr {/cr \l at br gsave currentpoint newpath 3 -1 roll 0 360 arc}%
+ \p at swr { stroke grestore\r at br\space def}%
+ \p at swr {/fc \l at br gsave setgray currentpoint newpath}%
+ \p at swr { 3 -1 roll 0 360 arc fill grestore\r at br\space def}%
+ \p at swr {/ar {gsave currentpoint newpath 5 2 roll arc stroke grestore} def}%
+ \p at swr {/el \l at br gsave /svm matrix currentmatrix def}%
+ \p at swr { currentpoint translate scale newpath 0 0 1 0 360 arc}%
+ \p at swr { svm setmatrix stroke grestore\r at br\space def}%
+ \p at swr {/fe \l at br gsave setgray currentpoint translate scale newpath}%
+ \p at swr { 0 0 1 0 360 arc fill grestore\r at br\space def}%
+ \p at swr {/av \l at br /hhwid exch 2 div def /hlen exch def}%
+ \p at swr { /ah exch def /tipy exch def /tipx exch def}%
+ \p at swr { currentpoint /taily exch def /tailx exch def}%
+ \p at swr { /dx tipx tailx sub def /dy tipy taily sub def}%
+ \p at swr { /alen dx dx mul dy dy mul add sqrt def}%
+ \p at swr { /blen alen hlen sub def}%
+ \p at swr { gsave tailx taily translate dy dx atan rotate}%
+ \p at swr { (V) ah ne {blen 0 gt {blen 0 lineto} if} {alen 0 lineto} ifelse}%
+ \p at swr { stroke blen hhwid neg moveto alen 0 lineto blen hhwid lineto}%
+ \p at swr { (T) ah eq {closepath} if}%
+ \p at swr { (W) ah eq {gsave 1 setgray fill grestore closepath} if}%
+ \p at swr { (F) ah eq {fill} {stroke} ifelse}%
+ \p at swr { grestore tipx tipy moveto\r at br\space def}%
+ \p at swr {\p at sfactor\space \p at sfactor\space scale}%
+ \p at swr {1 setlinecap 1 setlinejoin}%
+ \p at swr {3 setlinewidth [] 0 setdash}%
+ \p at 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 at drclose {%
+\def\t at xdclose {%
\bgroup
- \w at rps {stroke end showpage}%
- \w at rps {\p at p Trailer:}%
+ \p at swr {stroke end showpage}%
+ \p at swr {\p at p Trailer:}%
\pixtobp \xminpix \l at lxbp \pixtobp \yminpix \l at lybp
\pixtobp \xmaxpix \u at rxbp \pixtobp \ymaxpix \u at rybp
- \w at rps {\p at p BoundingBox: \l at lxbp\space \l at lybp\space
+ \p at swr {\p at p BoundingBox: \l at lxbp\space \l at lybp\space
\u at rxbp\space \u at rybp}%
- \w at rps {\p at p EOF}%
+ \p at swr {\p at p EOF}%
\egroup
\immediate\closeout\drawfile
}
Deleted: trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.latex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.latex 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.latex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -1,514 +0,0 @@
-% TeXdraw examples for latex
-
-% $Id: txdexamp.latex,v 2.1 2019/03/28 texdraw-V2R0a $
-
-% These examples are taken from the TeXdraw manual.
-
-% Peter Kabal
-% Department of Electrical Engineering
-% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
-
-% peter dot kabal at mcgill dot ca
-
-\documentclass [11pt]{article}
-\usepackage {texdraw}
-
-\input txdtools
-\let\et=\etexdraw
-\def\etexdraw{\drawbb\et}
-
-\begin{document}
-
-\noindent
-TeXdraw examples using LaTeX.
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \avec (0 0.8) \textref h:C v:B \htext (0 0.9){\sl y}
- \move (0 0) \avec (0.8 0) \textref h:L v:C \htext(0.9 0){\sl x}
- \move (0 1.0)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \drawdim{cm} \linewd 0.02
- \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2)
- \textref h:C v:C \htext(2 3){$\sum \rho_n$}
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \drawdim in
- \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0.5 0.5)
- \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(1.0 0.5)
- \linewd 0.015 \lpatt(0.067 0.1) \lvec (1.5 0)
- \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(2.0 0.5)
- \arrowheadtype t:H \avec(2.5 0.5)
- \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
- \textref h:R v:T \htext (0.35 0.50){\tt t:F}
- \textref h:R v:T \htext (1.0 0.43){\tt t:V}
- \textref h:R v:T \htext (1.82 0.50){\tt t:T}
- \textref h:R v:T \htext (2.5 0.43){\tt t:H}
- \textref h:R v:B \htext (2.8 0){\tt t:W}
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \newcommand{\bdot}{\bsegment
- \fcir f:0 r:0.02
- \esegment}
- \newcommand{\Ttext}[1]{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
- \newcommand{\Btext}[1]{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
- \newcommand{\Ltext}[1]{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \newcommand{\Rtext}[1]{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \move (-1.5 0)
- \bsegment
- \move (+1.55 +0.45) \move (-1.55 -0.45) \move (0 0)
- \Ttext{Horizontal Text}
- \bdot \Btext{\tt h:C v:C}
- \move (-0.9 0) \bdot \Ltext{\tt h:L v:C}
- \move (+0.9 0) \bdot \Rtext{\tt h:R v:C}
- \move (0 +0.3) \bdot \Ttext{\tt h:C v:T}
- \move (0 -0.3) \bdot \Btext{\tt h:C v:B}
- \move (-0.9 -0.3) \bdot \Ltext{\tt h:L v:B}
- \lvec (-0.9 +0.3) \bdot \Ltext{\tt h:L v:T}
- \lvec (+0.9 +0.3) \bdot \Rtext{\tt h:R v:T}
- \lvec (+0.9 -0.3) \bdot \Rtext{\tt h:R v:B}
- \lvec (-0.9 -0.3)
- \esegment
- \newcommand{\atext}{\rtext td:45 }
- \newcommand{\ATtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:C v:B \atext (-0.06 +0.06){#1}
- \esegment}
- \newcommand{\ABtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:C v:T \atext (+0.060 -0.06){#1}
- \esegment}
- \newcommand{\ALtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:R v:C \atext (-0.08 -0.08){#1}
- \esegment}
- \newcommand{\ARtext}[1]{\bsegment
- \setsegscale 0.707
- \textref h:L v:C \atext (+0.08 +0.08){#1}
- \esegment}
- \move (+1.5 0)
- \bsegment
- \move (+1.33 +1.33) \move (-1.33 -1.33) \move (0 0)
- \setsegscale 0.707
- \ATtext{Rotated Text}
- \bdot \ABtext{\tt h:C v:C}
- \move (-0.9 -0.9) \bdot \ALtext{\tt h:L v:C}
- \move (+0.9 +0.9) \bdot \ARtext{\tt h:R v:C}
- \move (-0.3 +0.3) \bdot \ATtext{\tt h:C v:T}
- \move (+0.3 -0.3) \bdot \ABtext{\tt h:C v:B}
- \move (-0.6 -1.2) \bdot \ALtext{\tt h:L v:B}
- \lvec (-1.2 -0.6) \bdot \ALtext{\tt h:L v:T}
- \lvec (+0.6 +1.2) \bdot \ARtext{\tt h:R v:T}
- \lvec (+1.2 +0.6) \bdot \ARtext{\tt h:R v:B}
- \lvec (-0.6 -1.2)
- \esegment
-\end{texdraw}
-\end{center}
-
-\vfill
-\newpage
-
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \move(-0.75 -0.25) \lvec (-0.75 +0.5) \lvec (+0.75 +0.5)
- \lvec(+0.75 -0.25) \ifill f:0.9 % fill the region
- \move(0 0)
- \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text}
- \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text}
- \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text}
- \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text}
- \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text}
- \move (-1.15 -0.3) \move (+1.15 +0.92) % increase the size of the drawing
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \linewd 0.02
- \fcir f:0.7 r:1
- \larc r:1 sd:45 ed:135
- \lvec ( 0.707 0.707) \move (0 0) \lvec (-0.707 +0.707)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
- \newcommand{\Ltext}[1]{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \newcommand{\Rtext}[1]{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \newcommand{\bdot}{\fcir f:0 r:0.02 }
- \newcommand{\Ldot}[1]{\bdot \Ltext{#1}}
- \newcommand{\Rdot}[1]{\bdot \Rtext{#1}}
- \move (-2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 1) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 1)(1 0)
- \esegment
- \move (0 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0.5 0.8) \Ldot{1}
- \lvec (1.5 0.8) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0.5 1)(1.5 1)(1 0)
- \esegment
- \move ( 2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 0) \Rdot{2} \lvec (1 1) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 0)(1 1)
- \esegment
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
-\move (0.5 0)
-\lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1)
-\lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0)
-\lfill f:0.8
-\end{texdraw}
-\end{center}
-
-\vfill
-\newpage
-
-
-\bigskip
-\newcommand{\tbox}[1]{\bsegment
- \lvec (0 +0.25) \lvec (0.75 +0.25)
- \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
- \textref h:C v:C \htext (0.375 0){#1}
- \savepos (0.75 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\begin{center}
-\begin{texdraw}
- \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\def\cavec (#1 #2)(#3 #4)(#5 #6){
- \clvec (#1 #2)(#3 #4)(#5 #6)
- \cossin (#3 #4)(#5 #6)\cosa\sina
- \rmove (0 0) % stroke the Bezier curve
- \bsegment
- \drawdim in \setsegscale 0.05
- \move ({-\cosa} -\sina) \avec (0 0)
- \esegment}
-
-\def\caw (#1 #2){
- \currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
-
-% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
-% Find the rotated offset (dx dy) -> (du dv)
- \rotatecoord (0.4 0.1)\cosa\sina \du\dv
-
-% calculate the length of the vector
- \vectlen ({\xa} \ya)(#1 #2)\len
-
-% draw the curve in normalized units
- \bsegment
- \setsegscale {\len}
- \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
- \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
- \esegment
-
- \move (#1 #2)}
-
-% rotate a coordinate (x y)
-% arguments: (x y) cosa sina x' y'
-% x' = cosa * x - sina * y; y' = sina * x + cosa * y
-\def\rotatecoord (#1 #2)#3#4#5#6{
- \getpos (#1 #2)\xarg\yarg
- \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
- \realadd \tmpa {-\tmpb} #5
- \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
- \realadd \tmpa \tmpb #6}
-
-\begin{center}
-\begin{texdraw}
- \arrowheadtype t:W
- \move (0 0)
- \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
- \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
- \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
- \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
- \move (0 1.13) \move (0 -0.04)
-\end{texdraw}
-\end{center}
-
-\vfill
-\newpage
-
-
-\bigskip
-\def\delay {\bsegment
- \setsegscale 0.3
- \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
- \lvec (0 -0.5) \lvec (0 0)
- \textref h:C v:C \htext (0.5 0){$z^{-1}$}
- \savepos (1 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\def\bdot {\fcir f:0 r:0.02 }
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.06 0){#1}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.06 0){#1}
- \esegment}
-\def\cradius {0.08}
-\def\pluss {\bsegment
- \setsegscale {\cradius}
- \move (-0.5 0) \lvec (+0.5 0)
- \move (0 -0.5) \lvec (0 +0.5)
- \esegment}
-\def\pcir {\lcir r:{\cradius} \pluss}
-\def\puttext (#1 #2)#3{\bsegment
- \setsegscale {\cradius}
- \textref h:C v:C \htext (#1 #2){#3}
- \esegment}
-\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
-\def\putwsw #1{\puttext (-1.7 -1.2){#1}}
-\def\putn #1{\puttext ( 0 +2 ){#1}}
-\def\puts #1{\puttext ( 0 -2 ){#1}}
-\def\avectoc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \savepos (#1 #2)(*tx *ty)
- \bsegment
- \move (*tx *ty)
- \setsegscale {\cradius}
- \rmove ({-\cosa} -\sina)
- \savecurrpos (*ex *ey)
- \esegment
- \avec (*ex *ey)
- \move (#1 #2)}
-\def\avecfrc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \bsegment
- \setsegscale {\cradius}
- \move ({\cosa} \sina)
- \savecurrpos (*ex *ey)
- \esegment
- \move (*ex *ey)
- \avec (#1 #2)}
-
-\begin{center}
-\begin{texdraw}
-\drawdim in
-\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 the text size
-
-% Input to the first stage
-\bsegment
- \Ltext{$x(n)$}
- \lvec (0.3 0) \bdot \lvec (0.3 +0.4)
- \move (0.3 0) \lvec (0.3 -0.4)
- \savepos (0.3 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% first lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.1 +0.4)
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_0(n)$}
- \move (2.0 +0.42) \Ttext {$f_1(n)$}
- \move (0.1 -0.4) \Btext {$b_0(n)$}
- \move (2.0 -0.4) \Btext {$b_1(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_1$}
- \textref h:L v:T \htext (1.15 -0.2){$K_1$}
- \savepos (2.1 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% center section
-\bsegment
- \textref h:C v:C
- \htext (0.3 +0.4){$\cdots$}
- \htext (0.3 -0.4){$\cdots$}
- \savepos (0.6 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% last lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
- \move (2.0 +0.42) \Ttext {$f_P(n)$}
- \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
- \move (2.0 -0.4) \Btext {$b_P(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_P$}
- \textref h:L v:T \htext (1.15 -0.2){$K_P$}
-\esegment
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\ds {\displaystyle}
-\def\ticklab (#1 #2)#3{\move(#1 #2)
- \bsegment
- \lvec (0 0.05)
- \textref h:C v:T \htext (0 -0.05){#3}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext ( 0.08 0){#1}
- \esegment}
-
-\move (2.4 -0.32) % move to set the size
-
-\move (0 0)
-% Axes
-\avec (0 1.4)
-\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
-\ticklab (0 0) {0}
-\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
-\ticklab (1.2 0) {$\omega_s$}
-\ticklab (1.6 0) {$\ds {\pi \over N} $}
-
-\linewd 0.025
-\move (0 1)
-\lvec (0.4 1)
-\lvec (0.44 0.998)
-\lvec (0.48 0.988)
-\lvec (0.52 0.973)
-\lvec (0.56 0.951)
-\lvec (0.60 0.923)
-\lvec (0.64 0.891)
-\lvec (0.68 0.852)
-\lvec (0.72 0.809)
-\lvec (0.76 0.760)
-\lvec (0.80 0.707)
-\lvec (0.84 0.649)
-\lvec (0.88 0.587)
-\lvec (0.92 0.522)
-\lvec (0.96 0.454)
-\lvec (1.00 0.382)
-\lvec (1.04 0.309)
-\lvec (1.08 0.233)
-\lvec (1.12 0.156)
-\lvec (1.16 0.078)
-\lvec (1.20 0)
-\lvec (1.9 0)
-\end{texdraw}
-\end{center}
-
-\bigskip
-\begin{center}
-\begin{texdraw}
-\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
-\linewd 0.01
-\setunitscale 1.5 % circle will have radius 1.5 inches
-
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.04){#1}
- \esegment}
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 0.04){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.04 0){#1}
- \esegment}
-\def\bdot {\fcir f:0 r:0.0133 }
-\def\vtick {\bsegment
- \move (0 -0.05) \lvec (0 0.05)
- \esegment}
-\def\htick {\bsegment
- \move (-0.05 0) \lvec ( 0.05 0)
- \esegment}
-\def\Hlen #1#2{\bsegment
- \vtick \avec ({#1} 0) \vtick \avec (0 0)
- \relsegscale 0.5
- \move ({#1} 0) \Ttext {#2}
- \esegment}
-\def\Vlen #1#2{\bsegment
- \htick \avec (0 {#1}) \htick \avec (0 0)
- \relsegscale 0.5
- \move (0 {#1}) \Ltext {#2}
- \esegment}
-
-\lcir r:1 % circle
-\move (-1.05 0) \lvec ( 1.05 0) % axes
-\move (0 -1.05) \lvec (0 1.05)
-
-\move (0 0) \lvec (0.707 0.707) \bdot
-\rmove (0.02 0.02) \textref h:L v:B \htext {X}
-\move (0.707 -0.707) \bdot
-\textref h:R v:T \htext(-0.02 -0.02){O}
-
-\move (0.5 0) % center of ellipse
-\bsegment
- \lellip rx:0.435 ry:0.804
- \bdot \Btext {$\beta_2$}
- \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
- \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
-\esegment
-\end{texdraw}
-\end{center}
-
-\end{document}
Deleted: trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.tex 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/txdexamp.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -1,485 +0,0 @@
-% TeXdraw examples
-
-% $Id: txdexamp.tex,v 2.1 2019/03/28 texdraw-V2R0a $
-
-% 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
-% McGill University
-% 3480 University
-% Montreal, Quebec
-% Canada H3A 2A7
-
-% peter dot kabal at mcgill dot ca
-
-\input texdraw
-\input txdtools
-\let\et=\etexdraw
-\def\etexdraw{\drawbb\et}
-
-\noindent
-TeXdraw examples using plain TeX.
-
-\bigskip
-\centertexdraw{
- \avec (0 0.8) \textref h:C v:B \htext (0 0.9){\sl y}
- \move (0 0) \avec (0.8 0) \textref h:L v:C \htext(0.9 0){\sl x}
- \move (0 1.0)}
-
-\bigskip
-\centertexdraw{
- \drawdim{cm} \linewd 0.02
- \move(2 2) \lvec(3 3) \lvec(2 4) \lvec(1 3) \lvec(2 2)
- \textref h:C v:C \htext(2 3){$\sum \rho_n$}
-}
-
-\bigskip
-\centertexdraw{
- \drawdim in
- \linewd 0.03 \setgray 0.6 \arrowheadtype t:F \avec(0.5 0.5)
- \linewd 0.01 \setgray 0 \arrowheadtype t:V \avec(1.0 0.5)
- \linewd 0.015 \lpatt(0.067 0.1) \lvec (1.5 0)
- \linewd 0.02 \lpatt() \arrowheadtype t:T \avec(2.0 0.5)
- \arrowheadtype t:H \avec(2.5 0.5)
- \setgray 0.4 \arrowheadtype t:W \avec(3.0 0)
- \textref h:R v:T \htext (0.35 0.50){\tt t:F}
- \textref h:R v:T \htext (1.0 0.43){\tt t:V}
- \textref h:R v:T \htext (1.82 0.50){\tt t:T}
- \textref h:R v:T \htext (2.5 0.43){\tt t:H}
- \textref h:R v:B \htext (2.8 0){\tt t:W}
-}
-
-\bigskip
-\centertexdraw{
- \def\bdot {\bsegment
- \fcir f:0 r:0.02
- \esegment}
- \def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
- \def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
- \def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \move (-1.5 0)
- \bsegment
- \move (+1.55 +0.45) \move (-1.55 -0.45) \move (0 0)
- \Ttext{Horizontal Text}
- \bdot \Btext{\tt h:C v:C}
- \move (-0.9 0) \bdot \Ltext{\tt h:L v:C}
- \move (+0.9 0) \bdot \Rtext{\tt h:R v:C}
- \move (0 +0.3) \bdot \Ttext{\tt h:C v:T}
- \move (0 -0.3) \bdot \Btext{\tt h:C v:B}
- \move (-0.9 -0.3) \bdot \Ltext{\tt h:L v:B}
- \lvec (-0.9 +0.3) \bdot \Ltext{\tt h:L v:T}
- \lvec (+0.9 +0.3) \bdot \Rtext{\tt h:R v:T}
- \lvec (+0.9 -0.3) \bdot \Rtext{\tt h:R v:B}
- \lvec (-0.9 -0.3)
- \esegment
- \def\atext {\rtext td:45 }
- \def\ATtext #1{\bsegment
- \setsegscale 0.707
- \textref h:C v:B \atext (-0.06 +0.06){#1}
- \esegment}
- \def\ABtext #1{\bsegment
- \setsegscale 0.707
- \textref h:C v:T \atext (+0.060 -0.06){#1}
- \esegment}
- \def\ALtext #1{\bsegment
- \setsegscale 0.707
- \textref h:R v:C \atext (-0.08 -0.08){#1}
- \esegment}
- \def\ARtext #1{\bsegment
- \setsegscale 0.707
- \textref h:L v:C \atext (+0.08 +0.08){#1}
- \esegment}
- \move (+1.5 0)
- \bsegment
- \move (+1.33 +1.33) \move (-1.33 -1.33) \move (0 0)
- \setsegscale 0.707
- \ATtext{Rotated Text}
- \bdot \ABtext{\tt h:C v:C}
- \move (-0.9 -0.9) \bdot \ALtext{\tt h:L v:C}
- \move (+0.9 +0.9) \bdot \ARtext{\tt h:R v:C}
- \move (-0.3 +0.3) \bdot \ATtext{\tt h:C v:T}
- \move (+0.3 -0.3) \bdot \ABtext{\tt h:C v:B}
- \move (-0.6 -1.2) \bdot \ALtext{\tt h:L v:B}
- \lvec (-1.2 -0.6) \bdot \ALtext{\tt h:L v:T}
- \lvec (+0.6 +1.2) \bdot \ARtext{\tt h:R v:T}
- \lvec (+1.2 +0.6) \bdot \ARtext{\tt h:R v:B}
- \lvec (-0.6 -1.2)
- \esegment
-}
-
-\vfill
-\eject
-
-
-\bigskip
-\centertexdraw{
- \move(-0.75 -0.25) \lvec (-0.75 +0.5) \lvec (+0.75 +0.5)
- \lvec(+0.75 -0.25) \ifill f:0.9 % fill the region
- \move(0 0)
- \avec(-0.75 -0.25) \textref h:R v:C \htext{H-text}
- \move(0 0) \avec(-0.75 +0.25) \textref h:R v:B \htext{H-text}
- \move(0 0) \avec(0 +0.5) \textref h:L v:T \vtext{V-text}
- \move(0 0) \avec(+0.75 +0.25) \textref h:L v:B \htext{H-text}
- \move(0 0) \avec(+0.75 -0.25) \textref h:L v:C \htext{H-text}
- \move (-1.15 -0.3) \move (+1.15 +0.92) % increase the size of the drawing
-}
-
-\bigskip
-\centertexdraw{
- \linewd 0.02
- \fcir f:0.7 r:1
- \larc r:1 sd:45 ed:135
- \lvec ( 0.707 0.707) \move (0 0) \lvec (-0.707 +0.707)
-}
-
-\bigskip
-\centertexdraw{
- \def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.08 0){#1}
- \esegment}
- \def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.08 0){#1}
- \esegment}
- \def\bdot {\fcir f:0 r:0.02 }
- \def\Ldot #1{\bdot \Ltext{#1}}
- \def\Rdot #1{\bdot \Rtext{#1}}
- \move (-2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 1) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 1)(1 0)
- \esegment
- \move (0 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0.5 0.8) \Ldot{1}
- \lvec (1.5 0.8) \Rdot{2} \lvec (1 0) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0.5 1)(1.5 1)(1 0)
- \esegment
- \move ( 2 0)
- \bsegment
- \lpatt (0.033)
- \move (0 0) \Ldot{0} \lvec (0 1) \Ldot{1}
- \lvec (1 0) \Rdot{2} \lvec (1 1) \Rdot{3}
- \lpatt ()
- \move (0 0) \clvec (0 1)(1 0)(1 1)
- \esegment
-}
-
-\bigskip
-\centertexdraw{
-\move (0.5 0)
-\lvec (0 0.5) \clvec (0.5 0.85)(1 0.65)(1.5 1)
-\lvec (2 0.5) \clvec (1.5 0.15)(1 0.35)(0.5 0)
-\lfill f:0.8
-}
-
-\vfill
-\eject
-
-
-\bigskip
-\def\tbox #1{\bsegment
- \lvec (0 +0.25) \lvec (0.75 +0.25)
- \lvec (0.75 -0.25) \lvec (0 -0.25) \lvec (0 0)
- \textref h:C v:C \htext (0.375 0){#1}
- \savepos (0.75 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\centertexdraw{
- \ravec (1 0) \tbox{$H(z)$} \ravec (1 0)
-}
-
-\bigskip
-\def\cavec (#1 #2)(#3 #4)(#5 #6){
- \clvec (#1 #2)(#3 #4)(#5 #6)
- \cossin (#3 #4)(#5 #6)\cosa\sina
- \rmove (0 0) % stroke the Bezier curve
- \bsegment
- \drawdim in \setsegscale 0.05
- \move ({-\cosa} -\sina) \avec (0 0)
- \esegment}
-
-\def\caw (#1 #2){
- \currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
-
-% The nominal wiggly curve is (0 0) (1+dx dy) (-dx -dy) (1 0)
-% Find the rotated offset (dx dy) -> (du dv)
- \rotatecoord (0.4 0.1)\cosa\sina \du\dv
-
-% calculate the length of the vector
- \vectlen ({\xa} \ya)(#1 #2)\len
-
-% draw the curve in normalized units
- \bsegment
- \setsegscale {\len}
- \realadd \cosa \du \tmpa \realadd \sina \dv \tmpb
- \cavec ({\tmpa} \tmpb)({-\du} -\dv)({\cosa} \sina)
- \esegment
-
- \move (#1 #2)}
-
-% rotate a coordinate (x y)
-% arguments: (x y) cosa sina x' y'
-% x' = cosa * x - sina * y; y' = sina * x + cosa * y
-\def\rotatecoord (#1 #2)#3#4#5#6{
- \getpos (#1 #2)\xarg\yarg
- \realmult \xarg {#3} \tmpa \realmult \yarg {#4} \tmpb
- \realadd \tmpa {-\tmpb} #5
- \realmult \xarg {#4} \tmpa \realmult \yarg {#3} \tmpb
- \realadd \tmpa \tmpb #6}
-
-\centertexdraw{
- \arrowheadtype t:W
- \move (0 0)
- \cavec (1.4 0.1)(-0.4 -0.1)(1 0)
- \move (1 0) \caw (1 1) \htext{tip at \tt (1 1)}
- \move (1 0) \caw (2 1) \htext{tip at \tt (2 1)}
- \move (1 0) \caw (2 0) \htext{tip at \tt (2 0)}
- \move (0 1.13) \move (0 -0.04)
-}
-
-\vfill
-\eject
-
-
-\bigskip
-\def\delay {\bsegment
- \setsegscale 0.3
- \lvec (0 +0.5) \lvec (1 +0.5) \lvec (1 -0.5)
- \lvec (0 -0.5) \lvec (0 0)
- \textref h:C v:C \htext (0.5 0){$z^{-1}$}
- \savepos (1 0)(*ex *ey)
- \esegment
- \move (*ex *ey)}
-\def\bdot {\fcir f:0 r:0.02 }
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 +0.06){#1}
- \esegment}
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.06){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.06 0){#1}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext (+0.06 0){#1}
- \esegment}
-\def\cradius {0.08}
-\def\pluss {\bsegment
- \setsegscale {\cradius}
- \move (-0.5 0) \lvec (+0.5 0)
- \move (0 -0.5) \lvec (0 +0.5)
- \esegment}
-\def\pcir {\lcir r:{\cradius} \pluss}
-\def\puttext (#1 #2)#3{\bsegment
- \setsegscale {\cradius}
- \textref h:C v:C \htext (#1 #2){#3}
- \esegment}
-\def\putwnw #1{\puttext (-1.7 +1.2){#1}}
-\def\putwsw #1{\puttext (-1.7 -1.2){#1}}
-\def\putn #1{\puttext ( 0 +2 ){#1}}
-\def\puts #1{\puttext ( 0 -2 ){#1}}
-\def\avectoc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \savepos (#1 #2)(*tx *ty)
- \bsegment
- \move (*tx *ty)
- \setsegscale {\cradius}
- \rmove ({-\cosa} -\sina)
- \savecurrpos (*ex *ey)
- \esegment
- \avec (*ex *ey)
- \move (#1 #2)}
-\def\avecfrc (#1 #2){\currentpos \xa\ya
- \cossin ({\xa} \ya)(#1 #2)\cosa\sina
- \bsegment
- \setsegscale {\cradius}
- \move ({\cosa} \sina)
- \savecurrpos (*ex *ey)
- \esegment
- \move (*ex *ey)
- \avec (#1 #2)}
-
-\centertexdraw{
-\drawdim in
-\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 the text size
-
-% Input to the first stage
-\bsegment
- \Ltext{$x(n)$}
- \lvec (0.3 0) \bdot \lvec (0.3 +0.4)
- \move (0.3 0) \lvec (0.3 -0.4)
- \savepos (0.3 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% first lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.1 +0.4)
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_0(n)$}
- \move (2.0 +0.42) \Ttext {$f_1(n)$}
- \move (0.1 -0.4) \Btext {$b_0(n)$}
- \move (2.0 -0.4) \Btext {$b_1(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_1$}
- \textref h:L v:T \htext (1.15 -0.2){$K_1$}
- \savepos (2.1 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% center section
-\bsegment
- \textref h:C v:C
- \htext (0.3 +0.4){$\cdots$}
- \htext (0.3 -0.4){$\cdots$}
- \savepos (0.6 0)(*ex *ey)
-\esegment
-\move (*ex *ey)
-
-% last lattice stage
-\bsegment
- \move (0 +0.4) \avectoc (1.7 +0.4)
- \pcir \putwnw{\pl} \puts{\mn}
- \avecfrc (2.3 +0.4) \Rtext{$e(n)$}
- \move (0 -0.4) \avec (0.4 -0.4) \delay \avectoc (1.7 -0.4)
- \pcir \putwsw{\pl} \putn{\mn}
- \avecfrc (2.1 -0.4)
- \move (0.9 +0.4) \bdot \avectoc (1.7 -0.4)
- \move (0.9 -0.4) \bdot \avectoc (1.7 +0.4)
- \move (0.1 +0.42) \Ttext {$f_{P-1}(n)$}
- \move (2.0 +0.42) \Ttext {$f_P(n)$}
- \move (0.1 -0.4) \Btext {$b_{P-1}(n)$}
- \move (2.0 -0.4) \Btext {$b_P(n)$}
- \textref h:L v:B \htext (1.15 +0.2){$K_P$}
- \textref h:L v:T \htext (1.15 -0.2){$K_P$}
-\esegment
-}
-
-\bigskip
-\centertexdraw{
-\arrowheadtype t:F \arrowheadsize l:0.08 w:0.04
-\def\ds {\displaystyle}
-\def\ticklab (#1 #2)#3{\move(#1 #2)
- \bsegment
- \lvec (0 0.05)
- \textref h:C v:T \htext (0 -0.05){#3}
- \esegment}
-\def\Rtext #1{\bsegment
- \textref h:L v:C \htext ( 0.08 0){#1}
- \esegment}
-
-\move (2.4 -0.32) % move to set the size
-
-\move (0 0)
-% Axes
-\avec (0 1.4)
-\move (0 0) \avec (2.2 0) \Rtext{$\omega$}
-\ticklab (0 0) {0}
-\ticklab (0.8 0) {$\ds {\pi \over 2N} $}
-\ticklab (1.2 0) {$\omega_s$}
-\ticklab (1.6 0) {$\ds {\pi \over N} $}
-
-\linewd 0.025
-\move (0 1)
-\lvec (0.4 1)
-\lvec (0.44 0.998)
-\lvec (0.48 0.988)
-\lvec (0.52 0.973)
-\lvec (0.56 0.951)
-\lvec (0.60 0.923)
-\lvec (0.64 0.891)
-\lvec (0.68 0.852)
-\lvec (0.72 0.809)
-\lvec (0.76 0.760)
-\lvec (0.80 0.707)
-\lvec (0.84 0.649)
-\lvec (0.88 0.587)
-\lvec (0.92 0.522)
-\lvec (0.96 0.454)
-\lvec (1.00 0.382)
-\lvec (1.04 0.309)
-\lvec (1.08 0.233)
-\lvec (1.12 0.156)
-\lvec (1.16 0.078)
-\lvec (1.20 0)
-\lvec (1.9 0)
-}
-
-\bigskip
-\centertexdraw{
-\arrowheadtype t:V \arrowheadsize l:0.08 w:0.04
-\linewd 0.01
-\setunitscale 1.5 % circle will have radius 1.5 inches
-
-\def\Btext #1{\bsegment
- \textref h:C v:T \htext (0 -0.04){#1}
- \esegment}
-\def\Ttext #1{\bsegment
- \textref h:C v:B \htext (0 0.04){#1}
- \esegment}
-\def\Ltext #1{\bsegment
- \textref h:R v:C \htext (-0.04 0){#1}
- \esegment}
-\def\bdot {\fcir f:0 r:0.0133 }
-\def\vtick {\bsegment
- \move (0 -0.05) \lvec (0 0.05)
- \esegment}
-\def\htick {\bsegment
- \move (-0.05 0) \lvec ( 0.05 0)
- \esegment}
-\def\Hlen #1#2{\bsegment
- \vtick \avec ({#1} 0) \vtick \avec (0 0)
- \relsegscale 0.5
- \move ({#1} 0) \Ttext {#2}
- \esegment}
-\def\Vlen #1#2{\bsegment
- \htick \avec (0 {#1}) \htick \avec (0 0)
- \relsegscale 0.5
- \move (0 {#1}) \Ltext {#2}
- \esegment}
-
-\lcir r:1 % circle
-\move (-1.05 0) \lvec ( 1.05 0) % axes
-\move (0 -1.05) \lvec (0 1.05)
-
-\move (0 0) \lvec (0.707 0.707) \bdot
-\rmove (0.02 0.02) \textref h:L v:B \htext {X}
-\move (0.707 -0.707) \bdot
-\textref h:R v:T \htext(-0.02 -0.02){O}
-
-\move (0.5 0) % center of ellipse
-\bsegment
- \lellip rx:0.435 ry:0.804
- \bdot \Btext {$\beta_2$}
- \move (0 0.15) \Hlen {0.435}{$|\beta_1{+}\beta_3|$}
- \move (-0.7 0) \Vlen {0.804}{$|\beta_1{-}\beta_3|$}
-\esegment
-}
-
-\bye
Modified: trunk/Master/texmf-dist/tex/generic/texdraw/txdps.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/txdps.tex 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/txdps.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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`\@
Modified: trunk/Master/texmf-dist/tex/generic/texdraw/txdtools.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdraw/txdtools.tex 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/texmf-dist/tex/generic/texdraw/txdtools.tex 2019-05-06 22:06:13 UTC (rev 51030)
@@ -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
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds 2019-05-06 21:28:23 UTC (rev 51029)
+++ trunk/Master/tlpkg/libexec/ctan2tds 2019-05-06 22:06:13 UTC (rev 51030)
@@ -1157,7 +1157,6 @@
'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 @@
'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 @@
&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");
More information about the tex-live-commits
mailing list