From 7358507835747d8146f85cd4e157aaa99b3ff9ef Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 7 Apr 2014 20:55:46 +0000 Subject: pst-perspective (7apr14) git-svn-id: svn://tug.org/texlive/trunk@33399 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/generic/pst-perspective/README | 18 --- .../doc/generic/pst-perspective/README.txt | 18 +++ .../pst-perspective/pst-perspective-doc.bib | 174 --------------------- .../pst-perspective/pst-perspective-doc.pdf | Bin 290148 -> 302088 bytes .../pst-perspective/pst-perspective-doc.tex | 133 +++++++++------- .../pst-perspective/pst-perspective-docEN.pdf | Bin 278546 -> 290340 bytes .../pst-perspective/pst-perspective-docEN.tex | 141 ++++++++++------- .../generic/pst-perspective/pst-perspective.tex | 98 +++++++++++- .../tex/latex/pst-perspective/pst-perspective.sty | 2 +- Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/libexec/ctan2tds | 12 +- 11 files changed, 291 insertions(+), 307 deletions(-) delete mode 100644 Master/texmf-dist/doc/generic/pst-perspective/README create mode 100644 Master/texmf-dist/doc/generic/pst-perspective/README.txt delete mode 100644 Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib (limited to 'Master') diff --git a/Master/texmf-dist/doc/generic/pst-perspective/README b/Master/texmf-dist/doc/generic/pst-perspective/README deleted file mode 100644 index 33e456e7331..00000000000 --- a/Master/texmf-dist/doc/generic/pst-perspective/README +++ /dev/null @@ -1,18 +0,0 @@ ------------------------------------------------------------------------- -The pst-perspective package --- orthogonal parallel projection -Maintained by Thomas S\"{o}ll E-mail: thomas.soell@lehrer.uka.de -Released under the LaTeX Project Public License ------------------------------------------------------------------------- - -The package pst-perspective draw an orthogonal parallel projection with an arbitrarily chosen angle and a variable shortening factor. -The points first get projected orthogonally to the base line, and therefrom they get transformed with an arbitrarily chosen angle and shortened. - - -Installation ------------- - -Copy the files pst-perspective.tex and pst-perspective.sty in your -LaTeX-input folder and than tex-hash. Now you can use it with -usepackage{pst-perspective}. - -The package requires recent versions of pstricks and pst-node. diff --git a/Master/texmf-dist/doc/generic/pst-perspective/README.txt b/Master/texmf-dist/doc/generic/pst-perspective/README.txt new file mode 100644 index 00000000000..33e456e7331 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-perspective/README.txt @@ -0,0 +1,18 @@ +------------------------------------------------------------------------ +The pst-perspective package --- orthogonal parallel projection +Maintained by Thomas S\"{o}ll E-mail: thomas.soell@lehrer.uka.de +Released under the LaTeX Project Public License +------------------------------------------------------------------------ + +The package pst-perspective draw an orthogonal parallel projection with an arbitrarily chosen angle and a variable shortening factor. +The points first get projected orthogonally to the base line, and therefrom they get transformed with an arbitrarily chosen angle and shortened. + + +Installation +------------ + +Copy the files pst-perspective.tex and pst-perspective.sty in your +LaTeX-input folder and than tex-hash. Now you can use it with +usepackage{pst-perspective}. + +The package requires recent versions of pstricks and pst-node. diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib deleted file mode 100644 index 8c5a13d2f5c..00000000000 --- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.bib +++ /dev/null @@ -1,174 +0,0 @@ -@STRING{tugboat = {TUGboat} } -@STRING{beiprogramm = {{\TeX}-Beiprogramm} } -@STRING{bretter = {Bretter, die die Welt bedeuten} } -@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } -@STRING{editorial = {Editorial} } -@STRING{fremdebuehne = {Von fremden B{\"u}hnen} } -@STRING{fundus = {Aus dem Fundus} } -@STRING{hinterbuehne = {Hinter der B{\"u}hne} } -@STRING{leserbrief = {Leserbrief(e)} } -@STRING{magazin = {Magazin} } -@STRING{rezension = {Rezensionen} } -@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} } -@STRING{theaterkasse = {Von der Theaterkasse} } -@STRING{theatertage = {{\TeX}-Theatertage} } - -@Article{ dtk02.2:jackson.voss:plot-funktionen, - author = {Laura E. Jackson and Herbert Vo{\ss}}, - title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}}, - journal = dtk, - year = 2002, - volume = {2/02}, - altvolume = 2, - altnumber = 14, - month = jun, - pages = {27--34}, - annote = bretter, - keywords = {}, - abstract = { Im letzten Heft wurden die mathematischen Funktionen von - \PS~im Zusammenhang mit dem {\LaTeX}-Paket - \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben - und durch Beispiele erl{\"a}utert. In diesem Teil werden - die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r - externe Daten behandelt. } -} - -@Article{ dtk02.1:voss:mathematischen, - author = {Herbert Vo{\ss}}, - title = {Die mathematischen {F}unktionen von {P}ost{S}cript}, - journal = dtk, - year = 2002, - volume = {1/02}, - altvolume = 1, - altnumber = 14, - month = mar, - pages = {}, - annote = bretter, - keywords = {}, - abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im - Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es - darum geht zu beurteilen, was es denn nun im eigentlichen - Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass - sich mit den \PS-Funktionen viele Dinge erledigen lassen, - bei denen sonst auf externe Programme zur{\"u}ckgegriffen - wird. Dies wird im Folgenden f{\"u}r die mathematischen - Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot} - gezeigt. } -} - -@Book{tlgc2, - author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}}, - title = {The {\LaTeX} {G}raphics {C}ompanion}, - publisher = {{Addison-Wesley Publishing Company}}, - edition = second, - year = {2007}, - address = {Reading, Mass.} -} - - -@Book{voss:chaos, - author = {Herbert Vo{\ss}}, - title = {Chaos und {F}raktale selbst programmieren: von {M}andelbrotmengen - {\"u}ber {F}arbmanipulationen zur perfekten Darstellung}, - publisher = {{Franzis Verlag}}, - year = {1994}, - address = {Poing} -} - -@Article{girou:01:, - author = {Denis Girou}, - title = {Pr\'esentation de {PST}ricks}, - journal = {Cahier {GUT}enberg}, - year = 1994, - volume = {16}, - month = apr, - pages = {21-70} -} - -@Article{girou:02:, - author = {{Timothy van} Zandt and Denis Girou}, - title = {Inside {PST}ricks}, - journal = TUGboat, - year = 1994, - volume = {15}, - month = sep, - pages = {239-246} -} - -@Book{PostScript, - Author = {Kollock, Nikolai G.}, - Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum - praktischen {E}insatz}, - Publisher = {IWT}, - Address = {Vaterstetten}, - year = 1989, -} - -@Manual{pstricks, - Title = {PSTricks - {\PS} macros for generic {\TeX}}, - Author = {{Timothy van} Zandt}, - Organization = {}, - Address = {\url{http://www.tug.org/application/PSTricks}}, - Note = {}, - year = 1993 -} - -@Manual{pst-plot, - Title = {\texttt{pst-plot}: Plotting two dimensional functions and data}, - Author = {{Timothy van} Zandt}, - Organization = {}, - Address = {\url{CTAN:graphics/pstricks/generic/pst-plot.tex}}, - Note = {}, - year = 1999 -} - -@Manual{multido, - Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition}, - Author = {{Timothy van} Zandt}, - Organization = {}, - Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}}, - Note = {}, - year = 1997 -} - -@Book{PSTricks2, - author = {Herbert Vo\ss}, - title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, - edition = {6.}, - publisher = {DANTE -- Lehmanns}, - year = {2010}, - address = {Heidelberg/Berlin} -} - -@Book{voss:math, - author = {Herbert Vo\ss}, - title = {Typesetting mathematics with \LaTeX}, - publisher = {UIT}, - year = {2010}, - address = {Cambridge} -} - -@Book{PSTricks2-UIT, - author = {Herbert Vo\ss}, - title = {PSTricks -- Graphics for \TeX\ and \LaTeX}, - publisher = {UIT}, - year = {2011}, - address = {Cambridge} -} - -@Book{LaTeXRef-UIT, - author = {Herbert Vo\ss}, - title = {{\LaTeX} quick reference}, - publisher = {UIT}, - year = {2012}, - address = {Cambridge} -} - -@Manual{wolfram, - author = {Eric Weisstein}, - title = {Wolfram MathWorld}, - publisher = {{Wolfram}}, - year = {2007}, - address = {\url{http://mathworld.wolfram.com}} -} - diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf index 48909a35021..4316745149e 100644 Binary files a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf and b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex index 292d522bba5..834064376b8 100644 --- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-doc.tex @@ -4,9 +4,10 @@ smallheadings, headexclude,footexclude,oneside]{pst-doc} \usepackage[utf8]{inputenc} \usepackage[dvipsnames]{xcolor} %% Farben sind im Dokument xcolor.pdf definiert -\usepackage{multido,pst-grad,pst-eucl,pstricks-add} +\usepackage{multido,pst-grad,pst-eucl,pst-3dplot,pstricks-add} \usepackage{pst-perspective} +\def\fileversion{1.02} \let\pstPerspectiveFV\fileversion \renewcommand\bgImage{\psscalebox{0.85}{% \begin{pspicture}[showgrid=false](0.5,-0.5)(11.5,8.5) @@ -35,7 +36,7 @@ \parindent0pt \lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}},language=PSTricks, -morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint}, +morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint,psboxTS}, escapechar=?} %\lstset{language=PSTricks,morekeywords={pst-perspective},basicstyle=\footnotesize\ttfamily} @@ -698,6 +699,35 @@ Eine Ver\"{a}nderung des Verk\"{u}rzungsfaktors f\"{u}hrt zu folgenden Darstellu \newpage + +\section{Das Makro \nxLcs{psboxTS}} +\begin{BDef} +\Lcs{psboxTS}\OptArgs$(x,y,z)$\Largb{\rm{L\"{a}nge in }x}\Largb{\rm{Breite in }y}\Largb{\rm{H\"{o}he in }z}\Largb{\rm{Farbe}} +\end{BDef} + + +Das Makro \Lcs{psboxTS} mit \Lkeyset{vkf=0.5} \Lkeyset{phi= } erzeugt einen Quader. Dabei ben\"{o}tigt es die Koordinaten des Eckpunkts, der hinten links und unten liegt in runden Klammern und durch Komma getrennt. Jeweils in geschweiften Klammern werden die L\"{a}nge, Breite und H\"{o}he des Quaders angegeben. Zuletzt noch die Farbe. + +Mit der Option, z.B. \Lkeyset{hideline=true} werden die verdeckt liegenden Kanten des Quaders gezeichnet. Dabei stehen die Optionen \Lkeyset{hidelinewidth=}, \Lkeyset{hidelinestyle=} und \Lkeyset{hidecolor=} zur Verf\"{u}gung. + +Das Makro l\"{a}sst sich, wie die anderen auch, gut mit dem Paket pst-3dplot kombinieren indem man \Lkeyset{coorType=1}, \Lkeyset{xThreeDunit=vkf} und \Lkeyset{phi = 180 Alpha sub} w\"{a}hlt. + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=false](-2,-2.5)(6,6) +\psset{xMin=0,yMin=0,zMin=0,xMax=11,yMax=11,zMax=4,Alpha=155,Beta=20,Dx=1,Dy=1,Dz=1,arrowsize=.2,arrowinset=0.1,coorType=1,xThreeDunit=0.5,phi=180 155 sub}% +\pstThreeDPlaneGrid[planeGrid=xy,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=7](0,0)(7,7)% +\pstThreeDPlaneGrid[planeGrid=xz,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=5](0,0)(7,5)% +\pstThreeDPlaneGrid[planeGrid=yz,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=5](0,0)(7,5)% +%-------------------------------------- +\psboxTS(0,2,3){3}{4}{1}{blue} +\psboxTS[hideline=true,dash=2pt 2pt,hidelinewidth=0.5pt](4,0,0){2}{1}{4}{yellow} +\psboxTS[opacity=0.75,hideline=true,hidelinewidth=1.2pt,hidelinestyle=dotted,hidecolor=green,dotsep=1.5pt](3,4,0){4}{2}{1}{brown} +%-------------------------------------- +\end{pspicture} +\end{LTXexample} + +\newpage + \section{Beispiele} @@ -1192,65 +1222,60 @@ Eine Ver\"{a}nderung des Verk\"{u}rzungsfaktors f\"{u}hrt zu folgenden Darstellu \end{pspicture}} \end{LTXexample} +\newpage \begin{LTXexample}[pos=t,wide] \psscalebox{0.6}{% -\begin{pspicture}[showgrid=false](-0.5,0)(17,10.4) -\psset{linejoin=2,phi=80,vkf=0.6} -{\psset{translineK=false}% -\pstransTSK(0,0){1}{A1}{B1} -\pstransTSK(2,0){1}{A2}{B2} -\pstransTSK(2,3){1}{A3}{B3} -\pstransTSK(0,2){1}{A4}{B4} -%---------------------------- -\pstransTSK(0,0){6}{A1}{C1} -\pstransTSK(2,0){6}{A2}{C2} -\pstransTSK(2,3){6}{A3}{C3} -\pstransTSK(0,2){6}{A4}{C4} +\begin{pspicture}[showgrid=false](-2,-2.5)(6,6) +\psset{xMin=0,yMin=0,zMin=0,xMax=11,yMax=11,zMax=4,Alpha=155,Beta=20,Dx=1,Dy=1,Dz=1,arrowsize=.2,arrowinset=0.1,coorType=1,xThreeDunit=0.5,phi=180 155 sub}% +\pstThreeDPlaneGrid[planeGrid=xy,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=7](0,0)(7,7)% +%-------------------------------------- +\multido{\i=0+1}{5}{% +\multido{\n=0+1}{5}{% +\multido{\r=0+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{blue}}}} +%-------------------------------------- +\multido{\i=0+1}{2}{% +\multido{\n=0+1}{5}{% +\multido{\r=2+1}{3}{% +\psboxTS(\i,\n,\r){1}{1}{1}{blue}}}} +%-------------------------------------- +\multido{\i=2+1}{3}{% +\multido{\n=0+1}{2}{% +\multido{\r=2+1}{3}{% +\psboxTS(\i,\n,\r){1}{1}{1}{blue}}}} +%\pstPlanePut[plane=xy](6,1,0){\fbox{\Huge\red xy plane}} +\end{pspicture} } -\psline[linestyle=dashed](C1)(C4) -\psline[linestyle=dashed](B1)(C1)(C2) -\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B1)(B2)(B3)(B4) -\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B2)(C2)(C3)(B3) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=120,hatchsep=1.5pt](B4)(B3)(C3)(C4) -%---------------------------- -\pstransTSK(2,0){6}{A5}{C5} -\pstransTSK(6,0){6}{A6}{C6} -\pstransTSK(6,4){6}{A7}{C7} -\pstransTSK(4,6){6}{A8}{C8} -\pstransTSK(2,4){6}{A9}{C9} -%---------------------------- -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C5)(C6)(C7)(C9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C7)(C8)(C9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A5)(A6)(A7)(A9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A7)(A8)(A9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A6)(C6)(C7)(A7) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) -%---------------------------- -\pstransTSK(6,0){2}{A10}{C10} -\pstransTSK(8,0){2}{A11}{C11} -\pstransTSK(8,8){2}{A12}{C12} -\pstransTSK(6,8){2}{A13}{C13} -\pstransTSK(8.2,8){-0.2}{A14}{B14} -\pstransTSK(5.8,8){-0.2}{A15}{B15} -\pstransTSK(8.2,8){2.2}{A14}{C14} -\pstransTSK(5.8,8){2.2}{A15}{C15} -\pstransTSK[translineK=false](8,10){2}{A16}{C16} -\pstransTSK[translineK=false](6,10){2}{A17}{C17} -\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} -%---------------------------- -\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.2](C10)(C11)(C12)(C13) -\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A10)(A11)(A12)(A13) -\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A11)(C11)(C12)(A12) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) -\end{pspicture}} \end{LTXexample} +\newpage +\begin{LTXexample}[pos=t,wide] +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=false](-2,-2.5)(6,6) +\psset{xMin=0,yMin=0,zMin=0,xMax=11,yMax=11,zMax=4,Alpha=135,Beta=20,Dx=1,Dy=1,Dz=1,arrowsize=.2,arrowinset=0.1,coorType=1,xThreeDunit=0.5,opacity=0.4,hideline=true}%\ +\pstThreeDPlaneGrid[planeGrid=xy,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=7](0,0)(7,7)% +%-------------------------------------- +\multido{\i=0+1}{6}{% +\multido{\n=0+1}{6}{% +\multido{\r=0+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{green}}}} +%-------------------------------------- +\multido{\i=1+1}{4}{% +\multido{\n=1+1}{4}{% +\multido{\r=2+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{green}}}} +%-------------------------------------- +\multido{\i=2+1}{2}{% +\multido{\n=2+1}{2}{% +\multido{\r=4+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{green}}}} +\end{pspicture} +} +\end{LTXexample} + +\newpage \pstVerb{/radiusT 2 22.5 cos mul def} \pstVerb{/deltaDach 10 2 22.5 sin mul sub def} diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf index 2f4e4657ca6..df065fd0b5c 100644 Binary files a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf and b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.pdf differ diff --git a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex index c279a888f6e..23895c58c54 100644 --- a/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex +++ b/Master/texmf-dist/doc/generic/pst-perspective/pst-perspective-docEN.tex @@ -4,11 +4,12 @@ smallheadings, headexclude,footexclude,oneside]{pst-doc} \usepackage[utf8]{inputenc} \usepackage[dvipsnames]{xcolor} %% Farben sind im Dokument xcolor.pdf definiert -\usepackage{multido,pst-grad,pst-eucl,pstricks-add} +\usepackage{multido,pst-grad,pst-eucl,pst-3dplot,pstricks-add} \usepackage{pst-perspective} -\lstset{language=PSTricks,morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint}} +\lstset{language=PSTricks,morekeywords={pstransTSK,pstransTSX,pstransTS,pstMarkAngle,psIntersectionPoint,psboxTS}} +\def\fileversion{1.02} \let\pstPerspectiveFV\fileversion \renewcommand\bgImage{\psscalebox{0.85}{% \begin{pspicture}[showgrid=false](0.5,-0.5)(11.5,8.5) @@ -81,12 +82,12 @@ With the macro \Lcs{ThreeDput} from the package \texttt{pst-3d}, only planes and I think that with some of the already existing PSTricks packages a realisation of perspectives in the wanted form could have surely been managed. I couldn't see this however and wanted some simple macros, without loading mighty packages. -To make a long story short: I decided to write a small PSTricks package, that will fit all my needs. This package contains only two small macros, so unwanted crashes with other PSTricks packages are not awaited. +To make a long story short: I decided to write a small PSTricks package, that will fit all my needs. This package contains only four small macros, so unwanted crashes with other PSTricks packages are not awaited. \section{General} -The described macros should help you to easily draw a perspective of a geometrical object like often used is school. +The described macros should help you to easily draw a perspective of a geometrical object like often used in school. There are three macros, the first two called \Lcs{pstransTS} and \Lcs{pstransTSX} are used to draw a perspective of a geometrical object laying in the $x,y$-plane and transforms every vertex. The points first get projected orthogonally to the base line (parameter \Lkeyword{base}), parallel to the $x$-axis, and therefrom they get transformed with an arbitrarily chosen angle measured from the positive $x$-axis (parameter \Lkeyword{phi}) and shortened (multiplied with the shortening factor \Lkeyword{vkf}). You then can use these transformed points with its given node names. It is similar with \Lcs{pstransTSX}, but the difference is, that the points are projected orthogonally onto a base line (Parameter \Lkeyword{base}) parallel to the $y$-axis, and therefrom they get transformed with an arbitrarily chosen angle (parameter \Lkeyword{phi}) and shortened (multiplied with the shortening factor \Lkeyword{vkf}). These two cases correspond to a projection of an object of the drawing plane into the $x$-$y$-plane or $x$-$z$-plane. @@ -696,6 +697,37 @@ A change of the shortening factor leads to the following designs. \end{pspicture} \end{LTXexample} + +\newpage + + +\section{The macro \nxLcs{psboxTS}} +\begin{BDef} +\Lcs{psboxTS}\OptArgs$(x,y,z)$\Largb{\rm{length in }x}\Largb{\rm{width in }y}\Largb{\rm{height in }z}\Largb{\rm{color}} +\end{BDef} + + +With the macro \Lcs{psboxTS} we can easily draw cuboids. For its three coordinates we use the left, bottom vertex in the back and put them in parentheses separated by commas, followed by its length, width and height and last by its color---all these four arguments are put in curly braces. + +With the option \Lkeyset{hideline=true} the hidden lines are shown with the keys \Lkeyset{hidelinewidth=}, \Lkeyset{hidelinestyle=} and \Lkeyset{hidecolor=}. + +This macro and the others as well can be used in combination with the pst-3dplot package with the settings: \Lkeyset{coorType=1}, \Lkeyset{xThreeDunit=vkf} and \Lkeyset{phi = 180 Alpha sub}. + +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=false](-2,-2.5)(6,6) +\psset{xMin=0,yMin=0,zMin=0,xMax=11,yMax=11,zMax=4,Alpha=155,Beta=20,Dx=1,Dy=1,Dz=1,arrowsize=.2,arrowinset=0.1,coorType=1,xThreeDunit=0.5,phi=180 155 sub}% +\pstThreeDPlaneGrid[planeGrid=xy,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=7](0,0)(7,7)% +\pstThreeDPlaneGrid[planeGrid=xz,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=5](0,0)(7,5)% +\pstThreeDPlaneGrid[planeGrid=yz,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=5](0,0)(7,5)% +%-------------------------------------- +\psboxTS(0,2,3){3}{4}{1}{blue} +\psboxTS[hideline=true,dash=2pt 2pt,hidelinewidth=0.5pt](4,0,0){2}{1}{4}{yellow} +\psboxTS[opacity=0.75,hideline=true,hidelinewidth=1.2pt,hidelinestyle=dotted,hidecolor=green,dotsep=1.5pt](3,4,0){4}{2}{1}{brown} +%-------------------------------------- +\end{pspicture} +\end{LTXexample} + + \newpage \section{Examples} @@ -1131,63 +1163,60 @@ A change of the shortening factor leads to the following designs. \end{LTXexample} +\newpage + \begin{LTXexample}[pos=t,wide] \psscalebox{0.6}{% -\begin{pspicture}[showgrid=false](-0.5,0)(17,10.4) -\psset{linejoin=2,phi=80,vkf=0.6} -{\psset{translineK=false}% -\pstransTSK(0,0){1}{A1}{B1} -\pstransTSK(2,0){1}{A2}{B2} -\pstransTSK(2,3){1}{A3}{B3} -\pstransTSK(0,2){1}{A4}{B4} -%---------------------------- -\pstransTSK(0,0){6}{A1}{C1} -\pstransTSK(2,0){6}{A2}{C2} -\pstransTSK(2,3){6}{A3}{C3} -\pstransTSK(0,2){6}{A4}{C4} +\begin{pspicture}[showgrid=false](-2,-2.5)(6,6) +\psset{xMin=0,yMin=0,zMin=0,xMax=11,yMax=11,zMax=4,Alpha=155,Beta=20,Dx=1,Dy=1,Dz=1,arrowsize=.2,arrowinset=0.1,coorType=1,xThreeDunit=0.5,phi=180 155 sub}% +\pstThreeDPlaneGrid[planeGrid=xy,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=7](0,0)(7,7)% +%-------------------------------------- +\multido{\i=0+1}{5}{% +\multido{\n=0+1}{5}{% +\multido{\r=0+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{blue}}}} +%-------------------------------------- +\multido{\i=0+1}{2}{% +\multido{\n=0+1}{5}{% +\multido{\r=2+1}{3}{% +\psboxTS(\i,\n,\r){1}{1}{1}{blue}}}} +%-------------------------------------- +\multido{\i=2+1}{3}{% +\multido{\n=0+1}{2}{% +\multido{\r=2+1}{3}{% +\psboxTS(\i,\n,\r){1}{1}{1}{blue}}}} +%\pstPlanePut[plane=xy](6,1,0){\fbox{\Huge\red xy plane}} +\end{pspicture} } -\psline[linestyle=dashed](C1)(C4) -\psline[linestyle=dashed](B1)(C1)(C2) -\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B1)(B2)(B3)(B4) -\pspolygon[fillstyle=solid,fillcolor=green!30,opacity=0.7](B2)(C2)(C3)(B3) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=120,hatchsep=1.5pt](B4)(B3)(C3)(C4) -%---------------------------- -\pstransTSK(2,0){6}{A5}{C5} -\pstransTSK(6,0){6}{A6}{C6} -\pstransTSK(6,4){6}{A7}{C7} -\pstransTSK(4,6){6}{A8}{C8} -\pstransTSK(2,4){6}{A9}{C9} -%---------------------------- -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C5)(C6)(C7)(C9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.2](C7)(C8)(C9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A5)(A6)(A7)(A9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A7)(A8)(A9) -\pspolygon[fillstyle=solid,fillcolor=yellow!50,opacity=0.7](A6)(C6)(C7)(A7) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](A7)(C7)(C8)(A8) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=135,hatchsep=1.5pt](A9)(A8)(C8)(C9) -%---------------------------- -\pstransTSK(6,0){2}{A10}{C10} -\pstransTSK(8,0){2}{A11}{C11} -\pstransTSK(8,8){2}{A12}{C12} -\pstransTSK(6,8){2}{A13}{C13} -\pstransTSK(8.2,8){-0.2}{A14}{B14} -\pstransTSK(5.8,8){-0.2}{A15}{B15} -\pstransTSK(8.2,8){2.2}{A14}{C14} -\pstransTSK(5.8,8){2.2}{A15}{C15} -\pstransTSK[translineK=false](8,10){2}{A16}{C16} -\pstransTSK[translineK=false](6,10){2}{A17}{C17} -\psIntersectionPoint(A16)(C17)(A17)(C16){SB1} -%---------------------------- -\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.2](C10)(C11)(C12)(C13) -\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A10)(A11)(A12)(A13) -\pspolygon[fillstyle=solid,fillcolor=cyan!50,opacity=0.7](A11)(C11)(C12)(A12) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](C14)(C15)(SB1) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.2,hatchangle=45,hatchsep=1.5pt](B15)(C15)(SB1) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(B15)(SB1) -\pspolygon[fillstyle=vlines*,fillcolor=BrickRed,opacity=0.7,hatchangle=45,hatchsep=1.5pt](B14)(C14)(SB1) -\end{pspicture}} \end{LTXexample} +\newpage + +\begin{LTXexample}[pos=t,wide] +\psscalebox{0.6}{% +\begin{pspicture}[showgrid=false](-2,-2.5)(6,6) +\psset{xMin=0,yMin=0,zMin=0,xMax=11,yMax=11,zMax=4,Alpha=135,Beta=20,Dx=1,Dy=1,Dz=1,arrowsize=.2,arrowinset=0.1,coorType=1,xThreeDunit=0.5,opacity=0.4,hideline=true}%\ +\pstThreeDPlaneGrid[planeGrid=xy,linewidth=0.3pt,linecolor=gray!70,xsubticks=7,ysubticks=7](0,0)(7,7)% +%-------------------------------------- +\multido{\i=0+1}{6}{% +\multido{\n=0+1}{6}{% +\multido{\r=0+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{green}}}} +%-------------------------------------- +\multido{\i=1+1}{4}{% +\multido{\n=1+1}{4}{% +\multido{\r=2+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{green}}}} +%-------------------------------------- +\multido{\i=2+1}{2}{% +\multido{\n=2+1}{2}{% +\multido{\r=4+1}{2}{% +\psboxTS(\i,\n,\r){1}{1}{1}{green}}}} +\end{pspicture} +} +\end{LTXexample} + +\newpage \pstVerb{/radiusT 2 22.5 cos mul def} \pstVerb{/deltaDach 10 2 22.5 sin mul sub def} diff --git a/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex b/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex index 70477a81188..b5f79335af6 100644 --- a/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex +++ b/Master/texmf-dist/tex/generic/pst-perspective/pst-perspective.tex @@ -27,8 +27,12 @@ \define@boolkey[psset]{pst-perspective}[Pst@]{translineA}[false]{} % showtransline \define@boolkey[psset]{pst-perspective}[Pst@]{translineB}[false]{} % showtransline \define@boolkey[psset]{pst-perspective}[Pst@]{translineK}[true]{} % show transline +\define@boolkey[psset]{pst-perspective}[Pst@]{hideline}[false]{} % showhideline \define@boolkey[psset]{pst-perspective}[Pst@]{LowPoint}[false]{} % Basis durch z.B. tief liegenden Pkt \define@boolkey[psset]{pst-perspective}[Pst@]{symX}[true]{} % Symmetrieachse bei spiegelverkehrten Bildern +\define@key[psset]{pst-perspective}{hidecolor}[black!80]{\def\psk@transTS@hidecolor{#1}} +\define@key[psset]{pst-perspective}{hidelinestyle}[solid]{\def\psk@transTS@hidelinestyle{#1}} +\define@key[psset]{pst-perspective}{hidelinewidth}[0.7pt]{\def\psk@transTS@hidelinewidth{#1}} \define@key[psset]{pst-perspective}{transcolor}[blue]{\def\psk@transTS@transcolor{#1}} \define@key[psset]{pst-perspective}{transAcolor}[green]{\def\psk@transTS@transAcolor{#1}} \define@key[psset]{pst-perspective}{transBcolor}[blue]{\def\psk@transTS@transBcolor{#1}} @@ -46,8 +50,8 @@ \define@key[psset]{pst-perspective}{deltaphi}[0]{\def\psk@transTS@deltaphi{#1 }}% zus\"{a}tzlicher Winkel f\"{u}r das Schr\"{a}gbild \define@key[psset]{pst-perspective}{vkf}[0.5]{\def\psk@transTS@vkf{#1 }} % Verk\"{u}rzungsfaktor \psset[pst-perspective]{phi=45,vkf=0.5,base=0,translineA=false,translineB=false,transAcolor=green,transBcolor=blue,% -transAlinewidth=0.7pt,transBlinewidth=0.7pt,transAlinestyle=dashed,transBlinestyle=dashed,deltaphi=0,symline=0,symX=true,% -translineK=true,transcolor=blue,translinewidth=0.8pt,translinestyle=solid,LowPoint=false,LowP={0,0},originT={0,0}}% +transAlinewidth=0.7pt,transBlinewidth=0.7pt,transAlinestyle=dashed,transBlinestyle=dashed,deltaphi=0,symline=0,symX=true,hidecolor=black!80,% +translineK=true,transcolor=blue,translinewidth=0.8pt,translinestyle=solid,LowPoint=false,LowP={0,0},originT={0,0},hideline=false,hidelinewidth=0.7pt,hidelinestyle=dashed}% \SpecialCoor% \def\ba{\psk@transTS@base} \def\pstransTS{\pst@object{pstpstransTS}}% @@ -151,6 +155,96 @@ l2 \psk@transTS@phi PtoC){#4}} \endgroup \ignorespaces } +%-------------------------------------------------------------------------------- +%-------------------------------------------------------------------------------- +\def\psboxTS{\pst@object{pstpsboxTS}}% +\def\pstpsboxTS@i(#1,#2,#3)#4#5#6#7{% +\begingroup% +% (#1) Koordinaten des Punktes (kartesisch oder Polarkoordinaten) +% #2 Originall\"{a}nge #3 Node-Name des Startpunktes % #4 Node-Name des transformierten Punktes +\pst@killglue +\use@par +%------------------------------------------------- +\pspolygon[fillstyle=solid,fillcolor=#7!60]% +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 add exch)% +%------------------------------------------------- +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 add exch)% +%------------------------------------------------- +\pspolygon[fillstyle=solid,fillcolor=#7!90]% +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 #5 add add exch)% + +%%------------------------------------------------- +\pspolygon[fillstyle=solid,fillcolor=#7!40]% +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 #5 add add exch)% +%------------------------------------------------- +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 add exch)% +%------------------------------------------------- +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 add exch)% +%------------------------------------------------- +\ifPst@hideline +\psline[linecolor=\psk@transTS@hidecolor,linestyle=\psk@transTS@hidelinestyle,linewidth=\psk@transTS@hidelinewidth]% +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 add exch)% +(!/l1 #1 #4 add def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 add exch)% +%------------------------------------------------- +\psline[linecolor=\psk@transTS@hidecolor,linestyle=\psk@transTS@hidelinestyle,linewidth=\psk@transTS@hidelinewidth]% +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 add exch)% +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 #6 add add exch #2 add exch)% +%------------------------------------------------- +\psline[linecolor=\psk@transTS@hidecolor,linestyle=\psk@transTS@hidelinestyle,linewidth=\psk@transTS@hidelinewidth]% +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 add exch)% +(!/l1 #1 def +/l2 l1 \psk@transTS@vkf mul def +l2 \psk@transTS@phi 180 add PtoC #3 add exch #2 #5 add add exch)% +\else \fi% +\endgroup +\ignorespaces +} \catcode`\@=\TheAtCode\relax \endinput %% diff --git a/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty b/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty index 757bf952fe1..0e857f5cd46 100644 --- a/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty +++ b/Master/texmf-dist/tex/latex/pst-perspective/pst-perspective.sty @@ -5,6 +5,6 @@ [\filedate\space v\fileversion\space `PST-perspective' (ts)] \IfFileExists{pst-perspective.pro}{% \ProvidesFile{pst-perspective.pro} - [2014/02/21 v. 1.00, PostScript prologue file (hv)] + [2014/04/07 v. 1.01, PostScript prologue file (hv)] \@addtofilelist{pst-perspective.pro}}{}% \endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 7f9668b6aea..7d14255be30 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -462,7 +462,7 @@ my @TLP_working = qw( technics ted templates-fenn templates-sommer tengwarscript tensor termcal termlist teubner tex-ewd tex-font-errors-cheatsheet tex-gyre tex-gyre-math - tex-label tex-overview tex-refs + tex-label tex-overview tex-ps tex-refs texapi texbytopic texcount texdef texdiff texdirflatten texdraw texfot texilikechaps texilikecover texliveonfly texloganalyser texlogos texmate texments diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 26a300979fa..3db1a388012 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -957,7 +957,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'tengwarscript', "&MAKEflatten", 'tex-gyre', "&MAKEcopy", 'tex-gyre-math', "&MAKEflatten", - 'tex-ps', "die 'skipping, not ready, sorry'", # 'tex-refs', "die 'skipping, not ready, sorry'", 'texdraw', "&MAKEflatten", 'texemplar', "die 'skipping, await request, 199x'", @@ -1198,6 +1197,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'splitindex' => '&POST_do_man', 'tap', => '&POSTtap', 'texdraw', => '&POSTtexdraw', + 'tex-ps', => '&POSTtex_ps', 'tikz-cd', => '&POSTtikz_cd', 'tipa-de' => '&POST_rmsymlink', 'xecyr' => '&POSTxecyr', @@ -1577,6 +1577,7 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$'; 'tap', ,'tap.tex', 'taylor', 'diagrams.tex', 'tex-ewd', 'dotnot.tex', + 'tex-ps', '\.tex', 'texapi', 'texapi\.tex', 'texdraw', 'tex$|' . $standardtex, 'texsis', '\.txs|TXS.*tex|texsis.tex', @@ -2349,6 +2350,7 @@ $standardpro='\.pro$'; 'esint-type1' => 'config.esint', 'initials' => 'config.*', 'pspicture' => 'pspicture.ps', + 'tex-ps' => 'mirr.hd', 'zefonts' => 'slantcm.cfg', ); @@ -5668,6 +5670,14 @@ sub POSTtap { &SYSTEM ("$MV tapdoc/* ."); } +sub POSTtex_ps { + print "POST$package - rm zip, mv files from subdirs\n"; + &SYSTEM ("$RM *.zip"); + &mv_with_mkdir ("*/cmyk-hax.tex", "$DEST/tex/generic/$package"); + &mv_with_mkdir ("*/poligraf.sty", "$DEST/tex/generic/$package"); + &mv_with_mkdir ("poligraf/*.pro", "$DEST/dvips/$package"); +} + sub POSTtexdraw { print "POST$package - rename info file\n"; &SYSTEM ("$MV texdraw texdraw.info"); -- cgit v1.2.3