diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pstricks/pst-news22.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pstricks/pst-news22.tex | 340 |
1 files changed, 340 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pstricks/pst-news22.tex b/Master/texmf-dist/doc/generic/pstricks/pst-news22.tex new file mode 100644 index 00000000000..f3c2525a0fb --- /dev/null +++ b/Master/texmf-dist/doc/generic/pstricks/pst-news22.tex @@ -0,0 +1,340 @@ +%% $Id: pst-news21.tex 382 2021-12-29 19:19:18Z herbert $ +\RequirePackage{pdfmanagement-testphase} +\DeclareDocumentMetadata{} +\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small, + headinclude=false,footinclude=false,twoside,usegeometry,dvipsnames]{pst-doc} + +\usepackage{libertinus} +\usepackage{hvlogos} +\listfiles +%\usepackage[svgnames,dvipsnames,x11names,pspdf=-dALLOWPSTRANSPARENCY]{pstricks-pdf} +\usepackage{showexpl,pst-arrow,pst-plot,pst-geometrictools} +\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={},extendedchars}, + escapechar=?} + +\usepackage{biblatex} +\addbibresource{PSTricks.bib} +\def\Lcs#1{\texttt{\textbackslash#1}} +\begin{document} + +\title{\texttt{News -- \the\year}\\ \Large new macros and bugfixes for the basic package.} +\author{Herbert Voß} +\date{\today} + +\settitle + +\tableofcontents + +\part{\texttt{pstricks} -- package} + +This version of the News was run with \verb|lualatex| \emph{without} using Ghostscript. +The PDF file was created in a direkt way by Lua. If you want to try it, then look +at \url{https://github.com/zauguin/luapstricks}. + +By default the dots are now taken from a Type1 version of the font file. For +lualatex it uses the OpenType version. + +The dot part is now in an own file \texttt{pstricks-dots.tex}. + + + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.sty}} +%-------------------------------------------------------------------------------------- +The optional argument \texttt{gsfonts} can be used to load only the symbol font from GhostScript. +Otherwise the one from URW or the system is used, which is the default. + + + +%-------------------------------------------------------------------------------------- +\section{\texttt{pstricks.tex} (v. 3.13 -- 2022/01/09)} +%-------------------------------------------------------------------------------------- + +\subsection{Presetting of \nxLkeyval{dimen} for circles} +Some years ago the behaviour changed and \Lkeyset{dimen=middle} was preset for circles and ovals. +It is now reverted to the old behaviour where all PSTricks objects have the presetting \Lkeyset{dimen=outer}. + + +\subsection{Coordinates} +By default the coordinates \verb|(10,10)| are used if the environment \Lenv{pspicture} +is called without any given coordinates. This behaviour can be changed if you are running +the document with \Lprog{lualatex}. Then you can use the optional argument \Lkeyword{calcframe} +to allow the internal calculation of the box width and height. it needs two \Lprog{lualatex} +runs to get the coordinates. The values are written into a file \verb|\jobname-<No>.psaux| and read +in the next run. + +With the optional argument \Lkeyword{margin} it is possible to add white space to the calculated coordinates. +The keyword must be set with the command \Lcs{psset} \emph{before} the environment \Lenv{pspicture}, otherwise it is too late. + +\begin{itemize} +\item \verb|margin=5mm| will add 5mm on all sides of the box. +\item \verb|margin={5mm,1cm}| will add 5mm on the left side and 1cm on the lower side of the box. +\item \verb|margin={2mm,3,4,5pt}| will add 2mm on the left, 3\Lcs{psunit} at the bottom, 4\Lcs{psunit} on +the right and 5pt on the top of the box. With the optional argument \Lkeyword{showframe} the calculated +box coordinates can be visible. Additional white space is marked by a box with dashed lines. +\end{itemize} + +Without a given unit all values are used with the current defined PSTricks unit. But remember +that this will only work with \Lprog{lualatex}. + +The following example shows the same curve, but with different coordinates. + +\begin{LTXexample}[pos=t,width=\linewidth] +\def\dataV{6.8 -1 5.9 -2 5.4 -3 5.7 -4 6.2 -5} % original +\def\dataW{6.8 4 5.9 3 5.4 2 5.7 1 6.2 0} % x>= 0 +\def\dataU{1.4 4 0.5 3 0 2 0.3 1 0.8 0} % x>=0 und y>=0 +\psset{calcframe,showframe}% must be set before pspicture +X\begin{pspicture}[showgrid] + \listplot[plotstyle=curve, showpoints]{\dataU} \rput(1,-0.5){default dataU} +\end{pspicture}X \hfill X% +\begin{pspicture}[showgrid] + \listplot[plotstyle=curve, showpoints]{\dataW} \rput(6,-0.5){default dataW} +\end{pspicture}X \hfill X% +\begin{pspicture}[showgrid] + \listplot[plotstyle=curve, showpoints]{\dataV} \rput(6,-5.5){default dataV} +\end{pspicture}X + +\vspace{1cm} +X\begin{pspicture}[showgrid,margin=0.5] + \listplot[plotstyle=curve, showpoints]{\dataU} \rput(1,5){margin=0.5} +\end{pspicture}X \hfill X% +\begin{pspicture}[showgrid,margin={0.5,1}] + \listplot[plotstyle=curve, showpoints]{\dataW} \rput(6,4.5){margin={0.5 1}} +\end{pspicture}X \hfill X% +\begin{pspicture}[showgrid,margin={5mm,1,15mm,2}] + \listplot[plotstyle=curve, showpoints]{\dataV} \rput(6,-0.5){margin={5mm,1,15mm,2}} +\end{pspicture}X +\end{LTXexample} + +Only PSTricks objects are taken into account for calculating the bounding box. All stuff +which is placed on \TeX-level like any text with for example \Lcs{rput} cannot not be +used for calculating the correct coordinates. With setting additional whitespace with +the optional argument \Lkeyword{margin} the boxsize can be modified. + +\newpsstyle{Parallelen}{country=G,ProLineCol=cyan,ProFillCol=gray!50, + OwnerTxt=Pythagoras,MadeTxt={Geodreieck},RulerFillCol=cyan!40} +\psscalebox{0.5}{% + \psset{calcframe,margin=5mm}% + \begin{pspicture}[showgrid]% no coordinates are given + \pnode(5,5){A}\uput[90](A){A} + \pnode(-8,1){B}\uput[90](B){B} + \pnode(3,3){C}\uput[250](C){C} + \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B) + \psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C) + \pcline[linecolor=BrickRed](GeodrB)(GeodrA)% + \midAB(GeodrB)(GeodrA){M}% + \psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M) +\end{pspicture}} + + +\begin{lstlisting} +\psscalebox{0.5}{% + \psset{calcframe}% + \begin{pspicture}[showgrid]% no coordinates are given + \pnode(5,5){A}\uput[90](A){A} + \pnode(-8,1){B}\uput[90](B){B} + \pnode(3,3){C}\uput[250](C){C} + \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B) + \psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C) + \pcline[linecolor=BrickRed](GeodrB)(GeodrA)% + \midAB(GeodrB)(GeodrA){M}% + \psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M) +\end{pspicture}} +\end{lstlisting} + + + +\subsection{Colors} + +There are two new macros to get the color values: + +\begin{verbatim} +\psgetRGBColorValues{<color macro>} +\psgetCMYKColorValues{<color macro>} +\end{verbatim} + +An Example: + +\begin{LTXexample}[width=5cm] +\psset{linecolor=red!40} +\psgetRGBColorValues{\pslinecolor} + +\colorlet{Blue}[cmyk]{blue} +\psset{linecolor=Blue!40} +\psgetCMYKColorValues{\pslinecolor} +\end{LTXexample} + + +\subsection{Arrows} + + +There are new arrow types and a new optional argument \texttt{tipcolor}: + + +\begin{LTXexample}[width=5cm] +\begin{pspicture}[showgrid](4.2,3.25) +\psline{-T>}(0,1)(4,1) +\psline[arrowscale=2]{<T-T>}(0,2)(4,2) +\psline[tipcolor=red,arrowscale=2]{<T-}(0,3)(4,3) +\end{pspicture} +\end{LTXexample} + + + +\LPack{pstricks} defines the following "`arrows"': + + \def\myline#1{\psline[linecolor=red,linewidth=0.5pt,arrowscale=1.5]{#1}(0,1ex)(1.3,1ex)}% + \def\mylineA#1{\psline[linecolor=red,linewidth=0.5pt,arrowscale=4.5]{#1}(0,1ex)(2,1ex)}% + \psset{arrowscale=1.5} + \begin{longtable}{@{} c @{\qquad} p{3cm} l @{}}% + Value & Example & Name \\[2pt]\hline + \Lnotation{-} & \myline{-} & None\\ + \Lnotation{<->} & \myline{<->} & Arrowheads.\\ + \Lnotation{>-<} & \myline{>-<} & Reverse arrowheads.\\ + \Lnotation{<{<}-{>}>} & \myline{<<->>} & Double arrowheads.\\ + \Lnotation{{>}>-{<}<} & \myline{>>-<<} & Double reverse arrowheads.\\ + \Lnotation{{|}-{|}} & \myline{|-|} & T-bars, flush to endpoints.\\ + \Lnotation{{|}*-{|}*} & \myline{|*-|*} & T-bars, centered on endpoints.\\ + \Lnotation{[-]} & \myline{[-]} & Square brackets.\\ + \Lnotation{]-[} & \myline{]-[} & Reversed square brackets.\\ + \Lnotation{(-)} & \myline{(-)} & Rounded brackets.\\ + \Lnotation{)-(} & \myline{)-(} & Reversed rounded brackets.\\ + \Lnotation{o-o} & \myline{o-o} & Circles, centered on endpoints.\\ + \Lnotation{*-*} & \myline{*-*} & Disks, centered on endpoints.\\ + \Lnotation{oo-oo} & \myline{oo-oo} & Circles, flush to endpoints.\\ + \Lnotation{**-**} & \myline{**-**} & Disks, flush to endpoints.\\ + \Lnotation{{|}<->{|}} & \myline{|<->|} & T-bars and arrows.\\ + \Lnotation{{|}>-<{|}} & \myline{|>-<|} & T-bars and reverse arrows.\\ + \Lnotation{h-h{}} & \myline{h-h} & left/right hook arrows.\\ + \Lnotation{H-H{}} & \myline{H-H} & left/right hook arrows.\\ + \Lnotation{v-v} & \myline{v-v} & left/right inside vee arrows.\\ + \Lnotation{V-V} & \myline{V-V} & left/right outside vee arrows.\\ + \Lnotation{f-f} & \myline{f-f} & left/right inside filled arrows.\\ + \Lnotation{F-F} & \myline{F-F} & left/right outside filled arrows.\\ + \Lnotation{t-t} & \myline{t-t} & left/right inside slash arrows.\\[5pt] + \Lnotation{T-T} & \myline{T-T} & left/right outside slash arrows.\\ +% + \Lnotation{<D-D>} & \mylineA{<D-D>} & curved arrows.\\ + \Lnotation{<D<D-D>D>} & \mylineA{<D<D-D>D>} & curved doubled arrows.\\ + \Lnotation{D>-<D} & \mylineA{D>-<D} & curved arrows, tip inside.\\ + \Lnotation{<T-T>} & \myline{<T-T>} & curved lines.\\ +% \Lnotation{>T-T<} & \mylineA{>T-T<} & \TikZ\ like arrows.\\ + \hline + \end{longtable} + + + + +%\@namedef{psas@T>}{ false \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@ArrowT }% hv 20210531 +%\@namedef{psas@<T}{ % hv 20071211 +% true \psk@arrowinset \psk@arrowlength \psk@arrowsize \tx@ArrowT +%} + + +With version 3.04 all arrow specific base code is moved to the file \LPack{pstricks-arrows}, which +is not of interest for the default user.. + +\subsection{Symbolfont} + + +Use by default the URW or system symbol font for \Lcs{psdot}. This can be changes by using +the optional argument \texttt{gsfonts}: + +\begin{verbatim} +\usepackage[gsfonts]{pstricks} +\end{verbatim} + +\TeX-users have to define the switch and + +\begin{verbatim} +\newif\ifpstGSfonts +\pstGSfontsfalse % or true for using GS font + +\input pstricks +... +\end{verbatim} + + +\subsection{Fillstyle \texttt{penrose}} + +There was a bug if this fillstyle was used together with a line sequence. + + +\psset{unit=1cm} +\centering\vspace{5cm} +\pspicture[showgrid=false](-0.5\linewidth,-4.5)(0.5\linewidth,5) +\rput(0,0){\parbox{4.5cm}{% + \psclip{\psccurve[linestyle=none,fillstyle=penrose,psscale=.2](-3,-2)% + (0.3,-1.5)(2.3,-2)(4.3,-1.5)(6.3,-2)(8,-1.5)(8,2)(-3,2)} + ``One of the best new plays I have seen all year: cool, poetic, + ironic \ldots'' proclaimed \emph{The Guardian} upon the London + premiere of this extraordinary play about a Czech director and + his actress wife, confronting exile in America. + \endpsclip}} + \psline[linearc=0.5cm,showpoints=true,dotstyle=|]{<<->>}(-1,-2)(0,-4)(1,-2) +\endpspicture + + + +\begin{lstlisting} +\pspicture[showgrid=false](-0.5\linewidth,-4.5)(0.5\linewidth,5) +\rput(0,0){\parbox{4.5cm}{% + \psclip{\psccurve[linestyle=none,fillstyle=penrose,psscale=.2](-3,-2) + (0.3,-1.5)(2.3,-2)(4.3,-1.5)(6.3,-2)(8,-1.5)(8,2)(-3,2)} + ``One of the best new plays I have seen all year: cool, poetic, + ironic \ldots'' proclaimed \emph{The Guardian} upon the London + premiere of this extraordinary play about a Czech director and + his actress wife, confronting exile in America. + \endpsclip}}% + \psline[linearc=0.5cm,showpoints=true,dotstyle=|]{<<->>}(-1,-2)(0,-4)(1,-2) +\endpspicture +\end{lstlisting} + + +\iffalse + + + +\pspicture[showgrid=false](-0.5\linewidth,-4.5)(0.5\linewidth,5) +\rput(0,0){\parbox{4.5cm}{% + \psclip{\psccurve[linestyle=none,fillstyle=penroseA,psscale=.2](-3,-2) + (0.3,-1.5)(2.3,-2)(4.3,-1.5)(6.3,-2)(8,-1.5)(8,2)(-3,2)}\color{white} + ``One of the best new plays I have seen all year: cool, poetic, + ironic \ldots'' proclaimed \emph{The Guardian} upon the London + premiere of this extraordinary play about a Czech director and + his actress wife, confronting exile in America. + \endpsclip}}% + \psline[linearc=0.5cm,showpoints=true,dotstyle=|]{<<->>}(-1,-2)(0,-4)(1,-2) +\endpspicture + +\begin{lstlisting} +\pspicture[showgrid=false](-0.5\linewidth,-4.5)(0.5\linewidth,5) +\rput(0,0){\parbox{4.5cm}{% + \psclip{\psccurve[linestyle=none,fillstyle=penrose,psscale=.2](-3,-2) + (0.3,-1.5)(2.3,-2)(4.3,-1.5)(6.3,-2)(8,-1.5)(8,2)(-3,2)}\color{white} + ``One of the best new plays I have seen all year: cool, poetic, + ironic \ldots'' proclaimed \emph{The Guardian} upon the London + premiere of this extraordinary play about a Czech director and + his actress wife, confronting exile in America. + \endpsclip}}% + \psline[linearc=0.5cm,showpoints=true,dotstyle=|]{<<->>}(-1,-2)(0,-4)(1,-2) +\endpspicture\end{lstlisting} + + +\fi + + +\section{\LuaLaTeX}\label{lua} +Currently one has to use package \LPack{auto-pst-pdf-lua} if a document with +\PSTricks-code should be run \emph{directly} with \LuaLaTeX, without using +GhostScript. This version has experimental basic support for the lua package +\LPack{luapstricks.lua}, available from \url{https://github.com/zauguin/luapstricks}. + +\nocite{*} +\printbibliography + + +\end{document} + |